Example #1
0
 public function run()
 {
     if (isset($_REQUEST['fid']) && is_numeric($_REQUEST['fid'])) {
         // Delete from database
         $file = File::model()->findByPk($_REQUEST['fid']);
         if (isset($file)) {
             if ($file->delete()) {
                 // Delete file
                 UploadUtils::deleteFile($file, PlUploadWidget::$fileDir);
                 $result["result"] = 0;
             } else {
                 $result["result"] = -1;
                 $result["message"] = Yii::t('upload', 'Could not delete file from db');
             }
         } else {
             $result["result"] = -1;
             $result["message"] = Yii::t('upload', 'No file with that fid');
         }
     } elseif (isset($_REQUEST['sid']) && is_numeric($_REQUEST['sid'])) {
         // Delete from session
         $sessionFiles = Yii::app()->session['temp_files'];
         $file = File::buildFromArray($sessionFiles[$_REQUEST['sid']]);
         unset($sessionFiles[$_REQUEST['sid']]);
         Yii::app()->session['temp_files'] = $sessionFiles;
         // Delete file
         UploadUtils::deleteFile($file, PlUploadWidget::$tempDir);
         $result["result"] = 0;
     } else {
         $result["result"] = -1;
         $result["message"] = Yii::t('upload', 'There is no file id (nor db and no session)');
     }
     echo CJSON::encode($result);
     exit(0);
     // To avoid loggers append things to request
 }
Example #2
0
 public static function getFileFromSession($sid)
 {
     // Store it in session
     $sessionFiles = Yii::app()->session['temp_files'];
     foreach ($sessionFiles as $key => $file) {
         $file_obj = File::buildFromArray($file);
         if ($file_obj->sid == $sid) {
             unset(Yii::app()->session['temp_files'][$key]);
             return $file_obj;
         }
     }
     return null;
 }
Example #3
0
 /** Default view (upload widget) */
 public function run()
 {
     $this->registerScripts();
     // File list
     // Temporal files in session + files associated to the model
     $tempFiles = array();
     $sessionFiles = Yii::app()->session['temp_files'];
     if (isset($sessionFiles)) {
         foreach ($sessionFiles as $f) {
             $tempFiles[] = File::buildFromArray($f);
         }
     }
     if (isset($this->model)) {
         $files = UploadUtils::findFiles(get_class($this->model), $this->model->getPrimaryKey());
     }
     $files = array_merge($files, $tempFiles);
     $this->getController()->renderPartial('ext.upload.plupload.views.draggableFileList', array('files' => $files));
     // Upload widget
     $this->render('uploadWidget', array('assetsDir' => $this->assetsUrlBase));
 }
Example #4
0
 public function run()
 {
     $files = array();
     $entity = $_REQUEST['entity'];
     $EXid = $_REQUEST['EXid'];
     Yii::trace("FilePanelAction {$entity} {$EXid}");
     // Temporal files in session
     $tempFiles = array();
     $sessionFiles = Yii::app()->session['temp_files'];
     if (isset($sessionFiles)) {
         foreach ($sessionFiles as $f) {
             $tempFiles[] = File::buildFromArray($f);
         }
     }
     if (isset($entity) && isset($EXid)) {
         $files = File::model()->findAll('entity=:entity AND EXid=:EXid', array(':entity' => $entity, ':EXid' => $EXid));
     }
     $files = array_merge($files, $tempFiles);
     $this->getController()->renderPartial('ext.upload.plupload.views.draggableFileList', array('files' => $files));
     exit(0);
     // To avoid loggers append things to request
 }