protected function makeImages() { $imagesNamesToImport = array('200x50' => '200x50.gif', '200x200' => '200x200.gif', '580x180' => '580x180.gif', 'googleMaps' => 'staticmap.png'); foreach ($imagesNamesToImport as $type => $name) { $path = Yii::getPathOfAlias('application.modules.emailTemplates.views.assets.images') . DIRECTORY_SEPARATOR . $name; $fileUploadData = ImageFileModelUtil::saveImageFromTemporaryFile($path, $type); $this->importedImages[$type] = $fileUploadData['id']; } }
public function actionModalEdit($id) { if (!Yii::app()->request->isAjaxRequest) { throw new NotSupportedException(); } $form = new ImageEditForm(); $imageFileModel = ImageFileModel::getById((int) $id); Yii::app()->getClientScript()->setToAjaxMode(); if (isset($_POST['ajax']) && $_POST['ajax'] == 'image-edit-form') { $errors = ZurmoActiveForm::validate($form); if ($form->hasErrors()) { echo $errors; Yii::app()->end(); } } elseif (isset($_POST['ImageEditForm'])) { $tempFilePath = tempnam(sys_get_temp_dir(), 'edit_image_'); $form->attributes = $_POST['ImageEditForm']; $originalImageFileModel = ImageFileModel::getById((int) $id); $contents = WideImage::load($originalImageFileModel->fileContent->content)->resize($form->imageWidth, $form->imageHeight)->crop($form->cropX, $form->cropY, $form->cropWidth, $form->cropHeight)->asString(str_replace('image/', '', $originalImageFileModel->type)); file_put_contents($tempFilePath, $contents); $imageProperties = getimagesize($tempFilePath); $fileUploadData = ImageFileModelUtil::saveImageFromTemporaryFile($tempFilePath, ImageFileModelUtil::getImageFileNameWithDimensions($originalImageFileModel->name, (int) $imageProperties[0], (int) $imageProperties[1])); echo CJSON::encode($fileUploadData); } else { $modalListLinkProvider = $this->getModalListLinkProvider(); $form->id = $imageFileModel->id; $form->imageWidth = $imageFileModel->width; $form->imageHeight = $imageFileModel->height; $form->cropX = 0; $form->cropY = 0; $form->cropWidth = $imageFileModel->width; $form->cropHeight = $imageFileModel->height; $form->lockImageProportion = true; if ($imageFileModel->isEditableByCurrentUser()) { $view = new ImageEditView($this, $form, $imageFileModel, $modalListLinkProvider); $view = new ModalView($this, $view); } else { $view = new AccessFailureView(); } echo $view->render(); } }
public function testSaveImageFromTemporaryFile() { $id = ImageFileModel::getCount() + 1; Yii::app()->user->userModel = User::getByUsername('super'); $pathToFiles = Yii::getPathOfAlias('application.modules.zurmo.tests.unit.files'); $filePath = $pathToFiles . DIRECTORY_SEPARATOR . 'testImage.png'; $fileUploadData = ImageFileModelUtil::saveImageFromTemporaryFile($filePath, 'fileNameTest'); $this->assertEquals($id, $fileUploadData['id']); $this->assertEquals('fileNameTest.png', $fileUploadData['name']); $this->assertContains('<img data-url=', $fileUploadData['summary']); $this->assertEquals('3.25KB', $fileUploadData['size']); $this->assertContains("getThumb?fileName={$id}_fileNameTest.png", $fileUploadData['thumbnail_url']); // Not Coding Standard $this->assertContains("getImage?fileName={$id}_fileNameTest.png", $fileUploadData['filelink']); // Not Coding Standard $this->assertContains('javascript:parent.transferModalImageValues', $fileUploadData['insert_link']); }