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)); }
/** * Генерация папок * @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; }