Blame view

backend/components/base/BaseController.php 2.59 KB
54ada04a   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;
  
4828b892   Mihail   after merge with ...
10
11
12
  use Yii;
  use yii\web\UploadedFile;
  use backend\models\ImageSizerForm;
54ada04a   Mihail   add base classes ...
13
  use yii\web\Controller;
4828b892   Mihail   after merge with ...
14
15
16
  use Imagine\Gd\Imagine;
  use Imagine\Image\Box;
  use yii\imagine\Image;
54ada04a   Mihail   add base classes ...
17
18
19
  
  class BaseController extends Controller {
  
4828b892   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]);
  
  
      }
ea4ecf3d   Mihail   console csv parsing
48
  //
4828b892   Mihail   after merge with ...
49
  //    private function resizeImg($w, $h, $filepath,$newfilepath){
ea4ecf3d   Mihail   console csv parsing
50
  //        list($width, $height) = getimagesize($filepath);
4828b892   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();
ea4ecf3d   Mihail   console csv parsing
77
  
4828b892   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;
ea4ecf3d   Mihail   console csv parsing
86
  
4828b892   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]);
  
          }
      }
54ada04a   Mihail   add base classes ...
96
97
  
  }