Blame view

backend/components/base/BaseController.php 2.59 KB
693c46cb   Mihail   add base classes ...
1
2
3
4
5
6
7
8
9
  <?php
  /**
   * Created by PhpStorm.
   * User: Cibermag
   * Date: 31.08.2015
   * Time: 9:58
   */
  namespace backend\components\base;
  
f7ab7644   Mihail   after merge with ...
10
11
12
  use Yii;
  use yii\web\UploadedFile;
  use backend\models\ImageSizerForm;
693c46cb   Mihail   add base classes ...
13
  use yii\web\Controller;
f7ab7644   Mihail   after merge with ...
14
15
16
  use Imagine\Gd\Imagine;
  use Imagine\Image\Box;
  use yii\imagine\Image;
693c46cb   Mihail   add base classes ...
17
18
19
  
  class BaseController extends Controller {
  
f7ab7644   Mihail   after merge with ...
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
      public function beforeAction($action) {
          $this->enableCsrfValidation = false;
          return parent::beforeAction($action);
      }
  
      private function resizeImg($w, $h, $imageAlias,$imageAliasSave){
          $img = Image::getImagine()->open(Yii::getAlias($imageAlias));
  
          $size = $img->getSize();
          $ratio = $size->getWidth()/$size->getHeight();
  
          $height = $h;
          $width = round($height * $ratio);
  
  
          $imagine = new Imagine();
  
          $imagine->open($imageAlias)
              ->resize(new Box($width, $h))
              ->save($imageAlias, array('flatten' => false));
  
  
          Image::crop($imageAlias, $w, $h,[($width/2)-($w/2),0])
              ->save(Yii::getAlias($imageAliasSave), ['quality' =>
                  100]);
  
  
      }
df629228   Mihail   console csv parsing
48
  //
f7ab7644   Mihail   after merge with ...
49
  //    private function resizeImg($w, $h, $filepath,$newfilepath){
df629228   Mihail   console csv parsing
50
  //        list($width, $height) = getimagesize($filepath);
f7ab7644   Mihail   after merge with ...
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
  //        if($width > $height) {
  //            $y = 0;
  //            $x = ($width - $height) / 2;
  //            $smallestSide = $height;
  //        } else {
  //            $x = 0;
  //            $y = ($height - $width) / 2;
  //            $smallestSide = $width;
  //        }
  //
  //        $image_p = imagecreatetruecolor($w, $h);
  //
  //        $image = imagecreatefromjpeg($filepath);
  //
  //        imagecopyresampled($image_p, $image, 0, 0, $x, $y,
  //            $w, $h, $smallestSide, $smallestSide);
  //
  //        imagejpeg($image_p, $newfilepath);
  //
  //
  //    }
  
      public function actionDownloadPhoto()
      {
  
          $model = new ImageSizerForm();
df629228   Mihail   console csv parsing
77
  
f7ab7644   Mihail   after merge with ...
78
79
80
81
82
83
84
85
          if ($model->load(Yii::$app->request->post())) {
  
              $model->file = UploadedFile::getInstance($model, 'file');
  
              $md5_file = md5_file($model->file->tempName);
              $imgDir = Yii::getAlias('@storage/'.$md5_file.'/');
              $imageAlias = Yii::getAlias($imgDir.$model->width.'x'.$model->height.'.'.$model->file->extension);
              $imageLink = '/storage/'.$md5_file.$model->width.'x'.$model->height.'.'.$model->file->extension;
df629228   Mihail   console csv parsing
86
  
f7ab7644   Mihail   after merge with ...
87
88
89
90
91
92
93
94
95
              if(!is_dir($imgDir)) {
                  mkdir($imgDir, 0755, true);
              }
              $model->file->saveAs($imageAlias);
              $this->resizeImg($model->width, $model->height, $imageAlias,$imageAlias);
              return json_encode(['link'=>$imageLink]);
  
          }
      }
693c46cb   Mihail   add base classes ...
96
97
  
  }