add_file_input

This commit is contained in:
SoHardKI 2019-07-26 15:31:39 +03:00
parent 9560efc7bc
commit ea96cfe152
6 changed files with 402 additions and 12 deletions

View File

@ -3,6 +3,7 @@
namespace backend\modules\card\models; namespace backend\modules\card\models;
use backend\modules\settings\models\Skill; use backend\modules\settings\models\Skill;
use common\classes\Debug;
use common\models\CardSkill; use common\models\CardSkill;
use common\models\FieldsValue; use common\models\FieldsValue;
use common\models\FieldsValueNew; use common\models\FieldsValueNew;
@ -61,11 +62,14 @@ class UserCard extends \common\models\UserCard
if($post['fields']){ if($post['fields']){
FieldsValueNew::deleteAll(['item_id' => $this->id, 'item_type' => FieldsValueNew::TYPE_PROFILE]); FieldsValueNew::deleteAll(['item_id' => $this->id, 'item_type' => FieldsValueNew::TYPE_PROFILE]);
foreach ( $post['fields'] as $item) { foreach ( $post['fields'] as $item) {
$fildsValue = new FieldsValueNew(); $fildsValue = new FieldsValueNew();
$fildsValue->field_id = $item['field_id']; $fildsValue->field_id = $item['field_id'];
$fildsValue->value = $item['value']; $fildsValue->value = $item['value'];
$fildsValue->type_file = 'text';
if(substr($item['value'],0,1) == '/'){
$fildsValue->type_file = 'file';
}
$fildsValue->order = $item['order']; $fildsValue->order = $item['order'];
$fildsValue->item_id = $this->id; $fildsValue->item_id = $this->id;
$fildsValue->item_type = FieldsValueNew::TYPE_PROFILE; $fildsValue->item_type = FieldsValueNew::TYPE_PROFILE;

View File

@ -147,10 +147,19 @@ use yii\widgets\ActiveForm;
[ [
'name' => 'value', 'name' => 'value',
'title' => 'Значение', 'title' => 'Значение',
'enableError' => true, 'type' => InputFile::className(),
'options' => [ 'options' => [
'class' => 'input-priority' 'language' => 'ru',
] 'controller' => 'elfinder',
// вставляем название контроллера, по умолчанию равен elfinder
// фильтр файлов, можно задать массив фильтров https://github.com/Studio-42/elFinder/wiki/Client-con..
'name' => 'fields[value]',
'id' => 'fields-value',
'options' => ['class' => 'form-control itemImg', 'maxlength' => '255'],
'buttonOptions' => ['class' => 'btn btn-primary'],
'value' => $model->fields[0]['value'],
'buttonName' => 'Выбрать файл',
],
], ],
[ [
'name' => 'order', 'name' => 'order',
@ -161,10 +170,6 @@ use yii\widgets\ActiveForm;
] ]
], ],
], ],
// 'extraButtons' => function ($model, $index, $context) {
// Html::addCssClass($options, 'btn multiple-input-list__btn js-input-plus btn btn-default');
// return Html::tag('div', Html::a('', ['index'], ['class' => 'glyphicon glyphicon-plus plus-icon']), $options);
// },
])->label('Дополнительно'); ])->label('Дополнительно');
?> ?>
</div> </div>

View File

@ -27,3 +27,12 @@
max-height: 100px; max-height: 100px;
flex-direction: column; flex-direction: column;
} }
.field-usercard-fields-0-value{
display: flex;
width: auto;
}
.field-usercard-fields-0-value .itemImg {
width: 100% !important;
}

View File

@ -14,6 +14,7 @@ use Yii;
* @property int $order * @property int $order
* @property string $value * @property string $value
* @property string $option * @property string $option
* @property string $type_file
*/ */
class FieldsValueNew extends \yii\db\ActiveRecord class FieldsValueNew extends \yii\db\ActiveRecord
{ {

View File

@ -24,7 +24,10 @@
"kartik-v/yii2-widget-select2": "@dev", "kartik-v/yii2-widget-select2": "@dev",
"kavalar/hhapi": "@dev", "kavalar/hhapi": "@dev",
"kartik-v/yii2-widget-datepicker": "@dev", "kartik-v/yii2-widget-datepicker": "@dev",
"nkovacs/yii2-datetimepicker": "*" "nkovacs/yii2-datetimepicker": "*",
"mirocow/yii2-eav": "*",
"kartik-v/yii2-widget-fileinput": "^1.0",
"2amigos/yii2-file-upload-widget": "~1.0"
}, },
"require-dev": { "require-dev": {
"yiisoft/yii2-debug": "~2.0.0", "yiisoft/yii2-debug": "~2.0.0",

372
composer.lock generated
View File

@ -4,8 +4,127 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "7578e68130787df83321118c46ab02e6", "content-hash": "cd1fbf237e9c2dd5e5075f26ed71b815",
"packages": [ "packages": [
{
"name": "2amigos/yii2-file-upload-widget",
"version": "1.0.9",
"source": {
"type": "git",
"url": "https://github.com/2amigos/yii2-file-upload-widget.git",
"reference": "2da8054d5eb598820b9e070fcfeaa5b2b2c0cd46"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/2amigos/yii2-file-upload-widget/zipball/2da8054d5eb598820b9e070fcfeaa5b2b2c0cd46",
"reference": "2da8054d5eb598820b9e070fcfeaa5b2b2c0cd46",
"shasum": ""
},
"require": {
"2amigos/yii2-gallery-widget": "^1.0",
"bower-asset/blueimp-file-upload": "^9.9",
"yiisoft/yii2": "^2.0.0",
"yiisoft/yii2-bootstrap": "^2.0.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"type": "yii2-extension",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-4": {
"dosamigos\\fileupload\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "2amigOS! Consulting Group",
"email": "hola@2amigos.us",
"homepage": "http://2amigos.us",
"role": "Developer"
}
],
"description": "Blueimp file upload widget for the Yii framework",
"homepage": "https://github.com/2amigos/yii2-file-upload-widget",
"keywords": [
"2amigos",
"upload",
"widget",
"yii",
"yii 2",
"yii2"
],
"time": "2018-09-06T19:15:49+00:00"
},
{
"name": "2amigos/yii2-gallery-widget",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/2amigos/yii2-gallery-widget.git",
"reference": "0ce7de28d05a4662da7698773993b5a0245a6136"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/2amigos/yii2-gallery-widget/zipball/0ce7de28d05a4662da7698773993b5a0245a6136",
"reference": "0ce7de28d05a4662da7698773993b5a0245a6136",
"shasum": ""
},
"require": {
"bower-asset/blueimp-gallery": "~2.17.0",
"yiisoft/yii2": "~2.0.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"scrutinizer/ocular": "~1.1"
},
"type": "yii2-extension",
"extra": {
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
},
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-4": {
"dosamigos\\gallery\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "2amigOS! Consulting Group",
"email": "hola@2amigos.us",
"homepage": "http://2amigos.us",
"role": "Developer"
}
],
"description": "Blueimp gallery widget for the Yii framework",
"homepage": "https://github.com/2amigos/yii2-gallery-widget",
"keywords": [
"2amigos",
"gallery",
"widget",
"yii",
"yii 2",
"yii2"
],
"time": "2017-09-09T16:01:44+00:00"
},
{ {
"name": "almasaeed2010/adminlte", "name": "almasaeed2010/adminlte",
"version": "v2.4.8", "version": "v2.4.8",
@ -50,6 +169,90 @@
], ],
"time": "2018-07-15T18:48:11+00:00" "time": "2018-07-15T18:48:11+00:00"
}, },
{
"name": "bower-asset/blueimp-canvas-to-blob",
"version": "v3.15.0",
"source": {
"type": "git",
"url": "https://github.com/blueimp/JavaScript-Canvas-to-Blob.git",
"reference": "f47d01f2827f69dde571c0fe06159e8e99a1de96"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/blueimp/JavaScript-Canvas-to-Blob/zipball/f47d01f2827f69dde571c0fe06159e8e99a1de96",
"reference": "f47d01f2827f69dde571c0fe06159e8e99a1de96"
},
"type": "bower-asset"
},
{
"name": "bower-asset/blueimp-file-upload",
"version": "v9.34.0",
"source": {
"type": "git",
"url": "https://github.com/blueimp/jQuery-File-Upload.git",
"reference": "bb52d3493d725175fcf5554da034a317aaaea0e2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/blueimp/jQuery-File-Upload/zipball/bb52d3493d725175fcf5554da034a317aaaea0e2",
"reference": "bb52d3493d725175fcf5554da034a317aaaea0e2"
},
"require": {
"bower-asset/blueimp-canvas-to-blob": ">=2.1.1",
"bower-asset/blueimp-load-image": ">=1.13.0",
"bower-asset/blueimp-tmpl": ">=2.5.4",
"bower-asset/jquery": ">=1.6"
},
"type": "bower-asset",
"license": [
"MIT"
]
},
{
"name": "bower-asset/blueimp-gallery",
"version": "v2.17.0",
"source": {
"type": "git",
"url": "https://github.com/blueimp/Gallery.git",
"reference": "8336bb5934cb623608808601129db3fbf9201a09"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/blueimp/Gallery/zipball/8336bb5934cb623608808601129db3fbf9201a09",
"reference": "8336bb5934cb623608808601129db3fbf9201a09"
},
"type": "bower-asset"
},
{
"name": "bower-asset/blueimp-load-image",
"version": "v2.23.0",
"source": {
"type": "git",
"url": "https://github.com/blueimp/JavaScript-Load-Image.git",
"reference": "455a28c68dc1cd1046e8c458cc0f5027ed7ac03f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/blueimp/JavaScript-Load-Image/zipball/455a28c68dc1cd1046e8c458cc0f5027ed7ac03f",
"reference": "455a28c68dc1cd1046e8c458cc0f5027ed7ac03f"
},
"type": "bower-asset"
},
{
"name": "bower-asset/blueimp-tmpl",
"version": "v3.12.0",
"source": {
"type": "git",
"url": "https://github.com/blueimp/JavaScript-Templates.git",
"reference": "f8fe3d34c662fb3315e3af8dc5bae8bdf5a619b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/blueimp/JavaScript-Templates/zipball/f8fe3d34c662fb3315e3af8dc5bae8bdf5a619b2",
"reference": "f8fe3d34c662fb3315e3af8dc5bae8bdf5a619b2"
},
"type": "bower-asset"
},
{ {
"name": "bower-asset/bootstrap", "name": "bower-asset/bootstrap",
"version": "v3.3.7", "version": "v3.3.7",
@ -136,7 +339,7 @@
"version": "2.24.0", "version": "2.24.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/moment/moment.git", "url": "git@github.com:moment/moment.git",
"reference": "96d0d6791ab495859d09a868803d31a55c917de1" "reference": "96d0d6791ab495859d09a868803d31a55c917de1"
}, },
"dist": { "dist": {
@ -696,6 +899,59 @@
], ],
"time": "2016-10-24T15:52:54+00:00" "time": "2016-10-24T15:52:54+00:00"
}, },
{
"name": "kartik-v/bootstrap-fileinput",
"version": "v4.5.3",
"source": {
"type": "git",
"url": "https://github.com/kartik-v/bootstrap-fileinput.git",
"reference": "64e083b0414d294d99329fa94194f24345fc334a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kartik-v/bootstrap-fileinput/zipball/64e083b0414d294d99329fa94194f24345fc334a",
"reference": "64e083b0414d294d99329fa94194f24345fc334a",
"shasum": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.5.x-dev"
}
},
"autoload": {
"psr-4": {
"kartik\\plugins\\fileinput\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Kartik Visweswaran",
"email": "kartikv2@gmail.com",
"homepage": "http://www.krajee.com/"
}
],
"description": "An enhanced HTML 5 file input for Bootstrap 3.x with features for file preview for many file types, multiple selection, ajax uploads, and more.",
"homepage": "https://github.com/kartik-v/bootstrap-fileinput",
"keywords": [
"ajax",
"bootstrap",
"delete",
"file",
"image",
"input",
"jquery",
"multiple",
"preview",
"progress",
"upload"
],
"time": "2019-03-21T11:44:25+00:00"
},
{ {
"name": "kartik-v/yii2-krajee-base", "name": "kartik-v/yii2-krajee-base",
"version": "v1.9.9", "version": "v1.9.9",
@ -801,6 +1057,61 @@
], ],
"time": "2018-08-29T12:10:45+00:00" "time": "2018-08-29T12:10:45+00:00"
}, },
{
"name": "kartik-v/yii2-widget-fileinput",
"version": "v1.0.8",
"source": {
"type": "git",
"url": "https://github.com/kartik-v/yii2-widget-fileinput.git",
"reference": "7f76d784cc48733746ff90b53b8474dcf48ea6c4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kartik-v/yii2-widget-fileinput/zipball/7f76d784cc48733746ff90b53b8474dcf48ea6c4",
"reference": "7f76d784cc48733746ff90b53b8474dcf48ea6c4",
"shasum": ""
},
"require": {
"kartik-v/bootstrap-fileinput": "~4.4",
"kartik-v/yii2-krajee-base": ">=1.9"
},
"type": "yii2-extension",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"kartik\\file\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Kartik Visweswaran",
"email": "kartikv2@gmail.com",
"homepage": "http://www.krajee.com/"
}
],
"description": "An enhanced FileInput widget for Bootstrap 3.x & 4.x with file preview, multiple selection, and more features (sub repo split from yii2-widgets)",
"homepage": "https://github.com/kartik-v/yii2-widget-fileinput",
"keywords": [
"extension",
"file",
"form",
"input",
"jquery",
"plugin",
"upload",
"widget",
"yii2"
],
"time": "2018-09-19T13:09:42+00:00"
},
{ {
"name": "kartik-v/yii2-widget-select2", "name": "kartik-v/yii2-widget-select2",
"version": "dev-master", "version": "dev-master",
@ -936,6 +1247,63 @@
], ],
"time": "2018-10-01T17:00:54+00:00" "time": "2018-10-01T17:00:54+00:00"
}, },
{
"name": "mirocow/yii2-eav",
"version": "v0.7.2",
"source": {
"type": "git",
"url": "https://github.com/Mirocow/yii2-eav.git",
"reference": "e4c231cdf7afa5ef21e5fbfececd88ba83b072b9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Mirocow/yii2-eav/zipball/e4c231cdf7afa5ef21e5fbfececd88ba83b072b9",
"reference": "e4c231cdf7afa5ef21e5fbfececd88ba83b072b9",
"shasum": ""
},
"require": {
"php": ">=5.5.0",
"yiisoft/yii2": ">=2.0.5"
},
"type": "yii2-extension",
"autoload": {
"psr-4": {
"mirocow\\eav\\": "./src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alexey Samoylov",
"email": "alexey.samoylov@gmail.com",
"homepage": "http://yiiblog.ru",
"role": "Developer"
},
{
"name": "Mirocow",
"email": "mr.mirocow@gmail.com",
"homepage": "http://mirocow.com",
"role": "Developer"
},
{
"name": "Alien-art",
"email": "alien@alien-art.ru",
"role": "Developer"
}
],
"description": "EAV for Yii2",
"keywords": [
"attribute",
"cck",
"eav",
"fields",
"yii2"
],
"time": "2017-01-07T19:07:59+00:00"
},
{ {
"name": "nkovacs/yii2-datetimepicker", "name": "nkovacs/yii2-datetimepicker",
"version": "3.1.0", "version": "3.1.0",