Example #1
0
 public function actionDelanswerfile($id)
 {
     $this->flushUploadDir();
     $file = HoleAnswerFiles::model()->findByPk((int) $id);
     if (!$file) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     if ($file->answer->request->user_id != Yii::app()->user->id && !Yii::app()->user->isModer && $file->answer->request->hole->STATE != 'gibddre') {
         throw new CHttpException(403, 'Доступ запрещен.');
     }
     $file->delete();
     if (!isset($_GET['ajax'])) {
         $this->redirect(array('view', 'id' => $file->answer->request->hole->ID));
     }
 }
Example #2
0
 public function actionImportHoles()
 {
     set_time_limit(0);
     $holes = BHoles::model()->findAll();
     $count = 0;
     foreach ($holes as $hole) {
         //if (1){
         if ($hole->picturenames && isset($hole->picturenames['medium']['fresh']) && count($hole->picturenames['medium']['fresh']) > 0) {
             $model = new Holes('import');
             $model->attributes = $hole->attributes;
             $model->ID = $hole->ID;
             $type = HoleTypes::model()->find('alias = "' . $hole->TYPE . '"');
             $model->TYPE_ID = $type->id;
             if ($model->ADR_SUBJECTRF) {
                 $gibdd = GibddHeads::model()->find('is_regional=1 AND subject_id=' . $model->ADR_SUBJECTRF);
                 if ($gibdd) {
                     $model->gibdd_id = $gibdd->id;
                 } else {
                     $model->gibdd_id = 0;
                 }
             } else {
                 $model->gibdd_id = 0;
             }
             //if ($model->errors) print_r ($model->errors);
             if ($model->STATE == "inprogress") {
                 if (!$model->DATE_SENT) {
                     $model->DATE_SENT = $model->DATE_CREATED;
                 }
                 //echo date('d.m.Y', $model->DATE_SENT).'<br/>';
             }
             if ($model->save()) {
                 //if (0){
                 $count++;
                 foreach ($hole->picturenames['medium']['fresh'] as $i => $src) {
                     $picture = new HolePictures();
                     $picture->type = 'fresh';
                     $picture->filename = $src;
                     $picture->hole_id = $hole->ID;
                     $picture->user_id = $model->USER_ID;
                     $picture->ordering = $i;
                     $picture->save();
                 }
                 foreach ($hole->picturenames['medium']['fixed'] as $i => $src) {
                     $picture = new HolePictures();
                     $picture->type = 'fixed';
                     $picture->filename = $src;
                     $picture->hole_id = $hole->ID;
                     $picture->user_id = $model->USER_ID;
                     $picture->ordering = $i;
                     $picture->save();
                 }
                 if ($model->STATE == "fixed") {
                     $fixmodel = new HoleFixeds();
                     $fixmodel->user_id = $model->USER_ID;
                     $fixmodel->hole_id = $model->ID;
                     $fixmodel->date_fix = $model->DATE_STATUS;
                     $fixmodel->comment = $model->COMMENT2;
                     $fixmodel->save();
                 }
                 if ($model->STATE != "fresh") {
                     if (!$model->DATE_SENT) {
                         $model->DATE_SENT = $model->DATE_CREATED;
                     }
                     $request = new HoleRequests();
                     $request->hole_id = $model->ID;
                     $request->user_id = $model->USER_ID;
                     $request->gibdd_id = $model->gibdd_id;
                     $request->date_sent = $model->DATE_SENT;
                     $request->type = 'gibdd';
                     $request->save();
                     if ($model->GIBDD_REPLY_RECEIVED) {
                         $answer = new HoleAnswers('import');
                         //$answer->attributes=Array('uppload_files'=>Array(123,456));
                         $answer->isimport = true;
                         $answer->request_id = $request->id;
                         $answer->date = $model->DATE_STATUS;
                         $answer->comment = $model->COMMENT_GIBDD_REPLY;
                         if ($answer->save()) {
                             $dir = $_SERVER['DOCUMENT_ROOT'] . $answer->filesFolder;
                             if (!is_dir($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/answers/')) {
                                 mkdir($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/answers/');
                             }
                             if (!is_dir($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/answers/' . $answer->request->hole->ID)) {
                                 mkdir($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/answers/' . $answer->request->hole->ID);
                             }
                             if (!is_dir($dir)) {
                                 mkdir($dir);
                             }
                             if (!is_dir($dir . '/thumbs')) {
                                 mkdir($dir . '/thumbs');
                             }
                             foreach ($hole->picturenames['medium']['gibddreply'] as $i => $src) {
                                 $pict = new HoleAnswerFiles();
                                 $pict->file_name = $src;
                                 $pict->file_type = 'image';
                                 $pict->answer_id = $answer->id;
                                 copy($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/original/' . $answer->request->hole->ID . '/' . $src, $dir . '/' . $src);
                                 //unlink ($_SERVER['DOCUMENT_ROOT'].'/upload/st1234/original/'.$src);
                                 copy($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/medium/' . $answer->request->hole->ID . '/' . $src, $dir . '/thumbs/' . $src);
                                 //unlink ($_SERVER['DOCUMENT_ROOT'].'/upload/st1234/medium/'.$src);
                                 $pict->save();
                             }
                         } else {
                             print_r($answer->errors);
                             die;
                         }
                     }
                 }
             }
         }
     }
     echo "Добавлено {$count} ям.";
 }
Example #3
0
 public function afterSave()
 {
     parent::afterSave();
     if ($this->scenario == "insert") {
         $dir = $_SERVER['DOCUMENT_ROOT'] . $this->filesFolder;
         if (!is_dir($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/answers/')) {
             mkdir($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/answers/');
         }
         if (!is_dir($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/answers/' . $this->request->hole->ID)) {
             mkdir($_SERVER['DOCUMENT_ROOT'] . '/upload/st1234/answers/' . $this->request->hole->ID);
         }
         if (!is_dir($dir)) {
             mkdir($dir);
         }
         if (!is_dir($dir . '/thumbs')) {
             mkdir($dir . '/thumbs');
         }
         $files = $this->uppload_files;
         if ($files && !$this->firstAnswermodel) {
             foreach ($files as $file) {
                 if (!$file->hasError) {
                     $model = new HoleAnswerFiles();
                     $model->answer_id = $this->id;
                     $model->file_name = rand() . '.' . $file->extensionName;
                     $filetypeArr = explode('/', $file->type);
                     if ($filetypeArr[0] == 'image') {
                         $filetype = 'image';
                     } else {
                         $filetype = $file->type;
                     }
                     $model->file_type = $filetype;
                     if ($model->save()) {
                         if ($file->saveAs($dir . '/' . $model->file_name)) {
                             if ($model->file_type == 'image') {
                                 $image = Yii::app()->image->load($dir . '/' . $model->file_name);
                                 $image->resize(600, 450)->rotate(0)->quality(90)->sharpen(20);
                                 //$image->crop($imgmax['width'], $imgmax['height']);
                                 $savename = $dir . '/thumbs/' . $model->file_name;
                                 $image->save($savename);
                             }
                         }
                     } else {
                         $model->delete();
                         $die();
                     }
                 }
             }
         } else {
             foreach ($this->firstAnswermodel->files as $file) {
                 $model = new HoleAnswerFiles();
                 $model->answer_id = $this->id;
                 $model->file_name = $file->file_name;
                 $model->file_type = $file->file_type;
                 if ($model->save()) {
                     if ($file->file_type == 'image') {
                         copy($_SERVER['DOCUMENT_ROOT'] . $file->answer->filesFolder . '/thumbs/' . $file->file_name, $_SERVER['DOCUMENT_ROOT'] . $this->filesFolder . '/thumbs/' . $model->file_name);
                     }
                     copy($_SERVER['DOCUMENT_ROOT'] . $file->answer->filesFolder . '/' . $file->file_name, $_SERVER['DOCUMENT_ROOT'] . $this->filesFolder . '/' . $model->file_name);
                 }
             }
         }
     }
 }