예제 #1
0
 public function editAction()
 {
     // variables
     $eventID = $this->_getParam('eventID');
     $pageID = $this->_getParam('pageID');
     $returnAction = $this->_getParam('return');
     $blockID = $this->_getParam('blockID');
     $baseDir = $this->view->baseUrl();
     if ($this->view->aclIsAllowed('events', 'edit', true)) {
         if ($returnAction) {
             $returnUrl = "/events/index/{$returnAction}";
         } elseif ($blockID) {
             $returnUrl = "/events/index/list/blockID/{$blockID}/pageID/{$pageID}";
         } else {
             $returnUrl = "/events/index/list-all/";
         }
         // get event details
         $eventsObject = new EventsObject();
         $event = $eventsObject->populate($eventID, $this->getCurrentEditLanguage());
         // image src.
         $config = Zend_Registry::get('config')->toArray();
         $thumbMaxHeight = $config['event']['image']['thumb']['maxHeight'];
         $thumbMaxWidth = $config['event']['image']['thumb']['maxWidth'];
         //$this->view->assign('imageUrl', $event['ImageSrc']);
         $this->view->assign('imageUrl', Zend_Registry::get("www_root") . "/data/images/event/{$eventID}/" . str_replace($event['ImageSrc'], $thumbMaxWidth . 'x' . $thumbMaxHeight . '_' . $event['ImageSrc'], $event['ImageSrc']));
         $isNewImage = 'false';
         if ($this->_request->isPost()) {
             $formData = $this->_request->getPost();
             if ($formData['ImageSrc'] != $event['ImageSrc']) {
                 if ($formData['ImageSrc'] == "") {
                     $imageSrc = $this->view->baseUrl() . "/icons/image_non_ disponible.jpg";
                 } else {
                     $imageSrc = Zend_Registry::get("www_root") . "/data/images/event/{$eventID}/tmp/mcith/mcith_" . $formData['ImageSrc'];
                 }
                 $isNewImage = 'true';
             } else {
                 if ($event['ImageSrc'] == "") {
                     $imageSrc = $this->view->baseUrl() . "/icons/image_non_ disponible.jpg";
                 } else {
                     $imageSrc = Zend_Registry::get("www_root") . "/data/images/event/{$eventID}/" . str_replace($event['ImageSrc'], $thumbMaxWidth . 'x' . $thumbMaxHeight . '_' . $event['ImageSrc'], $event['ImageSrc']);
                 }
             }
         } else {
             if (empty($event['ImageSrc'])) {
                 $imageSrc = $this->view->baseUrl() . "/icons/image_non_ disponible.jpg";
             } else {
                 $imageSrc = Zend_Registry::get("www_root") . "/data/images/event/{$eventID}/" . str_replace($event['ImageSrc'], $thumbMaxWidth . 'x' . $thumbMaxHeight . '_' . $event['ImageSrc'], $event['ImageSrc']);
             }
         }
         // generate the form
         $form = new FormEvents(array('baseDir' => $baseDir, 'imageSrc' => $imageSrc, 'cancelUrl' => "{$baseDir}{$returnUrl}", 'categoriesList' => "false", 'eventID' => $eventID, 'isNewImage' => $isNewImage));
         $this->view->form = $form;
         // action
         if (!$this->_request->isPost()) {
             if (isset($event['Status']) && $event['Status'] == 2) {
                 $event['Status'] = 0;
             }
             $form->populate($event);
         } else {
             $formData = $this->_request->getPost();
             if ($form->isValid($formData)) {
                 if ($formData['isNewImage'] == 'true' && $form->getValue('ImageSrc') != '') {
                     $config = Zend_Registry::get('config')->toArray();
                     $srcOriginal = "../../{$this->_config->document_root}/data/images/event/{$eventID}/tmp/" . $form->getValue('ImageSrc');
                     $originalMaxHeight = $config['event']['image']['original']['maxHeight'];
                     $originalMaxWidth = $config['event']['image']['original']['maxWidth'];
                     $originalName = str_replace($form->getValue('ImageSrc'), $originalMaxWidth . 'x' . $originalMaxHeight . '_' . $form->getValue('ImageSrc'), $form->getValue('ImageSrc'));
                     $srcMedium = "../../{$this->_config->document_root}/data/images/event/{$eventID}/tmp/medium_{$form->getValue('ImageSrc')}";
                     $mediumMaxHeight = $config['event']['image']['medium']['maxHeight'];
                     $mediumMaxWidth = $config['event']['image']['medium']['maxWidth'];
                     $mediumName = str_replace($form->getValue('ImageSrc'), $mediumMaxWidth . 'x' . $mediumMaxHeight . '_' . $form->getValue('ImageSrc'), $form->getValue('ImageSrc'));
                     $srcThumb = "../../{$this->_config->document_root}/data/images/event/{$eventID}/tmp/thumb_{$form->getValue('ImageSrc')}";
                     $thumbMaxHeight = $config['event']['image']['thumb']['maxHeight'];
                     $thumbMaxWidth = $config['event']['image']['thumb']['maxWidth'];
                     $thumbName = str_replace($form->getValue('ImageSrc'), $thumbMaxWidth . 'x' . $thumbMaxHeight . '_' . $form->getValue('ImageSrc'), $form->getValue('ImageSrc'));
                     copy($srcOriginal, $srcMedium);
                     copy($srcOriginal, $srcThumb);
                     Cible_FunctionsImageResampler::resampled(array('src' => $srcOriginal, 'maxWidth' => $originalMaxWidth, 'maxHeight' => $originalMaxHeight));
                     Cible_FunctionsImageResampler::resampled(array('src' => $srcMedium, 'maxWidth' => $mediumMaxWidth, 'maxHeight' => $mediumMaxHeight));
                     Cible_FunctionsImageResampler::resampled(array('src' => $srcThumb, 'maxWidth' => $thumbMaxWidth, 'maxHeight' => $thumbMaxHeight));
                     rename($srcOriginal, "../../{$this->_config->document_root}/data/images/event/{$eventID}/{$originalName}");
                     rename($srcMedium, "../../{$this->_config->document_root}/data/images/event/{$eventID}/{$mediumName}");
                     rename($srcThumb, "../../{$this->_config->document_root}/data/images/event/{$eventID}/{$thumbName}");
                 }
                 if (!empty($pageID)) {
                     //$blockData  = Cible_FunctionsBlocks::getBlockDetails($blockID);
                     //$blockStatus    = $blockData['B_Online'];
                     $indexData['pageID'] = $event['CategoryID'];
                     $indexData['moduleID'] = $this->_moduleID;
                     $indexData['contentID'] = $eventID;
                     $indexData['languageID'] = Zend_Registry::get("currentEditLanguage");
                     $indexData['title'] = $formData['Title'];
                     $indexData['text'] = '';
                     $indexData['link'] = '';
                     $indexData['contents'] = $formData['Title'] . " " . $formData['Brief'] . " " . $formData['Text'] . " " . $formData['ImageAlt'];
                     //Cible_FunctionsIndexation::indexation($indexData);
                     if ($formData['Status'] == 1) {
                         $indexData['action'] = 'update';
                     } else {
                         $indexData['action'] = 'delete';
                     }
                     Cible_FunctionsIndexation::indexation($indexData);
                 }
                 if ($formData['Status'] == 0) {
                     $formData['Status'] = 2;
                 }
                 $formattedName = Cible_FunctionsGeneral::formatValueForUrl($formData['Title']);
                 $formData['ValUrl'] = $formattedName;
                 // echo $formData['ValUrl'];
                 // exit;
                 $eventsObject->save($eventID, $formData, $this->getCurrentEditLanguage());
                 // redirect
                 if (!empty($pageID)) {
                     $this->_redirect("/events/index/list/blockID/{$blockID}/pageID/{$pageID}");
                 } else {
                     $this->_redirect($returnUrl);
                 }
             }
         }
     }
 }