├── .php_cs ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── composer.json ├── composer.lock └── src ├── SwitchAsset.php ├── SwitchBox.php ├── SwitchRadio.php └── SwitchTrait.php /.php_cs: -------------------------------------------------------------------------------- 1 | in(__DIR__) 4 | ; 5 | 6 | return PhpCsFixer\Config::create() 7 | ->setRiskyAllowed(true) 8 | ->setRules(array( 9 | '@PSR2' => true, 10 | 'array_syntax' => array('syntax' => 'short'), 11 | 'combine_consecutive_unsets' => true, 12 | // 'header_comment' => array('header' => $header), 13 | 'no_extra_consecutive_blank_lines' => array( 14 | 'break', 15 | 'continue', 16 | 'extra', 17 | 'return', 18 | 'throw', 19 | 'use', 20 | 'parenthesis_brace_block', 21 | 'square_brace_block', 22 | 'curly_brace_block' 23 | ), 24 | 'no_useless_else' => true, 25 | 'no_useless_return' => true, 26 | 'ordered_class_elements' => true, 27 | 'ordered_imports' => true, 28 | 'phpdoc_add_missing_param_annotation' => true, 29 | 'psr4' => true, 30 | 'strict_comparison' => true, 31 | )) 32 | ->setFinder($finder) 33 | ; 34 | -------------------------------------------------------------------------------- /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-switch-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-2017, 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 | # Bootstrap Switch Widget for Yii2 2 | 3 | [![Latest Version](https://img.shields.io/github/tag/2amigos/yii2-switch-widget.svg?style=flat-square&label=release)](https://github.com/2amigos/yii2-switch-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-switch-widget/master.svg?style=flat-square)](https://travis-ci.org/2amigos/yii2-switch-widget) 6 | [![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/2amigos/yii2-switch-widget.svg?style=flat-square)](https://scrutinizer-ci.com/g/2amigos/yii2-switch-widget/code-structure) 7 | [![Quality Score](https://img.shields.io/scrutinizer/g/2amigos/yii2-switch-widget.svg?style=flat-square)](https://scrutinizer-ci.com/g/2amigos/yii2-switch-widget) 8 | [![Total Downloads](https://img.shields.io/packagist/dt/2amigos/yii2-switch-widget.svg?style=flat-square)](https://packagist.org/packages/2amigos/yii2-switch-widget) 9 | 10 | Renders a [Bootstrap Toggle Switch plugin](http://bootstrapswitch.com/) widget. 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-switch-widget:~1.0 20 | ``` 21 | 22 | or add 23 | 24 | ``` 25 | "2amigos/yii2-switch-widget": "~1.0" 26 | ``` 27 | 28 | to the `require` section of your `composer.json` file. 29 | 30 | ## Usage 31 | 32 | The widget comes in two flavors: 33 | 34 | - SwitchBox 35 | - SwitchRadio 36 | 37 | **SwitchBox** 38 | 39 | This widget renders a Bootstrap Toggle Switch Checkbox input control. Best suitable for attributes with boolean states (on|off, true|false, 1|0) when used with model. 40 | 41 | ***Example of use with a form*** 42 | 43 | ``` 44 | 47 | 48 | field($model, 'validated')->widget(SwitchBox::className(),[ 49 | 'clientOptions' => [ 50 | 'size' => 'large', 51 | 'onColor' => 'success', 52 | 'offColor' => 'danger' 53 | ] 54 | ]);?> 55 | ``` 56 | ***Example of use without a model*** 57 | 58 | ``` 59 | 'Test', 61 | 'checked' => true, 62 | 'clientOptions' => [ 63 | 'size' => 'large', 64 | 'onColor' => 'success', 65 | 'offColor' => 'danger' 66 | ] 67 | ]);?> 68 | ``` 69 | **SwitchRadio** 70 | 71 | This widget renders a Bootstrap Toggle Switch Checkbox radio list control. Best suitable for attributes with multiple states when used with a model. 72 | 73 | ***Example of use with a form*** 74 | 75 | ``` 76 | 79 | field($model, 'status')->widget(SwitchRadio::className(), [ 80 | 'items' => [ 81 | 20 => 'rejected', 82 | 40 => 'approved', 83 | 50 => 'on hold' 84 | ], 85 | ]);?> 86 | ``` 87 | ***Example of use without a model*** 88 | 89 | ```php 90 | 'shape', 92 | 'inline' => false, 93 | 'items' => [ 94 | [ 95 | 'label' => 'best', 96 | 'value' => 100, 97 | 'options' => ['data-size' => 'mini'] 98 | ], 99 | 20 => 'good', 100 | 40 => 'superior', 101 | 50 => 'master' 102 | ], 103 | 'labelOptions' => ['style' => 'font-size:16px'] 104 | ]);?> 105 | ``` 106 | 107 | ***Not displaying the label*** 108 | ```php 109 | field($model, 'validated')->widget(SwitchBox::className(),[ 110 | 'options' => [ 111 | 'label' => false 112 | ], 113 | 'clientOptions' => [ 114 | 'size' => 'large', 115 | 'onColor' => 'success', 116 | 'offColor' => 'danger' 117 | ] 118 | ]);?> 119 | ``` 120 | 121 | ## Using code fixer 122 | 123 | We have added a PHP code fixer to standardize our code. It includes Symfony, PSR2 and some contributors rules. 124 | 125 | ```bash 126 | ./vendor/bin/php-cs-fixer fix ./src --config .php_cs 127 | ``` 128 | 129 | ## Testing 130 | 131 | ```bash 132 | $ ./vendor/bin/phpunit 133 | ``` 134 | 135 | ## Contributing 136 | 137 | Please see [CONTRIBUTING](CONTRIBUTING.md) for details. 138 | 139 | ## Credits 140 | 141 | - [Antonio Ramirez](https://github.com/tonydspaniard) 142 | - [All Contributors](https://github.com/2amigos/yii2-selectize-widget/graphs/contributors) 143 | 144 | ## License 145 | 146 | The BSD License (BSD). Please see [License File](LICENSE.md) for more information. 147 | 148 |
149 |
150 | Custom Software | Web & Mobile Software Development
151 | www.2amigos.us 152 |
153 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "2amigos/yii2-switch-widget", 3 | "description": "The bootstrap switch widget for the Yii framework", 4 | "keywords": [ 5 | "2amigos", 6 | "yii", 7 | "yii2", 8 | "yii 2", 9 | "widget", 10 | "switch" 11 | ], 12 | "type": "yii2-extension", 13 | "license": "BSD-3-Clause", 14 | "homepage": "https://github.com/2amigos/yii2-switch-widget", 15 | "authors": [ 16 | { 17 | "name": "2amigOS! Consulting Group", 18 | "email": "hola@2amigos.us", 19 | "homepage": "http://2amigos.us", 20 | "role": "Developer" 21 | } 22 | ], 23 | "require": { 24 | "yiisoft/yii2": "~2.0.0", 25 | "yiisoft/yii2-bootstrap": "~2.0.0", 26 | "bower-asset/bootstrap-switch": "3.3.*" 27 | }, 28 | "require-dev": { 29 | "phpunit/phpunit": "~4.0", 30 | "friendsofphp/php-cs-fixer": "^2.0" 31 | }, 32 | "autoload": { 33 | "psr-4": { 34 | "dosamigos\\switchinput\\": "src" 35 | } 36 | }, 37 | "extra": { 38 | "branch-alias": { 39 | "dev-master": "1.0-dev" 40 | } 41 | }, 42 | "config": { 43 | "fxp-asset": { 44 | "installer-paths": { 45 | "npm-asset-library": "vendor/npm", 46 | "bower-asset-library": "vendor/bower" 47 | }, 48 | "vcs-driver-options": { 49 | "github-no-api": true 50 | }, 51 | "git-skip-update": "2 days", 52 | "pattern-skip-version": "(-build|-patch)" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /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#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "0abdd6e29b979657c371e26539f3763d", 8 | "packages": [ 9 | { 10 | "name": "bower-asset/bootstrap", 11 | "version": "v3.3.7", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/twbs/bootstrap.git", 15 | "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/twbs/bootstrap/zipball/0b9c4a4007c44201dce9a6cc1a38407005c26c86", 20 | "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "bower-asset/jquery": ">=1.9.1,<4.0" 25 | }, 26 | "type": "bower-asset-library", 27 | "extra": { 28 | "bower-asset-main": [ 29 | "less/bootstrap.less", 30 | "dist/js/bootstrap.js" 31 | ], 32 | "bower-asset-ignore": [ 33 | "/.*", 34 | "_config.yml", 35 | "CNAME", 36 | "composer.json", 37 | "CONTRIBUTING.md", 38 | "docs", 39 | "js/tests", 40 | "test-infra" 41 | ] 42 | }, 43 | "license": [ 44 | "MIT" 45 | ], 46 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 47 | "keywords": [ 48 | "css", 49 | "framework", 50 | "front-end", 51 | "js", 52 | "less", 53 | "mobile-first", 54 | "responsive", 55 | "web" 56 | ] 57 | }, 58 | { 59 | "name": "bower-asset/bootstrap-switch", 60 | "version": "v3.3.3", 61 | "source": { 62 | "type": "git", 63 | "url": "https://github.com/nostalgiaz/bootstrap-switch.git", 64 | "reference": "e1a9a9c135ed062ac362d2f8345a71417fb10758" 65 | }, 66 | "dist": { 67 | "type": "zip", 68 | "url": "https://api.github.com/repos/nostalgiaz/bootstrap-switch/zipball/e1a9a9c135ed062ac362d2f8345a71417fb10758", 69 | "reference": "e1a9a9c135ed062ac362d2f8345a71417fb10758", 70 | "shasum": "" 71 | }, 72 | "require": { 73 | "bower-asset/bootstrap": ">=2.3.2", 74 | "bower-asset/jquery": ">=1.9.0" 75 | }, 76 | "require-dev": { 77 | "bower-asset/jquery": "~2.1" 78 | }, 79 | "type": "bower-asset-library", 80 | "extra": { 81 | "bower-asset-main": [ 82 | "./dist/js/bootstrap-switch.js", 83 | "./dist/css/bootstrap3/bootstrap-switch.css" 84 | ], 85 | "bower-asset-ignore": [ 86 | "docs", 87 | "test", 88 | "CNAME", 89 | "composer.json", 90 | "CONTRIBUTING.md", 91 | "index.html", 92 | "package.json" 93 | ] 94 | }, 95 | "license": [ 96 | "Apache-2.0" 97 | ], 98 | "description": "Turn checkboxes and radio buttons into toggle switches." 99 | }, 100 | { 101 | "name": "bower-asset/jquery", 102 | "version": "2.2.4", 103 | "source": { 104 | "type": "git", 105 | "url": "https://github.com/jquery/jquery-dist.git", 106 | "reference": "c0185ab7c75aab88762c5aae780b9d83b80eda72" 107 | }, 108 | "dist": { 109 | "type": "zip", 110 | "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/c0185ab7c75aab88762c5aae780b9d83b80eda72", 111 | "reference": "c0185ab7c75aab88762c5aae780b9d83b80eda72", 112 | "shasum": "" 113 | }, 114 | "type": "bower-asset-library", 115 | "extra": { 116 | "bower-asset-main": "dist/jquery.js", 117 | "bower-asset-ignore": [ 118 | "package.json" 119 | ] 120 | }, 121 | "license": [ 122 | "MIT" 123 | ], 124 | "keywords": [ 125 | "browser", 126 | "javascript", 127 | "jquery", 128 | "library" 129 | ] 130 | }, 131 | { 132 | "name": "bower-asset/jquery.inputmask", 133 | "version": "3.3.7", 134 | "source": { 135 | "type": "git", 136 | "url": "https://github.com/RobinHerbots/jquery.inputmask.git", 137 | "reference": "9835731cb78cac749734d94a1cb5bd70da4d3b10" 138 | }, 139 | "dist": { 140 | "type": "zip", 141 | "url": "https://api.github.com/repos/RobinHerbots/jquery.inputmask/zipball/9835731cb78cac749734d94a1cb5bd70da4d3b10", 142 | "reference": "9835731cb78cac749734d94a1cb5bd70da4d3b10", 143 | "shasum": "" 144 | }, 145 | "require": { 146 | "bower-asset/jquery": ">=1.7" 147 | }, 148 | "type": "bower-asset-library", 149 | "extra": { 150 | "bower-asset-main": [ 151 | "./dist/inputmask/inputmask.js", 152 | "./dist/inputmask/inputmask.extensions.js", 153 | "./dist/inputmask/inputmask.date.extensions.js", 154 | "./dist/inputmask/inputmask.numeric.extensions.js", 155 | "./dist/inputmask/inputmask.phone.extensions.js", 156 | "./dist/inputmask/jquery.inputmask.js", 157 | "./dist/inputmask/global/document.js", 158 | "./dist/inputmask/global/window.js", 159 | "./dist/inputmask/phone-codes/phone.js", 160 | "./dist/inputmask/phone-codes/phone-be.js", 161 | "./dist/inputmask/phone-codes/phone-nl.js", 162 | "./dist/inputmask/phone-codes/phone-ru.js", 163 | "./dist/inputmask/phone-codes/phone-uk.js", 164 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js", 165 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js", 166 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.js", 167 | "./dist/inputmask/bindings/inputmask.binding.js" 168 | ], 169 | "bower-asset-ignore": [ 170 | "**/*", 171 | "!dist/*", 172 | "!dist/inputmask/*", 173 | "!dist/min/*", 174 | "!dist/min/inputmask/*" 175 | ] 176 | }, 177 | "license": [ 178 | "http://opensource.org/licenses/mit-license.php" 179 | ], 180 | "description": "Inputmask is a javascript library which creates an input mask. Inputmask can run against vanilla javascript, jQuery and jqlite.", 181 | "keywords": [ 182 | "form", 183 | "input", 184 | "inputmask", 185 | "jquery", 186 | "mask", 187 | "plugins" 188 | ] 189 | }, 190 | { 191 | "name": "bower-asset/punycode", 192 | "version": "v1.3.2", 193 | "source": { 194 | "type": "git", 195 | "url": "https://github.com/bestiejs/punycode.js.git", 196 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3" 197 | }, 198 | "dist": { 199 | "type": "zip", 200 | "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3", 201 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3", 202 | "shasum": "" 203 | }, 204 | "type": "bower-asset-library", 205 | "extra": { 206 | "bower-asset-main": "punycode.js", 207 | "bower-asset-ignore": [ 208 | "coverage", 209 | "tests", 210 | ".*", 211 | "component.json", 212 | "Gruntfile.js", 213 | "node_modules", 214 | "package.json" 215 | ] 216 | } 217 | }, 218 | { 219 | "name": "bower-asset/yii2-pjax", 220 | "version": "v2.0.6", 221 | "source": { 222 | "type": "git", 223 | "url": "https://github.com/yiisoft/jquery-pjax.git", 224 | "reference": "60728da6ade5879e807a49ce59ef9a72039b8978" 225 | }, 226 | "dist": { 227 | "type": "zip", 228 | "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/60728da6ade5879e807a49ce59ef9a72039b8978", 229 | "reference": "60728da6ade5879e807a49ce59ef9a72039b8978", 230 | "shasum": "" 231 | }, 232 | "require": { 233 | "bower-asset/jquery": ">=1.8" 234 | }, 235 | "type": "bower-asset-library", 236 | "extra": { 237 | "bower-asset-main": "./jquery.pjax.js", 238 | "bower-asset-ignore": [ 239 | ".travis.yml", 240 | "Gemfile", 241 | "Gemfile.lock", 242 | "CONTRIBUTING.md", 243 | "vendor/", 244 | "script/", 245 | "test/" 246 | ] 247 | }, 248 | "license": [ 249 | "MIT" 250 | ] 251 | }, 252 | { 253 | "name": "cebe/markdown", 254 | "version": "1.1.1", 255 | "source": { 256 | "type": "git", 257 | "url": "https://github.com/cebe/markdown.git", 258 | "reference": "c30eb5e01fe021cc5bba2f9ee0eeef96d4931166" 259 | }, 260 | "dist": { 261 | "type": "zip", 262 | "url": "https://api.github.com/repos/cebe/markdown/zipball/c30eb5e01fe021cc5bba2f9ee0eeef96d4931166", 263 | "reference": "c30eb5e01fe021cc5bba2f9ee0eeef96d4931166", 264 | "shasum": "" 265 | }, 266 | "require": { 267 | "lib-pcre": "*", 268 | "php": ">=5.4.0" 269 | }, 270 | "require-dev": { 271 | "cebe/indent": "*", 272 | "facebook/xhprof": "*@dev", 273 | "phpunit/phpunit": "4.1.*" 274 | }, 275 | "bin": [ 276 | "bin/markdown" 277 | ], 278 | "type": "library", 279 | "extra": { 280 | "branch-alias": { 281 | "dev-master": "1.1.x-dev" 282 | } 283 | }, 284 | "autoload": { 285 | "psr-4": { 286 | "cebe\\markdown\\": "" 287 | } 288 | }, 289 | "notification-url": "https://packagist.org/downloads/", 290 | "license": [ 291 | "MIT" 292 | ], 293 | "authors": [ 294 | { 295 | "name": "Carsten Brandt", 296 | "email": "mail@cebe.cc", 297 | "homepage": "http://cebe.cc/", 298 | "role": "Creator" 299 | } 300 | ], 301 | "description": "A super fast, highly extensible markdown parser for PHP", 302 | "homepage": "https://github.com/cebe/markdown#readme", 303 | "keywords": [ 304 | "extensible", 305 | "fast", 306 | "gfm", 307 | "markdown", 308 | "markdown-extra" 309 | ], 310 | "time": "2016-09-14T20:40:20+00:00" 311 | }, 312 | { 313 | "name": "ezyang/htmlpurifier", 314 | "version": "v4.9.3", 315 | "source": { 316 | "type": "git", 317 | "url": "https://github.com/ezyang/htmlpurifier.git", 318 | "reference": "95e1bae3182efc0f3422896a3236e991049dac69" 319 | }, 320 | "dist": { 321 | "type": "zip", 322 | "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69", 323 | "reference": "95e1bae3182efc0f3422896a3236e991049dac69", 324 | "shasum": "" 325 | }, 326 | "require": { 327 | "php": ">=5.2" 328 | }, 329 | "require-dev": { 330 | "simpletest/simpletest": "^1.1" 331 | }, 332 | "type": "library", 333 | "autoload": { 334 | "psr-0": { 335 | "HTMLPurifier": "library/" 336 | }, 337 | "files": [ 338 | "library/HTMLPurifier.composer.php" 339 | ] 340 | }, 341 | "notification-url": "https://packagist.org/downloads/", 342 | "license": [ 343 | "LGPL" 344 | ], 345 | "authors": [ 346 | { 347 | "name": "Edward Z. Yang", 348 | "email": "admin@htmlpurifier.org", 349 | "homepage": "http://ezyang.com" 350 | } 351 | ], 352 | "description": "Standards compliant HTML filter written in PHP", 353 | "homepage": "http://htmlpurifier.org/", 354 | "keywords": [ 355 | "html" 356 | ], 357 | "time": "2017-06-03T02:28:16+00:00" 358 | }, 359 | { 360 | "name": "yiisoft/yii2", 361 | "version": "2.0.12", 362 | "source": { 363 | "type": "git", 364 | "url": "https://github.com/yiisoft/yii2-framework.git", 365 | "reference": "70acbecc75cb26b6cd66d16be0b06e4b73db190d" 366 | }, 367 | "dist": { 368 | "type": "zip", 369 | "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/70acbecc75cb26b6cd66d16be0b06e4b73db190d", 370 | "reference": "70acbecc75cb26b6cd66d16be0b06e4b73db190d", 371 | "shasum": "" 372 | }, 373 | "require": { 374 | "bower-asset/jquery": "2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable", 375 | "bower-asset/jquery.inputmask": "~3.2.2 | ~3.3.5", 376 | "bower-asset/punycode": "1.3.*", 377 | "bower-asset/yii2-pjax": "~2.0.1", 378 | "cebe/markdown": "~1.0.0 | ~1.1.0", 379 | "ext-ctype": "*", 380 | "ext-mbstring": "*", 381 | "ezyang/htmlpurifier": "~4.6", 382 | "lib-pcre": "*", 383 | "php": ">=5.4.0", 384 | "yiisoft/yii2-composer": "~2.0.4" 385 | }, 386 | "bin": [ 387 | "yii" 388 | ], 389 | "type": "library", 390 | "extra": { 391 | "branch-alias": { 392 | "dev-master": "2.0.x-dev" 393 | } 394 | }, 395 | "autoload": { 396 | "psr-4": { 397 | "yii\\": "" 398 | } 399 | }, 400 | "notification-url": "https://packagist.org/downloads/", 401 | "license": [ 402 | "BSD-3-Clause" 403 | ], 404 | "authors": [ 405 | { 406 | "name": "Qiang Xue", 407 | "email": "qiang.xue@gmail.com", 408 | "homepage": "http://www.yiiframework.com/", 409 | "role": "Founder and project lead" 410 | }, 411 | { 412 | "name": "Alexander Makarov", 413 | "email": "sam@rmcreative.ru", 414 | "homepage": "http://rmcreative.ru/", 415 | "role": "Core framework development" 416 | }, 417 | { 418 | "name": "Maurizio Domba", 419 | "homepage": "http://mdomba.info/", 420 | "role": "Core framework development" 421 | }, 422 | { 423 | "name": "Carsten Brandt", 424 | "email": "mail@cebe.cc", 425 | "homepage": "http://cebe.cc/", 426 | "role": "Core framework development" 427 | }, 428 | { 429 | "name": "Timur Ruziev", 430 | "email": "resurtm@gmail.com", 431 | "homepage": "http://resurtm.com/", 432 | "role": "Core framework development" 433 | }, 434 | { 435 | "name": "Paul Klimov", 436 | "email": "klimov.paul@gmail.com", 437 | "role": "Core framework development" 438 | }, 439 | { 440 | "name": "Dmitry Naumenko", 441 | "email": "d.naumenko.a@gmail.com", 442 | "role": "Core framework development" 443 | }, 444 | { 445 | "name": "Boudewijn Vahrmeijer", 446 | "email": "info@dynasource.eu", 447 | "homepage": "http://dynasource.eu", 448 | "role": "Core framework development" 449 | } 450 | ], 451 | "description": "Yii PHP Framework Version 2", 452 | "homepage": "http://www.yiiframework.com/", 453 | "keywords": [ 454 | "framework", 455 | "yii2" 456 | ], 457 | "time": "2017-06-05T14:33:41+00:00" 458 | }, 459 | { 460 | "name": "yiisoft/yii2-bootstrap", 461 | "version": "2.0.6", 462 | "source": { 463 | "type": "git", 464 | "url": "https://github.com/yiisoft/yii2-bootstrap.git", 465 | "reference": "3fd2b8c950cce79d60e9702d6bcb24eb3c80f6c5" 466 | }, 467 | "dist": { 468 | "type": "zip", 469 | "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/3fd2b8c950cce79d60e9702d6bcb24eb3c80f6c5", 470 | "reference": "3fd2b8c950cce79d60e9702d6bcb24eb3c80f6c5", 471 | "shasum": "" 472 | }, 473 | "require": { 474 | "bower-asset/bootstrap": "3.3.* | 3.2.* | 3.1.*", 475 | "yiisoft/yii2": ">=2.0.6" 476 | }, 477 | "type": "yii2-extension", 478 | "extra": { 479 | "branch-alias": { 480 | "dev-master": "2.0.x-dev" 481 | }, 482 | "asset-installer-paths": { 483 | "npm-asset-library": "vendor/npm", 484 | "bower-asset-library": "vendor/bower" 485 | } 486 | }, 487 | "autoload": { 488 | "psr-4": { 489 | "yii\\bootstrap\\": "" 490 | } 491 | }, 492 | "notification-url": "https://packagist.org/downloads/", 493 | "license": [ 494 | "BSD-3-Clause" 495 | ], 496 | "authors": [ 497 | { 498 | "name": "Qiang Xue", 499 | "email": "qiang.xue@gmail.com" 500 | } 501 | ], 502 | "description": "The Twitter Bootstrap extension for the Yii framework", 503 | "keywords": [ 504 | "bootstrap", 505 | "yii2" 506 | ], 507 | "time": "2016-03-17T03:29:28+00:00" 508 | }, 509 | { 510 | "name": "yiisoft/yii2-composer", 511 | "version": "2.0.5", 512 | "source": { 513 | "type": "git", 514 | "url": "https://github.com/yiisoft/yii2-composer.git", 515 | "reference": "3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2" 516 | }, 517 | "dist": { 518 | "type": "zip", 519 | "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2", 520 | "reference": "3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2", 521 | "shasum": "" 522 | }, 523 | "require": { 524 | "composer-plugin-api": "^1.0" 525 | }, 526 | "require-dev": { 527 | "composer/composer": "^1.0" 528 | }, 529 | "type": "composer-plugin", 530 | "extra": { 531 | "class": "yii\\composer\\Plugin", 532 | "branch-alias": { 533 | "dev-master": "2.0.x-dev" 534 | } 535 | }, 536 | "autoload": { 537 | "psr-4": { 538 | "yii\\composer\\": "" 539 | } 540 | }, 541 | "notification-url": "https://packagist.org/downloads/", 542 | "license": [ 543 | "BSD-3-Clause" 544 | ], 545 | "authors": [ 546 | { 547 | "name": "Qiang Xue", 548 | "email": "qiang.xue@gmail.com" 549 | } 550 | ], 551 | "description": "The composer plugin for Yii extension installer", 552 | "keywords": [ 553 | "composer", 554 | "extension installer", 555 | "yii2" 556 | ], 557 | "time": "2016-12-20T13:26:02+00:00" 558 | } 559 | ], 560 | "packages-dev": [ 561 | { 562 | "name": "doctrine/annotations", 563 | "version": "v1.4.0", 564 | "source": { 565 | "type": "git", 566 | "url": "https://github.com/doctrine/annotations.git", 567 | "reference": "54cacc9b81758b14e3ce750f205a393d52339e97" 568 | }, 569 | "dist": { 570 | "type": "zip", 571 | "url": "https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97", 572 | "reference": "54cacc9b81758b14e3ce750f205a393d52339e97", 573 | "shasum": "" 574 | }, 575 | "require": { 576 | "doctrine/lexer": "1.*", 577 | "php": "^5.6 || ^7.0" 578 | }, 579 | "require-dev": { 580 | "doctrine/cache": "1.*", 581 | "phpunit/phpunit": "^5.7" 582 | }, 583 | "type": "library", 584 | "extra": { 585 | "branch-alias": { 586 | "dev-master": "1.4.x-dev" 587 | } 588 | }, 589 | "autoload": { 590 | "psr-4": { 591 | "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" 592 | } 593 | }, 594 | "notification-url": "https://packagist.org/downloads/", 595 | "license": [ 596 | "MIT" 597 | ], 598 | "authors": [ 599 | { 600 | "name": "Roman Borschel", 601 | "email": "roman@code-factory.org" 602 | }, 603 | { 604 | "name": "Benjamin Eberlei", 605 | "email": "kontakt@beberlei.de" 606 | }, 607 | { 608 | "name": "Guilherme Blanco", 609 | "email": "guilhermeblanco@gmail.com" 610 | }, 611 | { 612 | "name": "Jonathan Wage", 613 | "email": "jonwage@gmail.com" 614 | }, 615 | { 616 | "name": "Johannes Schmitt", 617 | "email": "schmittjoh@gmail.com" 618 | } 619 | ], 620 | "description": "Docblock Annotations Parser", 621 | "homepage": "http://www.doctrine-project.org", 622 | "keywords": [ 623 | "annotations", 624 | "docblock", 625 | "parser" 626 | ], 627 | "time": "2017-02-24T16:22:25+00:00" 628 | }, 629 | { 630 | "name": "doctrine/instantiator", 631 | "version": "1.0.5", 632 | "source": { 633 | "type": "git", 634 | "url": "https://github.com/doctrine/instantiator.git", 635 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" 636 | }, 637 | "dist": { 638 | "type": "zip", 639 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", 640 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", 641 | "shasum": "" 642 | }, 643 | "require": { 644 | "php": ">=5.3,<8.0-DEV" 645 | }, 646 | "require-dev": { 647 | "athletic/athletic": "~0.1.8", 648 | "ext-pdo": "*", 649 | "ext-phar": "*", 650 | "phpunit/phpunit": "~4.0", 651 | "squizlabs/php_codesniffer": "~2.0" 652 | }, 653 | "type": "library", 654 | "extra": { 655 | "branch-alias": { 656 | "dev-master": "1.0.x-dev" 657 | } 658 | }, 659 | "autoload": { 660 | "psr-4": { 661 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 662 | } 663 | }, 664 | "notification-url": "https://packagist.org/downloads/", 665 | "license": [ 666 | "MIT" 667 | ], 668 | "authors": [ 669 | { 670 | "name": "Marco Pivetta", 671 | "email": "ocramius@gmail.com", 672 | "homepage": "http://ocramius.github.com/" 673 | } 674 | ], 675 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 676 | "homepage": "https://github.com/doctrine/instantiator", 677 | "keywords": [ 678 | "constructor", 679 | "instantiate" 680 | ], 681 | "time": "2015-06-14T21:17:01+00:00" 682 | }, 683 | { 684 | "name": "doctrine/lexer", 685 | "version": "v1.0.1", 686 | "source": { 687 | "type": "git", 688 | "url": "https://github.com/doctrine/lexer.git", 689 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" 690 | }, 691 | "dist": { 692 | "type": "zip", 693 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", 694 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", 695 | "shasum": "" 696 | }, 697 | "require": { 698 | "php": ">=5.3.2" 699 | }, 700 | "type": "library", 701 | "extra": { 702 | "branch-alias": { 703 | "dev-master": "1.0.x-dev" 704 | } 705 | }, 706 | "autoload": { 707 | "psr-0": { 708 | "Doctrine\\Common\\Lexer\\": "lib/" 709 | } 710 | }, 711 | "notification-url": "https://packagist.org/downloads/", 712 | "license": [ 713 | "MIT" 714 | ], 715 | "authors": [ 716 | { 717 | "name": "Roman Borschel", 718 | "email": "roman@code-factory.org" 719 | }, 720 | { 721 | "name": "Guilherme Blanco", 722 | "email": "guilhermeblanco@gmail.com" 723 | }, 724 | { 725 | "name": "Johannes Schmitt", 726 | "email": "schmittjoh@gmail.com" 727 | } 728 | ], 729 | "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", 730 | "homepage": "http://www.doctrine-project.org", 731 | "keywords": [ 732 | "lexer", 733 | "parser" 734 | ], 735 | "time": "2014-09-09T13:34:57+00:00" 736 | }, 737 | { 738 | "name": "friendsofphp/php-cs-fixer", 739 | "version": "v2.3.2", 740 | "source": { 741 | "type": "git", 742 | "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", 743 | "reference": "597745f744bcce1aed59dfd1bb4603de2a06cda9" 744 | }, 745 | "dist": { 746 | "type": "zip", 747 | "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/597745f744bcce1aed59dfd1bb4603de2a06cda9", 748 | "reference": "597745f744bcce1aed59dfd1bb4603de2a06cda9", 749 | "shasum": "" 750 | }, 751 | "require": { 752 | "doctrine/annotations": "^1.2", 753 | "ext-json": "*", 754 | "ext-tokenizer": "*", 755 | "gecko-packages/gecko-php-unit": "^2.0", 756 | "php": "^5.6 || >=7.0 <7.2", 757 | "sebastian/diff": "^1.4", 758 | "symfony/console": "^3.0", 759 | "symfony/event-dispatcher": "^3.0", 760 | "symfony/filesystem": "^3.0", 761 | "symfony/finder": "^3.0", 762 | "symfony/options-resolver": "^3.0", 763 | "symfony/polyfill-php70": "^1.0", 764 | "symfony/polyfill-xml": "^1.3", 765 | "symfony/process": "^3.0", 766 | "symfony/stopwatch": "^3.0" 767 | }, 768 | "conflict": { 769 | "hhvm": "<3.18" 770 | }, 771 | "require-dev": { 772 | "johnkary/phpunit-speedtrap": "^1.1", 773 | "justinrainbow/json-schema": "^5.0", 774 | "mi-schi/phpmd-extension": "^4.2", 775 | "phpmd/phpmd": "^2.4.3", 776 | "phpunit/phpunit": "^4.8.35 || ^5.4.3", 777 | "satooshi/php-coveralls": "^1.0", 778 | "symfony/phpunit-bridge": "^3.2.2" 779 | }, 780 | "suggest": { 781 | "ext-mbstring": "For handling non-UTF8 characters in cache signature.", 782 | "ext-xml": "For better performance.", 783 | "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." 784 | }, 785 | "bin": [ 786 | "php-cs-fixer" 787 | ], 788 | "type": "application", 789 | "extra": { 790 | "branch-alias": { 791 | "dev-master": "2.3-dev" 792 | } 793 | }, 794 | "autoload": { 795 | "psr-4": { 796 | "PhpCsFixer\\": "src/" 797 | } 798 | }, 799 | "notification-url": "https://packagist.org/downloads/", 800 | "license": [ 801 | "MIT" 802 | ], 803 | "authors": [ 804 | { 805 | "name": "Dariusz Rumiński", 806 | "email": "dariusz.ruminski@gmail.com" 807 | }, 808 | { 809 | "name": "Fabien Potencier", 810 | "email": "fabien@symfony.com" 811 | } 812 | ], 813 | "description": "A tool to automatically fix PHP code style", 814 | "time": "2017-05-24T21:59:38+00:00" 815 | }, 816 | { 817 | "name": "gecko-packages/gecko-php-unit", 818 | "version": "v2.1", 819 | "source": { 820 | "type": "git", 821 | "url": "https://github.com/GeckoPackages/GeckoPHPUnit.git", 822 | "reference": "5b9e9622c7efd3b22655270b80c03f9e52878a6e" 823 | }, 824 | "dist": { 825 | "type": "zip", 826 | "url": "https://api.github.com/repos/GeckoPackages/GeckoPHPUnit/zipball/5b9e9622c7efd3b22655270b80c03f9e52878a6e", 827 | "reference": "5b9e9622c7efd3b22655270b80c03f9e52878a6e", 828 | "shasum": "" 829 | }, 830 | "require": { 831 | "php": "^5.3.6 || ^7.0" 832 | }, 833 | "require-dev": { 834 | "phpunit/phpunit": "^4.8.35 || ^5.4.3" 835 | }, 836 | "type": "library", 837 | "autoload": { 838 | "psr-4": { 839 | "GeckoPackages\\PHPUnit\\": "src\\PHPUnit" 840 | } 841 | }, 842 | "notification-url": "https://packagist.org/downloads/", 843 | "license": [ 844 | "MIT" 845 | ], 846 | "description": "Additional PHPUnit tests.", 847 | "homepage": "https://github.com/GeckoPackages", 848 | "keywords": [ 849 | "extension", 850 | "filesystem", 851 | "phpunit" 852 | ], 853 | "time": "2017-06-20T11:22:48+00:00" 854 | }, 855 | { 856 | "name": "paragonie/random_compat", 857 | "version": "v2.0.10", 858 | "source": { 859 | "type": "git", 860 | "url": "https://github.com/paragonie/random_compat.git", 861 | "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" 862 | }, 863 | "dist": { 864 | "type": "zip", 865 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", 866 | "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", 867 | "shasum": "" 868 | }, 869 | "require": { 870 | "php": ">=5.2.0" 871 | }, 872 | "require-dev": { 873 | "phpunit/phpunit": "4.*|5.*" 874 | }, 875 | "suggest": { 876 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." 877 | }, 878 | "type": "library", 879 | "autoload": { 880 | "files": [ 881 | "lib/random.php" 882 | ] 883 | }, 884 | "notification-url": "https://packagist.org/downloads/", 885 | "license": [ 886 | "MIT" 887 | ], 888 | "authors": [ 889 | { 890 | "name": "Paragon Initiative Enterprises", 891 | "email": "security@paragonie.com", 892 | "homepage": "https://paragonie.com" 893 | } 894 | ], 895 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", 896 | "keywords": [ 897 | "csprng", 898 | "pseudorandom", 899 | "random" 900 | ], 901 | "time": "2017-03-13T16:27:32+00:00" 902 | }, 903 | { 904 | "name": "phpdocumentor/reflection-common", 905 | "version": "1.0", 906 | "source": { 907 | "type": "git", 908 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 909 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" 910 | }, 911 | "dist": { 912 | "type": "zip", 913 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 914 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 915 | "shasum": "" 916 | }, 917 | "require": { 918 | "php": ">=5.5" 919 | }, 920 | "require-dev": { 921 | "phpunit/phpunit": "^4.6" 922 | }, 923 | "type": "library", 924 | "extra": { 925 | "branch-alias": { 926 | "dev-master": "1.0.x-dev" 927 | } 928 | }, 929 | "autoload": { 930 | "psr-4": { 931 | "phpDocumentor\\Reflection\\": [ 932 | "src" 933 | ] 934 | } 935 | }, 936 | "notification-url": "https://packagist.org/downloads/", 937 | "license": [ 938 | "MIT" 939 | ], 940 | "authors": [ 941 | { 942 | "name": "Jaap van Otterdijk", 943 | "email": "opensource@ijaap.nl" 944 | } 945 | ], 946 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 947 | "homepage": "http://www.phpdoc.org", 948 | "keywords": [ 949 | "FQSEN", 950 | "phpDocumentor", 951 | "phpdoc", 952 | "reflection", 953 | "static analysis" 954 | ], 955 | "time": "2015-12-27T11:43:31+00:00" 956 | }, 957 | { 958 | "name": "phpdocumentor/reflection-docblock", 959 | "version": "3.1.1", 960 | "source": { 961 | "type": "git", 962 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 963 | "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" 964 | }, 965 | "dist": { 966 | "type": "zip", 967 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", 968 | "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", 969 | "shasum": "" 970 | }, 971 | "require": { 972 | "php": ">=5.5", 973 | "phpdocumentor/reflection-common": "^1.0@dev", 974 | "phpdocumentor/type-resolver": "^0.2.0", 975 | "webmozart/assert": "^1.0" 976 | }, 977 | "require-dev": { 978 | "mockery/mockery": "^0.9.4", 979 | "phpunit/phpunit": "^4.4" 980 | }, 981 | "type": "library", 982 | "autoload": { 983 | "psr-4": { 984 | "phpDocumentor\\Reflection\\": [ 985 | "src/" 986 | ] 987 | } 988 | }, 989 | "notification-url": "https://packagist.org/downloads/", 990 | "license": [ 991 | "MIT" 992 | ], 993 | "authors": [ 994 | { 995 | "name": "Mike van Riel", 996 | "email": "me@mikevanriel.com" 997 | } 998 | ], 999 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 1000 | "time": "2016-09-30T07:12:33+00:00" 1001 | }, 1002 | { 1003 | "name": "phpdocumentor/type-resolver", 1004 | "version": "0.2.1", 1005 | "source": { 1006 | "type": "git", 1007 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 1008 | "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" 1009 | }, 1010 | "dist": { 1011 | "type": "zip", 1012 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", 1013 | "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", 1014 | "shasum": "" 1015 | }, 1016 | "require": { 1017 | "php": ">=5.5", 1018 | "phpdocumentor/reflection-common": "^1.0" 1019 | }, 1020 | "require-dev": { 1021 | "mockery/mockery": "^0.9.4", 1022 | "phpunit/phpunit": "^5.2||^4.8.24" 1023 | }, 1024 | "type": "library", 1025 | "extra": { 1026 | "branch-alias": { 1027 | "dev-master": "1.0.x-dev" 1028 | } 1029 | }, 1030 | "autoload": { 1031 | "psr-4": { 1032 | "phpDocumentor\\Reflection\\": [ 1033 | "src/" 1034 | ] 1035 | } 1036 | }, 1037 | "notification-url": "https://packagist.org/downloads/", 1038 | "license": [ 1039 | "MIT" 1040 | ], 1041 | "authors": [ 1042 | { 1043 | "name": "Mike van Riel", 1044 | "email": "me@mikevanriel.com" 1045 | } 1046 | ], 1047 | "time": "2016-11-25T06:54:22+00:00" 1048 | }, 1049 | { 1050 | "name": "phpspec/prophecy", 1051 | "version": "v1.7.0", 1052 | "source": { 1053 | "type": "git", 1054 | "url": "https://github.com/phpspec/prophecy.git", 1055 | "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" 1056 | }, 1057 | "dist": { 1058 | "type": "zip", 1059 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", 1060 | "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", 1061 | "shasum": "" 1062 | }, 1063 | "require": { 1064 | "doctrine/instantiator": "^1.0.2", 1065 | "php": "^5.3|^7.0", 1066 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", 1067 | "sebastian/comparator": "^1.1|^2.0", 1068 | "sebastian/recursion-context": "^1.0|^2.0|^3.0" 1069 | }, 1070 | "require-dev": { 1071 | "phpspec/phpspec": "^2.5|^3.2", 1072 | "phpunit/phpunit": "^4.8 || ^5.6.5" 1073 | }, 1074 | "type": "library", 1075 | "extra": { 1076 | "branch-alias": { 1077 | "dev-master": "1.6.x-dev" 1078 | } 1079 | }, 1080 | "autoload": { 1081 | "psr-0": { 1082 | "Prophecy\\": "src/" 1083 | } 1084 | }, 1085 | "notification-url": "https://packagist.org/downloads/", 1086 | "license": [ 1087 | "MIT" 1088 | ], 1089 | "authors": [ 1090 | { 1091 | "name": "Konstantin Kudryashov", 1092 | "email": "ever.zet@gmail.com", 1093 | "homepage": "http://everzet.com" 1094 | }, 1095 | { 1096 | "name": "Marcello Duarte", 1097 | "email": "marcello.duarte@gmail.com" 1098 | } 1099 | ], 1100 | "description": "Highly opinionated mocking framework for PHP 5.3+", 1101 | "homepage": "https://github.com/phpspec/prophecy", 1102 | "keywords": [ 1103 | "Double", 1104 | "Dummy", 1105 | "fake", 1106 | "mock", 1107 | "spy", 1108 | "stub" 1109 | ], 1110 | "time": "2017-03-02T20:05:34+00:00" 1111 | }, 1112 | { 1113 | "name": "phpunit/php-code-coverage", 1114 | "version": "2.2.4", 1115 | "source": { 1116 | "type": "git", 1117 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 1118 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" 1119 | }, 1120 | "dist": { 1121 | "type": "zip", 1122 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", 1123 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", 1124 | "shasum": "" 1125 | }, 1126 | "require": { 1127 | "php": ">=5.3.3", 1128 | "phpunit/php-file-iterator": "~1.3", 1129 | "phpunit/php-text-template": "~1.2", 1130 | "phpunit/php-token-stream": "~1.3", 1131 | "sebastian/environment": "^1.3.2", 1132 | "sebastian/version": "~1.0" 1133 | }, 1134 | "require-dev": { 1135 | "ext-xdebug": ">=2.1.4", 1136 | "phpunit/phpunit": "~4" 1137 | }, 1138 | "suggest": { 1139 | "ext-dom": "*", 1140 | "ext-xdebug": ">=2.2.1", 1141 | "ext-xmlwriter": "*" 1142 | }, 1143 | "type": "library", 1144 | "extra": { 1145 | "branch-alias": { 1146 | "dev-master": "2.2.x-dev" 1147 | } 1148 | }, 1149 | "autoload": { 1150 | "classmap": [ 1151 | "src/" 1152 | ] 1153 | }, 1154 | "notification-url": "https://packagist.org/downloads/", 1155 | "license": [ 1156 | "BSD-3-Clause" 1157 | ], 1158 | "authors": [ 1159 | { 1160 | "name": "Sebastian Bergmann", 1161 | "email": "sb@sebastian-bergmann.de", 1162 | "role": "lead" 1163 | } 1164 | ], 1165 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 1166 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 1167 | "keywords": [ 1168 | "coverage", 1169 | "testing", 1170 | "xunit" 1171 | ], 1172 | "time": "2015-10-06T15:47:00+00:00" 1173 | }, 1174 | { 1175 | "name": "phpunit/php-file-iterator", 1176 | "version": "1.4.2", 1177 | "source": { 1178 | "type": "git", 1179 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 1180 | "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" 1181 | }, 1182 | "dist": { 1183 | "type": "zip", 1184 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", 1185 | "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", 1186 | "shasum": "" 1187 | }, 1188 | "require": { 1189 | "php": ">=5.3.3" 1190 | }, 1191 | "type": "library", 1192 | "extra": { 1193 | "branch-alias": { 1194 | "dev-master": "1.4.x-dev" 1195 | } 1196 | }, 1197 | "autoload": { 1198 | "classmap": [ 1199 | "src/" 1200 | ] 1201 | }, 1202 | "notification-url": "https://packagist.org/downloads/", 1203 | "license": [ 1204 | "BSD-3-Clause" 1205 | ], 1206 | "authors": [ 1207 | { 1208 | "name": "Sebastian Bergmann", 1209 | "email": "sb@sebastian-bergmann.de", 1210 | "role": "lead" 1211 | } 1212 | ], 1213 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 1214 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 1215 | "keywords": [ 1216 | "filesystem", 1217 | "iterator" 1218 | ], 1219 | "time": "2016-10-03T07:40:28+00:00" 1220 | }, 1221 | { 1222 | "name": "phpunit/php-text-template", 1223 | "version": "1.2.1", 1224 | "source": { 1225 | "type": "git", 1226 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 1227 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 1228 | }, 1229 | "dist": { 1230 | "type": "zip", 1231 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1232 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1233 | "shasum": "" 1234 | }, 1235 | "require": { 1236 | "php": ">=5.3.3" 1237 | }, 1238 | "type": "library", 1239 | "autoload": { 1240 | "classmap": [ 1241 | "src/" 1242 | ] 1243 | }, 1244 | "notification-url": "https://packagist.org/downloads/", 1245 | "license": [ 1246 | "BSD-3-Clause" 1247 | ], 1248 | "authors": [ 1249 | { 1250 | "name": "Sebastian Bergmann", 1251 | "email": "sebastian@phpunit.de", 1252 | "role": "lead" 1253 | } 1254 | ], 1255 | "description": "Simple template engine.", 1256 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1257 | "keywords": [ 1258 | "template" 1259 | ], 1260 | "time": "2015-06-21T13:50:34+00:00" 1261 | }, 1262 | { 1263 | "name": "phpunit/php-timer", 1264 | "version": "1.0.9", 1265 | "source": { 1266 | "type": "git", 1267 | "url": "https://github.com/sebastianbergmann/php-timer.git", 1268 | "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" 1269 | }, 1270 | "dist": { 1271 | "type": "zip", 1272 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", 1273 | "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", 1274 | "shasum": "" 1275 | }, 1276 | "require": { 1277 | "php": "^5.3.3 || ^7.0" 1278 | }, 1279 | "require-dev": { 1280 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 1281 | }, 1282 | "type": "library", 1283 | "extra": { 1284 | "branch-alias": { 1285 | "dev-master": "1.0-dev" 1286 | } 1287 | }, 1288 | "autoload": { 1289 | "classmap": [ 1290 | "src/" 1291 | ] 1292 | }, 1293 | "notification-url": "https://packagist.org/downloads/", 1294 | "license": [ 1295 | "BSD-3-Clause" 1296 | ], 1297 | "authors": [ 1298 | { 1299 | "name": "Sebastian Bergmann", 1300 | "email": "sb@sebastian-bergmann.de", 1301 | "role": "lead" 1302 | } 1303 | ], 1304 | "description": "Utility class for timing", 1305 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 1306 | "keywords": [ 1307 | "timer" 1308 | ], 1309 | "time": "2017-02-26T11:10:40+00:00" 1310 | }, 1311 | { 1312 | "name": "phpunit/php-token-stream", 1313 | "version": "1.4.11", 1314 | "source": { 1315 | "type": "git", 1316 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 1317 | "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" 1318 | }, 1319 | "dist": { 1320 | "type": "zip", 1321 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", 1322 | "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", 1323 | "shasum": "" 1324 | }, 1325 | "require": { 1326 | "ext-tokenizer": "*", 1327 | "php": ">=5.3.3" 1328 | }, 1329 | "require-dev": { 1330 | "phpunit/phpunit": "~4.2" 1331 | }, 1332 | "type": "library", 1333 | "extra": { 1334 | "branch-alias": { 1335 | "dev-master": "1.4-dev" 1336 | } 1337 | }, 1338 | "autoload": { 1339 | "classmap": [ 1340 | "src/" 1341 | ] 1342 | }, 1343 | "notification-url": "https://packagist.org/downloads/", 1344 | "license": [ 1345 | "BSD-3-Clause" 1346 | ], 1347 | "authors": [ 1348 | { 1349 | "name": "Sebastian Bergmann", 1350 | "email": "sebastian@phpunit.de" 1351 | } 1352 | ], 1353 | "description": "Wrapper around PHP's tokenizer extension.", 1354 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 1355 | "keywords": [ 1356 | "tokenizer" 1357 | ], 1358 | "time": "2017-02-27T10:12:30+00:00" 1359 | }, 1360 | { 1361 | "name": "phpunit/phpunit", 1362 | "version": "4.8.36", 1363 | "source": { 1364 | "type": "git", 1365 | "url": "https://github.com/sebastianbergmann/phpunit.git", 1366 | "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" 1367 | }, 1368 | "dist": { 1369 | "type": "zip", 1370 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", 1371 | "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", 1372 | "shasum": "" 1373 | }, 1374 | "require": { 1375 | "ext-dom": "*", 1376 | "ext-json": "*", 1377 | "ext-pcre": "*", 1378 | "ext-reflection": "*", 1379 | "ext-spl": "*", 1380 | "php": ">=5.3.3", 1381 | "phpspec/prophecy": "^1.3.1", 1382 | "phpunit/php-code-coverage": "~2.1", 1383 | "phpunit/php-file-iterator": "~1.4", 1384 | "phpunit/php-text-template": "~1.2", 1385 | "phpunit/php-timer": "^1.0.6", 1386 | "phpunit/phpunit-mock-objects": "~2.3", 1387 | "sebastian/comparator": "~1.2.2", 1388 | "sebastian/diff": "~1.2", 1389 | "sebastian/environment": "~1.3", 1390 | "sebastian/exporter": "~1.2", 1391 | "sebastian/global-state": "~1.0", 1392 | "sebastian/version": "~1.0", 1393 | "symfony/yaml": "~2.1|~3.0" 1394 | }, 1395 | "suggest": { 1396 | "phpunit/php-invoker": "~1.1" 1397 | }, 1398 | "bin": [ 1399 | "phpunit" 1400 | ], 1401 | "type": "library", 1402 | "extra": { 1403 | "branch-alias": { 1404 | "dev-master": "4.8.x-dev" 1405 | } 1406 | }, 1407 | "autoload": { 1408 | "classmap": [ 1409 | "src/" 1410 | ] 1411 | }, 1412 | "notification-url": "https://packagist.org/downloads/", 1413 | "license": [ 1414 | "BSD-3-Clause" 1415 | ], 1416 | "authors": [ 1417 | { 1418 | "name": "Sebastian Bergmann", 1419 | "email": "sebastian@phpunit.de", 1420 | "role": "lead" 1421 | } 1422 | ], 1423 | "description": "The PHP Unit Testing framework.", 1424 | "homepage": "https://phpunit.de/", 1425 | "keywords": [ 1426 | "phpunit", 1427 | "testing", 1428 | "xunit" 1429 | ], 1430 | "time": "2017-06-21T08:07:12+00:00" 1431 | }, 1432 | { 1433 | "name": "phpunit/phpunit-mock-objects", 1434 | "version": "2.3.8", 1435 | "source": { 1436 | "type": "git", 1437 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 1438 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" 1439 | }, 1440 | "dist": { 1441 | "type": "zip", 1442 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", 1443 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", 1444 | "shasum": "" 1445 | }, 1446 | "require": { 1447 | "doctrine/instantiator": "^1.0.2", 1448 | "php": ">=5.3.3", 1449 | "phpunit/php-text-template": "~1.2", 1450 | "sebastian/exporter": "~1.2" 1451 | }, 1452 | "require-dev": { 1453 | "phpunit/phpunit": "~4.4" 1454 | }, 1455 | "suggest": { 1456 | "ext-soap": "*" 1457 | }, 1458 | "type": "library", 1459 | "extra": { 1460 | "branch-alias": { 1461 | "dev-master": "2.3.x-dev" 1462 | } 1463 | }, 1464 | "autoload": { 1465 | "classmap": [ 1466 | "src/" 1467 | ] 1468 | }, 1469 | "notification-url": "https://packagist.org/downloads/", 1470 | "license": [ 1471 | "BSD-3-Clause" 1472 | ], 1473 | "authors": [ 1474 | { 1475 | "name": "Sebastian Bergmann", 1476 | "email": "sb@sebastian-bergmann.de", 1477 | "role": "lead" 1478 | } 1479 | ], 1480 | "description": "Mock Object library for PHPUnit", 1481 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 1482 | "keywords": [ 1483 | "mock", 1484 | "xunit" 1485 | ], 1486 | "time": "2015-10-02T06:51:40+00:00" 1487 | }, 1488 | { 1489 | "name": "psr/log", 1490 | "version": "1.0.2", 1491 | "source": { 1492 | "type": "git", 1493 | "url": "https://github.com/php-fig/log.git", 1494 | "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" 1495 | }, 1496 | "dist": { 1497 | "type": "zip", 1498 | "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", 1499 | "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", 1500 | "shasum": "" 1501 | }, 1502 | "require": { 1503 | "php": ">=5.3.0" 1504 | }, 1505 | "type": "library", 1506 | "extra": { 1507 | "branch-alias": { 1508 | "dev-master": "1.0.x-dev" 1509 | } 1510 | }, 1511 | "autoload": { 1512 | "psr-4": { 1513 | "Psr\\Log\\": "Psr/Log/" 1514 | } 1515 | }, 1516 | "notification-url": "https://packagist.org/downloads/", 1517 | "license": [ 1518 | "MIT" 1519 | ], 1520 | "authors": [ 1521 | { 1522 | "name": "PHP-FIG", 1523 | "homepage": "http://www.php-fig.org/" 1524 | } 1525 | ], 1526 | "description": "Common interface for logging libraries", 1527 | "homepage": "https://github.com/php-fig/log", 1528 | "keywords": [ 1529 | "log", 1530 | "psr", 1531 | "psr-3" 1532 | ], 1533 | "time": "2016-10-10T12:19:37+00:00" 1534 | }, 1535 | { 1536 | "name": "sebastian/comparator", 1537 | "version": "1.2.4", 1538 | "source": { 1539 | "type": "git", 1540 | "url": "https://github.com/sebastianbergmann/comparator.git", 1541 | "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" 1542 | }, 1543 | "dist": { 1544 | "type": "zip", 1545 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", 1546 | "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", 1547 | "shasum": "" 1548 | }, 1549 | "require": { 1550 | "php": ">=5.3.3", 1551 | "sebastian/diff": "~1.2", 1552 | "sebastian/exporter": "~1.2 || ~2.0" 1553 | }, 1554 | "require-dev": { 1555 | "phpunit/phpunit": "~4.4" 1556 | }, 1557 | "type": "library", 1558 | "extra": { 1559 | "branch-alias": { 1560 | "dev-master": "1.2.x-dev" 1561 | } 1562 | }, 1563 | "autoload": { 1564 | "classmap": [ 1565 | "src/" 1566 | ] 1567 | }, 1568 | "notification-url": "https://packagist.org/downloads/", 1569 | "license": [ 1570 | "BSD-3-Clause" 1571 | ], 1572 | "authors": [ 1573 | { 1574 | "name": "Jeff Welch", 1575 | "email": "whatthejeff@gmail.com" 1576 | }, 1577 | { 1578 | "name": "Volker Dusch", 1579 | "email": "github@wallbash.com" 1580 | }, 1581 | { 1582 | "name": "Bernhard Schussek", 1583 | "email": "bschussek@2bepublished.at" 1584 | }, 1585 | { 1586 | "name": "Sebastian Bergmann", 1587 | "email": "sebastian@phpunit.de" 1588 | } 1589 | ], 1590 | "description": "Provides the functionality to compare PHP values for equality", 1591 | "homepage": "http://www.github.com/sebastianbergmann/comparator", 1592 | "keywords": [ 1593 | "comparator", 1594 | "compare", 1595 | "equality" 1596 | ], 1597 | "time": "2017-01-29T09:50:25+00:00" 1598 | }, 1599 | { 1600 | "name": "sebastian/diff", 1601 | "version": "1.4.3", 1602 | "source": { 1603 | "type": "git", 1604 | "url": "https://github.com/sebastianbergmann/diff.git", 1605 | "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" 1606 | }, 1607 | "dist": { 1608 | "type": "zip", 1609 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", 1610 | "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", 1611 | "shasum": "" 1612 | }, 1613 | "require": { 1614 | "php": "^5.3.3 || ^7.0" 1615 | }, 1616 | "require-dev": { 1617 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 1618 | }, 1619 | "type": "library", 1620 | "extra": { 1621 | "branch-alias": { 1622 | "dev-master": "1.4-dev" 1623 | } 1624 | }, 1625 | "autoload": { 1626 | "classmap": [ 1627 | "src/" 1628 | ] 1629 | }, 1630 | "notification-url": "https://packagist.org/downloads/", 1631 | "license": [ 1632 | "BSD-3-Clause" 1633 | ], 1634 | "authors": [ 1635 | { 1636 | "name": "Kore Nordmann", 1637 | "email": "mail@kore-nordmann.de" 1638 | }, 1639 | { 1640 | "name": "Sebastian Bergmann", 1641 | "email": "sebastian@phpunit.de" 1642 | } 1643 | ], 1644 | "description": "Diff implementation", 1645 | "homepage": "https://github.com/sebastianbergmann/diff", 1646 | "keywords": [ 1647 | "diff" 1648 | ], 1649 | "time": "2017-05-22T07:24:03+00:00" 1650 | }, 1651 | { 1652 | "name": "sebastian/environment", 1653 | "version": "1.3.8", 1654 | "source": { 1655 | "type": "git", 1656 | "url": "https://github.com/sebastianbergmann/environment.git", 1657 | "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" 1658 | }, 1659 | "dist": { 1660 | "type": "zip", 1661 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", 1662 | "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", 1663 | "shasum": "" 1664 | }, 1665 | "require": { 1666 | "php": "^5.3.3 || ^7.0" 1667 | }, 1668 | "require-dev": { 1669 | "phpunit/phpunit": "^4.8 || ^5.0" 1670 | }, 1671 | "type": "library", 1672 | "extra": { 1673 | "branch-alias": { 1674 | "dev-master": "1.3.x-dev" 1675 | } 1676 | }, 1677 | "autoload": { 1678 | "classmap": [ 1679 | "src/" 1680 | ] 1681 | }, 1682 | "notification-url": "https://packagist.org/downloads/", 1683 | "license": [ 1684 | "BSD-3-Clause" 1685 | ], 1686 | "authors": [ 1687 | { 1688 | "name": "Sebastian Bergmann", 1689 | "email": "sebastian@phpunit.de" 1690 | } 1691 | ], 1692 | "description": "Provides functionality to handle HHVM/PHP environments", 1693 | "homepage": "http://www.github.com/sebastianbergmann/environment", 1694 | "keywords": [ 1695 | "Xdebug", 1696 | "environment", 1697 | "hhvm" 1698 | ], 1699 | "time": "2016-08-18T05:49:44+00:00" 1700 | }, 1701 | { 1702 | "name": "sebastian/exporter", 1703 | "version": "1.2.2", 1704 | "source": { 1705 | "type": "git", 1706 | "url": "https://github.com/sebastianbergmann/exporter.git", 1707 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" 1708 | }, 1709 | "dist": { 1710 | "type": "zip", 1711 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", 1712 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", 1713 | "shasum": "" 1714 | }, 1715 | "require": { 1716 | "php": ">=5.3.3", 1717 | "sebastian/recursion-context": "~1.0" 1718 | }, 1719 | "require-dev": { 1720 | "ext-mbstring": "*", 1721 | "phpunit/phpunit": "~4.4" 1722 | }, 1723 | "type": "library", 1724 | "extra": { 1725 | "branch-alias": { 1726 | "dev-master": "1.3.x-dev" 1727 | } 1728 | }, 1729 | "autoload": { 1730 | "classmap": [ 1731 | "src/" 1732 | ] 1733 | }, 1734 | "notification-url": "https://packagist.org/downloads/", 1735 | "license": [ 1736 | "BSD-3-Clause" 1737 | ], 1738 | "authors": [ 1739 | { 1740 | "name": "Jeff Welch", 1741 | "email": "whatthejeff@gmail.com" 1742 | }, 1743 | { 1744 | "name": "Volker Dusch", 1745 | "email": "github@wallbash.com" 1746 | }, 1747 | { 1748 | "name": "Bernhard Schussek", 1749 | "email": "bschussek@2bepublished.at" 1750 | }, 1751 | { 1752 | "name": "Sebastian Bergmann", 1753 | "email": "sebastian@phpunit.de" 1754 | }, 1755 | { 1756 | "name": "Adam Harvey", 1757 | "email": "aharvey@php.net" 1758 | } 1759 | ], 1760 | "description": "Provides the functionality to export PHP variables for visualization", 1761 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 1762 | "keywords": [ 1763 | "export", 1764 | "exporter" 1765 | ], 1766 | "time": "2016-06-17T09:04:28+00:00" 1767 | }, 1768 | { 1769 | "name": "sebastian/global-state", 1770 | "version": "1.1.1", 1771 | "source": { 1772 | "type": "git", 1773 | "url": "https://github.com/sebastianbergmann/global-state.git", 1774 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" 1775 | }, 1776 | "dist": { 1777 | "type": "zip", 1778 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", 1779 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", 1780 | "shasum": "" 1781 | }, 1782 | "require": { 1783 | "php": ">=5.3.3" 1784 | }, 1785 | "require-dev": { 1786 | "phpunit/phpunit": "~4.2" 1787 | }, 1788 | "suggest": { 1789 | "ext-uopz": "*" 1790 | }, 1791 | "type": "library", 1792 | "extra": { 1793 | "branch-alias": { 1794 | "dev-master": "1.0-dev" 1795 | } 1796 | }, 1797 | "autoload": { 1798 | "classmap": [ 1799 | "src/" 1800 | ] 1801 | }, 1802 | "notification-url": "https://packagist.org/downloads/", 1803 | "license": [ 1804 | "BSD-3-Clause" 1805 | ], 1806 | "authors": [ 1807 | { 1808 | "name": "Sebastian Bergmann", 1809 | "email": "sebastian@phpunit.de" 1810 | } 1811 | ], 1812 | "description": "Snapshotting of global state", 1813 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 1814 | "keywords": [ 1815 | "global state" 1816 | ], 1817 | "time": "2015-10-12T03:26:01+00:00" 1818 | }, 1819 | { 1820 | "name": "sebastian/recursion-context", 1821 | "version": "1.0.5", 1822 | "source": { 1823 | "type": "git", 1824 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 1825 | "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" 1826 | }, 1827 | "dist": { 1828 | "type": "zip", 1829 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", 1830 | "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", 1831 | "shasum": "" 1832 | }, 1833 | "require": { 1834 | "php": ">=5.3.3" 1835 | }, 1836 | "require-dev": { 1837 | "phpunit/phpunit": "~4.4" 1838 | }, 1839 | "type": "library", 1840 | "extra": { 1841 | "branch-alias": { 1842 | "dev-master": "1.0.x-dev" 1843 | } 1844 | }, 1845 | "autoload": { 1846 | "classmap": [ 1847 | "src/" 1848 | ] 1849 | }, 1850 | "notification-url": "https://packagist.org/downloads/", 1851 | "license": [ 1852 | "BSD-3-Clause" 1853 | ], 1854 | "authors": [ 1855 | { 1856 | "name": "Jeff Welch", 1857 | "email": "whatthejeff@gmail.com" 1858 | }, 1859 | { 1860 | "name": "Sebastian Bergmann", 1861 | "email": "sebastian@phpunit.de" 1862 | }, 1863 | { 1864 | "name": "Adam Harvey", 1865 | "email": "aharvey@php.net" 1866 | } 1867 | ], 1868 | "description": "Provides functionality to recursively process PHP variables", 1869 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 1870 | "time": "2016-10-03T07:41:43+00:00" 1871 | }, 1872 | { 1873 | "name": "sebastian/version", 1874 | "version": "1.0.6", 1875 | "source": { 1876 | "type": "git", 1877 | "url": "https://github.com/sebastianbergmann/version.git", 1878 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" 1879 | }, 1880 | "dist": { 1881 | "type": "zip", 1882 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1883 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1884 | "shasum": "" 1885 | }, 1886 | "type": "library", 1887 | "autoload": { 1888 | "classmap": [ 1889 | "src/" 1890 | ] 1891 | }, 1892 | "notification-url": "https://packagist.org/downloads/", 1893 | "license": [ 1894 | "BSD-3-Clause" 1895 | ], 1896 | "authors": [ 1897 | { 1898 | "name": "Sebastian Bergmann", 1899 | "email": "sebastian@phpunit.de", 1900 | "role": "lead" 1901 | } 1902 | ], 1903 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 1904 | "homepage": "https://github.com/sebastianbergmann/version", 1905 | "time": "2015-06-21T13:59:46+00:00" 1906 | }, 1907 | { 1908 | "name": "symfony/console", 1909 | "version": "v3.3.4", 1910 | "source": { 1911 | "type": "git", 1912 | "url": "https://github.com/symfony/console.git", 1913 | "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546" 1914 | }, 1915 | "dist": { 1916 | "type": "zip", 1917 | "url": "https://api.github.com/repos/symfony/console/zipball/a97e45d98c59510f085fa05225a1acb74dfe0546", 1918 | "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546", 1919 | "shasum": "" 1920 | }, 1921 | "require": { 1922 | "php": ">=5.5.9", 1923 | "symfony/debug": "~2.8|~3.0", 1924 | "symfony/polyfill-mbstring": "~1.0" 1925 | }, 1926 | "conflict": { 1927 | "symfony/dependency-injection": "<3.3" 1928 | }, 1929 | "require-dev": { 1930 | "psr/log": "~1.0", 1931 | "symfony/config": "~3.3", 1932 | "symfony/dependency-injection": "~3.3", 1933 | "symfony/event-dispatcher": "~2.8|~3.0", 1934 | "symfony/filesystem": "~2.8|~3.0", 1935 | "symfony/http-kernel": "~2.8|~3.0", 1936 | "symfony/process": "~2.8|~3.0" 1937 | }, 1938 | "suggest": { 1939 | "psr/log": "For using the console logger", 1940 | "symfony/event-dispatcher": "", 1941 | "symfony/filesystem": "", 1942 | "symfony/process": "" 1943 | }, 1944 | "type": "library", 1945 | "extra": { 1946 | "branch-alias": { 1947 | "dev-master": "3.3-dev" 1948 | } 1949 | }, 1950 | "autoload": { 1951 | "psr-4": { 1952 | "Symfony\\Component\\Console\\": "" 1953 | }, 1954 | "exclude-from-classmap": [ 1955 | "/Tests/" 1956 | ] 1957 | }, 1958 | "notification-url": "https://packagist.org/downloads/", 1959 | "license": [ 1960 | "MIT" 1961 | ], 1962 | "authors": [ 1963 | { 1964 | "name": "Fabien Potencier", 1965 | "email": "fabien@symfony.com" 1966 | }, 1967 | { 1968 | "name": "Symfony Community", 1969 | "homepage": "https://symfony.com/contributors" 1970 | } 1971 | ], 1972 | "description": "Symfony Console Component", 1973 | "homepage": "https://symfony.com", 1974 | "time": "2017-07-03T13:19:36+00:00" 1975 | }, 1976 | { 1977 | "name": "symfony/debug", 1978 | "version": "v3.3.4", 1979 | "source": { 1980 | "type": "git", 1981 | "url": "https://github.com/symfony/debug.git", 1982 | "reference": "63b85a968486d95ff9542228dc2e4247f16f9743" 1983 | }, 1984 | "dist": { 1985 | "type": "zip", 1986 | "url": "https://api.github.com/repos/symfony/debug/zipball/63b85a968486d95ff9542228dc2e4247f16f9743", 1987 | "reference": "63b85a968486d95ff9542228dc2e4247f16f9743", 1988 | "shasum": "" 1989 | }, 1990 | "require": { 1991 | "php": ">=5.5.9", 1992 | "psr/log": "~1.0" 1993 | }, 1994 | "conflict": { 1995 | "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" 1996 | }, 1997 | "require-dev": { 1998 | "symfony/http-kernel": "~2.8|~3.0" 1999 | }, 2000 | "type": "library", 2001 | "extra": { 2002 | "branch-alias": { 2003 | "dev-master": "3.3-dev" 2004 | } 2005 | }, 2006 | "autoload": { 2007 | "psr-4": { 2008 | "Symfony\\Component\\Debug\\": "" 2009 | }, 2010 | "exclude-from-classmap": [ 2011 | "/Tests/" 2012 | ] 2013 | }, 2014 | "notification-url": "https://packagist.org/downloads/", 2015 | "license": [ 2016 | "MIT" 2017 | ], 2018 | "authors": [ 2019 | { 2020 | "name": "Fabien Potencier", 2021 | "email": "fabien@symfony.com" 2022 | }, 2023 | { 2024 | "name": "Symfony Community", 2025 | "homepage": "https://symfony.com/contributors" 2026 | } 2027 | ], 2028 | "description": "Symfony Debug Component", 2029 | "homepage": "https://symfony.com", 2030 | "time": "2017-07-05T13:02:37+00:00" 2031 | }, 2032 | { 2033 | "name": "symfony/event-dispatcher", 2034 | "version": "v3.3.4", 2035 | "source": { 2036 | "type": "git", 2037 | "url": "https://github.com/symfony/event-dispatcher.git", 2038 | "reference": "67535f1e3fd662bdc68d7ba317c93eecd973617e" 2039 | }, 2040 | "dist": { 2041 | "type": "zip", 2042 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67535f1e3fd662bdc68d7ba317c93eecd973617e", 2043 | "reference": "67535f1e3fd662bdc68d7ba317c93eecd973617e", 2044 | "shasum": "" 2045 | }, 2046 | "require": { 2047 | "php": ">=5.5.9" 2048 | }, 2049 | "conflict": { 2050 | "symfony/dependency-injection": "<3.3" 2051 | }, 2052 | "require-dev": { 2053 | "psr/log": "~1.0", 2054 | "symfony/config": "~2.8|~3.0", 2055 | "symfony/dependency-injection": "~3.3", 2056 | "symfony/expression-language": "~2.8|~3.0", 2057 | "symfony/stopwatch": "~2.8|~3.0" 2058 | }, 2059 | "suggest": { 2060 | "symfony/dependency-injection": "", 2061 | "symfony/http-kernel": "" 2062 | }, 2063 | "type": "library", 2064 | "extra": { 2065 | "branch-alias": { 2066 | "dev-master": "3.3-dev" 2067 | } 2068 | }, 2069 | "autoload": { 2070 | "psr-4": { 2071 | "Symfony\\Component\\EventDispatcher\\": "" 2072 | }, 2073 | "exclude-from-classmap": [ 2074 | "/Tests/" 2075 | ] 2076 | }, 2077 | "notification-url": "https://packagist.org/downloads/", 2078 | "license": [ 2079 | "MIT" 2080 | ], 2081 | "authors": [ 2082 | { 2083 | "name": "Fabien Potencier", 2084 | "email": "fabien@symfony.com" 2085 | }, 2086 | { 2087 | "name": "Symfony Community", 2088 | "homepage": "https://symfony.com/contributors" 2089 | } 2090 | ], 2091 | "description": "Symfony EventDispatcher Component", 2092 | "homepage": "https://symfony.com", 2093 | "time": "2017-06-09T14:53:08+00:00" 2094 | }, 2095 | { 2096 | "name": "symfony/filesystem", 2097 | "version": "v3.3.4", 2098 | "source": { 2099 | "type": "git", 2100 | "url": "https://github.com/symfony/filesystem.git", 2101 | "reference": "311fa718389efbd8b627c272b9324a62437018cc" 2102 | }, 2103 | "dist": { 2104 | "type": "zip", 2105 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/311fa718389efbd8b627c272b9324a62437018cc", 2106 | "reference": "311fa718389efbd8b627c272b9324a62437018cc", 2107 | "shasum": "" 2108 | }, 2109 | "require": { 2110 | "php": ">=5.5.9" 2111 | }, 2112 | "type": "library", 2113 | "extra": { 2114 | "branch-alias": { 2115 | "dev-master": "3.3-dev" 2116 | } 2117 | }, 2118 | "autoload": { 2119 | "psr-4": { 2120 | "Symfony\\Component\\Filesystem\\": "" 2121 | }, 2122 | "exclude-from-classmap": [ 2123 | "/Tests/" 2124 | ] 2125 | }, 2126 | "notification-url": "https://packagist.org/downloads/", 2127 | "license": [ 2128 | "MIT" 2129 | ], 2130 | "authors": [ 2131 | { 2132 | "name": "Fabien Potencier", 2133 | "email": "fabien@symfony.com" 2134 | }, 2135 | { 2136 | "name": "Symfony Community", 2137 | "homepage": "https://symfony.com/contributors" 2138 | } 2139 | ], 2140 | "description": "Symfony Filesystem Component", 2141 | "homepage": "https://symfony.com", 2142 | "time": "2017-06-24T09:29:48+00:00" 2143 | }, 2144 | { 2145 | "name": "symfony/finder", 2146 | "version": "v3.3.4", 2147 | "source": { 2148 | "type": "git", 2149 | "url": "https://github.com/symfony/finder.git", 2150 | "reference": "baea7f66d30854ad32988c11a09d7ffd485810c4" 2151 | }, 2152 | "dist": { 2153 | "type": "zip", 2154 | "url": "https://api.github.com/repos/symfony/finder/zipball/baea7f66d30854ad32988c11a09d7ffd485810c4", 2155 | "reference": "baea7f66d30854ad32988c11a09d7ffd485810c4", 2156 | "shasum": "" 2157 | }, 2158 | "require": { 2159 | "php": ">=5.5.9" 2160 | }, 2161 | "type": "library", 2162 | "extra": { 2163 | "branch-alias": { 2164 | "dev-master": "3.3-dev" 2165 | } 2166 | }, 2167 | "autoload": { 2168 | "psr-4": { 2169 | "Symfony\\Component\\Finder\\": "" 2170 | }, 2171 | "exclude-from-classmap": [ 2172 | "/Tests/" 2173 | ] 2174 | }, 2175 | "notification-url": "https://packagist.org/downloads/", 2176 | "license": [ 2177 | "MIT" 2178 | ], 2179 | "authors": [ 2180 | { 2181 | "name": "Fabien Potencier", 2182 | "email": "fabien@symfony.com" 2183 | }, 2184 | { 2185 | "name": "Symfony Community", 2186 | "homepage": "https://symfony.com/contributors" 2187 | } 2188 | ], 2189 | "description": "Symfony Finder Component", 2190 | "homepage": "https://symfony.com", 2191 | "time": "2017-06-01T21:01:25+00:00" 2192 | }, 2193 | { 2194 | "name": "symfony/options-resolver", 2195 | "version": "v3.3.4", 2196 | "source": { 2197 | "type": "git", 2198 | "url": "https://github.com/symfony/options-resolver.git", 2199 | "reference": "ff48982d295bcac1fd861f934f041ebc73ae40f0" 2200 | }, 2201 | "dist": { 2202 | "type": "zip", 2203 | "url": "https://api.github.com/repos/symfony/options-resolver/zipball/ff48982d295bcac1fd861f934f041ebc73ae40f0", 2204 | "reference": "ff48982d295bcac1fd861f934f041ebc73ae40f0", 2205 | "shasum": "" 2206 | }, 2207 | "require": { 2208 | "php": ">=5.5.9" 2209 | }, 2210 | "type": "library", 2211 | "extra": { 2212 | "branch-alias": { 2213 | "dev-master": "3.3-dev" 2214 | } 2215 | }, 2216 | "autoload": { 2217 | "psr-4": { 2218 | "Symfony\\Component\\OptionsResolver\\": "" 2219 | }, 2220 | "exclude-from-classmap": [ 2221 | "/Tests/" 2222 | ] 2223 | }, 2224 | "notification-url": "https://packagist.org/downloads/", 2225 | "license": [ 2226 | "MIT" 2227 | ], 2228 | "authors": [ 2229 | { 2230 | "name": "Fabien Potencier", 2231 | "email": "fabien@symfony.com" 2232 | }, 2233 | { 2234 | "name": "Symfony Community", 2235 | "homepage": "https://symfony.com/contributors" 2236 | } 2237 | ], 2238 | "description": "Symfony OptionsResolver Component", 2239 | "homepage": "https://symfony.com", 2240 | "keywords": [ 2241 | "config", 2242 | "configuration", 2243 | "options" 2244 | ], 2245 | "time": "2017-04-12T14:14:56+00:00" 2246 | }, 2247 | { 2248 | "name": "symfony/polyfill-mbstring", 2249 | "version": "v1.4.0", 2250 | "source": { 2251 | "type": "git", 2252 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2253 | "reference": "f29dca382a6485c3cbe6379f0c61230167681937" 2254 | }, 2255 | "dist": { 2256 | "type": "zip", 2257 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", 2258 | "reference": "f29dca382a6485c3cbe6379f0c61230167681937", 2259 | "shasum": "" 2260 | }, 2261 | "require": { 2262 | "php": ">=5.3.3" 2263 | }, 2264 | "suggest": { 2265 | "ext-mbstring": "For best performance" 2266 | }, 2267 | "type": "library", 2268 | "extra": { 2269 | "branch-alias": { 2270 | "dev-master": "1.4-dev" 2271 | } 2272 | }, 2273 | "autoload": { 2274 | "psr-4": { 2275 | "Symfony\\Polyfill\\Mbstring\\": "" 2276 | }, 2277 | "files": [ 2278 | "bootstrap.php" 2279 | ] 2280 | }, 2281 | "notification-url": "https://packagist.org/downloads/", 2282 | "license": [ 2283 | "MIT" 2284 | ], 2285 | "authors": [ 2286 | { 2287 | "name": "Nicolas Grekas", 2288 | "email": "p@tchwork.com" 2289 | }, 2290 | { 2291 | "name": "Symfony Community", 2292 | "homepage": "https://symfony.com/contributors" 2293 | } 2294 | ], 2295 | "description": "Symfony polyfill for the Mbstring extension", 2296 | "homepage": "https://symfony.com", 2297 | "keywords": [ 2298 | "compatibility", 2299 | "mbstring", 2300 | "polyfill", 2301 | "portable", 2302 | "shim" 2303 | ], 2304 | "time": "2017-06-09T14:24:12+00:00" 2305 | }, 2306 | { 2307 | "name": "symfony/polyfill-php70", 2308 | "version": "v1.4.0", 2309 | "source": { 2310 | "type": "git", 2311 | "url": "https://github.com/symfony/polyfill-php70.git", 2312 | "reference": "032fd647d5c11a9ceab8ee8747e13b5448e93874" 2313 | }, 2314 | "dist": { 2315 | "type": "zip", 2316 | "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/032fd647d5c11a9ceab8ee8747e13b5448e93874", 2317 | "reference": "032fd647d5c11a9ceab8ee8747e13b5448e93874", 2318 | "shasum": "" 2319 | }, 2320 | "require": { 2321 | "paragonie/random_compat": "~1.0|~2.0", 2322 | "php": ">=5.3.3" 2323 | }, 2324 | "type": "library", 2325 | "extra": { 2326 | "branch-alias": { 2327 | "dev-master": "1.4-dev" 2328 | } 2329 | }, 2330 | "autoload": { 2331 | "psr-4": { 2332 | "Symfony\\Polyfill\\Php70\\": "" 2333 | }, 2334 | "files": [ 2335 | "bootstrap.php" 2336 | ], 2337 | "classmap": [ 2338 | "Resources/stubs" 2339 | ] 2340 | }, 2341 | "notification-url": "https://packagist.org/downloads/", 2342 | "license": [ 2343 | "MIT" 2344 | ], 2345 | "authors": [ 2346 | { 2347 | "name": "Nicolas Grekas", 2348 | "email": "p@tchwork.com" 2349 | }, 2350 | { 2351 | "name": "Symfony Community", 2352 | "homepage": "https://symfony.com/contributors" 2353 | } 2354 | ], 2355 | "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", 2356 | "homepage": "https://symfony.com", 2357 | "keywords": [ 2358 | "compatibility", 2359 | "polyfill", 2360 | "portable", 2361 | "shim" 2362 | ], 2363 | "time": "2017-06-09T14:24:12+00:00" 2364 | }, 2365 | { 2366 | "name": "symfony/polyfill-php72", 2367 | "version": "v1.4.0", 2368 | "source": { 2369 | "type": "git", 2370 | "url": "https://github.com/symfony/polyfill-php72.git", 2371 | "reference": "d3a71580c1e2cab33b6d705f0ec40e9015e14d5c" 2372 | }, 2373 | "dist": { 2374 | "type": "zip", 2375 | "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/d3a71580c1e2cab33b6d705f0ec40e9015e14d5c", 2376 | "reference": "d3a71580c1e2cab33b6d705f0ec40e9015e14d5c", 2377 | "shasum": "" 2378 | }, 2379 | "require": { 2380 | "php": ">=5.3.3" 2381 | }, 2382 | "type": "library", 2383 | "extra": { 2384 | "branch-alias": { 2385 | "dev-master": "1.4-dev" 2386 | } 2387 | }, 2388 | "autoload": { 2389 | "psr-4": { 2390 | "Symfony\\Polyfill\\Php72\\": "" 2391 | }, 2392 | "files": [ 2393 | "bootstrap.php" 2394 | ] 2395 | }, 2396 | "notification-url": "https://packagist.org/downloads/", 2397 | "license": [ 2398 | "MIT" 2399 | ], 2400 | "authors": [ 2401 | { 2402 | "name": "Nicolas Grekas", 2403 | "email": "p@tchwork.com" 2404 | }, 2405 | { 2406 | "name": "Symfony Community", 2407 | "homepage": "https://symfony.com/contributors" 2408 | } 2409 | ], 2410 | "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", 2411 | "homepage": "https://symfony.com", 2412 | "keywords": [ 2413 | "compatibility", 2414 | "polyfill", 2415 | "portable", 2416 | "shim" 2417 | ], 2418 | "time": "2017-06-09T08:25:21+00:00" 2419 | }, 2420 | { 2421 | "name": "symfony/polyfill-xml", 2422 | "version": "v1.4.0", 2423 | "source": { 2424 | "type": "git", 2425 | "url": "https://github.com/symfony/polyfill-xml.git", 2426 | "reference": "89326af9d173053826ae8fe26a6f49597ba4e9f3" 2427 | }, 2428 | "dist": { 2429 | "type": "zip", 2430 | "url": "https://api.github.com/repos/symfony/polyfill-xml/zipball/89326af9d173053826ae8fe26a6f49597ba4e9f3", 2431 | "reference": "89326af9d173053826ae8fe26a6f49597ba4e9f3", 2432 | "shasum": "" 2433 | }, 2434 | "require": { 2435 | "php": ">=5.3.3", 2436 | "symfony/polyfill-php72": "~1.4" 2437 | }, 2438 | "type": "metapackage", 2439 | "extra": { 2440 | "branch-alias": { 2441 | "dev-master": "1.4-dev" 2442 | } 2443 | }, 2444 | "notification-url": "https://packagist.org/downloads/", 2445 | "license": [ 2446 | "MIT" 2447 | ], 2448 | "authors": [ 2449 | { 2450 | "name": "Nicolas Grekas", 2451 | "email": "p@tchwork.com" 2452 | }, 2453 | { 2454 | "name": "Symfony Community", 2455 | "homepage": "https://symfony.com/contributors" 2456 | } 2457 | ], 2458 | "description": "Symfony polyfill for xml's utf8_encode and utf8_decode functions", 2459 | "homepage": "https://symfony.com", 2460 | "keywords": [ 2461 | "compatibility", 2462 | "polyfill", 2463 | "portable", 2464 | "shim" 2465 | ], 2466 | "time": "2017-06-09T08:25:21+00:00" 2467 | }, 2468 | { 2469 | "name": "symfony/process", 2470 | "version": "v3.3.4", 2471 | "source": { 2472 | "type": "git", 2473 | "url": "https://github.com/symfony/process.git", 2474 | "reference": "5ab8949b682b1bf9d4511a228b5e045c96758c30" 2475 | }, 2476 | "dist": { 2477 | "type": "zip", 2478 | "url": "https://api.github.com/repos/symfony/process/zipball/5ab8949b682b1bf9d4511a228b5e045c96758c30", 2479 | "reference": "5ab8949b682b1bf9d4511a228b5e045c96758c30", 2480 | "shasum": "" 2481 | }, 2482 | "require": { 2483 | "php": ">=5.5.9" 2484 | }, 2485 | "type": "library", 2486 | "extra": { 2487 | "branch-alias": { 2488 | "dev-master": "3.3-dev" 2489 | } 2490 | }, 2491 | "autoload": { 2492 | "psr-4": { 2493 | "Symfony\\Component\\Process\\": "" 2494 | }, 2495 | "exclude-from-classmap": [ 2496 | "/Tests/" 2497 | ] 2498 | }, 2499 | "notification-url": "https://packagist.org/downloads/", 2500 | "license": [ 2501 | "MIT" 2502 | ], 2503 | "authors": [ 2504 | { 2505 | "name": "Fabien Potencier", 2506 | "email": "fabien@symfony.com" 2507 | }, 2508 | { 2509 | "name": "Symfony Community", 2510 | "homepage": "https://symfony.com/contributors" 2511 | } 2512 | ], 2513 | "description": "Symfony Process Component", 2514 | "homepage": "https://symfony.com", 2515 | "time": "2017-07-03T08:12:02+00:00" 2516 | }, 2517 | { 2518 | "name": "symfony/stopwatch", 2519 | "version": "v3.3.4", 2520 | "source": { 2521 | "type": "git", 2522 | "url": "https://github.com/symfony/stopwatch.git", 2523 | "reference": "602a15299dc01556013b07167d4f5d3a60e90d15" 2524 | }, 2525 | "dist": { 2526 | "type": "zip", 2527 | "url": "https://api.github.com/repos/symfony/stopwatch/zipball/602a15299dc01556013b07167d4f5d3a60e90d15", 2528 | "reference": "602a15299dc01556013b07167d4f5d3a60e90d15", 2529 | "shasum": "" 2530 | }, 2531 | "require": { 2532 | "php": ">=5.5.9" 2533 | }, 2534 | "type": "library", 2535 | "extra": { 2536 | "branch-alias": { 2537 | "dev-master": "3.3-dev" 2538 | } 2539 | }, 2540 | "autoload": { 2541 | "psr-4": { 2542 | "Symfony\\Component\\Stopwatch\\": "" 2543 | }, 2544 | "exclude-from-classmap": [ 2545 | "/Tests/" 2546 | ] 2547 | }, 2548 | "notification-url": "https://packagist.org/downloads/", 2549 | "license": [ 2550 | "MIT" 2551 | ], 2552 | "authors": [ 2553 | { 2554 | "name": "Fabien Potencier", 2555 | "email": "fabien@symfony.com" 2556 | }, 2557 | { 2558 | "name": "Symfony Community", 2559 | "homepage": "https://symfony.com/contributors" 2560 | } 2561 | ], 2562 | "description": "Symfony Stopwatch Component", 2563 | "homepage": "https://symfony.com", 2564 | "time": "2017-04-12T14:14:56+00:00" 2565 | }, 2566 | { 2567 | "name": "symfony/yaml", 2568 | "version": "v3.3.4", 2569 | "source": { 2570 | "type": "git", 2571 | "url": "https://github.com/symfony/yaml.git", 2572 | "reference": "1f93a8d19b8241617f5074a123e282575b821df8" 2573 | }, 2574 | "dist": { 2575 | "type": "zip", 2576 | "url": "https://api.github.com/repos/symfony/yaml/zipball/1f93a8d19b8241617f5074a123e282575b821df8", 2577 | "reference": "1f93a8d19b8241617f5074a123e282575b821df8", 2578 | "shasum": "" 2579 | }, 2580 | "require": { 2581 | "php": ">=5.5.9" 2582 | }, 2583 | "require-dev": { 2584 | "symfony/console": "~2.8|~3.0" 2585 | }, 2586 | "suggest": { 2587 | "symfony/console": "For validating YAML files using the lint command" 2588 | }, 2589 | "type": "library", 2590 | "extra": { 2591 | "branch-alias": { 2592 | "dev-master": "3.3-dev" 2593 | } 2594 | }, 2595 | "autoload": { 2596 | "psr-4": { 2597 | "Symfony\\Component\\Yaml\\": "" 2598 | }, 2599 | "exclude-from-classmap": [ 2600 | "/Tests/" 2601 | ] 2602 | }, 2603 | "notification-url": "https://packagist.org/downloads/", 2604 | "license": [ 2605 | "MIT" 2606 | ], 2607 | "authors": [ 2608 | { 2609 | "name": "Fabien Potencier", 2610 | "email": "fabien@symfony.com" 2611 | }, 2612 | { 2613 | "name": "Symfony Community", 2614 | "homepage": "https://symfony.com/contributors" 2615 | } 2616 | ], 2617 | "description": "Symfony Yaml Component", 2618 | "homepage": "https://symfony.com", 2619 | "time": "2017-06-15T12:58:50+00:00" 2620 | }, 2621 | { 2622 | "name": "webmozart/assert", 2623 | "version": "1.2.0", 2624 | "source": { 2625 | "type": "git", 2626 | "url": "https://github.com/webmozart/assert.git", 2627 | "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" 2628 | }, 2629 | "dist": { 2630 | "type": "zip", 2631 | "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", 2632 | "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", 2633 | "shasum": "" 2634 | }, 2635 | "require": { 2636 | "php": "^5.3.3 || ^7.0" 2637 | }, 2638 | "require-dev": { 2639 | "phpunit/phpunit": "^4.6", 2640 | "sebastian/version": "^1.0.1" 2641 | }, 2642 | "type": "library", 2643 | "extra": { 2644 | "branch-alias": { 2645 | "dev-master": "1.3-dev" 2646 | } 2647 | }, 2648 | "autoload": { 2649 | "psr-4": { 2650 | "Webmozart\\Assert\\": "src/" 2651 | } 2652 | }, 2653 | "notification-url": "https://packagist.org/downloads/", 2654 | "license": [ 2655 | "MIT" 2656 | ], 2657 | "authors": [ 2658 | { 2659 | "name": "Bernhard Schussek", 2660 | "email": "bschussek@gmail.com" 2661 | } 2662 | ], 2663 | "description": "Assertions to validate method input/output with nice error messages.", 2664 | "keywords": [ 2665 | "assert", 2666 | "check", 2667 | "validate" 2668 | ], 2669 | "time": "2016-11-23T20:04:58+00:00" 2670 | } 2671 | ], 2672 | "aliases": [], 2673 | "minimum-stability": "stable", 2674 | "stability-flags": [], 2675 | "prefer-stable": false, 2676 | "prefer-lowest": false, 2677 | "platform": [], 2678 | "platform-dev": [] 2679 | } 2680 | -------------------------------------------------------------------------------- /src/SwitchAsset.php: -------------------------------------------------------------------------------- 1 | 16 | * @link http://www.ramirezcobos.com/ 17 | * @link http://www.2amigos.us/ 18 | * @package dosamigos\yii2-switch-widget 19 | */ 20 | class SwitchAsset extends AssetBundle 21 | { 22 | public $sourcePath = '@bower/bootstrap-switch/dist'; 23 | public $css = [ 24 | 'css/bootstrap3/bootstrap-switch.css', 25 | ]; 26 | public $js = [ 27 | 'js/bootstrap-switch.js', 28 | ]; 29 | public $depends = [ 30 | 'yii\bootstrap\BootstrapPluginAsset', 31 | ]; 32 | } 33 | -------------------------------------------------------------------------------- /src/SwitchBox.php: -------------------------------------------------------------------------------- 1 | 'Test', 19 | * 'clientOptions' => [ 20 | * 'size' => 'large', 21 | * 'onColor' => 'success', 22 | * 'offColor' => 'danger' 23 | * ] 24 | * ]);?> 25 | * ``` 26 | * 27 | * @author Antonio Ramirez 28 | * @link http://www.ramirezcobos.com/ 29 | * @link http://www.2amigos.us/ 30 | * @package dosamigos\yii2-switch-widget 31 | */ 32 | class SwitchBox extends InputWidget 33 | { 34 | use SwitchTrait; 35 | 36 | /** 37 | * @var bool whether to display the label inline or not. Defaults to true. 38 | */ 39 | public $inlineLabel = true; 40 | 41 | /** 42 | * @inheritdoc 43 | */ 44 | public function run() 45 | { 46 | if ($this->inlineLabel === false) { 47 | $this->options['label'] = false; 48 | } 49 | if ($this->hasModel()) { 50 | $input = Html::activeCheckbox($this->model, $this->attribute, $this->options); 51 | } else { 52 | $input = Html::checkbox($this->name, $this->checked, $this->options); 53 | } 54 | echo $this->inlineLabel ? $input : Html::tag('div', $input); 55 | $this->selector = "#{$this->options['id']}"; 56 | 57 | $this->registerClientScript(); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/SwitchRadio.php: -------------------------------------------------------------------------------- 1 | 24 | * field($model, 'status')->widget(SwitchRadio::className(), [ 25 | * 'items' => [ 26 | * 20 => 'Superb', 27 | * 40 => 'Wonderful', 28 | * 50 => 'Amazing' 29 | * ], 30 | * ]);?> 31 | * 32 | * ``` 33 | * 34 | * - without model: 35 | * 36 | * ``` 37 | * SwitchRadio::widget([ 38 | * 'name' => 'second test', 39 | * 'inline' => false, 40 | * 'items' => [ 41 | * [ 42 | * 'label' => 'best', 43 | * 'value' => 100, 44 | * 'options' => ['data-size' => 'mini'] 45 | * ], 46 | * 20 => 'Superb', 47 | * ], 48 | * 'labelOptions' => ['style' => 'font-weight:bold'] 49 | * ]);?> 50 | * 51 | * ``` 52 | * 53 | * 54 | * @author Antonio Ramirez 55 | * @link http://www.ramirezcobos.com/ 56 | * @link http://www.2amigos.us/ 57 | * @package dosamigos\yii2-switch-widget 58 | */ 59 | class SwitchRadio extends InputWidget 60 | { 61 | use SwitchTrait; 62 | 63 | /** 64 | * @var bool whether to display the options inline. Defaults to true. 65 | */ 66 | public $inline = true; 67 | /** 68 | * @var array the radio button options to render. The syntax is: 69 | * ``` 70 | * 'items' => [ 71 | * [ 72 | * 'label' => 'Label of item', 73 | * 'value' => 20, 74 | * 'options' => [], 75 | * 'labelOptions' => [] 76 | * ] 77 | * ] 78 | * ``` 79 | * - label: string the label of item. If empty, will not be displayed. 80 | * - value: string the value of the item. 81 | * - options: HTML attributes of the item. 82 | * - labelOptions: HTML attributes of the label. 83 | * 84 | * You can also specify items like this: 85 | * ``` 86 | * 'items' => [ 87 | * 10 => 'Label of Item', 88 | * [ 89 | * // ... 90 | * ] 91 | * ] 92 | * ``` 93 | * On this case, the key of the array will be used as a value and the value of the array as a label. 94 | */ 95 | public $items = []; 96 | /** 97 | * @var array HTML attributes common to each items' label 98 | */ 99 | public $labelOptions = []; 100 | /** 101 | * @var string the separator content between each radio item 102 | */ 103 | public $separator = "  "; 104 | /** 105 | * @var array HTML attributes for the radio group container 106 | */ 107 | public $containerOptions = []; 108 | 109 | /** 110 | * @inheritdoc 111 | * @throws \yii\base\InvalidConfigException 112 | */ 113 | public function init() 114 | { 115 | parent::init(); 116 | 117 | if (empty($this->items) || !is_array($this->items)) { 118 | throw new InvalidConfigException('"$items" cannot be empty and must be of type array'); 119 | } 120 | 121 | $name = $this->hasModel() ? Html::getInputName($this->model, $this->attribute) : $this->name; 122 | $this->selector = "input:radio[name=\"$name\"]"; 123 | } 124 | 125 | /** 126 | * @inheritdoc 127 | */ 128 | public function run() 129 | { 130 | $items = []; 131 | foreach ($this->items as $key => $item) { 132 | if (!is_array($item)) { 133 | $options = $this->options; 134 | $options['value'] = $key; 135 | $options['label'] = $item; 136 | $options['labelOptions'] = $this->labelOptions; 137 | } else { 138 | $options = ArrayHelper::getValue($item, 'options', []) + $this->options; 139 | $options['value'] = ArrayHelper::getValue($item, 'value'); 140 | $options['label'] = ArrayHelper::getValue($item, 'label', false); 141 | $options['labelOptions'] = ArrayHelper::getValue($item, 'labelOptions', []) + $this->labelOptions; 142 | } 143 | if ($this->inline) { 144 | $options['container'] = ''; 145 | } 146 | $items[] = $this->hasModel() ? Html::activeRadio($this->model, $this->attribute, $options) 147 | : Html::radio($this->name, $this->checked, $options); 148 | } 149 | $this->containerOptions['class'] = ArrayHelper::getValue($this->containerOptions, 'class', 'form-group'); 150 | echo Html::tag('div', implode($this->separator, $items), $this->containerOptions); 151 | 152 | $this->registerClientScript(); 153 | } 154 | } 155 | -------------------------------------------------------------------------------- /src/SwitchTrait.php: -------------------------------------------------------------------------------- 1 | 17 | * @link http://www.ramirezcobos.com/ 18 | * @link http://www.2amigos.us/ 19 | * @package dosamigos\yii2-switch-widget 20 | */ 21 | trait SwitchTrait 22 | { 23 | /** 24 | * @var bool specifies whether the checkbox should be checked or unchecked, when not used with a model. If [[items]], 25 | * [[$checked]] will specify the value to select. 26 | */ 27 | public $checked = false; 28 | /** 29 | * @var array the options for the Bootstrap Switch 3 plugin. 30 | * Please refer to the Bootstrap Switch 3 plugin Web page for possible options. 31 | * @see http://www.bootstrap-switch.org/ 32 | */ 33 | public $clientOptions = []; 34 | /** 35 | * @var array the event handlers for the underlying Bootstrap Switch 3 input JS plugin. 36 | * Please refer to the [Bootstrap Switch 3](http://www.bootstrap-switch.org/) plugin 37 | * Web page for possible events. 38 | */ 39 | public $clientEvents = []; 40 | /** 41 | * @var string the DOM element selector 42 | */ 43 | protected $selector; 44 | 45 | /** 46 | * Registers Bootstrap Switch plugin and related events 47 | */ 48 | public function registerClientScript() 49 | { 50 | $view = $this->view; 51 | SwitchAsset::register($view); 52 | 53 | $this->clientOptions['animate'] = ArrayHelper::getValue($this->clientOptions, 'animate', true); 54 | $options = Json::encode($this->clientOptions); 55 | 56 | $js[] = ";jQuery('$this->selector').bootstrapSwitch($options);"; 57 | if (!empty($this->clientEvents)) { 58 | foreach ($this->clientEvents as $event => $handler) { 59 | $js[] = "jQuery('$this->selector').on('$event', $handler);"; 60 | } 61 | } 62 | $view->registerJs(implode("\n", $js)); 63 | } 64 | } 65 | --------------------------------------------------------------------------------