/** * @param string $widgetId * @param string $rowGroupName * @param int $rowIndex * @param CModel|null $model * @param string $attribute * @param $name * @param string $value * @param string $fieldClassName * @param array $htmlOptions * @param bool $hasError * @param string $data * @param string $params * * @return mixed|string */ public function getField($widgetId, $rowGroupName = '', $rowIndex, $model, $attribute, $name, $value = '', $fieldClassName = '', $htmlOptions = array(), $hasError = false, $data = '', $params = '') { $emptyImage = Yii::app()->params['imagesUrl'] . '/no_photo_small.png'; $imageUrl = $emptyImage; $imageObject = ImageObject::getImageObjectFromObject($model, true); if ($imageObject) { if (isset($imageObject->temp_small_image_url) && $imageObject->temp_small_image_url != '') { $imageUrl = $imageObject->temp_small_image_url; } else { $imageUrl = $imageObject->smallImageFile->getUrl(); } } if ($hasError) { $fieldClassName = $fieldClassName . ' ' . CHtml::$errorCss; } $htmlOptions = ClonnableFields::addClass($htmlOptions, $fieldClassName); $htmlOptions = ClonnableFields::addClass($htmlOptions, 'clonnable-file-id'); if (isset($htmlOptions['name'])) { $name = $htmlOptions['name']; } $fileUrlHtmlOptions = array(); $hiddenFieldFileUrlName = ClonnableFields::generateFieldName(!$rowIndex > 0, $rowGroupName, $rowIndex, 'file_url'); $fileUrlHtmlOptions['name'] = $hiddenFieldFileUrlName; $fileUrlHtmlOptions['id'] = ClonnableFields::generateFieldId($widgetId, $rowGroupName, $rowIndex, 'file_url'); $fileUrlHtmlOptions['data-groupname'] = $rowGroupName; $fileUrlHtmlOptions['data-attribute'] = 'file_url'; $fileUrlHtmlOptions['data-widgetname'] = $widgetId; $fileUrlHtmlOptions = ClonnableFields::addClass($fileUrlHtmlOptions, 'clonnable-file-url'); $assetPath = Yii::app()->assetManager->getPublishedUrl(dirname(dirname(__FILE__)) . '/assets/'); $loading = $assetPath . '/templateFineUploaderField/loading.gif'; $imageStyle = isset($params['imageStyle']) ? ' style="' . $params['imageStyle'] . '"' : ''; $template = '<div> <div class="messages"> <div class="thumbnail"> <img class="uploaded-preview" src="' . $imageUrl . '"' . $imageStyle . '> </div> <div class="progress" style="height:3px; margin-bottom:0px;"> <div class="bar" style="display:none; width: 0%;"></div> </div> <div class="buttons-row"> <div class="' . $fieldClassName . ' btn btn-mini upload-button" style="width:100px; ' . ((int) $value > 0 ? 'display:none' : '') . '"> <div class="button-title"><i class="icon-upload"></i> ' . Yii::t("ClonnableFields.templateFineUploaderField", "Upload") . '</div> </div> <div class="pull-right"> <a href="#" class="delete-image-link" data-toggle="tooltip" title="' . Yii::t("ClonnableFields.templateFineUploaderField", "Delete File") . '" style="' . ((int) $value > 0 ? '' : 'display:none') . '" ><i class="icon-trash"></i></a> <a href="#" class="delete-image-wait" data-toggle="tooltip" title="' . Yii::t("ClonnableFields.templateFineUploaderField", "Deleting. Please hold.") . '" style="display:none" ><img src="' . $loading . '" alt="' . Yii::t("ClonnableFields.templateFineUploaderField", "Deleting. Please hold.") . '"></a> </div> </div> <div style="display:none">' . CHtml::hiddenField($name, $value, $htmlOptions) . '</div> <div style="display:none">' . CHtml::hiddenField($hiddenFieldFileUrlName, $imageUrl, $fileUrlHtmlOptions) . '</div> </div> </div>'; return $template; }
function testUpdate() { $this->db->sqlInsert('image_object', array('id' => $id = 1000, 'description' => 'Description')); $this->db->sqlInsert('image_variation', array('id' => $variation_id = 1000, 'media_id' => $media_id = 101, 'image_id' => $id = 100, 'variation' => 'whatever')); $this->db->sqlInsert('media', array('id' => $media_id, 'media_file_id' => $old_media_file_id = 'sdFjfskd23923sds', 'file_name' => 'file1', 'mime_type' => 'type1', 'size' => 20, 'etag' => 'etag1')); $image = new ImageObject(); $image->setId($id); $image->setDescription($description = 'some description'); $image_variation1 = new ImageVariation(); $image_variation1->setId($variation_id); $image_variation1->setMediaId($media_id); $image_variation1->setWidth($width1 = 50); $image_variation1->setHeight($height1 = 100); $image_variation1->setMediaFileId($media_file_id1 = 'dsada'); //note it's a new one!!! $image_variation1->setName($name1 = 'original'); $image_variation1->setEtag($etag1 = 'dsajadhk'); $image_variation1->setMimeType($mime_type1 = 'jpeg'); $image_variation1->setSize($size1 = 500); $image_variation1->setFileName($file_name1 = 'some file'); $image->attachVariation($image_variation1); $this->media_manager->expectOnce('unlinkMedia', array($old_media_file_id)); $image_variation2 = new ImageVariation(); $image_variation2->setWidth($width2 = 100); $image_variation2->setHeight($height2 = 200); $image_variation2->setMediaFileId($media_file_id2 = 'dsfsdf'); $image_variation2->setName($name2 = 'icon'); $image_variation2->setEtag($etag2 = 'dsajrwek'); $image_variation2->setMimeType($mime_type2 = 'png'); $image_variation2->setSize($size2 = 500); $image_variation2->setFileName($file_name2 = 'some file2'); $image->attachVariation($image_variation2); $this->mapper->expectOnce('_doParentUpdate', array($image)); $this->mapper->update($image); $this->db->sqlSelect('media'); $media_rows = $this->db->getArray(); $this->assertEqual(sizeof($media_rows), 2); $media1 = reset($media_rows); $this->assertEqual($media1['id'], $media_id); $this->assertEqual($media1['media_file_id'], $media_file_id1); $this->assertEqual($media1['file_name'], $file_name1); $this->assertEqual($media1['mime_type'], $mime_type1); $this->assertEqual($media1['size'], $size1); $this->assertEqual($media1['etag'], $etag1); $media2 = next($media_rows); $this->assertEqual($media2['id'], $image_variation2->getMediaId()); $this->assertEqual($media2['media_file_id'], $media_file_id2); $this->assertEqual($media2['file_name'], $file_name2); $this->assertEqual($media2['mime_type'], $mime_type2); $this->assertEqual($media2['size'], $size2); $this->assertEqual($media2['etag'], $etag2); $this->db->sqlSelect('image_variation'); $variation_rows = $this->db->getArray(); $this->assertEqual(sizeof($variation_rows), 2); $variation_data1 = reset($variation_rows); $this->assertEqual($variation_data1['image_id'], $image->getId()); $this->assertEqual($variation_data1['media_id'], $media_id); $this->assertEqual($variation_data1['width'], $width1); $this->assertEqual($variation_data1['height'], $height1); $this->assertEqual($variation_data1['variation'], $name1); $variation_data2 = next($variation_rows); $this->assertEqual($variation_data2['image_id'], $image->getId()); $this->assertEqual($variation_data2['media_id'], $image_variation2->getMediaId()); $this->assertEqual($variation_data2['width'], $width2); $this->assertEqual($variation_data2['height'], $height2); $this->assertEqual($variation_data2['variation'], $name2); }
function SVGObject ($pagename, $fname, $attr) { ImageObject::ImageObject($pagename, $fname, $attr); }
public function editAction() { $this->view->title = "Modification d'une galerie"; //if ($this->view->aclIsAllowed('gallery','manage',true)){ // variables $this->view->assign('isXmlHttpRequest', $this->_isXmlHttpRequest); $this->view->assign('success', false); $pageID = $this->_getParam('pageID'); $blockID = $this->_getParam('blockID'); $galleryID = $this->_getParam('galleryID'); $baseDir = $this->view->baseUrl(); $galleryObject = new GalleryObject(); $galleryData = $galleryObject->populate($galleryID, Zend_Registry::get("currentEditLanguage")); $imageObject = new ImageObject(); $imageData = $imageObject->populate($galleryData['G_ImageID'], Zend_Registry::get("currentEditLanguage")); if (!$galleryData) { if ($this->_request->isPost()) { $this->view->assign('success', true); } $this->view->assign('deleted', true); $this->view->assign('galleryID', $galleryID); } else { $this->view->assign('deleted', false); $config = Zend_Registry::get('config')->toArray(); $thumbMaxHeight = $config['gallery']['image']['thumb']['maxHeight']; $thumbMaxWidth = $config['gallery']['image']['thumb']['maxWidth']; $thumbName = str_replace($imageData['ImageSrc'], $thumbMaxWidth . 'x' . $thumbMaxHeight . '_' . $imageData['ImageSrc'], $imageData['ImageSrc']); if ($this->_request->isPost()) { $formData = $this->_request->getPost(); $isNewImage = $formData['isNewImage']; if ($isNewImage == 'true') { $imageSrc = Zend_Registry::get("www_root") . "/data/images/gallery/" . $galleryID . "/tmp/mcith/mcith_" . $formData['ImageSrc']; } else { $imageSrc = Zend_Registry::get("www_root") . "/data/images/gallery/{$galleryID}/" . $galleryData['G_ImageID'] . "/" . $thumbName; } } else { //$imageData['ImageSrc_preview'] = Zend_Registry::get("www_root")."/data/images/gallery/$galleryID/".$galleryData['G_ImageID']."/".$thumbName; $imageSrc = Zend_Registry::get("www_root") . "/data/images/gallery/{$galleryID}/" . $galleryData['G_ImageID'] . "/" . $thumbName; //$this->view->assign('imageUrl', $imageData['ImageSrc_preview']); $this->view->assign('imageUrl', $imageSrc); $isNewImage = 'false'; //$imageSrc = $imageData['ImageSrc_preview']; } // generate the form if ($blockID != '') { $cancelUrl = "{$baseDir}/gallery/index/list/blockID/{$blockID}/pageID/{$pageID}"; } elseif ($this->_categoryID != '') { $cancelUrl = "{$baseDir}/gallery/index/list/catID/{$this->_categoryID}"; } else { $cancelUrl = "{$baseDir}/gallery/index/list/"; } $form = new FormGallery(array('baseDir' => $baseDir, 'cancelUrl' => '', 'galleryID' => $galleryID, 'imageSrc' => $imageSrc, 'isNewImage' => $isNewImage, 'requiredTitle' => true, 'requiredPosition' => false, 'requiredDescription' => false)); if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($form->isValid($formData)) { $galleryObject = new GalleryObject(); $formattedName = Cible_FunctionsGeneral::formatValueForUrl($formData['GI_Title']); $formData['GI_ValUrl'] = $formattedName; if ($blockID != '') { $blockParameters = Cible_FunctionsBlocks::getBlockParameters($blockID); $formData['G_CategoryID'] = $blockParameters[0]['P_Value']; } elseif ($this->_categoryID != '') { $formData['G_CategoryID'] = $this->_categoryID; } if ($formData['isNewImage'] == 'true') { // create the image $imageObject = new ImageObject(); $formData['II_Title'] = $formData['GI_Title']; $formData['II_Description'] = $formData['GI_Description']; $imageID = $imageObject->insert($formData, Zend_Registry::get("currentEditLanguage")); // update the galery $formData['G_CreationDate'] = $galleryData['G_CreationDate']; $formData['G_ImageID'] = $imageID; $galleryObject->save($galleryID, $formData, Zend_Registry::get("currentEditLanguage")); $config = Zend_Registry::get('config')->toArray(); $srcOriginal = "../../{$this->_config->document_root}/data/images/gallery/" . $galleryID . "/tmp/" . $form->getValue('ImageSrc'); $originalMaxHeight = $config['gallery']['image']['original']['maxHeight']; $originalMaxWidth = $config['gallery']['image']['original']['maxWidth']; $originalName = str_replace($form->getValue('ImageSrc'), $originalMaxWidth . 'x' . $originalMaxHeight . '_' . $form->getValue('ImageSrc'), $form->getValue('ImageSrc')); $srcThumb = "../../{$this->_config->document_root}/data/images/gallery/" . $galleryID . "/tmp/mcith/mcith_" . $form->getValue('ImageSrc'); $thumbMaxHeight = $config['gallery']['image']['thumb']['maxHeight']; $thumbMaxWidth = $config['gallery']['image']['thumb']['maxWidth']; $thumbName = str_replace($form->getValue('ImageSrc'), $thumbMaxWidth . 'x' . $thumbMaxHeight . '_' . $form->getValue('ImageSrc'), $form->getValue('ImageSrc')); Cible_FunctionsImageResampler::resampled(array('src' => $srcOriginal, 'maxWidth' => $originalMaxWidth, 'maxHeight' => $originalMaxHeight)); Cible_FunctionsImageResampler::resampled(array('src' => $srcThumb, 'maxWidth' => $thumbMaxWidth, 'maxHeight' => $thumbMaxHeight)); // Attempts to create the directory specified by pathname. mkdir("../../{$this->_config->document_root}/data/images/gallery/" . $galleryID . "/" . $imageID) or die("Could not make directory"); // Rename and move the original image to the specific place rename("../../{$this->_config->document_root}/data/images/gallery/" . $galleryID . "/tmp/" . $form->getValue('ImageSrc'), "../../{$this->_config->document_root}/data/images/gallery/" . $galleryID . "/" . $imageID . "/" . $originalName); // Rename and move the thumbnail image to the specific place rename("../../{$this->_config->document_root}/data/images/gallery/" . $galleryID . "/tmp/mcith/mcith_" . $form->getValue('ImageSrc'), "../../{$this->_config->document_root}/data/images/gallery/" . $galleryID . "/" . $imageID . "/" . $thumbName); } else { $formData['G_CreationDate'] = $galleryData['G_CreationDate']; $formData['G_ImageID'] = $galleryData['G_ImageID']; $galleryObject->save($galleryID, $formData, Zend_Registry::get("currentEditLanguage")); } if ($blockID != '') { $indexData['pageID'] = $blockParameters[0]['P_Value']; $indexData['moduleID'] = $this->_moduleID; $indexData['contentID'] = $galleryID; $indexData['languageID'] = Zend_Registry::get("currentEditLanguage"); $indexData['title'] = $formData['GI_Title']; $indexData['text'] = ''; $indexData['link'] = 'gallery'; $indexData['contents'] = $formData['GI_Title'] . " " . $formData['GI_Description']; if ($formData['G_Online'] == 1) { $indexData['action'] = 'update'; } else { $indexData['action'] = 'delete'; } Cible_FunctionsIndexation::indexation($indexData); } $imageSelect = new GalleriesImages(); $select = $imageSelect->select()->setIntegrityCheck(false)->from('Galleries_Images')->where('GI_GalleryID = ?', $galleryID)->join('ImagesIndex', 'II_ImageID = GI_ImageID')->where('II_LanguageID = ?', Zend_Registry::get("currentEditLanguage")); $imageData = $imageSelect->fetchAll($select)->toArray(); $cpt = count($imageData); for ($i = 0; $i < $cpt; $i++) { $indexData['pageID'] = $galleryID; $indexData['moduleID'] = $this->_moduleID; $indexData['contentID'] = $imageData[$i]['II_ImageID']; $indexData['languageID'] = $imageData[$i]['II_LanguageID']; $indexData['title'] = $imageData[$i]['II_Title']; $indexData['text'] = ''; $indexData['link'] = 'image'; $indexData['contents'] = $imageData[$i]['II_Title'] . " " . $imageData[$i]['II_Description']; if ($formData['G_Online'] == 1) { $indexData['action'] = 'update'; if ($imageData[$i]['GI_Online'] == 1) { Cible_FunctionsIndexation::indexation($indexData); } } else { $indexData['action'] = 'delete'; Cible_FunctionsIndexation::indexation($indexData); } } if (!$this->_isXmlHttpRequest) { if ($blockID != '') { $this->_redirect("/gallery/index/list/blockID/{$blockID}/pageID/{$pageID}"); } else { $this->_redirect("/gallery/index/list/catID/{$this->_categoryID}"); } } else { $buttonAction = $formData['buttonAction']; $this->view->assign('buttonAction', $buttonAction); $this->view->assign('success', true); $this->view->assign('galleryID', $galleryID); $this->view->assign('galleryTitle', $form->getValue('GI_Title')); $this->view->assign('galleryDescription', $form->getValue('GI_Description')); $this->view->assign('galleryLanguage', Zend_Registry::get("currentEditLanguage")); } } else { $this->view->form = $form; } } else { $form->populate($galleryData); $form->populate($imageData); $this->view->form = $form; } } //} }
function FigImageObject ($pagename, $fname, $attribs) { ImageObject::ImageObject ($pagename, $fname, $attribs); }
function deleteAction() { $this->view->title = "Suppression d'une image"; //if ($this->view->aclIsAllowed('gallery','manage',true)){ $this->view->assign('isXmlHttpRequest', $this->_isXmlHttpRequest); $this->view->assign('success', false); $pageID = (int) $this->_getParam('pageID'); $blockID = (int) $this->_getParam('blockID'); $galleryID = (int) $this->_getParam('galleryID'); $imageID = (int) $this->_getParam('imageID'); $imageIndexSelect = new ImagesIndex(); $select = $imageIndexSelect->select()->where('II_ImageID = ?', $imageID); $imageIndexData = $imageIndexSelect->fetchRow($select); if (!$imageIndexData) { if ($this->_request->isPost()) { $this->view->assign('success', true); } $this->view->assign('deleted', true); $this->view->assign('imageID', $imageID); } else { $imageObject = new ImageObject(); $imageIndexData = $imageObject->populate($imageID, Zend_Registry::get("languageID")); //$imageIndexData = $imageObject->populate($imageID,$this->_defaultEditLanguage); $this->view->assign('deleted', false); $return = "/gallery/index/list/blockID/{$blockID}/pageID/{$pageID}"; $this->view->return = $this->view->baseUrl() . $return; $this->view->image = $imageIndexData; if ($this->_request->isPost()) { //$del = $this->_request->getPost('delete'); //if ($del && $imageIndexData) { if ($imageIndexData) { $imageSelect = new ImagesIndex(); $select = $imageSelect->select()->where('II_ImageID = ?', $imageID); $imageData = $imageSelect->fetchAll($select)->toArray(); $cpt = count($imageData); for ($i = 0; $i < $cpt; $i++) { $indexData['moduleID'] = $this->_moduleID; $indexData['contentID'] = $imageData[$i]['II_ImageID']; $indexData['languageID'] = $imageData[$i]['II_LanguageID']; $indexData['action'] = 'delete'; Cible_FunctionsIndexation::indexation($indexData); } $imageObject->delete($imageID); $galleryImageDelete = new GalleriesImages(); $where = 'GI_GalleryID = ' . $galleryID . " and GI_ImageID = " . $imageID; $galleryImageDelete->delete($where); //delete the gallery folder Cible_FunctionsGeneral::delFolder("../../{$this->_config->document_root}/data/images/gallery/" . $galleryID . "/" . $imageID); if (!$this->_isXmlHttpRequest) { $this->_redirect("/gallery/index/list/blockID/{$blockID}/pageID/{$pageID}"); } else { $this->view->assign('success', true); $this->view->assign('imageID', $imageID); } } //$this->_redirect($return); } } //} }