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 {
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
20
21
22
23
24
25
26
27
28
|
public function isBigger($width,$height,$w,$h)
{
if($width>$w){
return true;
}else if($height >$h) {
return true;
}
return false;
}
|
4828b892
Mihail
after merge with ...
|
29
30
31
32
33
|
private function resizeImg($w, $h, $imageAlias,$imageAliasSave){
$img = Image::getImagine()->open(Yii::getAlias($imageAlias));
$size = $img->getSize();
|
4828b892
Mihail
after merge with ...
|
34
|
|
992d7eaa
Administrator
Importers CRUD
|
35
36
37
|
$width = $size->getWidth();
$height = $size->getHeight();
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
$e_width = $w/$h;
$e_height = $h/$w;
$e1_width = $width/$height;
$e1_height = $height/$width;
if($this->isBigger($width,$height,$w,$h)){
if($e_width<$e1_width){
$new_width = $width*($e_width/$e1_width);
$y = 0;
$x = $width/ 2-($new_width/2);
$width = $new_width;
}else {
$new_height = $height*($e_height/$e1_height);
$x = 0;
$y = $height/2-($new_height/2);
$height = $new_height;
}
|
992d7eaa
Administrator
Importers CRUD
|
63
|
} else {
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
64
65
|
$img->save($imageAliasSave, array('flatten' => false));
return true;
|
992d7eaa
Administrator
Importers CRUD
|
66
67
|
}
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
68
69
|
Image::crop($imageAlias, $width, $height,[$x,$y])
|
4c977682
Administrator
Importers CRUD
|
70
71
|
->save(Yii::getAlias($imageAliasSave), ['quality' =>
100]);
|
992d7eaa
Administrator
Importers CRUD
|
72
73
|
|
4c977682
Administrator
Importers CRUD
|
74
75
76
77
|
$imagine = new Imagine();
$imagine->open($imageAliasSave)
->resize(new Box($w, $h))
->save($imageAliasSave, array('flatten' => false));
|
4828b892
Mihail
after merge with ...
|
78
|
|
4828b892
Mihail
after merge with ...
|
79
80
|
|
4828b892
Mihail
after merge with ...
|
81
|
}
|
992d7eaa
Administrator
Importers CRUD
|
82
|
|
bc1a3552
Administrator
Importers CRUD
|
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
private function deleteImages($old_img){
if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){
$rootDir = explode("/", $old_img);
$row = $_SERVER['DOCUMENT_ROOT'].'/'.$rootDir[1].'/'.$rootDir[2].'/';
$allFiles = scandir($row);
$allFiles = array_slice($allFiles, 2);
foreach($allFiles as $oldFile){
unlink($row.$oldFile);
}
}
}
public function actionDeleteImage(){
|
bc1a3552
Administrator
Importers CRUD
|
105
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
106
107
108
109
110
111
112
113
114
115
116
117
118
|
$request = Yii::$app->request->post();
if($request){
if ($request['old_img']) {
$this->deleteImages($request['old_img']);
}
if(isset($request['action']) && $request['action']=='save'){
$object = str_replace('-', '\\',$request['model']);
$model = new $object;
$model = $model->findOne($request['id']);
$model->$request['field'] = $request['new_url'];
$model->save();
}
|
bc1a3552
Administrator
Importers CRUD
|
119
|
}
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
120
|
|
bc1a3552
Administrator
Importers CRUD
|
121
122
|
}
|
4828b892
Mihail
after merge with ...
|
123
124
125
126
127
|
public function actionDownloadPhoto()
{
$model = new ImageSizerForm();
|
ea4ecf3d
Mihail
console csv parsing
|
128
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
129
130
|
$request = Yii::$app->request->post();
if ($request) {
|
bc1a3552
Administrator
Importers CRUD
|
131
|
|
4828b892
Mihail
after merge with ...
|
132
133
134
|
$model->file = UploadedFile::getInstance($model, 'file');
$md5_file = md5_file($model->file->tempName);
|
4c977682
Administrator
Importers CRUD
|
135
|
|
4828b892
Mihail
after merge with ...
|
136
|
$imgDir = Yii::getAlias('@storage/'.$md5_file.'/');
|
4c977682
Administrator
Importers CRUD
|
137
138
|
$imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension);
|
ea4ecf3d
Mihail
console csv parsing
|
139
|
|
4828b892
Mihail
after merge with ...
|
140
141
142
|
if(!is_dir($imgDir)) {
mkdir($imgDir, 0755, true);
}
|
4c977682
Administrator
Importers CRUD
|
143
144
145
|
$model->file->saveAs($imageOrigAlias);
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
146
|
if($request['width'] && $request['height']){
|
4c977682
Administrator
Importers CRUD
|
147
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
148
|
$imageAlias = Yii::getAlias($imgDir.$request['width'].'x'.$request['height'].'.'.$model->file->extension);
|
4c977682
Administrator
Importers CRUD
|
149
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
150
|
$imageLink = '/storage/'.$md5_file.'/'.$request['width'].'x'.$request['height'].'.'.$model->file->extension;
|
4c977682
Administrator
Importers CRUD
|
151
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
152
|
$this->resizeImg($request['width'], $request['height'], $imageOrigAlias,$imageAlias);
|
4c977682
Administrator
Importers CRUD
|
153
154
155
|
} else {
|
bc1a3552
Administrator
Importers CRUD
|
156
|
$imageLink = '/storage/'.$md5_file.'/'.'original'.'.'.$model->file->extension;
|
4c977682
Administrator
Importers CRUD
|
157
158
159
|
}
|
4c977682
Administrator
Importers CRUD
|
160
|
|
bc1a3552
Administrator
Importers CRUD
|
161
|
if($model->multi){
|
4c977682
Administrator
Importers CRUD
|
162
163
164
165
166
|
$view = $this->renderPartial('@app/components/views/_gallery_item', [
'item' => ['image'=>$imageLink],
]);
return json_encode(['link'=>$imageLink, 'view' =>$view]);
|
bc1a3552
Administrator
Importers CRUD
|
167
168
169
170
|
} else {
return json_encode(['link'=>$imageLink]);
|
4c977682
Administrator
Importers CRUD
|
171
172
|
}
|
4828b892
Mihail
after merge with ...
|
173
174
175
|
}
}
|
54ada04a
Mihail
add base classes ...
|
176
177
|
}
|