/**
  * @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);
	}
示例#4
0
 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);
	}
示例#6
0
 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);
         }
     }
     //}
 }