├── .php_cs ├── CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── composer.json ├── composer.lock └── src ├── BootstrapFileInput.php ├── BootstrapFileInputAsset.php ├── FileInput.php ├── FileInputAsset.php ├── JasnyBootstrapAsset.php ├── assets └── css │ └── file-input-widget.css ├── messages ├── az │ └── file-input.php ├── ca │ └── file-input.php ├── da │ └── file-input.php ├── de │ └── file-input.php ├── en │ └── file-input.php ├── es │ └── file-input.php ├── fa-IR │ └── file-input.php ├── fr │ └── file-input.php ├── hr │ └── file-input.php ├── hu │ └── file-input.php ├── it │ └── file-input.php ├── kz │ └── file-input.php ├── lt │ └── file-input.php ├── messages.php ├── nl │ └── file-input.php ├── pl │ └── file-input.php ├── pt-BR │ └── file-input.php ├── pt-PT │ └── file-input.php ├── ru │ └── file-input.php ├── th │ └── file-input.php ├── tr_TR │ └── file-input.php ├── uk │ └── file-input.php ├── vi │ └── file-input.php └── zh-CN │ └── file-input.php └── views ├── buttonField.php ├── imageField.php └── inputField.php /.php_cs: -------------------------------------------------------------------------------- 1 | level(CS\FixerInterface::PSR2_LEVEL) 7 | ->fixers([ 8 | 'array_element_no_space_before_comma', 9 | 'array_element_white_space_after_comma', 10 | 'duplicate_semicolon', 11 | 'extra_empty_lines', 12 | 'function_typehint_space', 13 | 'include', 14 | 'join_function', 15 | 'list_commas', 16 | 'method_argument_default_value', 17 | 'multiline_array_trailing_comma', 18 | 'namespace_no_leading_whitespace', 19 | 'new_with_braces', 20 | 'no_blank_lines_after_class_opening', 21 | 'object_operator', 22 | 'operators_spaces', 23 | 'phpdoc_indent', 24 | 'phpdoc_inline_tag', 25 | 'phpdoc_no_access', 26 | 'phpdoc_no_empty_return', 27 | 'phpdoc_no_package', 28 | 'phpdoc_scalar', 29 | 'phpdoc_separation', 30 | 'phpdoc_short_description', 31 | 'phpdoc_type_to_var', 32 | 'phpdoc_types', 33 | 'phpdoc_var_without_name', 34 | 'print_to_echo', 35 | 'remove_leading_slash_use', 36 | 'remove_lines_between_uses', 37 | 'return', 38 | 'short_bool_cast', 39 | 'single_array_no_trailing_comma', 40 | 'single_blank_line_before_namespace', 41 | 'single_quote', 42 | 'spaces_cast', 43 | 'standardize_not_equal', 44 | 'ternary_spaces', 45 | 'trim_array_spaces', 46 | 'unalign_double_arrow', 47 | 'unalign_equals', 48 | 'unary_operators_spaces', 49 | 'unneeded_control_parentheses', 50 | 'unused_use', 51 | 'whitespacy_lines', 52 | 'concat_with_spaces', 53 | 'newline_after_open_tag', 54 | 'ordered_use', 55 | 'phpdoc_order', 56 | 'short_array_syntax', 57 | 'strict_param', 58 | ]) 59 | ->finder( 60 | CS\Finder\DefaultFinder::create() 61 | ->in([__DIR__ . '/src', __DIR__ . '/tests']) 62 | ); 63 | -------------------------------------------------------------------------------- /CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Code of Conduct 2 | 3 | As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. 4 | 5 | We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. 6 | 7 | Examples of unacceptable behavior by participants include: 8 | 9 | * The use of sexualized language or imagery 10 | * Personal attacks 11 | * Trolling or insulting/derogatory comments 12 | * Public or private harassment 13 | * Publishing other's private information, such as physical or electronic addresses, without explicit permission 14 | * Other unethical or unprofessional conduct. 15 | 16 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. 17 | 18 | This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community in a direct capacity. Personal views, beliefs and values of individuals do not necessarily reflect those of the organisation or affiliated individuals and organisations. 19 | 20 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. 21 | 22 | This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) 23 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Contributions are **welcome** and will be fully **credited**. 4 | 5 | We accept contributions via Pull Requests on [Github](https://github.com/2amigos/yii2-selectize-widget). 6 | 7 | 8 | ## Pull Requests 9 | 10 | - **[PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)** - The easiest way to apply the conventions is to install [PHP Code Sniffer](http://pear.php.net/package/PHP_CodeSniffer). 11 | 12 | - **Add tests!** - Your patch won't be accepted if it doesn't have tests. 13 | 14 | - **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date. 15 | 16 | - **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option. 17 | 18 | - **Create feature branches** - Don't ask us to pull from your master branch. 19 | 20 | - **One pull request per feature** - If you want to do more than one thing, send multiple pull requests. 21 | 22 | - **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting. 23 | 24 | 25 | ## Running Tests 26 | 27 | ``` bash 28 | $ ./vendor/bin/phpunit 29 | ``` 30 | 31 | 32 | **Happy coding**! 33 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # The BSD License (BSD) 2 | 3 | Copyright (c) 2013-2015, 2amigOS! Consulting Group LLC. 4 | 5 | > Redistribution and use in source and binary forms, with or without modification, 6 | > are permitted provided that the following conditions are met: 7 | > 8 | > Redistributions of source code must retain the above copyright notice, this 9 | > list of conditions and the following disclaimer. 10 | > 11 | > Redistributions in binary form must reproduce the above copyright notice, this 12 | > list of conditions and the following disclaimer in the documentation and/or 13 | > other materials provided with the distribution. 14 | > 15 | > Neither the name of 2amigOS! Consulting Group, LLC. nor the names of its 16 | > contributors may be used to endorse or promote products derived from 17 | > this software without specific prior written permission. 18 | > 19 | >THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 20 | >ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 21 | >WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | >DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 23 | >ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 24 | >(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | >LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 26 | >ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | >(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28 | >SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FileInput Widget for Yii2 2 | 3 | [![Latest Version](https://img.shields.io/github/tag/2amigos/yii2-file-input-widget.svg?style=flat-square&label=release)](https://github.com/2amigos/yii2-file-input-widget/tags) 4 | [![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md) 5 | [![Build Status](https://img.shields.io/travis/2amigos/yii2-file-input-widget/master.svg?style=flat-square)](https://travis-ci.org/2amigos/yii2-file-input-widget) 6 | [![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/2amigos/yii2-file-input-widget.svg?style=flat-square)](https://scrutinizer-ci.com/g/2amigos/yii2-file-input-widget/code-structure) 7 | [![Quality Score](https://img.shields.io/scrutinizer/g/2amigos/yii2-file-input-widget.svg?style=flat-square)](https://scrutinizer-ci.com/g/2amigos/yii2-file-input-widget) 8 | [![Total Downloads](https://img.shields.io/packagist/dt/2amigos/yii2-file-input-widget.svg?style=flat-square)](https://packagist.org/packages/2amigos/yii2-file-input-widget) 9 | 10 | This widget allows to make use of the great [File Input Plugin](http://jasny.github.io/bootstrap/javascript/#fileinput) that [Arnold Daniels](https://twitter.com/ArnoldDaniels) developed to enhance our Bootstrap experience. 11 | 12 | ## Installation 13 | 14 | The preferred way to install this extension is through [composer](http://getcomposer.org/download/). 15 | 16 | Either run 17 | 18 | ```bash 19 | $ composer require 2amigos/yii2-file-input-widget:~1.0 20 | ``` 21 | 22 | or add 23 | 24 | ``` 25 | "2amigos/yii2-file-input-widget": "~1.0" 26 | ``` 27 | 28 | to the `require` section of your `composer.json` file. 29 | 30 | 31 | Then, Add to your configuration file, the following to your `components` section: 32 | 33 | ```php 34 | 'i18n' => [ 35 | 'translations' => [ 36 | 'file-input*' => [ 37 | 'class' => 'yii\i18n\PhpMessageSource', 38 | 'basePath' => dirname(__FILE__).'/../vendor/2amigos/yii2-file-input-widget/src/messages/', 39 | ], 40 | ], 41 | ], 42 | ``` 43 | 44 | If a translation is missing, feel free to make a PR and I will merge it. 45 | 46 | ## Usage 47 | 48 | Using a model: 49 | 50 | ``` 51 | use dosamigos\fileinput\FileInput; 52 | 53 | $model, 55 | 'attribute' => 'image', // image is the attribute 56 | // using STYLE_IMAGE allows me to display an image. Cool to display previously 57 | // uploaded images 58 | 'thumbnail' => $model->getAvatarImage(), 59 | 'style' => FileInput::STYLE_IMAGE 60 | ]);?> 61 | ``` 62 | 63 | ### Update 64 | 65 | We have included the [improved and multiple file upload version from Krajee](http://plugins.krajee.com/file-input). 66 | 67 | ``` 68 | 69 | field($model, 'code')->widget(\dosamigos\fileinput\BootstrapFileInput::className(), [ 70 | 'options' => ['accept' => 'image/*', 'multiple' => true], 71 | 'clientOptions' => [ 72 | 'previewFileType' => 'text', 73 | 'browseClass' => 'btn btn-success', 74 | 'uploadClass' => 'btn btn-info', 75 | 'removeClass' => 'btn btn-danger', 76 | 'removeIcon' => ' ' 77 | ] 78 | ]);?> 79 | 80 | ``` 81 | 82 | For further information regarding Krajee's version, please visit its [site](http://plugins.krajee.com/file-input). 83 | 84 | ## Testing 85 | 86 | ```bash 87 | $ ./vendor/bin/phpunit 88 | ``` 89 | 90 | ## Contributing 91 | 92 | Please see [CONTRIBUTING](CONTRIBUTING.md) for details. 93 | 94 | ## Credits 95 | 96 | - [Antonio Ramirez](https://github.com/tonydspaniard) 97 | - [All Contributors](https://github.com/2amigos/yii2-selectize-widget/graphs/contributors) 98 | 99 | ## License 100 | 101 | The BSD License (BSD). Please see [License File](LICENSE.md) for more information. 102 | 103 |
104 |
105 | web development has never been so fun
106 | www.2amigos.us 107 |
108 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "2amigos/yii2-file-input-widget", 3 | "description": "Jasny file input widget for the Yii framework", 4 | "keywords": [ 5 | "2amigos", 6 | "yii", 7 | "yii2", 8 | "yii 2", 9 | "widget", 10 | "file input" 11 | ], 12 | "type": "yii2-extension", 13 | "license": "BSD-3-Clause", 14 | "homepage": "https://github.com/2amigos//yii2-file-input-widget", 15 | "minimum-stability": "dev", 16 | "authors": [ 17 | { 18 | "name": "2amigOS! Consulting Group", 19 | "email": "hola@2amigos.us", 20 | "homepage": "http://2amigos.us", 21 | "role": "Developer" 22 | } 23 | ], 24 | "require": { 25 | "yiisoft/yii2": "~2.0.0", 26 | "yiisoft/yii2-bootstrap4": "^1.0 | ^2.0", 27 | "jasny/bootstrap": "~3.1.0", 28 | "kartik-v/bootstrap-fileinput": "~4.1.0" 29 | }, 30 | "require-dev": { 31 | "phpunit/phpunit": "~4.0" 32 | }, 33 | "autoload": { 34 | "psr-4": { 35 | "dosamigos\\fileinput\\": "src" 36 | } 37 | }, 38 | "config": { 39 | "fxp-asset" : { 40 | "installer-paths": { 41 | "npm-asset-library": "vendor/npm", 42 | "bower-asset-library": "vendor/bower" 43 | } 44 | } 45 | }, 46 | "extra": { 47 | "branch-alias": { 48 | "dev-master": "1.0-dev" 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "02ed1a8511afebc7cc4bf46bae87c861", 8 | "packages": [ 9 | { 10 | "name": "bower-asset/inputmask", 11 | "version": "3.3.11", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/RobinHerbots/Inputmask.git", 15 | "reference": "5e670ad62f50c738388d4dcec78d2888505ad77b" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/5e670ad62f50c738388d4dcec78d2888505ad77b", 20 | "reference": "5e670ad62f50c738388d4dcec78d2888505ad77b", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "bower-asset/jquery": ">=1.7" 25 | }, 26 | "type": "bower-asset-library", 27 | "extra": { 28 | "bower-asset-main": [ 29 | "./dist/inputmask/inputmask.js", 30 | "./dist/inputmask/inputmask.extensions.js", 31 | "./dist/inputmask/inputmask.date.extensions.js", 32 | "./dist/inputmask/inputmask.numeric.extensions.js", 33 | "./dist/inputmask/inputmask.phone.extensions.js", 34 | "./dist/inputmask/jquery.inputmask.js", 35 | "./dist/inputmask/global/document.js", 36 | "./dist/inputmask/global/window.js", 37 | "./dist/inputmask/phone-codes/phone.js", 38 | "./dist/inputmask/phone-codes/phone-be.js", 39 | "./dist/inputmask/phone-codes/phone-nl.js", 40 | "./dist/inputmask/phone-codes/phone-ru.js", 41 | "./dist/inputmask/phone-codes/phone-uk.js", 42 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js", 43 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js", 44 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.js", 45 | "./dist/inputmask/bindings/inputmask.binding.js" 46 | ], 47 | "bower-asset-ignore": [ 48 | "**/*", 49 | "!dist/*", 50 | "!dist/inputmask/*", 51 | "!dist/min/*", 52 | "!dist/min/inputmask/*" 53 | ] 54 | }, 55 | "license": [ 56 | "http://opensource.org/licenses/mit-license.php" 57 | ], 58 | "description": "Inputmask is a javascript library which creates an input mask. Inputmask can run against vanilla javascript, jQuery and jqlite.", 59 | "keywords": [ 60 | "form", 61 | "input", 62 | "inputmask", 63 | "jquery", 64 | "mask", 65 | "plugins" 66 | ], 67 | "time": "2017-11-21T11:46:23+00:00" 68 | }, 69 | { 70 | "name": "bower-asset/jquery", 71 | "version": "3.3.1", 72 | "source": { 73 | "type": "git", 74 | "url": "https://github.com/jquery/jquery-dist.git", 75 | "reference": "9e8ec3d10fad04748176144f108d7355662ae75e" 76 | }, 77 | "dist": { 78 | "type": "zip", 79 | "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/9e8ec3d10fad04748176144f108d7355662ae75e", 80 | "reference": "9e8ec3d10fad04748176144f108d7355662ae75e", 81 | "shasum": "" 82 | }, 83 | "type": "bower-asset-library", 84 | "extra": { 85 | "bower-asset-main": "dist/jquery.js", 86 | "bower-asset-ignore": [ 87 | "package.json" 88 | ] 89 | }, 90 | "license": [ 91 | "MIT" 92 | ], 93 | "keywords": [ 94 | "browser", 95 | "javascript", 96 | "jquery", 97 | "library" 98 | ], 99 | "time": "2018-01-20T17:26:57+00:00" 100 | }, 101 | { 102 | "name": "bower-asset/punycode", 103 | "version": "v1.3.2", 104 | "source": { 105 | "type": "git", 106 | "url": "https://github.com/bestiejs/punycode.js.git", 107 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3" 108 | }, 109 | "dist": { 110 | "type": "zip", 111 | "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3", 112 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3", 113 | "shasum": "" 114 | }, 115 | "type": "bower-asset-library", 116 | "extra": { 117 | "bower-asset-main": "punycode.js", 118 | "bower-asset-ignore": [ 119 | "coverage", 120 | "tests", 121 | ".*", 122 | "component.json", 123 | "Gruntfile.js", 124 | "node_modules", 125 | "package.json" 126 | ] 127 | }, 128 | "time": "2014-10-22T12:02:42+00:00" 129 | }, 130 | { 131 | "name": "bower-asset/yii2-pjax", 132 | "version": "dev-master", 133 | "source": { 134 | "type": "git", 135 | "url": "https://github.com/yiisoft/jquery-pjax.git", 136 | "reference": "c39f2393883f370d3c0d63d80a122534131b0f56" 137 | }, 138 | "dist": { 139 | "type": "zip", 140 | "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/c39f2393883f370d3c0d63d80a122534131b0f56", 141 | "reference": "c39f2393883f370d3c0d63d80a122534131b0f56", 142 | "shasum": "" 143 | }, 144 | "require": { 145 | "bower-asset/jquery": ">=1.8" 146 | }, 147 | "type": "bower-asset-library", 148 | "extra": { 149 | "bower-asset-main": "./jquery.pjax.js", 150 | "bower-asset-ignore": [ 151 | ".travis.yml", 152 | "Gemfile", 153 | "Gemfile.lock", 154 | "CONTRIBUTING.md", 155 | "vendor/", 156 | "script/", 157 | "test/" 158 | ], 159 | "branch-alias": { 160 | "dev-master": "2.0.8-dev" 161 | } 162 | }, 163 | "license": [ 164 | "MIT" 165 | ], 166 | "time": "2017-10-14T08:42:41+00:00" 167 | }, 168 | { 169 | "name": "cebe/markdown", 170 | "version": "dev-master", 171 | "source": { 172 | "type": "git", 173 | "url": "https://github.com/cebe/markdown.git", 174 | "reference": "eeb1bf622e80f337479e00a5db94c56e7cf1326b" 175 | }, 176 | "dist": { 177 | "type": "zip", 178 | "url": "https://api.github.com/repos/cebe/markdown/zipball/eeb1bf622e80f337479e00a5db94c56e7cf1326b", 179 | "reference": "eeb1bf622e80f337479e00a5db94c56e7cf1326b", 180 | "shasum": "" 181 | }, 182 | "require": { 183 | "lib-pcre": "*", 184 | "php": ">=5.4.0" 185 | }, 186 | "require-dev": { 187 | "cebe/indent": "*", 188 | "facebook/xhprof": "*@dev", 189 | "phpunit/phpunit": "4.1.*" 190 | }, 191 | "bin": [ 192 | "bin/markdown" 193 | ], 194 | "type": "library", 195 | "extra": { 196 | "branch-alias": { 197 | "dev-master": "1.2.x-dev" 198 | } 199 | }, 200 | "autoload": { 201 | "psr-4": { 202 | "cebe\\markdown\\": "" 203 | } 204 | }, 205 | "notification-url": "https://packagist.org/downloads/", 206 | "license": [ 207 | "MIT" 208 | ], 209 | "authors": [ 210 | { 211 | "name": "Carsten Brandt", 212 | "email": "mail@cebe.cc", 213 | "homepage": "http://cebe.cc/", 214 | "role": "Creator" 215 | } 216 | ], 217 | "description": "A super fast, highly extensible markdown parser for PHP", 218 | "homepage": "https://github.com/cebe/markdown#readme", 219 | "keywords": [ 220 | "extensible", 221 | "fast", 222 | "gfm", 223 | "markdown", 224 | "markdown-extra" 225 | ], 226 | "time": "2018-12-10T09:41:35+00:00" 227 | }, 228 | { 229 | "name": "ezyang/htmlpurifier", 230 | "version": "v4.10.0", 231 | "source": { 232 | "type": "git", 233 | "url": "https://github.com/ezyang/htmlpurifier.git", 234 | "reference": "d85d39da4576a6934b72480be6978fb10c860021" 235 | }, 236 | "dist": { 237 | "type": "zip", 238 | "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021", 239 | "reference": "d85d39da4576a6934b72480be6978fb10c860021", 240 | "shasum": "" 241 | }, 242 | "require": { 243 | "php": ">=5.2" 244 | }, 245 | "require-dev": { 246 | "simpletest/simpletest": "^1.1" 247 | }, 248 | "type": "library", 249 | "autoload": { 250 | "psr-0": { 251 | "HTMLPurifier": "library/" 252 | }, 253 | "files": [ 254 | "library/HTMLPurifier.composer.php" 255 | ] 256 | }, 257 | "notification-url": "https://packagist.org/downloads/", 258 | "license": [ 259 | "LGPL" 260 | ], 261 | "authors": [ 262 | { 263 | "name": "Edward Z. Yang", 264 | "email": "admin@htmlpurifier.org", 265 | "homepage": "http://ezyang.com" 266 | } 267 | ], 268 | "description": "Standards compliant HTML filter written in PHP", 269 | "homepage": "http://htmlpurifier.org/", 270 | "keywords": [ 271 | "html" 272 | ], 273 | "time": "2018-02-23T01:58:20+00:00" 274 | }, 275 | { 276 | "name": "jasny/bootstrap", 277 | "version": "v3.1.3", 278 | "source": { 279 | "type": "git", 280 | "url": "https://github.com/jasny/bootstrap.git", 281 | "reference": "f4705f17fcae6eff441f8b582d6eb72ce9109fc6" 282 | }, 283 | "dist": { 284 | "type": "zip", 285 | "url": "https://api.github.com/repos/jasny/bootstrap/zipball/f4705f17fcae6eff441f8b582d6eb72ce9109fc6", 286 | "reference": "f4705f17fcae6eff441f8b582d6eb72ce9109fc6", 287 | "shasum": "" 288 | }, 289 | "require": { 290 | "twitter/bootstrap": ">=3.1.0" 291 | }, 292 | "type": "library", 293 | "notification-url": "https://packagist.org/downloads/", 294 | "license": [ 295 | "Apache-2.0" 296 | ], 297 | "authors": [ 298 | { 299 | "name": "Arnold Daniels", 300 | "email": "arnold@jasny.net", 301 | "homepage": "http://www.jasny.net" 302 | } 303 | ], 304 | "description": "The missing bootstrap components", 305 | "homepage": "http://jasny.github.io/bootstrap", 306 | "keywords": [ 307 | "bootstrap", 308 | "css" 309 | ], 310 | "time": "2014-05-06T03:57:04+00:00" 311 | }, 312 | { 313 | "name": "kartik-v/bootstrap-fileinput", 314 | "version": "v4.1.9", 315 | "source": { 316 | "type": "git", 317 | "url": "https://github.com/kartik-v/bootstrap-fileinput.git", 318 | "reference": "00bf2212c4c005850267dd27803dba350e90a5be" 319 | }, 320 | "dist": { 321 | "type": "zip", 322 | "url": "https://api.github.com/repos/kartik-v/bootstrap-fileinput/zipball/00bf2212c4c005850267dd27803dba350e90a5be", 323 | "reference": "00bf2212c4c005850267dd27803dba350e90a5be", 324 | "shasum": "" 325 | }, 326 | "type": "library", 327 | "autoload": { 328 | "psr-4": { 329 | "kartik\\plugins\\fileinput\\": "" 330 | } 331 | }, 332 | "notification-url": "https://packagist.org/downloads/", 333 | "license": [ 334 | "BSD 3-Clause" 335 | ], 336 | "authors": [ 337 | { 338 | "name": "Kartik Visweswaran", 339 | "email": "kartikv2@gmail.com", 340 | "homepage": "http://www.krajee.com/" 341 | } 342 | ], 343 | "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.", 344 | "homepage": "https://github.com/kartik-v/bootstrap-fileinput", 345 | "keywords": [ 346 | "ajax", 347 | "bootstrap", 348 | "delete", 349 | "file", 350 | "image", 351 | "input", 352 | "jquery", 353 | "multiple", 354 | "preview", 355 | "progress", 356 | "upload" 357 | ], 358 | "time": "2015-05-02T11:29:22+00:00" 359 | }, 360 | { 361 | "name": "npm-asset/bootstrap", 362 | "version": "4.2.1", 363 | "dist": { 364 | "type": "tar", 365 | "url": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.2.1.tgz", 366 | "reference": null, 367 | "shasum": "8f8bdca024dbf0e8644da32e918c8a03a90a5757" 368 | }, 369 | "type": "npm-asset-library", 370 | "extra": { 371 | "npm-asset-bugs": { 372 | "url": "https://github.com/twbs/bootstrap/issues" 373 | }, 374 | "npm-asset-main": "dist/js/bootstrap", 375 | "npm-asset-directories": [], 376 | "npm-asset-repository": { 377 | "type": "git", 378 | "url": "git+https://github.com/twbs/bootstrap.git" 379 | }, 380 | "npm-asset-scripts": { 381 | "start": "npm-run-all --parallel watch docs-serve", 382 | "blc": "blc --exclude-external --filter-level 3 --follow --get --ordered --recursive --host-requests 4 --input http://localhost:3000/", 383 | "http-server": "http-server --silent -p 3000", 384 | "bundlesize": "bundlesize", 385 | "check-broken-links": "npm-run-all --parallel --race \"http-server -- _gh_pages/\" blc", 386 | "css": "npm-run-all css-compile css-prefix css-minify css-copy", 387 | "css-copy": "cross-env-shell shx mkdir -p site/docs/$npm_package_version_short/dist/ && cross-env-shell shx cp -r dist/css/ site/docs/$npm_package_version_short/dist/", 388 | "css-main": "npm-run-all css-lint css-compile-main css-prefix-main css-minify-main css-copy", 389 | "css-docs": "npm-run-all css-compile-docs css-prefix-docs css-minify-docs", 390 | "css-compile": "npm-run-all --parallel css-compile-*", 391 | "css-compile-main": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css && npm run css-copy", 392 | "css-compile-docs": "cross-env-shell node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 site/docs/$npm_package_version_short/assets/scss/docs.scss site/docs/$npm_package_version_short/assets/css/docs.min.css", 393 | "css-lint": "npm-run-all --parallel css-lint-*", 394 | "css-lint-main": "stylelint --syntax scss \"scss/**/*.scss\"", 395 | "css-lint-docs": "stylelint --syntax scss \"site/docs/**/assets/scss/*.scss\" && stylelint \"site/docs/**/*.css\"", 396 | "css-lint-vars": "fusv scss/ site/docs/", 397 | "css-minify": "npm-run-all --parallel css-minify-*", 398 | "css-minify-main": "cleancss --level 1 --format breaksWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --level 1 --format breaksWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --level 1 --format breaksWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css", 399 | "css-minify-docs": "cross-env-shell cleancss --level 1 --format breaksWith=lf --source-map --source-map-inline-sources --output site/docs/$npm_package_version_short/assets/css/docs.min.css site/docs/$npm_package_version_short/assets/css/docs.min.css", 400 | "css-prefix": "npm-run-all --parallel css-prefix-*", 401 | "css-prefix-main": "postcss --config build/postcss.config.js --replace \"dist/css/*.css\" \"!dist/css/*.min.css\"", 402 | "css-prefix-docs": "postcss --config build/postcss.config.js --replace \"site/docs/**/*.css\" \"site/docs/**/*.css\"", 403 | "js": "npm-run-all js-compile js-minify js-copy", 404 | "js-copy": "cross-env-shell shx mkdir -p site/docs/$npm_package_version_short/dist/ && cross-env-shell shx cp -r dist/js/ site/docs/$npm_package_version_short/dist/", 405 | "js-main": "npm-run-all js-lint js-compile-main js-minify-main", 406 | "js-docs": "npm-run-all js-lint-docs js-minify-docs", 407 | "js-compile": "npm-run-all --parallel js-compile-* --sequential js-copy", 408 | "js-compile-standalone": "rollup --environment BUNDLE:false --config build/rollup.config.js --sourcemap", 409 | "js-compile-bundle": "rollup --environment BUNDLE:true --config build/rollup.config.js --sourcemap", 410 | "js-compile-plugins": "node build/build-plugins.js", 411 | "js-compile-plugins-coverage": "cross-env NODE_ENV=test node build/build-plugins.js", 412 | "js-lint": "npm-run-all --parallel js-lint-*", 413 | "js-lint-main": "eslint js/src js/tests build/", 414 | "js-lint-docs": "eslint site/", 415 | "js-minify": "npm-run-all --parallel js-minify-main js-minify-docs", 416 | "js-minify-main": "npm-run-all js-minify-standalone js-minify-bundle", 417 | "js-minify-standalone": "uglifyjs --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.js.map,includeSources,url=bootstrap.min.js.map\" --output dist/js/bootstrap.min.js dist/js/bootstrap.js", 418 | "js-minify-bundle": "uglifyjs --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.bundle.js.map,includeSources,url=bootstrap.bundle.min.js.map\" --output dist/js/bootstrap.bundle.min.js dist/js/bootstrap.bundle.js", 419 | "js-minify-docs": "cross-env-shell uglifyjs --mangle --comments \\\"/^!/\\\" --output site/docs/$npm_package_version_short/assets/js/docs.min.js site/docs/$npm_package_version_short/assets/js/vendor/anchor.min.js site/docs/$npm_package_version_short/assets/js/vendor/clipboard.min.js site/docs/$npm_package_version_short/assets/js/vendor/bs-custom-file-input.min.js \"site/docs/$npm_package_version_short/assets/js/src/*.js\"", 420 | "js-test": "npm-run-all js-test-karma* js-test-integration", 421 | "js-test-karma": "karma start js/tests/karma.conf.js", 422 | "js-test-karma-old": "cross-env USE_OLD_JQUERY=true npm run js-test-karma", 423 | "js-test-karma-bundle": "cross-env BUNDLE=true npm run js-test-karma", 424 | "js-test-karma-bundle-old": "cross-env BUNDLE=true USE_OLD_JQUERY=true npm run js-test-karma", 425 | "js-test-integration": "rollup --config js/tests/integration/rollup.bundle.js", 426 | "js-test-cloud": "cross-env BROWSER=true npm run js-test-karma", 427 | "lint": "npm-run-all js-lint css-lint", 428 | "coveralls": "shx cat js/coverage/lcov.info | coveralls", 429 | "docs": "npm-run-all css-docs js-docs docs-compile docs-lint", 430 | "docs-compile": "bundle exec jekyll build", 431 | "docs-production": "cross-env JEKYLL_ENV=production npm run docs-compile", 432 | "docs-lint": "node build/vnu-jar.js", 433 | "docs-serve": "bundle exec jekyll serve", 434 | "docs-serve-only": "npm run docs-serve -- --skip-initial-build --no-watch", 435 | "update-deps": "ncu -a -x jquery -x bundlesize && npm update && bundle update && cross-env-shell echo Manually update \\\"site/docs/$npm_package_version_short/assets/js/vendor/\\\"", 436 | "release": "npm run dist && npm run release-sri && npm run release-zip && npm run docs-production", 437 | "release-sri": "node build/generate-sri.js", 438 | "release-version": "node build/change-version.js", 439 | "release-zip": "cross-env-shell \"shx rm -rf bootstrap-$npm_package_version-dist && shx cp -r dist/ bootstrap-$npm_package_version-dist && zip -r9 bootstrap-$npm_package_version-dist.zip bootstrap-$npm_package_version-dist && shx rm -rf bootstrap-$npm_package_version-dist\"", 440 | "dist": "npm-run-all --parallel css js", 441 | "test": "npm-run-all lint dist js-test docs-compile docs-lint bundlesize", 442 | "watch": "npm-run-all --parallel watch-*", 443 | "watch-css-main": "nodemon --watch scss/ --ext scss --exec \"npm run css-main\"", 444 | "watch-css-docs": "nodemon --watch \"site/docs/**/assets/scss/\" --ext scss --exec \"npm run css-docs\"", 445 | "watch-js-main": "nodemon --watch js/src/ --ext js --exec \"npm run js-compile\"", 446 | "watch-js-docs": "nodemon --watch \"site/docs/**/assets/js/src/\" --ext js --exec \"npm run js-docs\"" 447 | }, 448 | "npm-asset-engines": { 449 | "node": ">=6" 450 | } 451 | }, 452 | "license": [ 453 | "MIT" 454 | ], 455 | "authors": [ 456 | { 457 | "name": "The Bootstrap Authors", 458 | "url": "https://github.com/twbs/bootstrap/graphs/contributors" 459 | }, 460 | { 461 | "name": "Twitter, Inc." 462 | } 463 | ], 464 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 465 | "homepage": "https://getbootstrap.com/", 466 | "keywords": [ 467 | "css", 468 | "framework", 469 | "front-end", 470 | "mobile-first", 471 | "responsive", 472 | "sass", 473 | "web" 474 | ], 475 | "time": "2018-12-21T18:58:03+00:00" 476 | }, 477 | { 478 | "name": "twitter/bootstrap", 479 | "version": "dev-master", 480 | "source": { 481 | "type": "git", 482 | "url": "https://github.com/twbs/bootstrap.git", 483 | "reference": "9206e465adf17bb0c8513f489c02a18a27ce296d" 484 | }, 485 | "dist": { 486 | "type": "zip", 487 | "url": "https://api.github.com/repos/twbs/bootstrap/zipball/9206e465adf17bb0c8513f489c02a18a27ce296d", 488 | "reference": "9206e465adf17bb0c8513f489c02a18a27ce296d", 489 | "shasum": "" 490 | }, 491 | "replace": { 492 | "twitter/bootstrap": "self.version" 493 | }, 494 | "type": "library", 495 | "extra": { 496 | "branch-alias": { 497 | "dev-master": "3.4.x-dev" 498 | } 499 | }, 500 | "notification-url": "https://packagist.org/downloads/", 501 | "license": [ 502 | "MIT" 503 | ], 504 | "authors": [ 505 | { 506 | "name": "Jacob Thornton", 507 | "email": "jacobthornton@gmail.com" 508 | }, 509 | { 510 | "name": "Mark Otto", 511 | "email": "markdotto@gmail.com" 512 | } 513 | ], 514 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 515 | "homepage": "https://getbootstrap.com/", 516 | "keywords": [ 517 | "JS", 518 | "css", 519 | "framework", 520 | "front-end", 521 | "less", 522 | "mobile-first", 523 | "responsive", 524 | "web" 525 | ], 526 | "time": "2019-01-06T16:02:27+00:00" 527 | }, 528 | { 529 | "name": "yiisoft/yii2", 530 | "version": "dev-master", 531 | "source": { 532 | "type": "git", 533 | "url": "https://github.com/yiisoft/yii2-framework.git", 534 | "reference": "028b69ca34b9faaeea8010f16a49e5e817b495f1" 535 | }, 536 | "dist": { 537 | "type": "zip", 538 | "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/028b69ca34b9faaeea8010f16a49e5e817b495f1", 539 | "reference": "028b69ca34b9faaeea8010f16a49e5e817b495f1", 540 | "shasum": "" 541 | }, 542 | "require": { 543 | "bower-asset/inputmask": "~3.2.2 | ~3.3.5", 544 | "bower-asset/jquery": "3.3.*@stable | 3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable", 545 | "bower-asset/punycode": "1.3.*", 546 | "bower-asset/yii2-pjax": "~2.0.1", 547 | "cebe/markdown": "~1.0.0 | ~1.1.0 | ~1.2.0", 548 | "ext-ctype": "*", 549 | "ext-mbstring": "*", 550 | "ezyang/htmlpurifier": "~4.6", 551 | "lib-pcre": "*", 552 | "php": ">=5.4.0", 553 | "yiisoft/yii2-composer": "~2.0.4" 554 | }, 555 | "bin": [ 556 | "yii" 557 | ], 558 | "type": "library", 559 | "extra": { 560 | "branch-alias": { 561 | "dev-master": "2.0.x-dev" 562 | } 563 | }, 564 | "autoload": { 565 | "psr-4": { 566 | "yii\\": "" 567 | } 568 | }, 569 | "notification-url": "https://packagist.org/downloads/", 570 | "license": [ 571 | "BSD-3-Clause" 572 | ], 573 | "authors": [ 574 | { 575 | "name": "Qiang Xue", 576 | "email": "qiang.xue@gmail.com", 577 | "homepage": "http://www.yiiframework.com/", 578 | "role": "Founder and project lead" 579 | }, 580 | { 581 | "name": "Alexander Makarov", 582 | "email": "sam@rmcreative.ru", 583 | "homepage": "http://rmcreative.ru/", 584 | "role": "Core framework development" 585 | }, 586 | { 587 | "name": "Maurizio Domba", 588 | "homepage": "http://mdomba.info/", 589 | "role": "Core framework development" 590 | }, 591 | { 592 | "name": "Carsten Brandt", 593 | "email": "mail@cebe.cc", 594 | "homepage": "http://cebe.cc/", 595 | "role": "Core framework development" 596 | }, 597 | { 598 | "name": "Timur Ruziev", 599 | "email": "resurtm@gmail.com", 600 | "homepage": "http://resurtm.com/", 601 | "role": "Core framework development" 602 | }, 603 | { 604 | "name": "Paul Klimov", 605 | "email": "klimov.paul@gmail.com", 606 | "role": "Core framework development" 607 | }, 608 | { 609 | "name": "Dmitry Naumenko", 610 | "email": "d.naumenko.a@gmail.com", 611 | "role": "Core framework development" 612 | }, 613 | { 614 | "name": "Boudewijn Vahrmeijer", 615 | "email": "info@dynasource.eu", 616 | "homepage": "http://dynasource.eu", 617 | "role": "Core framework development" 618 | } 619 | ], 620 | "description": "Yii PHP Framework Version 2", 621 | "homepage": "http://www.yiiframework.com/", 622 | "keywords": [ 623 | "framework", 624 | "yii2" 625 | ], 626 | "time": "2019-02-03T21:10:47+00:00" 627 | }, 628 | { 629 | "name": "yiisoft/yii2-bootstrap4", 630 | "version": "dev-master", 631 | "source": { 632 | "type": "git", 633 | "url": "https://github.com/yiisoft/yii2-bootstrap4.git", 634 | "reference": "80e5a129d2e4f1bd2d783421d19ee0faee3d75c3" 635 | }, 636 | "dist": { 637 | "type": "zip", 638 | "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap4/zipball/80e5a129d2e4f1bd2d783421d19ee0faee3d75c3", 639 | "reference": "80e5a129d2e4f1bd2d783421d19ee0faee3d75c3", 640 | "shasum": "" 641 | }, 642 | "require": { 643 | "npm-asset/bootstrap": "~4.2", 644 | "yiisoft/yii2": "~2.0" 645 | }, 646 | "require-dev": { 647 | "phpunit/phpunit": "*", 648 | "yiisoft/yii2-coding-standards": "~2.0" 649 | }, 650 | "type": "yii2-extension", 651 | "extra": { 652 | "branch-alias": { 653 | "dev-master": "1.0.x-dev" 654 | } 655 | }, 656 | "autoload": { 657 | "psr-4": { 658 | "yii\\bootstrap4\\": "src" 659 | } 660 | }, 661 | "notification-url": "https://packagist.org/downloads/", 662 | "license": [ 663 | "BSD-3-Clause" 664 | ], 665 | "authors": [ 666 | { 667 | "name": "Paul Klimov", 668 | "email": "klimov.paul@gmail.com" 669 | }, 670 | { 671 | "name": "Alexander Makarov", 672 | "email": "sam@rmcreative.ru", 673 | "homepage": "http://rmcreative.ru/" 674 | }, 675 | { 676 | "name": "Antonio Ramirez", 677 | "email": "amigo.cobos@gmail.com" 678 | }, 679 | { 680 | "name": "Simon Karlen", 681 | "email": "simi.albi@gmail.com" 682 | }, 683 | { 684 | "name": "Qiang Xue", 685 | "email": "qiang.xue@gmail.com", 686 | "homepage": "http://www.yiiframework.com/" 687 | } 688 | ], 689 | "description": "The Twitter Bootstrap extension for the Yii framework", 690 | "keywords": [ 691 | "bootstrap", 692 | "bootstrap4", 693 | "yii2" 694 | ], 695 | "time": "2019-02-02T16:20:01+00:00" 696 | }, 697 | { 698 | "name": "yiisoft/yii2-composer", 699 | "version": "dev-master", 700 | "source": { 701 | "type": "git", 702 | "url": "https://github.com/yiisoft/yii2-composer.git", 703 | "reference": "f4cb50d40ed34fc6f6b100d1a515dbdbc65e40ac" 704 | }, 705 | "dist": { 706 | "type": "zip", 707 | "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/f4cb50d40ed34fc6f6b100d1a515dbdbc65e40ac", 708 | "reference": "f4cb50d40ed34fc6f6b100d1a515dbdbc65e40ac", 709 | "shasum": "" 710 | }, 711 | "require": { 712 | "composer-plugin-api": "^1.0" 713 | }, 714 | "require-dev": { 715 | "composer/composer": "^1.0" 716 | }, 717 | "type": "composer-plugin", 718 | "extra": { 719 | "class": "yii\\composer\\Plugin", 720 | "branch-alias": { 721 | "dev-master": "2.0.x-dev" 722 | } 723 | }, 724 | "autoload": { 725 | "psr-4": { 726 | "yii\\composer\\": "" 727 | } 728 | }, 729 | "notification-url": "https://packagist.org/downloads/", 730 | "license": [ 731 | "BSD-3-Clause" 732 | ], 733 | "authors": [ 734 | { 735 | "name": "Qiang Xue", 736 | "email": "qiang.xue@gmail.com" 737 | }, 738 | { 739 | "name": "Carsten Brandt", 740 | "email": "mail@cebe.cc" 741 | } 742 | ], 743 | "description": "The composer plugin for Yii extension installer", 744 | "keywords": [ 745 | "composer", 746 | "extension installer", 747 | "yii2" 748 | ], 749 | "time": "2018-08-25T10:44:34+00:00" 750 | } 751 | ], 752 | "packages-dev": [ 753 | { 754 | "name": "doctrine/instantiator", 755 | "version": "dev-master", 756 | "source": { 757 | "type": "git", 758 | "url": "https://github.com/doctrine/instantiator.git", 759 | "reference": "8c8c1afee0f929f17528fe1721de5d58e15f71c7" 760 | }, 761 | "dist": { 762 | "type": "zip", 763 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8c8c1afee0f929f17528fe1721de5d58e15f71c7", 764 | "reference": "8c8c1afee0f929f17528fe1721de5d58e15f71c7", 765 | "shasum": "" 766 | }, 767 | "require": { 768 | "php": "^7.1" 769 | }, 770 | "require-dev": { 771 | "doctrine/coding-standard": "^5.0", 772 | "ext-pdo": "*", 773 | "ext-phar": "*", 774 | "phpbench/phpbench": "^0.13", 775 | "phpstan/phpstan-shim": "^0.9.2", 776 | "phpunit/phpunit": "^7.0" 777 | }, 778 | "type": "library", 779 | "extra": { 780 | "branch-alias": { 781 | "dev-master": "1.2.x-dev" 782 | } 783 | }, 784 | "autoload": { 785 | "psr-4": { 786 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 787 | } 788 | }, 789 | "notification-url": "https://packagist.org/downloads/", 790 | "license": [ 791 | "MIT" 792 | ], 793 | "authors": [ 794 | { 795 | "name": "Marco Pivetta", 796 | "email": "ocramius@gmail.com", 797 | "homepage": "http://ocramius.github.com/" 798 | } 799 | ], 800 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 801 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html", 802 | "keywords": [ 803 | "constructor", 804 | "instantiate" 805 | ], 806 | "time": "2018-10-15T11:30:00+00:00" 807 | }, 808 | { 809 | "name": "phpdocumentor/reflection-common", 810 | "version": "1.0.1", 811 | "source": { 812 | "type": "git", 813 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 814 | "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" 815 | }, 816 | "dist": { 817 | "type": "zip", 818 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", 819 | "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", 820 | "shasum": "" 821 | }, 822 | "require": { 823 | "php": ">=5.5" 824 | }, 825 | "require-dev": { 826 | "phpunit/phpunit": "^4.6" 827 | }, 828 | "type": "library", 829 | "extra": { 830 | "branch-alias": { 831 | "dev-master": "1.0.x-dev" 832 | } 833 | }, 834 | "autoload": { 835 | "psr-4": { 836 | "phpDocumentor\\Reflection\\": [ 837 | "src" 838 | ] 839 | } 840 | }, 841 | "notification-url": "https://packagist.org/downloads/", 842 | "license": [ 843 | "MIT" 844 | ], 845 | "authors": [ 846 | { 847 | "name": "Jaap van Otterdijk", 848 | "email": "opensource@ijaap.nl" 849 | } 850 | ], 851 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 852 | "homepage": "http://www.phpdoc.org", 853 | "keywords": [ 854 | "FQSEN", 855 | "phpDocumentor", 856 | "phpdoc", 857 | "reflection", 858 | "static analysis" 859 | ], 860 | "time": "2017-09-11T18:02:19+00:00" 861 | }, 862 | { 863 | "name": "phpdocumentor/reflection-docblock", 864 | "version": "4.3.0", 865 | "source": { 866 | "type": "git", 867 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 868 | "reference": "94fd0001232e47129dd3504189fa1c7225010d08" 869 | }, 870 | "dist": { 871 | "type": "zip", 872 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", 873 | "reference": "94fd0001232e47129dd3504189fa1c7225010d08", 874 | "shasum": "" 875 | }, 876 | "require": { 877 | "php": "^7.0", 878 | "phpdocumentor/reflection-common": "^1.0.0", 879 | "phpdocumentor/type-resolver": "^0.4.0", 880 | "webmozart/assert": "^1.0" 881 | }, 882 | "require-dev": { 883 | "doctrine/instantiator": "~1.0.5", 884 | "mockery/mockery": "^1.0", 885 | "phpunit/phpunit": "^6.4" 886 | }, 887 | "type": "library", 888 | "extra": { 889 | "branch-alias": { 890 | "dev-master": "4.x-dev" 891 | } 892 | }, 893 | "autoload": { 894 | "psr-4": { 895 | "phpDocumentor\\Reflection\\": [ 896 | "src/" 897 | ] 898 | } 899 | }, 900 | "notification-url": "https://packagist.org/downloads/", 901 | "license": [ 902 | "MIT" 903 | ], 904 | "authors": [ 905 | { 906 | "name": "Mike van Riel", 907 | "email": "me@mikevanriel.com" 908 | } 909 | ], 910 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 911 | "time": "2017-11-30T07:14:17+00:00" 912 | }, 913 | { 914 | "name": "phpdocumentor/type-resolver", 915 | "version": "0.4.0", 916 | "source": { 917 | "type": "git", 918 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 919 | "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" 920 | }, 921 | "dist": { 922 | "type": "zip", 923 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", 924 | "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", 925 | "shasum": "" 926 | }, 927 | "require": { 928 | "php": "^5.5 || ^7.0", 929 | "phpdocumentor/reflection-common": "^1.0" 930 | }, 931 | "require-dev": { 932 | "mockery/mockery": "^0.9.4", 933 | "phpunit/phpunit": "^5.2||^4.8.24" 934 | }, 935 | "type": "library", 936 | "extra": { 937 | "branch-alias": { 938 | "dev-master": "1.0.x-dev" 939 | } 940 | }, 941 | "autoload": { 942 | "psr-4": { 943 | "phpDocumentor\\Reflection\\": [ 944 | "src/" 945 | ] 946 | } 947 | }, 948 | "notification-url": "https://packagist.org/downloads/", 949 | "license": [ 950 | "MIT" 951 | ], 952 | "authors": [ 953 | { 954 | "name": "Mike van Riel", 955 | "email": "me@mikevanriel.com" 956 | } 957 | ], 958 | "time": "2017-07-14T14:27:02+00:00" 959 | }, 960 | { 961 | "name": "phpspec/prophecy", 962 | "version": "dev-master", 963 | "source": { 964 | "type": "git", 965 | "url": "https://github.com/phpspec/prophecy.git", 966 | "reference": "7e272180527c34a97680de85eb5aba0847a664e0" 967 | }, 968 | "dist": { 969 | "type": "zip", 970 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/7e272180527c34a97680de85eb5aba0847a664e0", 971 | "reference": "7e272180527c34a97680de85eb5aba0847a664e0", 972 | "shasum": "" 973 | }, 974 | "require": { 975 | "doctrine/instantiator": "^1.0.2", 976 | "php": "^5.3|^7.0", 977 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", 978 | "sebastian/comparator": "^1.1|^2.0|^3.0", 979 | "sebastian/recursion-context": "^1.0|^2.0|^3.0" 980 | }, 981 | "require-dev": { 982 | "phpspec/phpspec": "^2.5|^3.2", 983 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" 984 | }, 985 | "type": "library", 986 | "extra": { 987 | "branch-alias": { 988 | "dev-master": "1.8.x-dev" 989 | } 990 | }, 991 | "autoload": { 992 | "psr-4": { 993 | "Prophecy\\": "src/Prophecy" 994 | } 995 | }, 996 | "notification-url": "https://packagist.org/downloads/", 997 | "license": [ 998 | "MIT" 999 | ], 1000 | "authors": [ 1001 | { 1002 | "name": "Konstantin Kudryashov", 1003 | "email": "ever.zet@gmail.com", 1004 | "homepage": "http://everzet.com" 1005 | }, 1006 | { 1007 | "name": "Marcello Duarte", 1008 | "email": "marcello.duarte@gmail.com" 1009 | } 1010 | ], 1011 | "description": "Highly opinionated mocking framework for PHP 5.3+", 1012 | "homepage": "https://github.com/phpspec/prophecy", 1013 | "keywords": [ 1014 | "Double", 1015 | "Dummy", 1016 | "fake", 1017 | "mock", 1018 | "spy", 1019 | "stub" 1020 | ], 1021 | "time": "2018-12-18T15:40:51+00:00" 1022 | }, 1023 | { 1024 | "name": "phpunit/php-code-coverage", 1025 | "version": "2.2.x-dev", 1026 | "source": { 1027 | "type": "git", 1028 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 1029 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" 1030 | }, 1031 | "dist": { 1032 | "type": "zip", 1033 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", 1034 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", 1035 | "shasum": "" 1036 | }, 1037 | "require": { 1038 | "php": ">=5.3.3", 1039 | "phpunit/php-file-iterator": "~1.3", 1040 | "phpunit/php-text-template": "~1.2", 1041 | "phpunit/php-token-stream": "~1.3", 1042 | "sebastian/environment": "^1.3.2", 1043 | "sebastian/version": "~1.0" 1044 | }, 1045 | "require-dev": { 1046 | "ext-xdebug": ">=2.1.4", 1047 | "phpunit/phpunit": "~4" 1048 | }, 1049 | "suggest": { 1050 | "ext-dom": "*", 1051 | "ext-xdebug": ">=2.2.1", 1052 | "ext-xmlwriter": "*" 1053 | }, 1054 | "type": "library", 1055 | "extra": { 1056 | "branch-alias": { 1057 | "dev-master": "2.2.x-dev" 1058 | } 1059 | }, 1060 | "autoload": { 1061 | "classmap": [ 1062 | "src/" 1063 | ] 1064 | }, 1065 | "notification-url": "https://packagist.org/downloads/", 1066 | "license": [ 1067 | "BSD-3-Clause" 1068 | ], 1069 | "authors": [ 1070 | { 1071 | "name": "Sebastian Bergmann", 1072 | "email": "sb@sebastian-bergmann.de", 1073 | "role": "lead" 1074 | } 1075 | ], 1076 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 1077 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 1078 | "keywords": [ 1079 | "coverage", 1080 | "testing", 1081 | "xunit" 1082 | ], 1083 | "time": "2015-10-06T15:47:00+00:00" 1084 | }, 1085 | { 1086 | "name": "phpunit/php-file-iterator", 1087 | "version": "1.4.x-dev", 1088 | "source": { 1089 | "type": "git", 1090 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 1091 | "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" 1092 | }, 1093 | "dist": { 1094 | "type": "zip", 1095 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", 1096 | "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", 1097 | "shasum": "" 1098 | }, 1099 | "require": { 1100 | "php": ">=5.3.3" 1101 | }, 1102 | "type": "library", 1103 | "extra": { 1104 | "branch-alias": { 1105 | "dev-master": "1.4.x-dev" 1106 | } 1107 | }, 1108 | "autoload": { 1109 | "classmap": [ 1110 | "src/" 1111 | ] 1112 | }, 1113 | "notification-url": "https://packagist.org/downloads/", 1114 | "license": [ 1115 | "BSD-3-Clause" 1116 | ], 1117 | "authors": [ 1118 | { 1119 | "name": "Sebastian Bergmann", 1120 | "email": "sb@sebastian-bergmann.de", 1121 | "role": "lead" 1122 | } 1123 | ], 1124 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 1125 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 1126 | "keywords": [ 1127 | "filesystem", 1128 | "iterator" 1129 | ], 1130 | "time": "2017-11-27T13:52:08+00:00" 1131 | }, 1132 | { 1133 | "name": "phpunit/php-text-template", 1134 | "version": "1.2.1", 1135 | "source": { 1136 | "type": "git", 1137 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 1138 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 1139 | }, 1140 | "dist": { 1141 | "type": "zip", 1142 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1143 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1144 | "shasum": "" 1145 | }, 1146 | "require": { 1147 | "php": ">=5.3.3" 1148 | }, 1149 | "type": "library", 1150 | "autoload": { 1151 | "classmap": [ 1152 | "src/" 1153 | ] 1154 | }, 1155 | "notification-url": "https://packagist.org/downloads/", 1156 | "license": [ 1157 | "BSD-3-Clause" 1158 | ], 1159 | "authors": [ 1160 | { 1161 | "name": "Sebastian Bergmann", 1162 | "email": "sebastian@phpunit.de", 1163 | "role": "lead" 1164 | } 1165 | ], 1166 | "description": "Simple template engine.", 1167 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1168 | "keywords": [ 1169 | "template" 1170 | ], 1171 | "time": "2015-06-21T13:50:34+00:00" 1172 | }, 1173 | { 1174 | "name": "phpunit/php-timer", 1175 | "version": "1.0.x-dev", 1176 | "source": { 1177 | "type": "git", 1178 | "url": "https://github.com/sebastianbergmann/php-timer.git", 1179 | "reference": "9513098641797ce5f459dbc1de5a54c29b0ec1fb" 1180 | }, 1181 | "dist": { 1182 | "type": "zip", 1183 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/9513098641797ce5f459dbc1de5a54c29b0ec1fb", 1184 | "reference": "9513098641797ce5f459dbc1de5a54c29b0ec1fb", 1185 | "shasum": "" 1186 | }, 1187 | "require": { 1188 | "php": "^5.3.3 || ^7.0" 1189 | }, 1190 | "require-dev": { 1191 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 1192 | }, 1193 | "type": "library", 1194 | "extra": { 1195 | "branch-alias": { 1196 | "dev-master": "1.0-dev" 1197 | } 1198 | }, 1199 | "autoload": { 1200 | "classmap": [ 1201 | "src/" 1202 | ] 1203 | }, 1204 | "notification-url": "https://packagist.org/downloads/", 1205 | "license": [ 1206 | "BSD-3-Clause" 1207 | ], 1208 | "authors": [ 1209 | { 1210 | "name": "Sebastian Bergmann", 1211 | "email": "sb@sebastian-bergmann.de", 1212 | "role": "lead" 1213 | } 1214 | ], 1215 | "description": "Utility class for timing", 1216 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 1217 | "keywords": [ 1218 | "timer" 1219 | ], 1220 | "time": "2018-01-06T05:27:16+00:00" 1221 | }, 1222 | { 1223 | "name": "phpunit/php-token-stream", 1224 | "version": "1.4.x-dev", 1225 | "source": { 1226 | "type": "git", 1227 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 1228 | "reference": "58bd196ce8bc49389307b3787934a5117db80fea" 1229 | }, 1230 | "dist": { 1231 | "type": "zip", 1232 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/58bd196ce8bc49389307b3787934a5117db80fea", 1233 | "reference": "58bd196ce8bc49389307b3787934a5117db80fea", 1234 | "shasum": "" 1235 | }, 1236 | "require": { 1237 | "ext-tokenizer": "*", 1238 | "php": ">=5.3.3" 1239 | }, 1240 | "require-dev": { 1241 | "phpunit/phpunit": "~4.2" 1242 | }, 1243 | "type": "library", 1244 | "extra": { 1245 | "branch-alias": { 1246 | "dev-master": "1.4-dev" 1247 | } 1248 | }, 1249 | "autoload": { 1250 | "classmap": [ 1251 | "src/" 1252 | ] 1253 | }, 1254 | "notification-url": "https://packagist.org/downloads/", 1255 | "license": [ 1256 | "BSD-3-Clause" 1257 | ], 1258 | "authors": [ 1259 | { 1260 | "name": "Sebastian Bergmann", 1261 | "email": "sebastian@phpunit.de" 1262 | } 1263 | ], 1264 | "description": "Wrapper around PHP's tokenizer extension.", 1265 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 1266 | "keywords": [ 1267 | "tokenizer" 1268 | ], 1269 | "time": "2017-12-04T15:11:28+00:00" 1270 | }, 1271 | { 1272 | "name": "phpunit/phpunit", 1273 | "version": "4.8.36", 1274 | "source": { 1275 | "type": "git", 1276 | "url": "https://github.com/sebastianbergmann/phpunit.git", 1277 | "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" 1278 | }, 1279 | "dist": { 1280 | "type": "zip", 1281 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", 1282 | "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", 1283 | "shasum": "" 1284 | }, 1285 | "require": { 1286 | "ext-dom": "*", 1287 | "ext-json": "*", 1288 | "ext-pcre": "*", 1289 | "ext-reflection": "*", 1290 | "ext-spl": "*", 1291 | "php": ">=5.3.3", 1292 | "phpspec/prophecy": "^1.3.1", 1293 | "phpunit/php-code-coverage": "~2.1", 1294 | "phpunit/php-file-iterator": "~1.4", 1295 | "phpunit/php-text-template": "~1.2", 1296 | "phpunit/php-timer": "^1.0.6", 1297 | "phpunit/phpunit-mock-objects": "~2.3", 1298 | "sebastian/comparator": "~1.2.2", 1299 | "sebastian/diff": "~1.2", 1300 | "sebastian/environment": "~1.3", 1301 | "sebastian/exporter": "~1.2", 1302 | "sebastian/global-state": "~1.0", 1303 | "sebastian/version": "~1.0", 1304 | "symfony/yaml": "~2.1|~3.0" 1305 | }, 1306 | "suggest": { 1307 | "phpunit/php-invoker": "~1.1" 1308 | }, 1309 | "bin": [ 1310 | "phpunit" 1311 | ], 1312 | "type": "library", 1313 | "extra": { 1314 | "branch-alias": { 1315 | "dev-master": "4.8.x-dev" 1316 | } 1317 | }, 1318 | "autoload": { 1319 | "classmap": [ 1320 | "src/" 1321 | ] 1322 | }, 1323 | "notification-url": "https://packagist.org/downloads/", 1324 | "license": [ 1325 | "BSD-3-Clause" 1326 | ], 1327 | "authors": [ 1328 | { 1329 | "name": "Sebastian Bergmann", 1330 | "email": "sebastian@phpunit.de", 1331 | "role": "lead" 1332 | } 1333 | ], 1334 | "description": "The PHP Unit Testing framework.", 1335 | "homepage": "https://phpunit.de/", 1336 | "keywords": [ 1337 | "phpunit", 1338 | "testing", 1339 | "xunit" 1340 | ], 1341 | "time": "2017-06-21T08:07:12+00:00" 1342 | }, 1343 | { 1344 | "name": "phpunit/phpunit-mock-objects", 1345 | "version": "2.3.x-dev", 1346 | "source": { 1347 | "type": "git", 1348 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 1349 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" 1350 | }, 1351 | "dist": { 1352 | "type": "zip", 1353 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", 1354 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", 1355 | "shasum": "" 1356 | }, 1357 | "require": { 1358 | "doctrine/instantiator": "^1.0.2", 1359 | "php": ">=5.3.3", 1360 | "phpunit/php-text-template": "~1.2", 1361 | "sebastian/exporter": "~1.2" 1362 | }, 1363 | "require-dev": { 1364 | "phpunit/phpunit": "~4.4" 1365 | }, 1366 | "suggest": { 1367 | "ext-soap": "*" 1368 | }, 1369 | "type": "library", 1370 | "extra": { 1371 | "branch-alias": { 1372 | "dev-master": "2.3.x-dev" 1373 | } 1374 | }, 1375 | "autoload": { 1376 | "classmap": [ 1377 | "src/" 1378 | ] 1379 | }, 1380 | "notification-url": "https://packagist.org/downloads/", 1381 | "license": [ 1382 | "BSD-3-Clause" 1383 | ], 1384 | "authors": [ 1385 | { 1386 | "name": "Sebastian Bergmann", 1387 | "email": "sb@sebastian-bergmann.de", 1388 | "role": "lead" 1389 | } 1390 | ], 1391 | "description": "Mock Object library for PHPUnit", 1392 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 1393 | "keywords": [ 1394 | "mock", 1395 | "xunit" 1396 | ], 1397 | "time": "2015-10-02T06:51:40+00:00" 1398 | }, 1399 | { 1400 | "name": "sebastian/comparator", 1401 | "version": "1.2.x-dev", 1402 | "source": { 1403 | "type": "git", 1404 | "url": "https://github.com/sebastianbergmann/comparator.git", 1405 | "reference": "18a5d97c25f408f48acaf6d1b9f4079314c5996a" 1406 | }, 1407 | "dist": { 1408 | "type": "zip", 1409 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/18a5d97c25f408f48acaf6d1b9f4079314c5996a", 1410 | "reference": "18a5d97c25f408f48acaf6d1b9f4079314c5996a", 1411 | "shasum": "" 1412 | }, 1413 | "require": { 1414 | "php": ">=5.3.3", 1415 | "sebastian/diff": "~1.2", 1416 | "sebastian/exporter": "~1.2 || ~2.0" 1417 | }, 1418 | "require-dev": { 1419 | "phpunit/phpunit": "~4.4" 1420 | }, 1421 | "type": "library", 1422 | "extra": { 1423 | "branch-alias": { 1424 | "dev-master": "1.2.x-dev" 1425 | } 1426 | }, 1427 | "autoload": { 1428 | "classmap": [ 1429 | "src/" 1430 | ] 1431 | }, 1432 | "notification-url": "https://packagist.org/downloads/", 1433 | "license": [ 1434 | "BSD-3-Clause" 1435 | ], 1436 | "authors": [ 1437 | { 1438 | "name": "Jeff Welch", 1439 | "email": "whatthejeff@gmail.com" 1440 | }, 1441 | { 1442 | "name": "Volker Dusch", 1443 | "email": "github@wallbash.com" 1444 | }, 1445 | { 1446 | "name": "Bernhard Schussek", 1447 | "email": "bschussek@2bepublished.at" 1448 | }, 1449 | { 1450 | "name": "Sebastian Bergmann", 1451 | "email": "sebastian@phpunit.de" 1452 | } 1453 | ], 1454 | "description": "Provides the functionality to compare PHP values for equality", 1455 | "homepage": "http://www.github.com/sebastianbergmann/comparator", 1456 | "keywords": [ 1457 | "comparator", 1458 | "compare", 1459 | "equality" 1460 | ], 1461 | "time": "2017-03-07T10:34:43+00:00" 1462 | }, 1463 | { 1464 | "name": "sebastian/diff", 1465 | "version": "1.4.x-dev", 1466 | "source": { 1467 | "type": "git", 1468 | "url": "https://github.com/sebastianbergmann/diff.git", 1469 | "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" 1470 | }, 1471 | "dist": { 1472 | "type": "zip", 1473 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", 1474 | "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", 1475 | "shasum": "" 1476 | }, 1477 | "require": { 1478 | "php": "^5.3.3 || ^7.0" 1479 | }, 1480 | "require-dev": { 1481 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 1482 | }, 1483 | "type": "library", 1484 | "extra": { 1485 | "branch-alias": { 1486 | "dev-master": "1.4-dev" 1487 | } 1488 | }, 1489 | "autoload": { 1490 | "classmap": [ 1491 | "src/" 1492 | ] 1493 | }, 1494 | "notification-url": "https://packagist.org/downloads/", 1495 | "license": [ 1496 | "BSD-3-Clause" 1497 | ], 1498 | "authors": [ 1499 | { 1500 | "name": "Kore Nordmann", 1501 | "email": "mail@kore-nordmann.de" 1502 | }, 1503 | { 1504 | "name": "Sebastian Bergmann", 1505 | "email": "sebastian@phpunit.de" 1506 | } 1507 | ], 1508 | "description": "Diff implementation", 1509 | "homepage": "https://github.com/sebastianbergmann/diff", 1510 | "keywords": [ 1511 | "diff" 1512 | ], 1513 | "time": "2017-05-22T07:24:03+00:00" 1514 | }, 1515 | { 1516 | "name": "sebastian/environment", 1517 | "version": "1.3.x-dev", 1518 | "source": { 1519 | "type": "git", 1520 | "url": "https://github.com/sebastianbergmann/environment.git", 1521 | "reference": "67f55699c2810ff0f2cc47478bbdeda8567e68ee" 1522 | }, 1523 | "dist": { 1524 | "type": "zip", 1525 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/67f55699c2810ff0f2cc47478bbdeda8567e68ee", 1526 | "reference": "67f55699c2810ff0f2cc47478bbdeda8567e68ee", 1527 | "shasum": "" 1528 | }, 1529 | "require": { 1530 | "php": "^5.3.3 || ^7.0" 1531 | }, 1532 | "require-dev": { 1533 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 1534 | }, 1535 | "type": "library", 1536 | "extra": { 1537 | "branch-alias": { 1538 | "dev-master": "1.3.x-dev" 1539 | } 1540 | }, 1541 | "autoload": { 1542 | "classmap": [ 1543 | "src/" 1544 | ] 1545 | }, 1546 | "notification-url": "https://packagist.org/downloads/", 1547 | "license": [ 1548 | "BSD-3-Clause" 1549 | ], 1550 | "authors": [ 1551 | { 1552 | "name": "Sebastian Bergmann", 1553 | "email": "sebastian@phpunit.de" 1554 | } 1555 | ], 1556 | "description": "Provides functionality to handle HHVM/PHP environments", 1557 | "homepage": "http://www.github.com/sebastianbergmann/environment", 1558 | "keywords": [ 1559 | "Xdebug", 1560 | "environment", 1561 | "hhvm" 1562 | ], 1563 | "time": "2017-02-28T08:18:59+00:00" 1564 | }, 1565 | { 1566 | "name": "sebastian/exporter", 1567 | "version": "1.2.x-dev", 1568 | "source": { 1569 | "type": "git", 1570 | "url": "https://github.com/sebastianbergmann/exporter.git", 1571 | "reference": "dcd43bcc0fd3551bd2ede0081882d549bb78225d" 1572 | }, 1573 | "dist": { 1574 | "type": "zip", 1575 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/dcd43bcc0fd3551bd2ede0081882d549bb78225d", 1576 | "reference": "dcd43bcc0fd3551bd2ede0081882d549bb78225d", 1577 | "shasum": "" 1578 | }, 1579 | "require": { 1580 | "php": "^5.3.3 || ^7.0", 1581 | "sebastian/recursion-context": "^1.0" 1582 | }, 1583 | "require-dev": { 1584 | "ext-mbstring": "*", 1585 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 1586 | }, 1587 | "type": "library", 1588 | "extra": { 1589 | "branch-alias": { 1590 | "dev-master": "1.2.x-dev" 1591 | } 1592 | }, 1593 | "autoload": { 1594 | "classmap": [ 1595 | "src/" 1596 | ] 1597 | }, 1598 | "notification-url": "https://packagist.org/downloads/", 1599 | "license": [ 1600 | "BSD-3-Clause" 1601 | ], 1602 | "authors": [ 1603 | { 1604 | "name": "Jeff Welch", 1605 | "email": "whatthejeff@gmail.com" 1606 | }, 1607 | { 1608 | "name": "Volker Dusch", 1609 | "email": "github@wallbash.com" 1610 | }, 1611 | { 1612 | "name": "Bernhard Schussek", 1613 | "email": "bschussek@2bepublished.at" 1614 | }, 1615 | { 1616 | "name": "Sebastian Bergmann", 1617 | "email": "sebastian@phpunit.de" 1618 | }, 1619 | { 1620 | "name": "Adam Harvey", 1621 | "email": "aharvey@php.net" 1622 | } 1623 | ], 1624 | "description": "Provides the functionality to export PHP variables for visualization", 1625 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 1626 | "keywords": [ 1627 | "export", 1628 | "exporter" 1629 | ], 1630 | "time": "2017-02-26T13:09:30+00:00" 1631 | }, 1632 | { 1633 | "name": "sebastian/global-state", 1634 | "version": "1.1.x-dev", 1635 | "source": { 1636 | "type": "git", 1637 | "url": "https://github.com/sebastianbergmann/global-state.git", 1638 | "reference": "cea85a84b00f2795341ebbbca4fa396347f2494e" 1639 | }, 1640 | "dist": { 1641 | "type": "zip", 1642 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/cea85a84b00f2795341ebbbca4fa396347f2494e", 1643 | "reference": "cea85a84b00f2795341ebbbca4fa396347f2494e", 1644 | "shasum": "" 1645 | }, 1646 | "require": { 1647 | "php": ">=5.3.3" 1648 | }, 1649 | "require-dev": { 1650 | "phpunit/phpunit": "~4.2|~5.0" 1651 | }, 1652 | "suggest": { 1653 | "ext-uopz": "*" 1654 | }, 1655 | "type": "library", 1656 | "extra": { 1657 | "branch-alias": { 1658 | "dev-master": "1.0-dev" 1659 | } 1660 | }, 1661 | "autoload": { 1662 | "classmap": [ 1663 | "src/" 1664 | ] 1665 | }, 1666 | "notification-url": "https://packagist.org/downloads/", 1667 | "license": [ 1668 | "BSD-3-Clause" 1669 | ], 1670 | "authors": [ 1671 | { 1672 | "name": "Sebastian Bergmann", 1673 | "email": "sebastian@phpunit.de" 1674 | } 1675 | ], 1676 | "description": "Snapshotting of global state", 1677 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 1678 | "keywords": [ 1679 | "global state" 1680 | ], 1681 | "time": "2017-02-23T14:11:06+00:00" 1682 | }, 1683 | { 1684 | "name": "sebastian/recursion-context", 1685 | "version": "1.0.x-dev", 1686 | "source": { 1687 | "type": "git", 1688 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 1689 | "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" 1690 | }, 1691 | "dist": { 1692 | "type": "zip", 1693 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", 1694 | "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", 1695 | "shasum": "" 1696 | }, 1697 | "require": { 1698 | "php": ">=5.3.3" 1699 | }, 1700 | "require-dev": { 1701 | "phpunit/phpunit": "~4.4" 1702 | }, 1703 | "type": "library", 1704 | "extra": { 1705 | "branch-alias": { 1706 | "dev-master": "1.0.x-dev" 1707 | } 1708 | }, 1709 | "autoload": { 1710 | "classmap": [ 1711 | "src/" 1712 | ] 1713 | }, 1714 | "notification-url": "https://packagist.org/downloads/", 1715 | "license": [ 1716 | "BSD-3-Clause" 1717 | ], 1718 | "authors": [ 1719 | { 1720 | "name": "Jeff Welch", 1721 | "email": "whatthejeff@gmail.com" 1722 | }, 1723 | { 1724 | "name": "Sebastian Bergmann", 1725 | "email": "sebastian@phpunit.de" 1726 | }, 1727 | { 1728 | "name": "Adam Harvey", 1729 | "email": "aharvey@php.net" 1730 | } 1731 | ], 1732 | "description": "Provides functionality to recursively process PHP variables", 1733 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 1734 | "time": "2016-10-03T07:41:43+00:00" 1735 | }, 1736 | { 1737 | "name": "sebastian/version", 1738 | "version": "1.0.6", 1739 | "source": { 1740 | "type": "git", 1741 | "url": "https://github.com/sebastianbergmann/version.git", 1742 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" 1743 | }, 1744 | "dist": { 1745 | "type": "zip", 1746 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1747 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1748 | "shasum": "" 1749 | }, 1750 | "type": "library", 1751 | "autoload": { 1752 | "classmap": [ 1753 | "src/" 1754 | ] 1755 | }, 1756 | "notification-url": "https://packagist.org/downloads/", 1757 | "license": [ 1758 | "BSD-3-Clause" 1759 | ], 1760 | "authors": [ 1761 | { 1762 | "name": "Sebastian Bergmann", 1763 | "email": "sebastian@phpunit.de", 1764 | "role": "lead" 1765 | } 1766 | ], 1767 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 1768 | "homepage": "https://github.com/sebastianbergmann/version", 1769 | "time": "2015-06-21T13:59:46+00:00" 1770 | }, 1771 | { 1772 | "name": "symfony/polyfill-ctype", 1773 | "version": "v1.10.0", 1774 | "source": { 1775 | "type": "git", 1776 | "url": "https://github.com/symfony/polyfill-ctype.git", 1777 | "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" 1778 | }, 1779 | "dist": { 1780 | "type": "zip", 1781 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", 1782 | "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", 1783 | "shasum": "" 1784 | }, 1785 | "require": { 1786 | "php": ">=5.3.3" 1787 | }, 1788 | "suggest": { 1789 | "ext-ctype": "For best performance" 1790 | }, 1791 | "type": "library", 1792 | "extra": { 1793 | "branch-alias": { 1794 | "dev-master": "1.9-dev" 1795 | } 1796 | }, 1797 | "autoload": { 1798 | "psr-4": { 1799 | "Symfony\\Polyfill\\Ctype\\": "" 1800 | }, 1801 | "files": [ 1802 | "bootstrap.php" 1803 | ] 1804 | }, 1805 | "notification-url": "https://packagist.org/downloads/", 1806 | "license": [ 1807 | "MIT" 1808 | ], 1809 | "authors": [ 1810 | { 1811 | "name": "Symfony Community", 1812 | "homepage": "https://symfony.com/contributors" 1813 | }, 1814 | { 1815 | "name": "Gert de Pagter", 1816 | "email": "backendtea@gmail.com" 1817 | } 1818 | ], 1819 | "description": "Symfony polyfill for ctype functions", 1820 | "homepage": "https://symfony.com", 1821 | "keywords": [ 1822 | "compatibility", 1823 | "ctype", 1824 | "polyfill", 1825 | "portable" 1826 | ], 1827 | "time": "2018-08-06T14:22:27+00:00" 1828 | }, 1829 | { 1830 | "name": "symfony/yaml", 1831 | "version": "3.4.x-dev", 1832 | "source": { 1833 | "type": "git", 1834 | "url": "https://github.com/symfony/yaml.git", 1835 | "reference": "ba11776e9e6c15ad5759a07bffb15899bac75c2d" 1836 | }, 1837 | "dist": { 1838 | "type": "zip", 1839 | "url": "https://api.github.com/repos/symfony/yaml/zipball/ba11776e9e6c15ad5759a07bffb15899bac75c2d", 1840 | "reference": "ba11776e9e6c15ad5759a07bffb15899bac75c2d", 1841 | "shasum": "" 1842 | }, 1843 | "require": { 1844 | "php": "^5.5.9|>=7.0.8", 1845 | "symfony/polyfill-ctype": "~1.8" 1846 | }, 1847 | "conflict": { 1848 | "symfony/console": "<3.4" 1849 | }, 1850 | "require-dev": { 1851 | "symfony/console": "~3.4|~4.0" 1852 | }, 1853 | "suggest": { 1854 | "symfony/console": "For validating YAML files using the lint command" 1855 | }, 1856 | "type": "library", 1857 | "extra": { 1858 | "branch-alias": { 1859 | "dev-master": "3.4-dev" 1860 | } 1861 | }, 1862 | "autoload": { 1863 | "psr-4": { 1864 | "Symfony\\Component\\Yaml\\": "" 1865 | }, 1866 | "exclude-from-classmap": [ 1867 | "/Tests/" 1868 | ] 1869 | }, 1870 | "notification-url": "https://packagist.org/downloads/", 1871 | "license": [ 1872 | "MIT" 1873 | ], 1874 | "authors": [ 1875 | { 1876 | "name": "Fabien Potencier", 1877 | "email": "fabien@symfony.com" 1878 | }, 1879 | { 1880 | "name": "Symfony Community", 1881 | "homepage": "https://symfony.com/contributors" 1882 | } 1883 | ], 1884 | "description": "Symfony Yaml Component", 1885 | "homepage": "https://symfony.com", 1886 | "time": "2019-01-16T10:59:17+00:00" 1887 | }, 1888 | { 1889 | "name": "webmozart/assert", 1890 | "version": "1.4.0", 1891 | "source": { 1892 | "type": "git", 1893 | "url": "https://github.com/webmozart/assert.git", 1894 | "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" 1895 | }, 1896 | "dist": { 1897 | "type": "zip", 1898 | "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", 1899 | "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", 1900 | "shasum": "" 1901 | }, 1902 | "require": { 1903 | "php": "^5.3.3 || ^7.0", 1904 | "symfony/polyfill-ctype": "^1.8" 1905 | }, 1906 | "require-dev": { 1907 | "phpunit/phpunit": "^4.6", 1908 | "sebastian/version": "^1.0.1" 1909 | }, 1910 | "type": "library", 1911 | "extra": { 1912 | "branch-alias": { 1913 | "dev-master": "1.3-dev" 1914 | } 1915 | }, 1916 | "autoload": { 1917 | "psr-4": { 1918 | "Webmozart\\Assert\\": "src/" 1919 | } 1920 | }, 1921 | "notification-url": "https://packagist.org/downloads/", 1922 | "license": [ 1923 | "MIT" 1924 | ], 1925 | "authors": [ 1926 | { 1927 | "name": "Bernhard Schussek", 1928 | "email": "bschussek@gmail.com" 1929 | } 1930 | ], 1931 | "description": "Assertions to validate method input/output with nice error messages.", 1932 | "keywords": [ 1933 | "assert", 1934 | "check", 1935 | "validate" 1936 | ], 1937 | "time": "2018-12-25T11:19:39+00:00" 1938 | } 1939 | ], 1940 | "aliases": [], 1941 | "minimum-stability": "dev", 1942 | "stability-flags": [], 1943 | "prefer-stable": false, 1944 | "prefer-lowest": false, 1945 | "platform": [], 1946 | "platform-dev": [] 1947 | } 1948 | -------------------------------------------------------------------------------- /src/BootstrapFileInput.php: -------------------------------------------------------------------------------- 1 | 20 | * 21 | * @link http://www.ramirezcobos.com/ 22 | * @link http://www.2amigos.us/ 23 | */ 24 | class BootstrapFileInput extends InputWidget 25 | { 26 | /** 27 | * @var array the options for the Bootstrap File Input plugin. Default options have exporting enabled. 28 | * Please refer to the Bootstrap File Input plugin Web page for possible options. 29 | * 30 | * @see http://plugins.krajee.com/file-input#options 31 | */ 32 | public $clientOptions = []; 33 | /** 34 | * @var array the event handlers for the underlying Jasny file input JS plugin. 35 | * Please refer to the [Bootstrap File Input](http://plugins.krajee.com/file-input#events) plugin 36 | * Web page for possible events. 37 | */ 38 | public $clientEvents = []; 39 | 40 | /** 41 | * {@inheritdoc} 42 | */ 43 | public function run() 44 | { 45 | if ($this->hasModel()) { 46 | echo Html::activeFileInput($this->model, $this->attribute, $this->options); 47 | } else { 48 | echo Html::fileInput($this->name, $this->value, $this->options); 49 | } 50 | $this->registerClientScript(); 51 | } 52 | 53 | /** 54 | * Registers Bootstrap File Input plugin. 55 | */ 56 | public function registerClientScript() 57 | { 58 | $view = $this->getView(); 59 | 60 | BootstrapFileInputAsset::register($view); 61 | 62 | $id = $this->options['id']; 63 | 64 | $options = !empty($this->clientOptions) ? Json::encode($this->clientOptions) : ''; 65 | 66 | $js[] = ";jQuery('#$id').fileinput({$options});"; 67 | 68 | if (!empty($this->clientEvents)) { 69 | foreach ($this->clientEvents as $event => $handler) { 70 | $js[] = ";jQuery('#$id').on('$event', $handler);"; 71 | } 72 | } 73 | $view->registerJs(implode("\n", $js)); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/BootstrapFileInputAsset.php: -------------------------------------------------------------------------------- 1 | 17 | * 18 | * @link http://www.ramirezcobos.com/ 19 | * @link http://www.2amigos.us/ 20 | */ 21 | class BootstrapFileInputAsset extends AssetBundle 22 | { 23 | public $sourcePath = '@vendor/kartik-v/bootstrap-fileinput'; 24 | public $css = [ 25 | 'css/fileinput.css', 26 | ]; 27 | public $js = [ 28 | 'js/fileinput.js', 29 | ]; 30 | public $depends = [ 31 | 'yii\bootstrap4\BootstrapPluginAsset', 32 | ]; 33 | } 34 | -------------------------------------------------------------------------------- /src/FileInput.php: -------------------------------------------------------------------------------- 1 | 20 | * 21 | * @link http://www.ramirezcobos.com/ 22 | * @link http://www.2amigos.us/ 23 | */ 24 | class FileInput extends InputWidget 25 | { 26 | /** 27 | * To render the template as a file input. 28 | */ 29 | const STYLE_INPUT = 10; 30 | /** 31 | * To render the template as a button. 32 | */ 33 | const STYLE_BUTTON = 20; 34 | /** 35 | * To render the template with thumbnail. 36 | */ 37 | const STYLE_IMAGE = 30; 38 | /** 39 | * To render custom templates. If used, [[$customView]] must be initialized. 40 | */ 41 | const STYLE_CUSTOM = 40; 42 | /** 43 | * @var int the type of Jasny File Input style to render. 44 | * Please, see [Jasny Bootstrap File Input](http://jasny.github.io/bootstrap/javascript/#fileinput) to see the 45 | * different displays. 46 | */ 47 | public $style; 48 | /** 49 | * @var string the custom view to render the field. This view will receive the following variables: 50 | * - $field: The actual file input field 51 | * - $thumbnail: If set the thumbnail to display previous selected image 52 | */ 53 | public $customView; 54 | 55 | /** 56 | * @var array additional parameters passed to $customView 57 | */ 58 | public $customParams = []; 59 | /** 60 | * @var string the thumbnail to be displayed if [[STYLE_CUSTOM]] or [[STYLE_IMAGE]] has been selected. Thumbnail 61 | * is used to display an image that was previously loaded. 62 | */ 63 | public $thumbnail; 64 | /** 65 | * @var array the event handlers for the underlying Jasny file input JS plugin. 66 | * Please refer to the [Jasny Bootstrap File Input](http://jasny.github.io/bootstrap/javascript/#fileinput) plugin 67 | * Web page for possible events. 68 | */ 69 | public $clientEvents = []; 70 | 71 | /** 72 | * Initializes the widget. 73 | */ 74 | public function init() 75 | { 76 | if ($this->style === null) { 77 | $this->style = self::STYLE_INPUT; 78 | } 79 | 80 | if (!in_array($this->style, [self::STYLE_INPUT, self::STYLE_BUTTON, self::STYLE_IMAGE, self::STYLE_CUSTOM], true)) { 81 | throw new InvalidConfigException('Unrecognized "FileInput::$style" format. It should be of "FileInput::STYLE_INPUT", "FileInput::STYLE_BUTTON", "FileInput::STYLE_IMAGE" or "FileInput::STYLE_CUSTOM" only.'); 82 | } 83 | 84 | if ($this->style === self::STYLE_CUSTOM && $this->customView === null) { 85 | throw new InvalidConfigException('"FileInput::$customView" must be set if "FileInput::STYLE_CUSTOM" is used'); 86 | } 87 | 88 | \Yii::$app->i18n->translations['file-input*'] = [ 89 | 'class' => 'yii\i18n\PhpMessageSource', 90 | 'basePath' => '@vendor/2amigos/yii2-file-input-widget/src/messages/', 91 | 'sourceLanguage' => 'en-US', 92 | ]; 93 | 94 | parent::init(); 95 | } 96 | 97 | /** 98 | * {@inheritdoc} 99 | */ 100 | public function run() 101 | { 102 | if ($this->hasModel()) { 103 | $field = Html::activeFileInput($this->model, $this->attribute, $this->options); 104 | } else { 105 | $field = Html::fileInput($this->name, $this->value, $this->options); 106 | } 107 | echo $this->renderTemplate($field); 108 | $this->registerClientScript(); 109 | } 110 | 111 | /** 112 | * Renders the template according. 113 | * 114 | * @param $field 115 | * 116 | * @throws \yii\base\InvalidConfigException 117 | * 118 | * @return string 119 | */ 120 | public function renderTemplate($field) 121 | { 122 | $params = ['field' => $field]; 123 | switch ($this->style) { 124 | case self::STYLE_INPUT: 125 | $view = $this->getViewPath() . '/inputField.php'; 126 | break; 127 | case self::STYLE_BUTTON: 128 | $view = $this->getViewPath() . '/buttonField.php'; 129 | break; 130 | case self::STYLE_IMAGE: 131 | $view = $this->getViewPath() . '/imageField.php'; 132 | $params['thumbnail'] = $this->thumbnail; 133 | break; 134 | case self::STYLE_CUSTOM: 135 | $view = $this->customView; 136 | $params['thumbnail'] = $this->thumbnail; 137 | $params = array_merge($params, $this->customParams); 138 | break; 139 | } 140 | 141 | return $this->getView()->renderFile(Yii::getAlias($view), $params); 142 | } 143 | 144 | /** 145 | * Registers Jasny File Input Bootstrap plugin and the related events. 146 | */ 147 | public function registerClientScript() 148 | { 149 | $view = $this->getView(); 150 | 151 | FileInputAsset::register($view); 152 | 153 | $id = $this->options['id']; 154 | 155 | if (!empty($this->clientEvents)) { 156 | $js = []; 157 | foreach ($this->clientEvents as $event => $handler) { 158 | $js[] = ";jQuery('#$id').on('$event', $handler);"; 159 | } 160 | $view->registerJs(implode("\n", $js)); 161 | } 162 | } 163 | } 164 | -------------------------------------------------------------------------------- /src/FileInputAsset.php: -------------------------------------------------------------------------------- 1 | 17 | * 18 | * @link http://www.ramirezcobos.com/ 19 | * @link http://www.2amigos.us/ 20 | */ 21 | class FileInputAsset extends AssetBundle 22 | { 23 | public $sourcePath = '@vendor/2amigos/yii2-file-input-widget/src/assets'; 24 | 25 | public $css = [ 26 | 'css/file-input-widget.css' 27 | ]; 28 | 29 | public $depends = [ 30 | 'dosamigos\fileinput\JasnyBootstrapAsset', 31 | ]; 32 | } 33 | -------------------------------------------------------------------------------- /src/JasnyBootstrapAsset.php: -------------------------------------------------------------------------------- 1 | img, .thumbnail a > img { 14 | margin-right: auto; 15 | margin-left: auto; 16 | } 17 | 18 | .thumbnail > img { 19 | display: block; 20 | max-width: 100%; 21 | height: auto; 22 | } 23 | 24 | .fileinput.thumbnail-exists > .thumbnail { 25 | width: auto !important; 26 | height: auto !important; 27 | } 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/messages/az/file-input.php: -------------------------------------------------------------------------------- 1 | 'Dəyişdir', 21 | 'Remove' => 'Sil', 22 | 'Select file' => 'Faylı seçin', 23 | 'Select image' => 'Görüntünü seçin', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/ca/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/da/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/de/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Change' => '', 22 | 'Remove' => '', 23 | 'Select file' => '', 24 | 'Select image' => '', 25 | 'Unrecognized "FileInput::$style" format. It should be of "FileInput::STYLE_INPUT", "FileInput::STYLE_BUTTON", "FileInput::STYLE_IMAGE" or "FileInput::STYLE_CUSTOM" only.' => '', 26 | ]; 27 | -------------------------------------------------------------------------------- /src/messages/en/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/es/file-input.php: -------------------------------------------------------------------------------- 1 | 'Cambiar', 21 | 'Remove' => 'Eliminar', 22 | 'Select file' => 'Selecciona documento', 23 | 'Select image' => 'Selecciona imagen', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/fa-IR/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/fr/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/hr/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/hu/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/it/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/kz/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/lt/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/messages.php: -------------------------------------------------------------------------------- 1 | __DIR__ . '/../', 4 | 'messagePath' => __DIR__, 5 | 'languages' => [ 6 | 'az', 7 | 'ca', 8 | 'da', 9 | 'de', 10 | 'es', 11 | 'fa-IR', 12 | 'fr', 13 | 'hr', 14 | 'hu', 15 | 'it', 16 | 'kz', 17 | 'lt', 18 | 'nl', 19 | 'pt-BR', 20 | 'pt-PT', 21 | 'ru', 22 | 'th', 23 | 'tr_TR', 24 | 'uk', 25 | 'vi', 26 | 'zh-CN', 27 | ], 28 | 'translator' => 'Yii::t', 29 | 'sort' => false, 30 | 'overwrite' => true, 31 | 'removeUnused' => false, 32 | 'only' => ['*.php'], 33 | 'except' => [ 34 | '.svn', 35 | '.git', 36 | '.gitignore', 37 | '.gitkeep', 38 | '.hgignore', 39 | '.hgkeep', 40 | '/messages', 41 | '/tests', 42 | ], 43 | 'format' => 'php', 44 | ]; 45 | -------------------------------------------------------------------------------- /src/messages/nl/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/pl/file-input.php: -------------------------------------------------------------------------------- 1 | 'Zmień', 21 | 'Remove' => 'Usuń', 22 | 'Select file' => 'Wybierz plik', 23 | 'Select image' => 'Wybierz obraz', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/pt-BR/file-input.php: -------------------------------------------------------------------------------- 1 | 'Alterar', 21 | 'Remove' => 'Remover', 22 | 'Select file' => 'Selecionar arquivo', 23 | 'Select image' => 'Selecionar imagem', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/pt-PT/file-input.php: -------------------------------------------------------------------------------- 1 | 'Alterar', 21 | 'Remove' => 'Remover', 22 | 'Select file' => 'Selecionar arquivo', 23 | 'Select image' => 'Selecionar imagem', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/ru/file-input.php: -------------------------------------------------------------------------------- 1 | 'Изменить', 21 | 'Remove' => 'Удалить', 22 | 'Select file' => 'Выбрать файл', 23 | 'Select image' => 'Выбрать изображение', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/th/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/tr_TR/file-input.php: -------------------------------------------------------------------------------- 1 | 'Değiştir', 21 | 'Remove' => 'Kaldır', 22 | 'Select file' => 'Dosya seç', 23 | 'Select image' => 'Resim seç', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/uk/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/vi/file-input.php: -------------------------------------------------------------------------------- 1 | '', 21 | 'Remove' => '', 22 | 'Select file' => '', 23 | 'Select image' => '', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/messages/zh-CN/file-input.php: -------------------------------------------------------------------------------- 1 | '修改', 21 | 'Remove' => '删除', 22 | 'Select file' => '选择文件', 23 | 'Select image' => '选择图片', 24 | ]; 25 | -------------------------------------------------------------------------------- /src/views/buttonField.php: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | × 9 |
10 | -------------------------------------------------------------------------------- /src/views/imageField.php: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |
17 | -------------------------------------------------------------------------------- /src/views/inputField.php: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 | --------------------------------------------------------------------------------