/** * Draws watermark on image. * * @param $fullPath string to image */ public function watermark($fullPath) { // Add watermark; if (EventsImagesConfig::get('watermark_active')) { $pic = PhpThumbFactory::create($fullPath); $pos = EventsImagesConfig::get('watermark_position_vertical') . EventsImagesConfig::get('watermark_position_horizontal'); try { $watermark = PhpThumbFactory::create(Yii::getPathOfAlias('webroot.uploads') . '/watermark.png'); $pic->addWatermark($watermark, $pos, EventsImagesConfig::get('watermark_opacity'), 0, 0); $pic->save($fullPath); } catch (Exception $e) { // pass } } }
/** * @return string * */ public function getFilePath() { return Yii::getPathOfAlias(EventsImagesConfig::get('path')) . '/' . $this->image; }
/** * @return string Path to save product image */ public static function getSavePath() { return Yii::getPathOfAlias(EventsImagesConfig::get('path')); }
<?php /** * Images tabs */ Yii::import('ext.jqPrettyPhoto'); Yii::import('application.modules.events.components.EventsImagesConfig'); // Register view styles Yii::app()->getClientScript()->registerCss('infoStyles', "\n\ttable.imagesList {\n\t\tfloat: left;\n\t\twidth: 45%;\n\t\tmin-width:250px;\n\t\tmargin-right: 15px;\n\t\tmargin-bottom: 15px;\n\t}\n\tdiv.MultiFile-list {\n\t\tmargin-left:190px\n\t}\n"); // Upload button echo CHtml::openTag('div', array('class' => 'row')); echo CHtml::label(Yii::t('EventsModule.admin', 'Выберите изображения'), 'files'); $this->widget('system.web.widgets.CMultiFileUpload', array('name' => 'EventImage', 'model' => $model, 'attribute' => 'files', 'accept' => implode('|', EventsImagesConfig::get('extensions')))); echo CHtml::closeTag('div'); // Images if ($model->images) { foreach ($model->images as $image) { $this->widget('zii.widgets.CDetailView', array('data' => $image, 'id' => 'EventImage' . $image->id, 'htmlOptions' => array('class' => 'detail-view imagesList'), 'attributes' => array(array('label' => Yii::t('EventsModule.admin', 'Изображение'), 'type' => 'raw', 'value' => CHtml::link(CHtml::image($image->getUrl(false, false, true), CHtml::encode($image->image), array('height' => '150px')), $image->getUrl(false, false, true), array('target' => '_blank', 'class' => 'pretty', 'title' => CHtml::encode($image->image)))), 'id', array('label' => Yii::t('EventsModule.admin', 'Действия'), 'type' => 'raw', 'value' => CHtml::ajaxLink(Yii::t('EventsModule.admin', 'Удалить'), $this->createUrl('deleteImage', array('id' => $image->id)), array('type' => 'POST', 'data' => array(Yii::app()->request->csrfTokenName => Yii::app()->request->csrfToken), 'success' => "js:\$('#EventImage{$image->id}').hide().remove()"), array('id' => 'DeleteImageLink' . $image->id, 'confirm' => Yii::t('EventsModule.admin', 'Вы действительно хотите удалить это изображение?'))))))); } } // Fancybox ext $this->widget('application.extensions.fancybox.EFancyBox', array('target' => 'a.pretty', 'config' => array()));