Ejemplo n.º 1
0
 /** Сохранение миниатюры изображения для новости
  *  Параметры: 
  *      $id - УН новости
  *      $idTree - УН раздела
  **/
 public function saveThumbailForNews($model, $oldImageName = '')
 {
     $module_name = Tree::model()->findByPk($model->id_tree)->module;
     // сохранение изображений
     $file = CUploadedFile::getInstance($model, '_thumbail_image');
     if (isset($file) && count($file) > 0) {
         // если файл уже был ранее загружен, то удаляем его
         if ($oldImageName != '') {
             if (file_exists($_SERVER['DOCUMENT_ROOT'] . $oldImageName)) {
                 unlink($_SERVER['DOCUMENT_ROOT'] . $oldImageName);
             }
         }
         $baseDir = str_replace('{code_no}', Yii::app()->session['code_no'], Yii::app()->params['miniatureImage']);
         $baseDir = str_replace('{module}', $module_name, $baseDir);
         $baseDir = str_replace('{id}', $model->id, $baseDir);
         if (!file_exists($_SERVER['DOCUMENT_ROOT'] . $baseDir)) {
             mkdir($_SERVER['DOCUMENT_ROOT'] . $baseDir, 0777, true);
         }
         $imageHelper = new ImageHelper();
         $thumbNameImage = '';
         if ($imageHelper->load($file->tempName)) {
             if ($imageHelper->getHeight() > $this->_miniatureImageHeight) {
                 $imageHelper->resizeToHeight($this->_miniatureImageHeight);
             }
             //$file->name = iconv('UTF-8', 'windows-1251', $file->name);
             $imageHelper->save($_SERVER['DOCUMENT_ROOT'] . $baseDir . $file->name);
             Yii::app()->db->createCommand()->update('{{news}}', array('thumbail_image' => $baseDir . $file->name), 'id=:id', array(':id' => $model->id));
         }
     }
 }