Commit 06d508f34e1a32f4c97f1d3856f6878c0b9acb96

Authored by Administrator
1 parent 71f66dca

add Vitaliy's widgets

Showing 105 changed files with 629 additions and 16 deletions   Show diff stats
@@ -28,3 +28,4 @@ composer.phar @@ -28,3 +28,4 @@ composer.phar
28 phpunit.phar 28 phpunit.phar
29 # local phpunit config 29 # local phpunit config
30 /phpunit.xml 30 /phpunit.xml
  31 +storage
31 \ No newline at end of file 32 \ No newline at end of file
backend/assets/AppAsset.php
@@ -17,6 +17,7 @@ class AppAsset extends AssetBundle @@ -17,6 +17,7 @@ class AppAsset extends AssetBundle
17 { 17 {
18 public $basePath = '@webroot'; 18 public $basePath = '@webroot';
19 public $baseUrl = '@web'; 19 public $baseUrl = '@web';
  20 + public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
20 public $css = [ 21 public $css = [
21 'css/site.css', 22 'css/site.css',
22 'css/flags32.css' 23 'css/flags32.css'
@@ -25,8 +26,9 @@ class AppAsset extends AssetBundle @@ -25,8 +26,9 @@ class AppAsset extends AssetBundle
25 'js/option.js' 26 'js/option.js'
26 ]; 27 ];
27 public $depends = [ 28 public $depends = [
  29 + 'yii\web\JqueryAsset',
28 'yii\web\YiiAsset', 30 'yii\web\YiiAsset',
29 'yii\bootstrap\BootstrapAsset', 31 'yii\bootstrap\BootstrapAsset',
30 - 'yii\web\JqueryAsset' 32 + 'backend\assets\FileUploadAsset'
31 ]; 33 ];
32 } 34 }
backend/assets/FileUploadAsset.php 0 → 100755
  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 backend\assets;
  10 +
  11 +use yii\web\AssetBundle;
  12 +
  13 +/**
  14 + * Asset bundle for the Twitter bootstrap javascript files.
  15 + *
  16 + * @author Qiang Xue <qiang.xue@gmail.com>
  17 + * @since 2.0
  18 + */
  19 +class FileUploadAsset extends AssetBundle
  20 +{
  21 + public $sourcePath = '@bower/blueimp-file-upload/';
  22 + public $css = [
  23 + 'css/jquery.fileupload.css'
  24 + ];
  25 + public $js = [
  26 + 'js/vendor/jquery.ui.widget.js',
  27 + 'js/jquery.iframe-transport.js',
  28 + 'js/jquery.fileupload.js'
  29 + ];
  30 +}
backend/controllers/FileController.php 0 → 100755
  1 +<?php
  2 +/**
  3 + * Created by PhpStorm.
  4 + * User: Cibermag
  5 + * Date: 31.08.2015
  6 + * Time: 9:58
  7 + */
  8 +namespace backend\controllers;
  9 +use Yii;
  10 +use yii\web\UploadedFile;
  11 +use common\models\ImageSizerForm;
  12 +use yii\web\Controller;
  13 +use Imagine\Gd\Imagine;
  14 +use Imagine\Image\Box;
  15 +use yii\imagine\Image;
  16 +
  17 +class FileController extends Controller {
  18 +
  19 + public function isBigger($width,$height,$w,$h)
  20 + {
  21 + if($width>$w){
  22 + return true;
  23 + }else if($height >$h) {
  24 + return true;
  25 + }
  26 + return false;
  27 + }
  28 +
  29 + public function actionIndex(){
  30 + die('hello');
  31 + }
  32 +
  33 + private function resizeImg($w, $h, $imageAlias,$imageAliasSave){
  34 + $img = Image::getImagine()->open(Yii::getAlias($imageAlias));
  35 +
  36 + $size = $img->getSize();
  37 +
  38 + $width = $size->getWidth();
  39 + $height = $size->getHeight();
  40 +
  41 + $e_width = $w/$h;
  42 + $e_height = $h/$w;
  43 +
  44 + $e1_width = $width/$height;
  45 + $e1_height = $height/$width;
  46 +
  47 +
  48 + if($this->isBigger($width,$height,$w,$h)){
  49 + if($e_width<$e1_width){
  50 +
  51 + $new_width = $width*($e_width/$e1_width);
  52 +
  53 + $y = 0;
  54 + $x = $width/ 2-($new_width/2);
  55 + $width = $new_width;
  56 +
  57 + }else {
  58 +
  59 + $new_height = $height*($e_height/$e1_height);
  60 + $x = 0;
  61 + $y = $height/2-($new_height/2);
  62 + $height = $new_height;
  63 + }
  64 +
  65 +
  66 + } else {
  67 + $img->save($imageAliasSave, array('flatten' => false));
  68 + return true;
  69 + }
  70 +
  71 +
  72 + Image::crop($imageAlias, $width, $height,[$x,$y])
  73 + ->save(Yii::getAlias($imageAliasSave), ['quality' =>
  74 + 100]);
  75 +
  76 +
  77 + $imagine = new Imagine();
  78 + $imagine->open($imageAliasSave)
  79 + ->resize(new Box($w, $h))
  80 + ->save($imageAliasSave, array('flatten' => false));
  81 +
  82 +
  83 +
  84 + }
  85 +
  86 + private function deleteImages($old_img){
  87 +
  88 + if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){
  89 +
  90 +// $rootDir = explode("/", $old_img);
  91 +//
  92 +// $row = $_SERVER['DOCUMENT_ROOT'].'/'.$rootDir[1].'/'.$rootDir[2].'/';
  93 +//
  94 +// $allFiles = scandir($row);
  95 +//
  96 +// $allFiles = array_slice($allFiles, 2);
  97 +//
  98 +// foreach($allFiles as $oldFile){
  99 +//
  100 +// unlink($row.$oldFile);
  101 +//
  102 +// }
  103 +
  104 + }
  105 + }
  106 +
  107 + public function actionDeleteImage(){
  108 +
  109 + $request = Yii::$app->request->post();
  110 +
  111 + if($request){
  112 + if ($request['old_img']) {
  113 + $this->deleteImages($request['old_img']);
  114 + }
  115 + if(isset($request['action']) && $request['action']=='save'){
  116 + $object = str_replace('-', '\\',$request['model']);
  117 + $model = new $object;
  118 + $model = $model->findOne($request['id']);
  119 + $model->$request['field'] = $request['new_url'];
  120 +// print_r($model->validate());
  121 +// print_r($model->getErrors());
  122 +// die(var_dump($model->save()));
  123 + $model->save();
  124 + }
  125 + }
  126 +
  127 + }
  128 +
  129 +
  130 + public function actionDownloadPhoto()
  131 + {
  132 +
  133 + $model = new ImageSizerForm();
  134 +
  135 + $request = Yii::$app->request->post();
  136 + if ($request) {
  137 +
  138 + $model->file = UploadedFile::getInstance($model, 'file');
  139 +
  140 + $md5_file = md5_file($model->file->tempName);
  141 +
  142 + $imgDir = Yii::getAlias('@storage/'.$md5_file.'/');
  143 +
  144 + $imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension);
  145 +
  146 + if(!is_dir($imgDir)) {
  147 + mkdir($imgDir, 0755, true);
  148 + }
  149 +
  150 + $model->file->saveAs($imageOrigAlias);
  151 +
  152 + if($request['width'] && $request['height']){
  153 +
  154 + $imageAlias = Yii::getAlias($imgDir.$request['width'].'x'.$request['height'].'.'.$model->file->extension);
  155 +
  156 + $imageLink = '/storage/'.$md5_file.'/'.$request['width'].'x'.$request['height'].'.'.$model->file->extension;
  157 +
  158 + $this->resizeImg($request['width'], $request['height'], $imageOrigAlias,$imageAlias);
  159 +
  160 + } else {
  161 +
  162 + $imageLink = '/storage/'.$md5_file.'/'.'original'.'.'.$model->file->extension;
  163 +
  164 + }
  165 +
  166 +
  167 + if($model->multi){
  168 + $view = $this->renderPartial('@app/components/views/_gallery_item', [
  169 + 'item' => ['image'=>$imageLink],
  170 + ]);
  171 +
  172 + return json_encode(['link'=>$imageLink, 'view' =>$view]);
  173 +
  174 +
  175 + } else {
  176 + return json_encode(['link'=>$imageLink]);
  177 + }
  178 +
  179 +
  180 + }
  181 + }
  182 +
  183 +
  184 + public function getex($filename) {
  185 + return end(explode(".", $filename));
  186 + }
  187 +
  188 +
  189 + public function actionImagesUpload(){
  190 + if($_FILES['upload'])
  191 + {
  192 + if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) )
  193 + {
  194 + $message = "Вы не выбрали файл";
  195 + }
  196 + else if ($_FILES['upload']["size"] == 0 OR $_FILES['upload']["size"] > 2050000)
  197 + {
  198 + $message = "Размер файла не соответствует нормам";
  199 + }
  200 + 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'))
  201 + {
  202 + $message = "Допускается загрузка только картинок JPG и PNG.";
  203 + }
  204 + else if (!is_uploaded_file($_FILES['upload']["tmp_name"]))
  205 + {
  206 + $message = "Что-то пошло не так. Попытайтесь загрузить файл ещё раз.";
  207 + }
  208 + else{
  209 + $name =rand(1, 1000).md5($_FILES['upload']['name']).'.'.$this->getex($_FILES['upload']['name']);
  210 + move_uploaded_file($_FILES['upload']['tmp_name'], "../../storage/images/".$name);
  211 + $full_path = '/storage/images/'.$name;
  212 + $message = "Файл ".$_FILES['upload']['name']." загружен";
  213 + $size=@getimagesize('images/'.$name);
  214 +
  215 + }
  216 + $callback = $_REQUEST['CKEditorFuncNum'];
  217 + echo '<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction("'.$callback.'", "'.$full_path.'", "'.$message.'" );</script>';
  218 + }
  219 + }
  220 +
  221 +
  222 +}
0 \ No newline at end of file 223 \ No newline at end of file
backend/controllers/SpecializationController.php 100644 → 100755
backend/controllers/UserInfoTestController.php 100644 → 100755
backend/controllers/UserTestController.php 100644 → 100755
backend/views/specialization/_form.php 100644 → 100755
@@ -14,7 +14,15 @@ use yii\helpers\ArrayHelper; @@ -14,7 +14,15 @@ use yii\helpers\ArrayHelper;
14 14
15 <?= $form->field($model, 'specialization_pid')->dropDownList(ArrayHelper::map($model->find()->all(), 'specialization_id', 'specialization_name'), ['prompt' => 'Выберие родителя']) ?> 15 <?= $form->field($model, 'specialization_pid')->dropDownList(ArrayHelper::map($model->find()->all(), 'specialization_id', 'specialization_name'), ['prompt' => 'Выберие родителя']) ?>
16 <?= $form->field($model, 'specialization_name')->textInput(['maxlength' => true]) ?> 16 <?= $form->field($model, 'specialization_name')->textInput(['maxlength' => true]) ?>
17 - 17 + <?= \common\widgets\ImageUploader::widget([
  18 + 'model'=> $model,
  19 + 'field'=>'img',
  20 + 'width'=>240,
  21 + 'height'=>160,
  22 + 'multi'=>false,
  23 + 'gallery' =>$model->img,
  24 + 'name' => 'Загрузить картинку'
  25 + ]); ?>
18 <div class="form-group"> 26 <div class="form-group">
19 <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> 27 <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
20 </div> 28 </div>
backend/views/specialization/_search.php 100644 → 100755
backend/views/specialization/create.php 100644 → 100755
backend/views/specialization/index.php 100644 → 100755
backend/views/specialization/update.php 100644 → 100755
backend/views/specialization/view.php 100644 → 100755
backend/web/js/fieldWidget.js 100644 → 100755
common/config/.gitignore 100644 → 100755
common/config/main.php
1 <?php 1 <?php
2 return [ 2 return [
3 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor', 3 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
  4 + 'controllerMap' => [
  5 + 'elfinder' => [
  6 + 'class' => 'mihaildev\elfinder\Controller',
  7 + 'access' => ['@'], //глобальный доступ к фаил менеджеру @ - для авторизорованных , ? - для гостей , чтоб открыть всем ['@', '?']
  8 + 'disabledCommands' => ['netmount'], //отключение ненужных команд https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#commands
  9 + 'roots' => [
  10 + [
  11 + 'class' => 'mihaildev\elfinder\UserPath',
  12 + 'path' => '../../storage/user_{id}',
  13 + 'name' => 'My Documents'
  14 + ],
  15 + ],
  16 + 'watermark' => [
  17 + 'source' => __DIR__.'/logo.png', // Path to Water mark image
  18 + 'marginRight' => 5, // Margin right pixel
  19 + 'marginBottom' => 5, // Margin bottom pixel
  20 + 'quality' => 95, // JPEG image save quality
  21 + 'transparency' => 70, // Water mark image transparency ( other than PNG )
  22 + 'targetType' => IMG_GIF|IMG_JPG|IMG_PNG|IMG_WBMP, // Target image formats ( bit-field )
  23 + 'targetMinPixel' => 200 // Target image minimum pixel size
  24 + ]
  25 + ]
  26 + ],
4 'modules' => [ 27 'modules' => [
5 'permit' => [ 28 'permit' => [
6 'class' => 'common\components\developeruz\db_rbac\Yii2DbRbac', 29 'class' => 'common\components\developeruz\db_rbac\Yii2DbRbac',
common/models/Fields.php 100644 → 100755
common/models/ImageSizerForm.php
1 <?php 1 <?php
2 -namespace backend\models; 2 +namespace common\models;
3 3
4 use yii\base\Model; 4 use yii\base\Model;
5 use yii\web\UploadedFile; 5 use yii\web\UploadedFile;
common/models/Option.php 100644 → 100755
common/models/OptionLang.php 100644 → 100755
common/models/OptionLangSearch.php 100644 → 100755
common/models/OptionSearch.php 100644 → 100755
common/models/Specialization.php 100644 → 100755
@@ -13,6 +13,7 @@ use Yii; @@ -13,6 +13,7 @@ use Yii;
13 */ 13 */
14 class Specialization extends \yii\db\ActiveRecord 14 class Specialization extends \yii\db\ActiveRecord
15 { 15 {
  16 + public $img;
16 /** 17 /**
17 * @inheritdoc 18 * @inheritdoc
18 */ 19 */
common/models/SpecializationSearch.php 100644 → 100755
common/modules/file/Module.php 0 → 100755
  1 +<?php
  2 +namespace common\modules\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 +}
common/modules/file/config.php 0 → 100755
  1 +<?php
  2 +return [
  3 +];
common/modules/file/controller/DefaultController.php 0 → 100755
  1 +<?php
  2 +/**
  3 + * Created by PhpStorm.
  4 + * User: Cibermag
  5 + * Date: 31.08.2015
  6 + * Time: 9:58
  7 + */
  8 +namespace common\modules\file\controllers;
  9 +use Yii;
  10 +use yii\web\UploadedFile;
  11 +use common\models\ImageSizerForm;
  12 +use yii\web\Controller;
  13 +use Imagine\Gd\Imagine;
  14 +use Imagine\Image\Box;
  15 +use yii\imagine\Image;
  16 +
  17 +class DefaultController extends Controller {
  18 +
  19 + public function isBigger($width,$height,$w,$h)
  20 + {
  21 + if($width>$w){
  22 + return true;
  23 + }else if($height >$h) {
  24 + return true;
  25 + }
  26 + return false;
  27 + }
  28 +
  29 + public function actionIndex(){
  30 + die('hello');
  31 + }
  32 +
  33 + private function resizeImg($w, $h, $imageAlias,$imageAliasSave){
  34 + $img = Image::getImagine()->open(Yii::getAlias($imageAlias));
  35 +
  36 + $size = $img->getSize();
  37 +
  38 + $width = $size->getWidth();
  39 + $height = $size->getHeight();
  40 +
  41 + $e_width = $w/$h;
  42 + $e_height = $h/$w;
  43 +
  44 + $e1_width = $width/$height;
  45 + $e1_height = $height/$width;
  46 +
  47 +
  48 + if($this->isBigger($width,$height,$w,$h)){
  49 + if($e_width<$e1_width){
  50 +
  51 + $new_width = $width*($e_width/$e1_width);
  52 +
  53 + $y = 0;
  54 + $x = $width/ 2-($new_width/2);
  55 + $width = $new_width;
  56 +
  57 + }else {
  58 +
  59 + $new_height = $height*($e_height/$e1_height);
  60 + $x = 0;
  61 + $y = $height/2-($new_height/2);
  62 + $height = $new_height;
  63 + }
  64 +
  65 +
  66 + } else {
  67 + $img->save($imageAliasSave, array('flatten' => false));
  68 + return true;
  69 + }
  70 +
  71 +
  72 + Image::crop($imageAlias, $width, $height,[$x,$y])
  73 + ->save(Yii::getAlias($imageAliasSave), ['quality' =>
  74 + 100]);
  75 +
  76 +
  77 + $imagine = new Imagine();
  78 + $imagine->open($imageAliasSave)
  79 + ->resize(new Box($w, $h))
  80 + ->save($imageAliasSave, array('flatten' => false));
  81 +
  82 +
  83 +
  84 + }
  85 +
  86 + private function deleteImages($old_img){
  87 +
  88 + if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){
  89 +
  90 +// $rootDir = explode("/", $old_img);
  91 +//
  92 +// $row = $_SERVER['DOCUMENT_ROOT'].'/'.$rootDir[1].'/'.$rootDir[2].'/';
  93 +//
  94 +// $allFiles = scandir($row);
  95 +//
  96 +// $allFiles = array_slice($allFiles, 2);
  97 +//
  98 +// foreach($allFiles as $oldFile){
  99 +//
  100 +// unlink($row.$oldFile);
  101 +//
  102 +// }
  103 +
  104 + }
  105 + }
  106 +
  107 + public function actionDeleteImage(){
  108 +
  109 + $request = Yii::$app->request->post();
  110 +
  111 + if($request){
  112 + if ($request['old_img']) {
  113 + $this->deleteImages($request['old_img']);
  114 + }
  115 + if(isset($request['action']) && $request['action']=='save'){
  116 + $object = str_replace('-', '\\',$request['model']);
  117 + $model = new $object;
  118 + $model = $model->findOne($request['id']);
  119 + $model->$request['field'] = $request['new_url'];
  120 +// print_r($model->validate());
  121 +// print_r($model->getErrors());
  122 +// die(var_dump($model->save()));
  123 + $model->save();
  124 + }
  125 + }
  126 +
  127 + }
  128 +
  129 +
  130 + public function actionDownloadPhoto()
  131 + {
  132 +
  133 + $model = new ImageSizerForm();
  134 +
  135 + $request = Yii::$app->request->post();
  136 + if ($request) {
  137 +
  138 + $model->file = UploadedFile::getInstance($model, 'file');
  139 +
  140 + $md5_file = md5_file($model->file->tempName);
  141 +
  142 + $imgDir = Yii::getAlias('@storage/'.$md5_file.'/');
  143 +
  144 + $imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension);
  145 +
  146 + if(!is_dir($imgDir)) {
  147 + mkdir($imgDir, 0755, true);
  148 + }
  149 +
  150 + $model->file->saveAs($imageOrigAlias);
  151 +
  152 + if($request['width'] && $request['height']){
  153 +
  154 + $imageAlias = Yii::getAlias($imgDir.$request['width'].'x'.$request['height'].'.'.$model->file->extension);
  155 +
  156 + $imageLink = '/storage/'.$md5_file.'/'.$request['width'].'x'.$request['height'].'.'.$model->file->extension;
  157 +
  158 + $this->resizeImg($request['width'], $request['height'], $imageOrigAlias,$imageAlias);
  159 +
  160 + } else {
  161 +
  162 + $imageLink = '/storage/'.$md5_file.'/'.'original'.'.'.$model->file->extension;
  163 +
  164 + }
  165 +
  166 +
  167 + if($model->multi){
  168 + $view = $this->renderPartial('@app/components/views/_gallery_item', [
  169 + 'item' => ['image'=>$imageLink],
  170 + ]);
  171 +
  172 + return json_encode(['link'=>$imageLink, 'view' =>$view]);
  173 +
  174 +
  175 + } else {
  176 + return json_encode(['link'=>$imageLink]);
  177 + }
  178 +
  179 +
  180 + }
  181 + }
  182 +
  183 +
  184 + public function getex($filename) {
  185 + return end(explode(".", $filename));
  186 + }
  187 +
  188 +
  189 + public function actionImagesUpload(){
  190 + if($_FILES['upload'])
  191 + {
  192 + if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) )
  193 + {
  194 + $message = "Вы не выбрали файл";
  195 + }
  196 + else if ($_FILES['upload']["size"] == 0 OR $_FILES['upload']["size"] > 2050000)
  197 + {
  198 + $message = "Размер файла не соответствует нормам";
  199 + }
  200 + 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'))
  201 + {
  202 + $message = "Допускается загрузка только картинок JPG и PNG.";
  203 + }
  204 + else if (!is_uploaded_file($_FILES['upload']["tmp_name"]))
  205 + {
  206 + $message = "Что-то пошло не так. Попытайтесь загрузить файл ещё раз.";
  207 + }
  208 + else{
  209 + $name =rand(1, 1000).md5($_FILES['upload']['name']).'.'.$this->getex($_FILES['upload']['name']);
  210 + move_uploaded_file($_FILES['upload']['tmp_name'], "../../storage/images/".$name);
  211 + $full_path = '/storage/images/'.$name;
  212 + $message = "Файл ".$_FILES['upload']['name']." загружен";
  213 + $size=@getimagesize('images/'.$name);
  214 +
  215 + }
  216 + $callback = $_REQUEST['CKEditorFuncNum'];
  217 + echo '<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction("'.$callback.'", "'.$full_path.'", "'.$message.'" );</script>';
  218 + }
  219 + }
  220 +
  221 +
  222 +}
0 \ No newline at end of file 223 \ No newline at end of file
common/widgets/FieldEditor.php 100644 → 100755
common/widgets/ImageResizer.php
1 <?php 1 <?php
2 -namespace backend\components; 2 +namespace common\widgets;
3 3
4 use yii\web\UploadedFile; 4 use yii\web\UploadedFile;
5 -use backend\models\ImageSizerForm; 5 +use common\models\ImageSizerForm;
6 use yii\base\Widget; 6 use yii\base\Widget;
7 use Imagine\Image\Box; 7 use Imagine\Image\Box;
8 use yii\imagine\Image; 8 use yii\imagine\Image;
common/widgets/ImageUploader.php 0 → 100755
  1 +<?php
  2 +/**
  3 + * Created by PhpStorm.
  4 + * User: vitaliy
  5 + * Date: 05.10.15
  6 + * Time: 16:18
  7 + */
  8 +
  9 +namespace common\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 $name = 'Add file...';
  23 +
  24 + public function init(){
  25 +
  26 + parent::init();
  27 +
  28 + }
  29 +
  30 +
  31 + public function run()
  32 + {
  33 +
  34 + return $this->render('image_sizer',
  35 + [
  36 + 'model'=>$this->model,
  37 + 'field' => $this->field,
  38 + 'height' => $this->height,
  39 + 'width' => $this->width,
  40 + 'multi' => $this->multi,
  41 + 'name' => $this->name
  42 + ]);
  43 +
  44 + }
  45 +
  46 + public function getGallery(){
  47 + if($this->gallery){
  48 + $array = explode(",", $this->gallery);
  49 + if(count($array) > 1){
  50 + array_pop($array);
  51 + }
  52 + return $array;
  53 + } else {
  54 + return array();
  55 + }
  56 +
  57 + }
  58 +
  59 +}
0 \ No newline at end of file 60 \ No newline at end of file
common/widgets/MultiLangForm.php 100644 → 100755
common/widgets/views/education_field.php 100644 → 100755
common/widgets/views/image_sizer.php
@@ -6,10 +6,8 @@ @@ -6,10 +6,8 @@
6 * Time: 16:20 6 * Time: 16:20
7 */ 7 */
8 use yii\helpers\Html; 8 use yii\helpers\Html;
9 -$this->registerJsFile('@web/js/vendor/bower/jquery-file-upload/js/vendor/jquery.ui.widget.js');  
10 -$this->registerJsFile('@web/js/vendor/bower/jquery-file-upload/js/jquery.iframe-transport.js');  
11 -$this->registerJsFile('@web/js/vendor/bower/jquery-file-upload/js/jquery.fileupload.js');  
12 -$this->registerCssFile('@web/js/vendor/bower/jquery-file-upload/css/jquery.fileupload.css'); 9 +
  10 +$id = $model::tableName().'_id';
13 11
14 ?> 12 ?>
15 <div class="file-uploader-block"> 13 <div class="file-uploader-block">
@@ -18,13 +16,13 @@ $this-&gt;registerCssFile(&#39;@web/js/vendor/bower/jquery-file-upload/css/jquery.fileu @@ -18,13 +16,13 @@ $this-&gt;registerCssFile(&#39;@web/js/vendor/bower/jquery-file-upload/css/jquery.fileu
18 <i class="glyphicon glyphicon-plus"></i> 16 <i class="glyphicon glyphicon-plus"></i>
19 <span><?=$name?></span> 17 <span><?=$name?></span>
20 18
21 - <?= Html::activeFileInput( new \backend\models\ImageSizerForm(),'file',['id'=>$field, 'data-url'=>"/admin/site/download-photo" ]);?> 19 + <?= Html::activeFileInput( new \common\models\ImageSizerForm(),'file',['id'=>$field, 'data-url'=>"/file/download-photo" ]);?>
22 </span> 20 </span>
23 21
24 <?= Html::activeHiddenInput( $model,$field,['id' => "{$field}_picture_link"]) ?> 22 <?= Html::activeHiddenInput( $model,$field,['id' => "{$field}_picture_link"]) ?>
25 <input type="hidden" id="<?=$field?>_old_img" name="ImageSizerForm[old_img]" value="<?=$model->$field?>"/> 23 <input type="hidden" id="<?=$field?>_old_img" name="ImageSizerForm[old_img]" value="<?=$model->$field?>"/>
26 <input type="hidden" id="<?=$field?>_new_img" name="ImageSizerForm[new_img]" value=""/> 24 <input type="hidden" id="<?=$field?>_new_img" name="ImageSizerForm[new_img]" value=""/>
27 - <input type="hidden" id="<?=$field?>_row_id" name="ImageSizerForm[new_img]" value="<?=$model->id?>"/> 25 + <input type="hidden" id="<?=$field?>_row_id" name="ImageSizerForm[new_img]" value="<?=$model->$id?>"/>
28 <div id="<?= $field?>_img_block"> 26 <div id="<?= $field?>_img_block">
29 <?= $model->$field ? Html::img($model->$field): '' ?> 27 <?= $model->$field ? Html::img($model->$field): '' ?>
30 </div> 28 </div>
@@ -59,7 +57,7 @@ $this-&gt;registerCssFile(&#39;@web/js/vendor/bower/jquery-file-upload/css/jquery.fileu @@ -59,7 +57,7 @@ $this-&gt;registerCssFile(&#39;@web/js/vendor/bower/jquery-file-upload/css/jquery.fileu
59 var old_url = $('#<?=$field?>_old_img').val(); 57 var old_url = $('#<?=$field?>_old_img').val();
60 var new_url = $('#<?=$field?>_new_img').val(); 58 var new_url = $('#<?=$field?>_new_img').val();
61 var model = '<?=str_replace('\\', '-',$model::className());?>'; 59 var model = '<?=str_replace('\\', '-',$model::className());?>';
62 - $.post( "/admin/site/delete-image",{new_url:new_url,old_img: old_url,model:model,field:"<?= $field?>", id:"<?=$model->id?>",action:'save'}, function() { 60 + $.post( "/admin/site/delete-image",{new_url:new_url,old_img: old_url,model:model,field:"<?= $field?>", id:"<?=$model->$id?>",action:'save'}, function() {
63 }); 61 });
64 $("#<?=$field?>_picture_link").val(new_url); 62 $("#<?=$field?>_picture_link").val(new_url);
65 }); 63 });
@@ -85,7 +83,7 @@ $this-&gt;registerCssFile(&#39;@web/js/vendor/bower/jquery-file-upload/css/jquery.fileu @@ -85,7 +83,7 @@ $this-&gt;registerCssFile(&#39;@web/js/vendor/bower/jquery-file-upload/css/jquery.fileu
85 <i class="glyphicon glyphicon-plus"></i> 83 <i class="glyphicon glyphicon-plus"></i>
86 <span><?=$name?></span> 84 <span><?=$name?></span>
87 85
88 - <?= Html::activeFileInput( new \backend\models\ImageSizerForm(),'file',['id'=>$field, 'data-url'=>"/admin/site/download-photo", 'multiple'=> 'multiple' ]);?> 86 + <?= Html::activeFileInput( new \common\models\ImageSizerForm(),'file',['id'=>$field, 'data-url'=>"/file/download-photo", 'multiple'=> 'multiple' ]);?>
89 </span> 87 </span>
90 88
91 <?= Html::activeHiddenInput( $model,$field,['id' => "{$field}_picture_link"]) ?> 89 <?= Html::activeHiddenInput( $model,$field,['id' => "{$field}_picture_link"]) ?>
common/widgets/views/multi-lang-form.php 100644 → 100755
console/migrations/m160125_151635_delete_lang_field.php 100644 → 100755
console/migrations/m160128_101543_fields.php 100644 → 100755
console/migrations/m160202_084703_specialization.php 100644 → 100755
console/migrations/m160203_082111_jobs.php 0 → 100644
  1 +<?php
  2 +
  3 +use yii\db\Migration;
  4 +
  5 +class m160203_082111_jobs extends Migration
  6 +{
  7 + public function up()
  8 + {
  9 + $tableOptions = null;
  10 +
  11 + $this->createTable('{{%job}}', [
  12 + 'job_id' => $this->primaryKey(),
  13 + 'name' => $this->string(255)->notNull(),
  14 + 'link' => $this->string(255),
  15 + 'date_start' => $this->timestamp(),
  16 + 'date_end' => $this->timestamp(),
  17 + 'position' => $this->string(255),
  18 + 'user_id' => $this->integer(),
  19 + 'total_count' => $this->integer(),
  20 + 'complete_count' => $this->integer(),
  21 + ], $tableOptions);
  22 +
  23 + }
  24 +
  25 + public function down()
  26 + {
  27 + $this->dropTable('{{%job}}');
  28 + }
  29 +}
db-migration/yarik/option_data.backup 100644 → 100755
No preview for this file type
frontend/controllers/ChatController.php 100644 → 100755
frontend/controllers/CompanyController.php 100644 → 100755
frontend/controllers/FileController.php 100644 → 100755
@@ -6,10 +6,9 @@ @@ -6,10 +6,9 @@
6 * Time: 9:58 6 * Time: 9:58
7 */ 7 */
8 namespace frontend\controllers; 8 namespace frontend\controllers;
9 -  
10 use Yii; 9 use Yii;
11 use yii\web\UploadedFile; 10 use yii\web\UploadedFile;
12 -use backend\models\ImageSizerForm; 11 +use common\models\ImageSizerForm;
13 use yii\web\Controller; 12 use yii\web\Controller;
14 use Imagine\Gd\Imagine; 13 use Imagine\Gd\Imagine;
15 use Imagine\Image\Box; 14 use Imagine\Image\Box;
frontend/controllers/OptionLangController.php 100644 → 100755
frontend/controllers/PerformerController.php 100644 → 100755
frontend/controllers/SearchController.php 100644 → 100755
frontend/controllers/TenderController.php 100644 → 100755
frontend/views/accounts/_form.php 100644 → 100755
1 <?php 1 <?php
2 -  
3 use yii\helpers\Html; 2 use yii\helpers\Html;
4 use yii\widgets\ActiveForm; 3 use yii\widgets\ActiveForm;
5 use mihaildev\ckeditor\CKEditor; 4 use mihaildev\ckeditor\CKEditor;
  5 +use mihaildev\elfinder\InputFile;
6 use mihaildev\elfinder\ElFinder; 6 use mihaildev\elfinder\ElFinder;
7 ?> 7 ?>
8 8
@@ -51,6 +51,7 @@ use mihaildev\elfinder\ElFinder; @@ -51,6 +51,7 @@ use mihaildev\elfinder\ElFinder;
51 ) 51 )
52 ]); ?> 52 ]); ?>
53 53
  54 +
54 <?= \common\widgets\FieldEditor::widget([ 55 <?= \common\widgets\FieldEditor::widget([
55 'template'=>'education', 56 'template'=>'education',
56 'item_id'=> $user->id, 57 'item_id'=> $user->id,
frontend/views/accounts/bookmarks.php 100644 → 100755
frontend/views/accounts/projects.php 100644 → 100755
frontend/views/chat/list.php 100644 → 100755
frontend/views/chat/message.php 100644 → 100755
frontend/views/company/blog-list.php 100644 → 100755
frontend/views/company/blog-view.php 100644 → 100755
frontend/views/company/common.php 100644 → 100755
frontend/views/company/gallery.php 100644 → 100755
frontend/views/company/portfolio.php 100644 → 100755
frontend/views/company/review.php 100644 → 100755
frontend/views/company/team.php 100644 → 100755
frontend/views/company/vacancy-list.php 100644 → 100755
frontend/views/company/vacancy-view.php 100644 → 100755
frontend/views/landing/landing-freelance.php 100644 → 100755
frontend/views/landing/landing-order-project.php 100644 → 100755
frontend/views/landing/landing-work.php 100644 → 100755
frontend/views/layouts/company.php 100644 → 100755
frontend/views/layouts/gallery-company.php 100644 → 100755
frontend/views/layouts/gallery.php 100644 → 100755
frontend/views/layouts/performer.php 100644 → 100755
frontend/views/option-lang/_form.php 100644 → 100755
frontend/views/option-lang/_form_ajax.php 100644 → 100755
frontend/views/option-lang/_search.php 100644 → 100755
frontend/views/option-lang/create.php 100644 → 100755
frontend/views/option-lang/index.php 100644 → 100755
frontend/views/option-lang/update.php 100644 → 100755
frontend/views/option-lang/view.php 100644 → 100755
frontend/views/performer/blog-list.php 100644 → 100755
frontend/views/performer/blog-view.php 100644 → 100755
frontend/views/performer/common.php 100644 → 100755
frontend/views/performer/gallery.php 100644 → 100755
frontend/views/performer/portfolio.php 100644 → 100755
frontend/views/performer/review.php 100644 → 100755
frontend/views/performer/workplace.php 100644 → 100755
frontend/views/search/company.php 100644 → 100755
frontend/views/search/performer.php 100644 → 100755
frontend/views/search/project.php 100644 → 100755
frontend/views/search/vacancy.php 100644 → 100755
frontend/views/tender/view.php 100644 → 100755
frontend/views/views/testuser/_form.php 100644 → 100755
frontend/views/views/testuser/_search.php 100644 → 100755
frontend/views/views/testuser/create.php 100644 → 100755
frontend/views/views/testuser/index.php 100644 → 100755
frontend/views/views/testuser/update.php 100644 → 100755
frontend/views/views/testuser/view.php 100644 → 100755
frontend/views/views/testuserinfo/_form.php 100644 → 100755
frontend/views/views/testuserinfo/_search.php 100644 → 100755
frontend/views/views/testuserinfo/create.php 100644 → 100755
frontend/views/views/testuserinfo/index.php 100644 → 100755
frontend/views/views/testuserinfo/update.php 100644 → 100755
frontend/views/views/testuserinfo/view.php 100644 → 100755
frontend/web/css/art_box.css 100644 → 100755
frontend/web/css/style_min.css 100644 → 100755
frontend/web/js/_forms.js 100644 → 100755
frontend/web/js/_jquery.rating.js 100644 → 100755
frontend/web/js/_script.js 100644 → 100755
storage/.htaccess 100644 → 100755
storage/images/731f3def4141ee16d28c15219e46e5d2297.jpg deleted

87.3 KB