Exemplo n.º 1
0
 /**
  * @Author: ANH DUNG Aug 12, 2014
  * @Todo: save photo listing upload 
  * @Param: $model model 
  */
 public static function SavePhotoListing($model)
 {
     $uid = Yii::app()->user->id;
     if (isset($_FILES['Listing']['name']['photo_listing_anhdung']) && count($_FILES['Listing']['name']['photo_listing_anhdung'])) {
         $cMaxDisplay = ProListingPhotos::GetMaxDisplayOrder($model->id);
         foreach ($_FILES['Listing']['name']['photo_listing_anhdung'] as $key => $item) {
             if (Listing::CountPhotoListing($model->id) >= Listing::GetLimitPhotoUpload()) {
                 return;
             }
             $mFile = new ProListingPhotos();
             $mFile->FileValidate = CUploadedFile::getInstanceByName('Listing[photo_listing_anhdung][' . $key . ']');
             $mFile->validate();
             if (!$mFile->hasErrors()) {
                 $ext = $mFile->FileValidate->getExtensionName();
                 $mFile->image = $uid . "-" . time() . ActiveRecord::randString() . $key . '.' . $ext;
                 // file name
                 $mFile->listing_id = $model->id;
                 $mFile->default = 0;
                 $mFile->display_order = ++$cMaxDisplay;
                 $mFile->save();
                 Listing::saveFile($mFile, 'FileValidate', $mFile->image);
                 Listing::ResizePhotoListing($mFile);
                 Listing::PutWarterMarkPhotoListing($mFile);
                 Listing::ResizePhotoListingSmall($mFile);
             }
         }
         Listing::AutoSetCoverPhotoListing($model->id);
     }
 }
Exemplo n.º 2
0
 public function actionAjax_upload_photo_by_ku_toan($id)
 {
     $model = $this->loadModel($id);
     if ($model) {
         if (isset($_FILES['Listing'])) {
             $totalImgupload = ProListingPhotos::model()->countByAttributes(array('listing_id' => $id));
             if (!ProListingPhotos::checkLimitFileUpload($id)) {
                 die("limit");
             }
             //                $error = Listing::model()->validateFileUpload($_FILES['Listing'], 'image_photo', 'image');
             //                if (empty($error)) {
             //                    $type = explode("/", $_FILES['Listing']["type"]['image_photo'][0]);
             //                    $name = date('d-m-Y h-i-s') . "." . $type[1];
             //
             //                    $photo = new ProListingPhotos();
             //                    $photo->listing_id = $id;
             //                    $photo->image = $name;
             //                    $photo->created_date = date('Y-m-d h:i:s');
             //                    $photo->default = ($totalImgupload == 0) ? 1 : 0;
             //                    if ($photo->save()) {
             //                        //create folder
             //                        $ImageProcessing = new ImageProcessing();
             //                        $ImageProcessing->createSingleDirectoryByPath("/upload/listing/$id");
             //                        //save file
             //                        move_uploaded_file($_FILES['Listing']["tmp_name"]['image_photo'][0], YII_UPLOAD_DIR . "/listing/$id/$name");
             //                        //rezie image =
             //                        $ImageProcessing->folder = "/upload/listing/$id";
             //                        $ImageProcessing->file = $name;
             //                        $ImageProcessing->thumbs = ProListingPhotos::$szie;
             //                        $ImageProcessing->create_thumbs();
             //                    }
             //                }
             $data = CUploadedFile::getInstances($model, 'image_photo');
             if (!empty($data) && is_array($data) && count($data) > 0) {
                 foreach ($data as $k => $file) {
                     $name = date('d-m-Y-h-i-s') . "." . $file->getExtensionName();
                     $photo = new ProListingPhotos();
                     $photo->listing_id = $id;
                     $photo->image = $file;
                     $photo->created_date = date('Y-m-d h:i:s');
                     $photo->default = $totalImgupload == 0 ? 1 : 0;
                     $photo->validate();
                     if ($photo->hasErrors()) {
                         die('maxsize');
                     } else {
                         $photo->image = $name;
                         if ($photo->save()) {
                             //create folder
                             $ImageProcessing = new ImageProcessing();
                             $ImageProcessing->createSingleDirectoryByPath("/upload/listing/{$id}");
                             $ImageProcessing->createSingleDirectoryByPath("/upload/listing/{$id}/root");
                             //save file
                             $file->saveAs(YII_UPLOAD_DIR . "/listing/{$id}/{$name}");
                             //warter mark
                             ImageProcessing::addWarterMark(YII_UPLOAD_DIR . "/listing/{$id}/root/{$name}", YII_UPLOAD_DIR . "/listing/{$id}/{$name}");
                             //rezie image
                             $ImageProcessing->folder = "/upload/listing/{$id}";
                             $ImageProcessing->file = $name;
                             $ImageProcessing->thumbs = ProListingPhotos::$szie;
                             $ImageProcessing->create_thumbs();
                         }
                     }
                 }
             }
         }
     }
 }