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;
}
|
bc1a3552
Administrator
Importers CRUD
|
29
|
|
4828b892
Mihail
after merge with ...
|
30
31
32
33
34
|
private function resizeImg($w, $h, $imageAlias,$imageAliasSave){
$img = Image::getImagine()->open(Yii::getAlias($imageAlias));
$size = $img->getSize();
|
4828b892
Mihail
after merge with ...
|
35
|
|
992d7eaa
Administrator
Importers CRUD
|
36
37
38
|
$width = $size->getWidth();
$height = $size->getHeight();
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
$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
|
64
|
} else {
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
65
66
|
$img->save($imageAliasSave, array('flatten' => false));
return true;
|
992d7eaa
Administrator
Importers CRUD
|
67
68
|
}
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
69
70
|
Image::crop($imageAlias, $width, $height,[$x,$y])
|
4c977682
Administrator
Importers CRUD
|
71
72
|
->save(Yii::getAlias($imageAliasSave), ['quality' =>
100]);
|
992d7eaa
Administrator
Importers CRUD
|
73
74
|
|
4c977682
Administrator
Importers CRUD
|
75
76
77
78
|
$imagine = new Imagine();
$imagine->open($imageAliasSave)
->resize(new Box($w, $h))
->save($imageAliasSave, array('flatten' => false));
|
4828b892
Mihail
after merge with ...
|
79
|
|
4828b892
Mihail
after merge with ...
|
80
81
|
|
4828b892
Mihail
after merge with ...
|
82
|
}
|
992d7eaa
Administrator
Importers CRUD
|
83
|
|
bc1a3552
Administrator
Importers CRUD
|
84
85
86
87
|
private function deleteImages($old_img){
if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){
|
a1e4a116
Administrator
VItaliy 27.11.2015
|
88
89
90
91
92
93
94
95
96
97
98
99
100
|
// $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);
//
// }
|
bc1a3552
Administrator
Importers CRUD
|
101
102
103
104
105
|
}
}
public function actionDeleteImage(){
|
bc1a3552
Administrator
Importers CRUD
|
106
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
107
108
109
110
111
112
113
114
115
116
117
|
$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'];
|
ad4b55bc
Administrator
VItaliy 26.11.2015
|
118
119
120
|
// print_r($model->validate());
// print_r($model->getErrors());
// die(var_dump($model->save()));
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
121
122
|
$model->save();
}
|
bc1a3552
Administrator
Importers CRUD
|
123
|
}
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
124
|
|
bc1a3552
Administrator
Importers CRUD
|
125
126
|
}
|
4828b892
Mihail
after merge with ...
|
127
128
129
130
131
|
public function actionDownloadPhoto()
{
$model = new ImageSizerForm();
|
ea4ecf3d
Mihail
console csv parsing
|
132
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
133
134
|
$request = Yii::$app->request->post();
if ($request) {
|
bc1a3552
Administrator
Importers CRUD
|
135
|
|
4828b892
Mihail
after merge with ...
|
136
137
138
|
$model->file = UploadedFile::getInstance($model, 'file');
$md5_file = md5_file($model->file->tempName);
|
4c977682
Administrator
Importers CRUD
|
139
|
|
4828b892
Mihail
after merge with ...
|
140
|
$imgDir = Yii::getAlias('@storage/'.$md5_file.'/');
|
4c977682
Administrator
Importers CRUD
|
141
142
|
$imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension);
|
ea4ecf3d
Mihail
console csv parsing
|
143
|
|
4828b892
Mihail
after merge with ...
|
144
145
146
|
if(!is_dir($imgDir)) {
mkdir($imgDir, 0755, true);
}
|
4c977682
Administrator
Importers CRUD
|
147
148
149
|
$model->file->saveAs($imageOrigAlias);
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
150
|
if($request['width'] && $request['height']){
|
4c977682
Administrator
Importers CRUD
|
151
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
152
|
$imageAlias = Yii::getAlias($imgDir.$request['width'].'x'.$request['height'].'.'.$model->file->extension);
|
4c977682
Administrator
Importers CRUD
|
153
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
154
|
$imageLink = '/storage/'.$md5_file.'/'.$request['width'].'x'.$request['height'].'.'.$model->file->extension;
|
4c977682
Administrator
Importers CRUD
|
155
|
|
89d4b5ac
Administrator
VItaliy 25.11.2015
|
156
|
$this->resizeImg($request['width'], $request['height'], $imageOrigAlias,$imageAlias);
|
4c977682
Administrator
Importers CRUD
|
157
158
159
|
} else {
|
bc1a3552
Administrator
Importers CRUD
|
160
|
$imageLink = '/storage/'.$md5_file.'/'.'original'.'.'.$model->file->extension;
|
4c977682
Administrator
Importers CRUD
|
161
162
163
|
}
|
4c977682
Administrator
Importers CRUD
|
164
|
|
bc1a3552
Administrator
Importers CRUD
|
165
|
if($model->multi){
|
4c977682
Administrator
Importers CRUD
|
166
167
168
169
170
|
$view = $this->renderPartial('@app/components/views/_gallery_item', [
'item' => ['image'=>$imageLink],
]);
return json_encode(['link'=>$imageLink, 'view' =>$view]);
|
bc1a3552
Administrator
Importers CRUD
|
171
172
173
174
|
} else {
return json_encode(['link'=>$imageLink]);
|
4c977682
Administrator
Importers CRUD
|
175
176
|
}
|
4828b892
Mihail
after merge with ...
|
177
178
179
|
}
}
|
54ada04a
Mihail
add base classes ...
|
180
|
|
ad4b55bc
Administrator
VItaliy 26.11.2015
|
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
|
public function getex($filename) {
return end(explode(".", $filename));
}
public function actionImagesUpload(){
if($_FILES['upload'])
{
if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) )
{
$message = "Вы не выбрали файл";
}
else if ($_FILES['upload']["size"] == 0 OR $_FILES['upload']["size"] > 2050000)
{
$message = "Размер файла не соответствует нормам";
}
else if (($_FILES['upload']["type"] != "image/jpeg") AND ($_FILES['upload']["type"] != "image/jpeg") AND ($_FILES['upload']["type"] != "image/png") AND ($_FILES['upload']['type'] != 'image/gif'))
{
$message = "Допускается загрузка только картинок JPG и PNG.";
}
else if (!is_uploaded_file($_FILES['upload']["tmp_name"]))
{
$message = "Что-то пошло не так. Попытайтесь загрузить файл ещё раз.";
}
else{
$name =rand(1, 1000).'-'.md5($_FILES['upload']['name']).'.'.$this->getex($_FILES['upload']['name']);
move_uploaded_file($_FILES['upload']['tmp_name'], "../../storage/images/".$name);
$full_path = '/storage/images/'.$name;
$message = "Файл ".$_FILES['upload']['name']." загружен";
$size=@getimagesize('images/'.$name);
}
$callback = $_REQUEST['CKEditorFuncNum'];
echo '<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction("'.$callback.'", "'.$full_path.'", "'.$message.'" );</script>';
}
}
|
b6247a0e
Mihail
rewrite parser wr...
|
219
|
|
54ada04a
Mihail
add base classes ...
|
220
|
}
|