Пример #1
0
 public function run()
 {
     Yii::app()->getClientScript()->registerCoreScript('jquery.ui');
     JS::add('jquery-ui-sortable', "\$('#d-file_manager_items').sortable({'delay':'300','deactivate':function(event, ui ) { sendImagesPosion();}});");
     Yii::import('application.modules.file.models.FileManager');
     $criteria = FileManager::getSearchCriteria($this->id, $this->modelName);
     $criteria->order = 'position, date DESC';
     if ($this->id < 0) {
         if (Yii::app()->user->hasState('file_manager_folder_' . $this->modelName)) {
             $folderName = Yii::app()->user->getState('file_manager_folder_' . $this->modelName);
         } else {
             $folderName = Yii::app()->getModule('file')->generateName(Yii::getPathOfAlias('webroot') . DS . 'upload' . DS . Yii::app()->getModule('file')->uploadFolder);
         }
         $criteria->compare('folder', $folderName, true);
     }
     $dataprovider = FileManager::model()->findAll($criteria);
     $this->render('form', array('dataprovider' => $dataprovider));
 }
Пример #2
0
 /**
  * Генерация папок
  * @param int $id модели для загрузки
  * @param name $name название модели для загрузки
  * @return string
  */
 protected function getFolder($id, $name)
 {
     $criteria = FileManager::getSearchCriteria($id, $name);
     if (Yii::app()->user->getState('file_manager_folder_' . $name)) {
         $folderName = Yii::app()->user->getState('file_manager_folder_' . $name);
     } else {
         $folderName = Yii::app()->getModule('file')->generateName(Yii::getPathOfAlias('webroot') . DS . 'upload' . DS . $this->module->uploadFolder);
     }
     if ($id < 0) {
         $criteria->compare('folder', $folderName, true);
     }
     $model = FileManager::model()->find($criteria);
     if ($model !== null) {
         $folderName = $model->folder;
         $this->itemPosition = $model->position + 1;
     } else {
         $this->itemPosition = 1;
     }
     if ($id < 0 && !Yii::app()->user->hasState('file_manager_folder_' . $name)) {
         Yii::app()->user->setState('file_manager_folder_' . $name, $folderName);
     }
     $dir = Yii::getPathOfAlias('webroot') . DS . 'upload' . DS . $this->module->uploadFolder . DS . $folderName . DS;
     $cFile = Yii::app()->cFile;
     //Общая папка
     $cFile->createDir($dir);
     $cFile->set($dir, true)->setPermissions(Yii::app()->params['folderPermission']);
     //Миниатюры для админки
     $cFile->createDir($dir . 'admin');
     $cFile->set($dir . 'admin', true)->setPermissions(Yii::app()->params['folderPermission']);
     //Оригиналы
     $cFile->createDir($dir . 'original');
     $cFile->set($dir . 'original', true)->setPermissions(Yii::app()->params['folderPermission']);
     //Миниатюры
     $cFile->createDir($dir . 'thumbnail');
     $cFile->set($dir . 'thumbnail', true)->setPermissions(Yii::app()->params['folderPermission']);
     //Файлы
     $cFile->createDir($dir . 'file');
     $cFile->set($dir . 'file', true)->setPermissions(Yii::app()->params['folderPermission']);
     //Обложка или изображения среднего размера
     if (isset($_GET['medium'])) {
         $cFile->createDir($dir . 'medium');
         $cFile->set($dir . 'medium', true)->setPermissions(Yii::app()->params['folderPermission']);
     }
     return $folderName;
 }