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 {
|
c6152cd6
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;
}
|
0b491165
Administrator
Importers CRUD
|
29
|
|
f7ab7644
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();
|
f7ab7644
Mihail
after merge with ...
|
35
|
|
3a9830b4
Administrator
Importers CRUD
|
36
37
38
|
$width = $size->getWidth();
$height = $size->getHeight();
|
c6152cd6
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;
}
|
3a9830b4
Administrator
Importers CRUD
|
64
|
} else {
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
65
66
|
$img->save($imageAliasSave, array('flatten' => false));
return true;
|
3a9830b4
Administrator
Importers CRUD
|
67
68
|
}
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
69
70
|
Image::crop($imageAlias, $width, $height,[$x,$y])
|
4dbe8d44
Administrator
Importers CRUD
|
71
72
|
->save(Yii::getAlias($imageAliasSave), ['quality' =>
100]);
|
3a9830b4
Administrator
Importers CRUD
|
73
74
|
|
4dbe8d44
Administrator
Importers CRUD
|
75
76
77
78
|
$imagine = new Imagine();
$imagine->open($imageAliasSave)
->resize(new Box($w, $h))
->save($imageAliasSave, array('flatten' => false));
|
f7ab7644
Mihail
after merge with ...
|
79
|
|
f7ab7644
Mihail
after merge with ...
|
80
81
|
|
f7ab7644
Mihail
after merge with ...
|
82
|
}
|
3a9830b4
Administrator
Importers CRUD
|
83
|
|
0b491165
Administrator
Importers CRUD
|
84
85
86
87
|
private function deleteImages($old_img){
if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){
|
e9398092
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);
//
// }
|
0b491165
Administrator
Importers CRUD
|
101
102
103
104
105
|
}
}
public function actionDeleteImage(){
|
0b491165
Administrator
Importers CRUD
|
106
|
|
c6152cd6
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'];
|
b77421d2
Administrator
VItaliy 26.11.2015
|
118
119
120
|
// print_r($model->validate());
// print_r($model->getErrors());
// die(var_dump($model->save()));
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
121
122
|
$model->save();
}
|
0b491165
Administrator
Importers CRUD
|
123
|
}
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
124
|
|
0b491165
Administrator
Importers CRUD
|
125
126
|
}
|
f7ab7644
Mihail
after merge with ...
|
127
128
129
130
131
|
public function actionDownloadPhoto()
{
$model = new ImageSizerForm();
|
df629228
Mihail
console csv parsing
|
132
|
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
133
134
|
$request = Yii::$app->request->post();
if ($request) {
|
0b491165
Administrator
Importers CRUD
|
135
|
|
f7ab7644
Mihail
after merge with ...
|
136
137
138
|
$model->file = UploadedFile::getInstance($model, 'file');
$md5_file = md5_file($model->file->tempName);
|
4dbe8d44
Administrator
Importers CRUD
|
139
|
|
f7ab7644
Mihail
after merge with ...
|
140
|
$imgDir = Yii::getAlias('@storage/'.$md5_file.'/');
|
4dbe8d44
Administrator
Importers CRUD
|
141
142
|
$imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension);
|
df629228
Mihail
console csv parsing
|
143
|
|
f7ab7644
Mihail
after merge with ...
|
144
145
146
|
if(!is_dir($imgDir)) {
mkdir($imgDir, 0755, true);
}
|
4dbe8d44
Administrator
Importers CRUD
|
147
148
149
|
$model->file->saveAs($imageOrigAlias);
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
150
|
if($request['width'] && $request['height']){
|
4dbe8d44
Administrator
Importers CRUD
|
151
|
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
152
|
$imageAlias = Yii::getAlias($imgDir.$request['width'].'x'.$request['height'].'.'.$model->file->extension);
|
4dbe8d44
Administrator
Importers CRUD
|
153
|
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
154
|
$imageLink = '/storage/'.$md5_file.'/'.$request['width'].'x'.$request['height'].'.'.$model->file->extension;
|
4dbe8d44
Administrator
Importers CRUD
|
155
|
|
c6152cd6
Administrator
VItaliy 25.11.2015
|
156
|
$this->resizeImg($request['width'], $request['height'], $imageOrigAlias,$imageAlias);
|
4dbe8d44
Administrator
Importers CRUD
|
157
158
159
|
} else {
|
0b491165
Administrator
Importers CRUD
|
160
|
$imageLink = '/storage/'.$md5_file.'/'.'original'.'.'.$model->file->extension;
|
4dbe8d44
Administrator
Importers CRUD
|
161
162
163
|
}
|
4dbe8d44
Administrator
Importers CRUD
|
164
|
|
0b491165
Administrator
Importers CRUD
|
165
|
if($model->multi){
|
4dbe8d44
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]);
|
0b491165
Administrator
Importers CRUD
|
171
172
173
174
|
} else {
return json_encode(['link'=>$imageLink]);
|
4dbe8d44
Administrator
Importers CRUD
|
175
176
|
}
|
f7ab7644
Mihail
after merge with ...
|
177
178
179
|
}
}
|
693c46cb
Mihail
add base classes ...
|
180
|
|
b77421d2
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>';
}
}
|
78641da2
Mihail
rewrite parser wr...
|
219
|
|
693c46cb
Mihail
add base classes ...
|
220
|
}
|