Commit 143c55a9e4858fe8a639e66353b72110b33a2ae5
1 parent
e10587b1
Namespaces
Showing
6 changed files
with
420 additions
and
384 deletions
Show diff stats
FileUploadAsset.php
1 | 1 | <?php |
2 | -/** | |
3 | - * @link http://www.yiiframework.com/ | |
4 | - * @copyright Copyright (c) 2008 Yii Software LLC | |
5 | - * @license http://www.yiiframework.com/license/ | |
6 | - */ | |
7 | - | |
8 | - | |
9 | -namespace artweb\artbox\file; | |
10 | - | |
11 | -use yii\helpers\Url; | |
12 | -use yii\web\AssetBundle; | |
13 | - | |
14 | -/** | |
15 | - * Asset bundle for the Twitter bootstrap javascript files. | |
16 | - * | |
17 | - * @author Qiang Xue <qiang.xue@gmail.com> | |
18 | - * @since 2.0 | |
19 | - */ | |
20 | -class FileUploadAsset extends AssetBundle | |
21 | -{ | |
22 | - | |
23 | - | |
24 | 2 | /** |
25 | - * @inheritdoc | |
3 | + * @link http://www.yiiframework.com/ | |
4 | + * @copyright Copyright (c) 2008 Yii Software LLC | |
5 | + * @license http://www.yiiframework.com/license/ | |
26 | 6 | */ |
27 | - public function init() | |
7 | + | |
8 | + namespace artweb\artbox\file; | |
9 | + | |
10 | + use yii\web\AssetBundle; | |
11 | + | |
12 | + /** | |
13 | + * Asset bundle for the Twitter bootstrap javascript files. | |
14 | + * | |
15 | + * @author Qiang Xue <qiang.xue@gmail.com> | |
16 | + * @since 2.0 | |
17 | + */ | |
18 | + class FileUploadAsset extends AssetBundle | |
28 | 19 | { |
29 | - parent::init(); | |
30 | - $this->sourcePath = __DIR__.'/assets'; | |
20 | + | |
21 | + /** | |
22 | + * @inheritdoc | |
23 | + */ | |
24 | + public function init() | |
25 | + { | |
26 | + parent::init(); | |
27 | + $this->sourcePath = __DIR__ . '/assets'; | |
28 | + } | |
29 | + | |
30 | + public $css = [ | |
31 | + 'css/jquery.fileupload.css', | |
32 | + 'css/fileupload/style.css', | |
33 | + ]; | |
34 | + | |
35 | + public $js = [ | |
36 | + 'js/vendor/jquery.ui.widget.js', | |
37 | + 'js/jquery.iframe-transport.js', | |
38 | + 'js/jquery.fileupload.js', | |
39 | + ]; | |
31 | 40 | } |
32 | - | |
33 | - public $css = [ | |
34 | - 'css/jquery.fileupload.css', | |
35 | - 'css/fileupload/style.css' | |
36 | - ]; | |
37 | - | |
38 | - public $js = [ | |
39 | - 'js/vendor/jquery.ui.widget.js', | |
40 | - 'js/jquery.iframe-transport.js', | |
41 | - 'js/jquery.fileupload.js' | |
42 | - ]; | |
43 | -} | ... | ... |
Module.php
1 | 1 | <?php |
2 | -namespace artweb\artbox\file; | |
3 | - | |
4 | -use yii\base\BootstrapInterface; | |
5 | - | |
6 | -class Module extends \yii\base\Module | |
7 | -{ | |
8 | - public function init() | |
9 | - { | |
10 | - parent::init(); | |
11 | - | |
12 | - \Yii::configure($this, require(__DIR__.'/config.php')); | |
13 | - } | |
14 | - | |
15 | -} | |
2 | + namespace artweb\artbox\file; | |
3 | + | |
4 | + class Module extends \yii\base\Module | |
5 | + { | |
6 | + public function init() | |
7 | + { | |
8 | + parent::init(); | |
9 | + | |
10 | + \Yii::configure($this, require( __DIR__ . '/config.php' )); | |
11 | + } | |
12 | + | |
13 | + } | ... | ... |
composer.json
controllers/UploaderController.php
1 | 1 | <?php |
2 | -/** | |
3 | - * Created by PhpStorm. | |
4 | - * User: Cibermag | |
5 | - * Date: 31.08.2015 | |
6 | - * Time: 9:58 | |
7 | - */ | |
8 | -namespace artweb\artbox\file\controllers; | |
9 | -use Yii; | |
10 | -use yii\helpers\ArrayHelper; | |
11 | -use yii\web\UploadedFile; | |
12 | -use artweb\artbox\file\models\ImageSizerForm; | |
13 | -use yii\web\Controller; | |
14 | -use Imagine\Gd\Imagine; | |
15 | -use Imagine\Image\Box; | |
16 | -use yii\imagine\Image; | |
17 | - | |
18 | -class UploaderController extends Controller { | |
19 | - | |
20 | - public $enableCsrfValidation = false; | |
21 | - | |
22 | - public function isBigger($width,$height,$w,$h) | |
2 | + /** | |
3 | + * Created by PhpStorm. | |
4 | + * User: Cibermag | |
5 | + * Date: 31.08.2015 | |
6 | + * Time: 9:58 | |
7 | + */ | |
8 | + namespace artweb\artbox\file\controllers; | |
9 | + | |
10 | + use Yii; | |
11 | + use yii\helpers\ArrayHelper; | |
12 | + use yii\web\UploadedFile; | |
13 | + use artweb\artbox\file\models\ImageSizerForm; | |
14 | + use yii\web\Controller; | |
15 | + use Imagine\Gd\Imagine; | |
16 | + use Imagine\Image\Box; | |
17 | + use yii\imagine\Image; | |
18 | + | |
19 | + class UploaderController extends Controller | |
23 | 20 | { |
24 | - if($width>$w){ | |
25 | - return true; | |
26 | - }else if($height >$h) { | |
27 | - return true; | |
21 | + | |
22 | + public $enableCsrfValidation = false; | |
23 | + | |
24 | + public function isBigger($width, $height, $w, $h) | |
25 | + { | |
26 | + if ($width > $w) { | |
27 | + return true; | |
28 | + } else if ($height > $h) { | |
29 | + return true; | |
30 | + } | |
31 | + return false; | |
28 | 32 | } |
29 | - return false; | |
30 | - } | |
31 | - | |
32 | - | |
33 | - private function getUserPath(){ | |
34 | - if(isset(Yii::$app->user->id)){ | |
35 | - return 'user_'.Yii::$app->user->id; | |
36 | - }else { | |
37 | - return 'guest'; | |
33 | + | |
34 | + private function getUserPath() | |
35 | + { | |
36 | + if (isset( Yii::$app->user->id )) { | |
37 | + return 'user_' . Yii::$app->user->id; | |
38 | + } else { | |
39 | + return 'guest'; | |
40 | + } | |
38 | 41 | } |
39 | - } | |
40 | - | |
41 | - private function resizeImg($w, $h, $imageAlias,$imageAliasSave){ | |
42 | - $img = Image::getImagine()->open(Yii::getAlias($imageAlias)); | |
43 | - | |
44 | - $size = $img->getSize(); | |
45 | - | |
46 | - $width = $size->getWidth(); | |
47 | - $height = $size->getHeight(); | |
48 | - | |
49 | - $e_width = $w/$h; | |
50 | - $e_height = $h/$w; | |
51 | - | |
52 | - $e1_width = $width/$height; | |
53 | - $e1_height = $height/$width; | |
54 | - | |
55 | - | |
56 | - | |
57 | - if($e_width<$e1_width){ | |
58 | - | |
59 | - $new_width = $width*($e_width/$e1_width); | |
60 | - | |
42 | + | |
43 | + private function resizeImg($w, $h, $imageAlias, $imageAliasSave) | |
44 | + { | |
45 | + $img = Image::getImagine() | |
46 | + ->open(Yii::getAlias($imageAlias)); | |
47 | + | |
48 | + $size = $img->getSize(); | |
49 | + | |
50 | + $width = $size->getWidth(); | |
51 | + $height = $size->getHeight(); | |
52 | + | |
53 | + $e_width = $w / $h; | |
54 | + $e_height = $h / $w; | |
55 | + | |
56 | + $e1_width = $width / $height; | |
57 | + $e1_height = $height / $width; | |
58 | + | |
59 | + if ($e_width < $e1_width) { | |
60 | + | |
61 | + $new_width = $width * ( $e_width / $e1_width ); | |
62 | + | |
61 | 63 | $y = 0; |
62 | - $x = $width/ 2-($new_width/2); | |
64 | + $x = $width / 2 - ( $new_width / 2 ); | |
63 | 65 | $width = $new_width; |
64 | - | |
65 | - }else { | |
66 | - | |
67 | - $new_height = $height*($e_height/$e1_height); | |
66 | + | |
67 | + } else { | |
68 | + | |
69 | + $new_height = $height * ( $e_height / $e1_height ); | |
68 | 70 | $x = 0; |
69 | - $y = $height/2-($new_height/2); | |
71 | + $y = $height / 2 - ( $new_height / 2 ); | |
70 | 72 | $height = $new_height; |
71 | 73 | } |
72 | - | |
73 | - | |
74 | - | |
75 | - | |
76 | - Image::crop($imageAlias, $width, $height,[$x,$y]) | |
77 | - ->save(Yii::getAlias($imageAliasSave), ['quality' => | |
78 | - 100]); | |
79 | - | |
80 | - | |
81 | - $imagine = new Imagine(); | |
82 | - $imagine->open($imageAliasSave) | |
83 | - ->resize(new Box($w, $h)) | |
84 | - ->save($imageAliasSave, array('flatten' => false)); | |
85 | - | |
86 | - | |
87 | - | |
88 | - } | |
89 | - | |
90 | - private function deleteImages($old_img){ | |
91 | - | |
92 | - if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){ | |
93 | - | |
94 | - $rootDir = explode("/", $old_img); | |
95 | - | |
96 | - $row = $_SERVER['DOCUMENT_ROOT'].'/'.$rootDir[1].'/'.$rootDir[2].'/'.$rootDir[3].'/'; | |
97 | - | |
98 | - $allFiles = scandir($row); | |
99 | - | |
100 | - $allFiles = array_slice($allFiles, 2); | |
101 | - | |
102 | - foreach($allFiles as $oldFile){ | |
103 | - | |
104 | - unlink($row.$oldFile); | |
105 | - | |
106 | - } | |
107 | - | |
74 | + | |
75 | + Image::crop( | |
76 | + $imageAlias, | |
77 | + $width, | |
78 | + $height, | |
79 | + [ | |
80 | + $x, | |
81 | + $y, | |
82 | + ] | |
83 | + ) | |
84 | + ->save( | |
85 | + Yii::getAlias($imageAliasSave), | |
86 | + [ | |
87 | + 'quality' => 100, | |
88 | + ] | |
89 | + ); | |
90 | + | |
91 | + $imagine = new Imagine(); | |
92 | + $imagine->open($imageAliasSave) | |
93 | + ->resize(new Box($w, $h)) | |
94 | + ->save($imageAliasSave, [ 'flatten' => false ]); | |
95 | + | |
108 | 96 | } |
109 | - } | |
110 | - | |
111 | - public function actionDeleteImage(){ | |
112 | - | |
113 | - $this->enableCsrfValidation = false; | |
114 | - | |
115 | - $request = Yii::$app->request->post(); | |
116 | - | |
117 | - if($request){ | |
118 | - if ($request['old_img']) { | |
119 | - $this->deleteImages($request['old_img']); | |
120 | - } | |
121 | - if(isset($request['action']) && $request['action']=='save'){ | |
122 | - $object = str_replace('-', '\\',$request['model']); | |
123 | - $model = new $object; | |
124 | - $model = $model->findOne($request['id']); | |
125 | - $model->$request['field'] = $request['new_url']; | |
126 | - $model->save(); | |
97 | + | |
98 | + private function deleteImages($old_img) | |
99 | + { | |
100 | + | |
101 | + if (!empty( $old_img ) && file_exists($_SERVER[ 'DOCUMENT_ROOT' ] . $old_img)) { | |
102 | + | |
103 | + $rootDir = explode("/", $old_img); | |
104 | + | |
105 | + $row = $_SERVER[ 'DOCUMENT_ROOT' ] . '/' . $rootDir[ 1 ] . '/' . $rootDir[ 2 ] . '/' . $rootDir[ 3 ] . '/'; | |
106 | + | |
107 | + $allFiles = scandir($row); | |
108 | + | |
109 | + $allFiles = array_slice($allFiles, 2); | |
110 | + | |
111 | + foreach ($allFiles as $oldFile) { | |
112 | + | |
113 | + unlink($row . $oldFile); | |
114 | + | |
115 | + } | |
116 | + | |
127 | 117 | } |
128 | 118 | } |
129 | - | |
130 | - } | |
131 | - | |
132 | - | |
133 | - public function actionDownloadPhoto() | |
134 | - { | |
135 | - | |
136 | - $model = new ImageSizerForm(); | |
137 | - | |
138 | - $request = Yii::$app->request->post(); | |
139 | - | |
140 | - if ($request) { | |
141 | - | |
142 | - $model->multi = isset($request['multi'])? 1 : 0; | |
143 | - | |
144 | - $model->file = UploadedFile::getInstance($model, 'file'); | |
145 | - | |
146 | - $md5_file = md5_file($model->file->tempName).rand(1, 1000); | |
147 | - | |
148 | - $imgDir = Yii::getAlias('@storage/'.$this->getUserPath().'/'.$md5_file.'/'); | |
149 | - | |
150 | - $imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension); | |
151 | - | |
152 | - if(!is_dir($imgDir)) { | |
153 | - mkdir($imgDir, 0755, true); | |
119 | + | |
120 | + public function actionDeleteImage() | |
121 | + { | |
122 | + | |
123 | + $this->enableCsrfValidation = false; | |
124 | + | |
125 | + $request = Yii::$app->request->post(); | |
126 | + | |
127 | + if ($request) { | |
128 | + if ($request[ 'old_img' ]) { | |
129 | + $this->deleteImages($request[ 'old_img' ]); | |
130 | + } | |
131 | + if (isset( $request[ 'action' ] ) && $request[ 'action' ] == 'save') { | |
132 | + $object = str_replace('-', '\\', $request[ 'model' ]); | |
133 | + $model = new $object; | |
134 | + $model = $model->findOne($request[ 'id' ]); | |
135 | + $model->$request[ 'field' ] = $request[ 'new_url' ]; | |
136 | + $model->save(); | |
137 | + } | |
154 | 138 | } |
155 | - | |
156 | - $model->file->saveAs($imageOrigAlias); | |
157 | - | |
158 | - | |
159 | - if(isset($request['size'] )){ | |
160 | - | |
161 | - $request['size'] = ArrayHelper::toArray(json_decode($request['size'])); | |
162 | - | |
163 | - foreach($request['size'] as $size){ | |
164 | - if($size['width'] && $size['height']){ | |
165 | - | |
166 | - $imageAlias = Yii::getAlias($imgDir.$size['width'].'x'.$size['height'].'.'.$model->file->extension); | |
167 | - | |
168 | - $imageLink = '/storage/'.$this->getUserPath().'/'.$md5_file.'/'.$size['width'].'x'.$size['height'].'.'.$model->file->extension; | |
169 | - | |
170 | - $this->resizeImg($size['width'], $size['height'], $imageOrigAlias,$imageAlias); | |
171 | - | |
139 | + | |
140 | + } | |
141 | + | |
142 | + public function actionDownloadPhoto() | |
143 | + { | |
144 | + | |
145 | + $model = new ImageSizerForm(); | |
146 | + | |
147 | + $request = Yii::$app->request->post(); | |
148 | + | |
149 | + if ($request) { | |
150 | + | |
151 | + $model->multi = isset( $request[ 'multi' ] ) ? 1 : 0; | |
152 | + | |
153 | + $model->file = UploadedFile::getInstance($model, 'file'); | |
154 | + | |
155 | + $md5_file = md5_file($model->file->tempName) . rand(1, 1000); | |
156 | + | |
157 | + $imgDir = Yii::getAlias('@storage/' . $this->getUserPath() . '/' . $md5_file . '/'); | |
158 | + | |
159 | + $imageOrigAlias = Yii::getAlias($imgDir . 'original' . '.' . $model->file->extension); | |
160 | + | |
161 | + if (!is_dir($imgDir)) { | |
162 | + mkdir($imgDir, 0755, true); | |
163 | + } | |
164 | + | |
165 | + $model->file->saveAs($imageOrigAlias); | |
166 | + | |
167 | + if (isset( $request[ 'size' ] )) { | |
168 | + | |
169 | + $request[ 'size' ] = ArrayHelper::toArray(json_decode($request[ 'size' ])); | |
170 | + | |
171 | + foreach ($request[ 'size' ] as $size) { | |
172 | + if ($size[ 'width' ] && $size[ 'height' ]) { | |
173 | + | |
174 | + $imageAlias = Yii::getAlias( | |
175 | + $imgDir . $size[ 'width' ] . 'x' . $size[ 'height' ] . '.' . $model->file->extension | |
176 | + ); | |
177 | + | |
178 | + $imageLink = '/storage/' . $this->getUserPath( | |
179 | + ) . '/' . $md5_file . '/' . $size[ 'width' ] . 'x' . $size[ 'height' ] . '.' . $model->file->extension; | |
180 | + | |
181 | + $this->resizeImg($size[ 'width' ], $size[ 'height' ], $imageOrigAlias, $imageAlias); | |
182 | + | |
183 | + } | |
172 | 184 | } |
185 | + | |
186 | + } else { | |
187 | + | |
188 | + $imageLink = '/storage/' . $this->getUserPath( | |
189 | + ) . '/' . $md5_file . '/' . 'original' . '.' . $model->file->extension; | |
190 | + | |
173 | 191 | } |
174 | - | |
175 | - } else { | |
176 | - | |
177 | - $imageLink = '/storage/'.$this->getUserPath().'/'.$md5_file.'/'.'original'.'.'.$model->file->extension; | |
178 | - | |
179 | - } | |
180 | - | |
181 | - | |
182 | - if($model->multi){ | |
183 | - $view = $this->renderPartial('/_gallery_item', [ | |
184 | - 'item' => ['image'=>$imageLink], | |
185 | - 'field'=>$request['field'] | |
186 | - ]); | |
187 | - return json_encode(['link'=>$imageLink, | |
188 | - 'view' =>$view, | |
189 | - | |
190 | - ]); | |
191 | - | |
192 | - | |
193 | - } else { | |
194 | - $view = $this->renderPartial('/_one_item', [ | |
195 | - 'item' => ['image'=>$imageLink], | |
196 | - 'field'=>$request['field'] | |
197 | - ]); | |
198 | - return json_encode(['link'=>$imageLink, | |
199 | - 'view' =>$view, | |
200 | - ]); | |
192 | + | |
193 | + if ($model->multi) { | |
194 | + $view = $this->renderPartial( | |
195 | + '/_gallery_item', | |
196 | + [ | |
197 | + 'item' => [ 'image' => $imageLink ], | |
198 | + 'field' => $request[ 'field' ], | |
199 | + ] | |
200 | + ); | |
201 | + return json_encode( | |
202 | + [ | |
203 | + 'link' => $imageLink, | |
204 | + 'view' => $view, | |
205 | + | |
206 | + ] | |
207 | + ); | |
208 | + | |
209 | + } else { | |
210 | + $view = $this->renderPartial( | |
211 | + '/_one_item', | |
212 | + [ | |
213 | + 'item' => [ 'image' => $imageLink ], | |
214 | + 'field' => $request[ 'field' ], | |
215 | + ] | |
216 | + ); | |
217 | + return json_encode( | |
218 | + [ | |
219 | + 'link' => $imageLink, | |
220 | + 'view' => $view, | |
221 | + ] | |
222 | + ); | |
223 | + } | |
224 | + | |
201 | 225 | } |
202 | - | |
203 | - | |
204 | 226 | } |
205 | - } | |
206 | - | |
207 | - | |
208 | - public function getex($filename) { | |
209 | - $array = explode(".", $filename); | |
210 | - return array_pop($array); | |
211 | - } | |
212 | - | |
213 | - | |
214 | - public function actionImagesUpload(){ | |
215 | - | |
216 | - if($_FILES['upload']) | |
227 | + | |
228 | + public function getex($filename) | |
217 | 229 | { |
218 | - if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) ) | |
219 | - { | |
220 | - $message = "ะั ะฝะต ะฒัะฑัะฐะปะธ ัะฐะนะป"; | |
221 | - } | |
222 | - else if ($_FILES['upload']["size"] == 0 OR $_FILES['upload']["size"] > 2050000) | |
223 | - { | |
224 | - $message = "ะ ะฐะทะผะตั ัะฐะนะปะฐ ะฝะต ัะพะพัะฒะตัััะฒัะตั ะฝะพัะผะฐะผ"; | |
225 | - } | |
226 | - 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')) | |
227 | - { | |
228 | - $message = "ะะพะฟััะบะฐะตััั ะทะฐะณััะทะบะฐ ัะพะปัะบะพ ะบะฐััะธะฝะพะบ JPG ะธ PNG."; | |
229 | - } | |
230 | - else if (!is_uploaded_file($_FILES['upload']["tmp_name"])) | |
231 | - { | |
232 | - $message = "ะงัะพ-ัะพ ะฟะพัะปะพ ะฝะต ัะฐะบ. ะะพะฟััะฐะนัะตัั ะทะฐะณััะทะธัั ัะฐะนะป ะตัั ัะฐะท."; | |
233 | - } | |
234 | - else{ | |
235 | - $filename = $_FILES['upload']['name']; | |
236 | - $name =$_FILES['upload']['name'].'.'.$this->getex($filename); | |
237 | - | |
238 | - $path = "../../storage/".$this->getUserPath()."/images/"; | |
239 | - if(!is_dir($path)) { | |
240 | - mkdir($path, 0755, true); | |
230 | + $array = explode(".", $filename); | |
231 | + return array_pop($array); | |
232 | + } | |
233 | + | |
234 | + public function actionImagesUpload() | |
235 | + { | |
236 | + | |
237 | + if ($_FILES[ 'upload' ]) { | |
238 | + if (( $_FILES[ 'upload' ] == "none" ) OR ( empty( $_FILES[ 'upload' ][ 'name' ] ) )) { | |
239 | + $message = "ะั ะฝะต ะฒัะฑัะฐะปะธ ัะฐะนะป"; | |
240 | + } else if ($_FILES[ 'upload' ][ "size" ] == 0 OR $_FILES[ 'upload' ][ "size" ] > 2050000) { | |
241 | + $message = "ะ ะฐะทะผะตั ัะฐะนะปะฐ ะฝะต ัะพะพัะฒะตัััะฒัะตั ะฝะพัะผะฐะผ"; | |
242 | + } 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' )) { | |
243 | + $message = "ะะพะฟััะบะฐะตััั ะทะฐะณััะทะบะฐ ัะพะปัะบะพ ะบะฐััะธะฝะพะบ JPG ะธ PNG."; | |
244 | + } else if (!is_uploaded_file($_FILES[ 'upload' ][ "tmp_name" ])) { | |
245 | + $message = "ะงัะพ-ัะพ ะฟะพัะปะพ ะฝะต ัะฐะบ. ะะพะฟััะฐะนัะตัั ะทะฐะณััะทะธัั ัะฐะนะป ะตัั ัะฐะท."; | |
246 | + } else { | |
247 | + $filename = $_FILES[ 'upload' ][ 'name' ]; | |
248 | + $name = $_FILES[ 'upload' ][ 'name' ] . '.' . $this->getex($filename); | |
249 | + | |
250 | + $path = "../../storage/" . $this->getUserPath() . "/images/"; | |
251 | + if (!is_dir($path)) { | |
252 | + mkdir($path, 0755, true); | |
253 | + } | |
254 | + | |
255 | + move_uploaded_file($_FILES[ 'upload' ][ 'tmp_name' ], $path . $name); | |
256 | + | |
257 | + $full_path = '/storage/' . $this->getUserPath() . '/images/' . $name; | |
258 | + | |
259 | + $message = "ะคะฐะนะป " . $_FILES[ 'upload' ][ 'name' ] . " ะทะฐะณััะถะตะฝ"; | |
260 | + | |
241 | 261 | } |
242 | - | |
243 | - | |
244 | - | |
245 | - move_uploaded_file($_FILES['upload']['tmp_name'], $path.$name); | |
246 | - | |
247 | - $full_path = '/storage/'.$this->getUserPath().'/images/'.$name; | |
248 | - | |
249 | - $message = "ะคะฐะนะป ".$_FILES['upload']['name']." ะทะฐะณััะถะตะฝ"; | |
250 | - | |
251 | - | |
262 | + $callback = $_REQUEST[ 'CKEditorFuncNum' ]; | |
263 | + echo '<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction("' . $callback . '", "' . $full_path . '", "' . $message . '" );</script>'; | |
252 | 264 | } |
253 | - $callback = $_REQUEST['CKEditorFuncNum']; | |
254 | - echo '<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction("'.$callback.'", "'.$full_path.'", "'.$message.'" );</script>'; | |
255 | 265 | } |
256 | - } | |
257 | - | |
258 | - | |
259 | -} | |
260 | 266 | \ No newline at end of file |
267 | + | |
268 | + } | |
261 | 269 | \ No newline at end of file | ... | ... |
models/ImageSizerForm.php
1 | 1 | <?php |
2 | -namespace artweb\artbox\file\models; | |
3 | - | |
4 | -use yii\base\Model; | |
5 | -use yii\web\UploadedFile; | |
6 | - | |
7 | -/** | |
8 | - * UploadForm is the model behind the upload form. | |
9 | - */ | |
10 | -class ImageSizerForm extends Model | |
11 | -{ | |
2 | + namespace artweb\artbox\file\models; | |
3 | + | |
4 | + use yii\base\Model; | |
5 | + use yii\web\UploadedFile; | |
6 | + | |
12 | 7 | /** |
13 | - * @var UploadedFile file attribute | |
8 | + * UploadForm is the model behind the upload form. | |
14 | 9 | */ |
15 | - public $file; | |
16 | - public $width; | |
17 | - public $height; | |
18 | - public $field; | |
19 | - public $model; | |
20 | - public $form; | |
21 | - public $multi; | |
22 | - public $old_img; | |
23 | - public $img; | |
24 | - public $price_list; | |
25 | - | |
26 | - /** | |
27 | - * @return array the validation rules. | |
28 | - */ | |
29 | - public function rules() | |
10 | + class ImageSizerForm extends Model | |
30 | 11 | { |
31 | - return [ | |
32 | - [['width', 'height', 'multi'], 'integer'], | |
33 | - [['field', 'multi','old_img'], 'string', 'max' => 255], | |
34 | - [['model', 'form',], 'string'], | |
35 | - [['file','img','price_list'], 'file'], | |
36 | - ]; | |
37 | - } | |
38 | -} | |
39 | 12 | \ No newline at end of file |
13 | + /** | |
14 | + * @var UploadedFile file attribute | |
15 | + */ | |
16 | + public $file; | |
17 | + public $width; | |
18 | + public $height; | |
19 | + public $field; | |
20 | + public $model; | |
21 | + public $form; | |
22 | + public $multi; | |
23 | + public $old_img; | |
24 | + public $img; | |
25 | + public $price_list; | |
26 | + | |
27 | + /** | |
28 | + * @return array the validation rules. | |
29 | + */ | |
30 | + public function rules() | |
31 | + { | |
32 | + return [ | |
33 | + [ | |
34 | + [ | |
35 | + 'width', | |
36 | + 'height', | |
37 | + 'multi', | |
38 | + ], | |
39 | + 'integer', | |
40 | + ], | |
41 | + [ | |
42 | + [ | |
43 | + 'field', | |
44 | + 'multi', | |
45 | + 'old_img', | |
46 | + ], | |
47 | + 'string', | |
48 | + 'max' => 255, | |
49 | + ], | |
50 | + [ | |
51 | + [ | |
52 | + 'model', | |
53 | + 'form', | |
54 | + ], | |
55 | + 'string', | |
56 | + ], | |
57 | + [ | |
58 | + [ | |
59 | + 'file', | |
60 | + 'img', | |
61 | + 'price_list', | |
62 | + ], | |
63 | + 'file', | |
64 | + ], | |
65 | + ]; | |
66 | + } | |
67 | + } | |
40 | 68 | \ No newline at end of file | ... | ... |
widgets/ImageUploader.php
1 | 1 | <?php |
2 | -/** | |
3 | - * Created by PhpStorm. | |
4 | - * User: vitaliy | |
5 | - * Date: 05.10.15 | |
6 | - * Time: 16:18 | |
7 | - */ | |
8 | - | |
9 | -namespace artweb\artbox\file\widgets; | |
10 | -use yii\base\Widget; | |
11 | - | |
12 | - | |
13 | -class ImageUploader extends Widget | |
14 | -{ | |
15 | - public $height = 0; | |
16 | - public $width = 0; | |
17 | - public $field; | |
18 | - public $file; | |
19 | - public $model; | |
20 | - public $multi = false; | |
21 | - public $gallery; | |
22 | - public $size; | |
23 | - public $name = 'Add file...'; | |
24 | - public $remover = 0; | |
25 | - | |
26 | - public function init(){ | |
27 | - | |
28 | - parent::init(); | |
29 | - | |
30 | - } | |
31 | - | |
32 | - | |
33 | - public function run() | |
2 | + /** | |
3 | + * Created by PhpStorm. | |
4 | + * User: vitaliy | |
5 | + * Date: 05.10.15 | |
6 | + * Time: 16:18 | |
7 | + */ | |
8 | + | |
9 | + namespace artweb\artbox\file\widgets; | |
10 | + | |
11 | + use yii\base\Widget; | |
12 | + | |
13 | + class ImageUploader extends Widget | |
34 | 14 | { |
35 | - | |
36 | - return $this->render('image_sizer', | |
37 | - [ | |
38 | - 'model'=>$this->model, | |
39 | - 'size' => $this->size, | |
40 | - 'field' => $this->field, | |
41 | - 'height' => $this->height, | |
42 | - 'width' => $this->width, | |
43 | - 'multi' => $this->multi, | |
44 | - 'name' => $this->name, | |
45 | - 'remover' => $this->remover | |
46 | - ]); | |
47 | - | |
48 | - } | |
49 | - | |
50 | - public function getGallery(){ | |
51 | - if($this->gallery){ | |
52 | - $array = explode(",", $this->gallery); | |
53 | - if(count($array) > 1){ | |
54 | - array_pop($array); | |
15 | + public $height = 0; | |
16 | + public $width = 0; | |
17 | + public $field; | |
18 | + public $file; | |
19 | + public $model; | |
20 | + public $multi = false; | |
21 | + public $gallery; | |
22 | + public $size; | |
23 | + public $name = 'Add file...'; | |
24 | + public $remover = 0; | |
25 | + | |
26 | + public function init() | |
27 | + { | |
28 | + | |
29 | + parent::init(); | |
30 | + | |
31 | + } | |
32 | + | |
33 | + public function run() | |
34 | + { | |
35 | + | |
36 | + return $this->render( | |
37 | + 'image_sizer', | |
38 | + [ | |
39 | + 'model' => $this->model, | |
40 | + 'size' => $this->size, | |
41 | + 'field' => $this->field, | |
42 | + 'height' => $this->height, | |
43 | + 'width' => $this->width, | |
44 | + 'multi' => $this->multi, | |
45 | + 'name' => $this->name, | |
46 | + 'remover' => $this->remover, | |
47 | + ] | |
48 | + ); | |
49 | + | |
50 | + } | |
51 | + | |
52 | + public function getGallery() | |
53 | + { | |
54 | + if ($this->gallery) { | |
55 | + $array = explode(",", $this->gallery); | |
56 | + if (count($array) > 1) { | |
57 | + array_pop($array); | |
58 | + } | |
59 | + return $array; | |
60 | + } else { | |
61 | + return []; | |
55 | 62 | } |
56 | - return $array; | |
57 | - } else { | |
58 | - return array(); | |
63 | + | |
59 | 64 | } |
60 | - | |
61 | - } | |
62 | - | |
63 | -} | |
64 | 65 | \ No newline at end of file |
66 | + | |
67 | + } | |
65 | 68 | \ No newline at end of file | ... | ... |