public function addAction() { // web page title $this->view->title = "Ajout d'un produit"; // $this->_registry->currentEditLanguage = $this->_defaultEditLanguage; // variables $returnAction = $this->_getParam('return'); $baseDir = $this->view->baseUrl(); $cancelUrl = $baseDir . "/" . $this->_moduleTitle . "/" . $this->_name . "/" . $this->_defaultAction . "/"; if ($returnAction) { $returnUrl = $this->_moduleTitle . "/" . $this->_name . "/" . $returnAction; } else { $returnUrl = $this->_moduleTitle . "/" . $this->_name . "/" . $this->_defaultAction . "/"; } if ($this->view->aclIsAllowed($this->_moduleTitle, 'edit', true)) { $imageSrc = $this->view->baseUrl() . "/icons/image_non_ disponible.jpg"; if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($formData[$this->_imageSrc] != "") { if ($formData[$this->_imageSrc] != "") { $imageSrc = $this->_rootImgPath . "tmp/mcith/mcith_" . $formData[$this->_imageSrc]; } } } $langId = $this->_defaultEditLanguage; $oCollections = new ProductsObject(); $collectionData = $oCollections->getAll($langId, true); $this->view->assign('collectionData', $collectionData); // generate the form $form = new FormProducts(array('moduleName' => $this->_moduleTitle . '/' . $this->_name, 'baseDir' => $baseDir, 'cancelUrl' => $cancelUrl, 'imageSrc' => $imageSrc, 'imgField' => $this->_imageSrc, 'dataId' => '', 'isNewImage' => true)); $this->view->form = $form; if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($form->isValid($formData)) { $oData = new ProductsObject(); $newData = array_merge($formData['productFormLeft'], $formData['productFormRight'], $formData['productFormBotPub'], $formData['productFormBotPro']); $formattedName = Cible_FunctionsGeneral::formatValueForUrl($newData['PI_Name']); $newData['PI_ValUrl'] = $formattedName; $recordID = $oData->insert($newData, $this->_registry->currentEditLanguage); // ADD Association if (array_key_exists("collectionSet", $formData)) { foreach ($formData['collectionSet'] as $collectionID) { $oAssociation = new ProductsAssociationData(); $associateData = $oAssociation->createRow(); $associateData->AP_MainProductID = $recordID; $associateData->AP_RelatedProductID = $collectionID; $associateData->save(); } } /* IMAGES */ mkdir($this->_imageFolder . $recordID) or die("Could not make directory"); mkdir($this->_imageFolder . $recordID . "/tmp") or die("Could not make directory"); if ($form->getSubForm('productFormRight')->getValue($this->_imageSrc) != '') { $config = Zend_Registry::get('config')->toArray(); $srcOriginal = $this->_imageFolder . "tmp/" . $newData[$this->_imageSrc]; $originalMaxHeight = $config[$this->_moduleTitle]['image']['original']['maxHeight']; $originalMaxWidth = $config[$this->_moduleTitle]['image']['original']['maxWidth']; $originalName = str_replace($newData[$this->_imageSrc], $originalMaxWidth . 'x' . $originalMaxHeight . '_' . $newData[$this->_imageSrc], $newData[$this->_imageSrc]); $srcMedium = $this->_imageFolder . "tmp/medium_" . $newData[$this->_imageSrc]; $mediumMaxHeight = $config[$this->_moduleTitle]['image']['medium']['maxHeight']; $mediumMaxWidth = $config[$this->_moduleTitle]['image']['medium']['maxWidth']; $mediumName = str_replace($newData[$this->_imageSrc], $mediumMaxWidth . 'x' . $mediumMaxHeight . '_' . $newData[$this->_imageSrc], $newData[$this->_imageSrc]); $srcThumb = $this->_imageFolder . "tmp/thumb_" . $newData[$this->_imageSrc]; $thumbMaxHeight = $config[$this->_moduleTitle]['image']['thumb']['maxHeight']; $thumbMaxWidth = $config[$this->_moduleTitle]['image']['thumb']['maxWidth']; $thumbName = str_replace($newData[$this->_imageSrc], $thumbMaxWidth . 'x' . $thumbMaxHeight . '_' . $newData[$this->_imageSrc], $newData[$this->_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->_imageFolder . $recordID . "/" . $originalName); rename($srcMedium, $this->_imageFolder . $recordID . "/" . $mediumName); rename($srcThumb, $this->_imageFolder . $recordID . "/" . $thumbName); } if (isset($formData['submitSaveClose'])) { $this->_redirect($returnUrl); } else { $this->_redirect($this->_moduleTitle . "/" . $this->_name . "/edit/productID/" . $recordID); } } else { if (array_key_exists("collectionSet", $formData)) { $this->view->assign('collectionChoice', $formData['collectionSet']); } else { $this->view->assign('collectionChoice', array()); } $form->populate($formData); } } } }