Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15459 | Rev 16766 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 15459 Rev 15831
Línea 15... Línea 15...
15
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkIntroForm;
15
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkIntroForm;
16
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkStylesForm;
16
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkStylesForm;
17
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkLogoForm;
17
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkLogoForm;
18
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkCalendarForm;
18
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkCalendarForm;
19
use LeadersLinked\Mapper\ThemeMapper;
19
use LeadersLinked\Mapper\ThemeMapper;
-
 
20
use LeadersLinked\Form\MyPrivateNetwork\MyPrivateNetworkMoodleForm;
Línea 20... Línea 21...
20
 
21
 
21
 
22
 
22
class MyPrivateNetworkController extends AbstractActionController
23
class MyPrivateNetworkController extends AbstractActionController
Línea 304... Línea 305...
304
            $this->layout()->setTemplate('layout/layout-backend');
305
            $this->layout()->setTemplate('layout/layout-backend');
305
            $viewModel = new ViewModel();
306
            $viewModel = new ViewModel();
306
            $viewModel->setTemplate('leaders-linked/my-private-network/logo.phtml');
307
            $viewModel->setTemplate('leaders-linked/my-private-network/logo.phtml');
307
            $viewModel->setVariables([
308
            $viewModel->setVariables([
308
                'form' => $form,
309
                'form' => $form,
309
                'image_size' => $theme->imagesize_logo,
310
                'image_size' => $theme->imagesize_moodle,
Línea 310... Línea 311...
310
                
311
                
Línea 311... Línea 312...
311
            ]);
312
            ]);
Línea 322... Línea 323...
322
            
323
            
323
            if($form->isValid()) {
324
            if($form->isValid()) {
Línea 324... Línea 325...
324
                $dataPost = (array) $form->getData();
325
                $dataPost = (array) $form->getData();
325
                
326
                
Línea 326... Línea 327...
326
                
327
                
327
                list($target_width, $target_height) = explode('x', $theme->imagesize_logo);
328
                list($target_width, $target_height) = explode('x', $theme->imagesize_moodle);
328
                $path = $this->config['leaderslinked.fullpath.network'];
329
                $path = $this->config['leaderslinked.fullpath.network'];
Línea 761... Línea 762...
761
        
762
        
762
        return new JsonModel($data);
763
        return new JsonModel($data);
Línea -... Línea 764...
-
 
764
    }
-
 
765
    
-
 
766
    
-
 
767
    
-
 
768
    public function moodleAction()
-
 
769
    {
-
 
770
        $currentUserPlugin  = $this->plugin('currentUserPlugin');
-
 
771
        $currentUser        = $currentUserPlugin->getUser();
-
 
772
        
-
 
773
        $currentNetworkPlugin =  $this->plugin('currentNetworkPlugin');
-
 
774
        $currentNetwork = $currentNetworkPlugin->getNetwork();
-
 
775
        
-
 
776
        $networkMapper = NetworkMapper::getInstance($this->adapter);
-
 
777
        $network = $networkMapper->fetchOne($currentNetwork->id);
-
 
778
        
-
 
779
        $themeMapper = ThemeMapper::getInstance($this->adapter);
-
 
780
        $theme = $themeMapper->fetchOne($currentNetwork->theme_id);
-
 
781
        
-
 
782
        
-
 
783
        
-
 
784
        $request    = $this->getRequest();
-
 
785
        if($request->isGet()) {
-
 
786
            
-
 
787
            
-
 
788
            
-
 
789
            $form = new MyPrivateNetworkMoodleForm();
-
 
790
            
-
 
791
            
-
 
792
            $this->layout()->setTemplate('layout/layout-backend');
-
 
793
            $viewModel = new ViewModel();
-
 
794
            $viewModel->setTemplate('leaders-linked/my-private-network/moodle.phtml');
-
 
795
            $viewModel->setVariables([
-
 
796
                'form' => $form,
-
 
797
                'image_size' => $theme->imagesize_moodle,
-
 
798
                
-
 
799
            ]);
-
 
800
            
-
 
801
            return $viewModel ;
-
 
802
            
-
 
803
        }
-
 
804
        else if($request->isPost()) {
-
 
805
            
-
 
806
            $form = new  MyPrivateNetworkLogoForm();
-
 
807
            $dataPost = array_merge($request->getPost()->toArray(), $request->getFiles()->toArray());
-
 
808
            
-
 
809
            $form->setData($dataPost);
-
 
810
            
-
 
811
            if($form->isValid()) {
-
 
812
                $dataPost = (array) $form->getData();
-
 
813
                
-
 
814
                
-
 
815
                list($target_width, $target_height) = explode('x', $theme->imagesize_moodle);
-
 
816
                $path = $this->config['leaderslinked.fullpath.network'];
-
 
817
                
-
 
818
                $target_path = $path . $currentNetwork->uuid;
-
 
819
                if(!file_exists($target_path)) {
-
 
820
                    mkdir($target_path, 0755, true);
-
 
821
                }
-
 
822
                
-
 
823
                
-
 
824
                $files         = $this->getRequest()->getFiles()->toArray();
-
 
825
                $tmp_filename  = $files['file']['tmp_name'];
-
 
826
                
-
 
827
                try {
-
 
828
                    if($network->moodle_image) {
-
 
829
                        if(!image ::delete($target_path, $network->logo)) {
-
 
830
                            return new JsonModel([
-
 
831
                                'success'   => false,
-
 
832
                                'data'   =>  'ERROR_THERE_WAS_AN_ERROR'
-
 
833
                            ]);
-
 
834
                        }
-
 
835
                    }
-
 
836
                    
-
 
837
                    
-
 
838
                    $filename = 'moodle.png';
-
 
839
                    $crop_to_dimensions = false;
-
 
840
                    if(Image::uploadImage($tmp_filename, $target_path, $filename, $target_width, $target_height, $crop_to_dimensions)) {
-
 
841
                        $network->moodle_image = $filename;
-
 
842
                    }
-
 
843
                } catch(\Throwable $e) {
-
 
844
                    error_log($e->getTraceAsString());
-
 
845
                }
-
 
846
                
-
 
847
                
-
 
848
                if($networkMapper->update($network)) {
-
 
849
                    
-
 
850
                    $this->logger->info('Se actualizo el logo de moodle : ' . $network->name, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
-
 
851
                    
-
 
852
                    $data = [
-
 
853
                        'success'   => true,
-
 
854
                        'data'   => 'LABEL_RECORD_UPDATED'
-
 
855
                    ];
-
 
856
                } else {
-
 
857
                    $data = [
-
 
858
                        'success'   => false,
-
 
859
                        'data'      => $networkMapper->getError()
-
 
860
                    ];
-
 
861
                    
-
 
862
                }
-
 
863
                
-
 
864
                return new JsonModel($data);
-
 
865
                
-
 
866
            } else {
-
 
867
                $messages = [];
-
 
868
                $form_messages = (array) $form->getMessages();
-
 
869
                foreach($form_messages  as $fieldname => $field_messages)
-
 
870
                {
-
 
871
                    
-
 
872
                    $messages[$fieldname] = array_values($field_messages);
-
 
873
                }
-
 
874
                
-
 
875
                return new JsonModel([
-
 
876
                    'success'   => false,
-
 
877
                    'data'   => $messages
-
 
878
                ]);
-
 
879
            }
-
 
880
            
-
 
881
        } else {
-
 
882
            $data = [
-
 
883
                'success' => false,
-
 
884
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
885
            ];
-
 
886
            
-
 
887
            return new JsonModel($data);
-
 
888
        }
-
 
889
        
763
    }
890
        return new JsonModel($data);