├── .DS_Store ├── .editorconfig ├── .gitignore ├── CHANGELOG.md ├── CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── composer.json ├── composer.lock └── src ├── ModxContentModel.php ├── ModxPageModel.php ├── ModxTemplateVar.php ├── ModxTemplateVarContent.php ├── ModxmodelsServiceProvider.php ├── PageScope.php ├── PageTrait.php └── SkeletonClass.php /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rvanmarkus/modx-laravel-models/ecab72a9be7a2b00ab60f3c327a0e4ce784df3d5/.DS_Store -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | ; This file is for unifying the coding style for different editors and IDEs. 2 | ; More information at http://editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | indent_size = 4 9 | indent_style = space 10 | end_of_line = lf 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [*.md] 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /.idea 3 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All Notable changes to `:package_name` will be documented in this file 4 | 5 | ## NEXT - YYYY-MM-DD 6 | 7 | ### Added 8 | - Nothing 9 | 10 | ### Deprecated 11 | - Nothing 12 | 13 | ### Fixed 14 | - Nothing 15 | 16 | ### Removed 17 | - Nothing 18 | 19 | ### Security 20 | - Nothing 21 | -------------------------------------------------------------------------------- /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/thephpleague/:package_name). 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 | - **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date. 13 | 14 | - **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option. 15 | 16 | - **Create feature branches** - Don't ask us to pull from your master branch. 17 | 18 | - **One pull request per feature** - If you want to do more than one thing, send multiple pull requests. 19 | 20 | - **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](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) before submitting. 21 | 22 | 23 | ## Running Tests 24 | 25 | 26 | **Happy coding**! 27 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # The MIT License (MIT) 2 | 3 | Copyright (c) 2015 :author_name <:author_email> 4 | 5 | > Permission is hereby granted, free of charge, to any person obtaining a copy 6 | > of this software and associated documentation files (the "Software"), to deal 7 | > in the Software without restriction, including without limitation the rights 8 | > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | > copies of the Software, and to permit persons to whom the Software is 10 | > furnished to do so, subject to the following conditions: 11 | > 12 | > The above copyright notice and this permission notice shall be included in 13 | > all copies or substantial portions of the Software. 14 | > 15 | > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | > THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MODX Laravel models 2 | 3 | [Laravel](http://laravel.com) 5 Eloquent Database models to interact with [MODX](http://modx.com) database. 4 | 5 | > This package helps you build Laravel applications that queries MODX pages/content and template variables. Use all the modern and beautiful features of the Laravel framework and give your users the ease of the MODX CMS. 6 | 7 | ## Installation 8 | 9 | $ composer require rvanmarkus/modx-laravel-models 10 | 11 | Or add this to your composer.json 12 | 13 | "require": { 14 | "rvanmarkus/modx-laravel-models": "dev-master" 15 | } 16 | 17 | ##Getting started 18 | 19 | Connect your laravel application to the same database as MODX, and use the same encoding settings. *(app/config/database.php)* 20 | 21 | ### Using the Rvanmarkus/Modxmodels/ModxContentModel class directly 22 | 23 | use Rvanmarkus\Modxmodels\ModxContentModel 24 | 25 | //queries directly modx_site_content table => returns title, content, author, etc 26 | $content = ModxContentModel::where('alias','=','/about-us')->get(); 27 | 28 | 29 | ### Using your own model class that specifies a MODX template ID 30 | Create a new PHP Class and extend the Rvanmarkus/Modxmodels/PageModel. Create a new template in MODX manager and add the new template ID to the model. 31 | 32 | *(ex. App/Books.php)* 33 | 34 | use Rvanmarkus\Modxmodels\ModxPageModel 35 | 36 | class Books extends ModxPageModel{ 37 | const MODX_TEMPLATE_ID = 3; // id reference of the MODX (book) template (can be founded in MODX manager / or database) 38 | } 39 | 40 | $book = Books::where('alias','=','/example-book') 41 | ->with('templateVariables'); 42 | ->published() 43 | ->sortPublished() 44 | ->get(); 45 | 46 | //Get your template variables from the templateVariables collection; 47 | $book->templateVariables->get('NameOfTemplateVariables'); 48 | 49 | ### Using your own model classes and scopes 50 | If you don't want a model that is specified by a template, create a model that extends the Rvanmarkus/Modxmodels/ModxContentModel class directly without the PageModel class. This class will query all the modx_site_content data by default, according the scopes you add. See the Eloquent documentation for more information. 51 | 52 | 53 | ## Template variables 54 | You can eager load template variables by adding the 'TemplateVariables' relation (see Laravel [Eloquent Docs](http://laravel.com/docs/eloquent) for more information) 55 | 56 | use Rvanmarkus/Modxmodels/ModxContentModel 57 | 58 | //query content models where alias is'/about-us' and load all related template variables 59 | $book = Books::with('templateVariables') 60 | ->where('alias','=','/john-doe-the-book') 61 | ->published() 62 | ->firstOrFail(); 63 | 64 | //for example: query the template variable (added in the MODX manager, with input type: *checkbox*) called 'Genres' 65 | 66 | $tv = $book->templateVariables->get('Genres'); //ex. ['Roman','Science Fiction'] returns a array of selected checkbox TV values 67 | 68 | 69 | The model automatically casts certain values of your template variables to Objects. 70 | The following template variable types will be automatically casted: 71 | 72 | - Date 73 | - Text 74 | - checkbox (multiple values) 75 | - MIGX data 76 | 77 | example: 78 | 79 | $book->templateVariables->get('DateTemplateVariable') 80 | // returns Carbon DateTime Object value 81 | 82 | $book->templateVariables->get('MIGXTemplateVariable') 83 | // returns PHP Object value 84 | 85 | $book->templateVariables->get('CheckboxTemplateVariable') 86 | // returns PHP Array value 87 | 88 | $book->templateVariables->get('TextTemplateVariable') 89 | // returns string value 90 | 91 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rvanmarkus/modx-laravel-models", 3 | "description": "Build your application / website with help of Laravel and MODX", 4 | "keywords": [ 5 | "MODX", 6 | "Eloquent", 7 | "laravel", 8 | "Models", 9 | "Intergration", 10 | "PDO", 11 | "Database", 12 | "CMS" 13 | ], 14 | "homepage": "https://github.com/rvanmarkus/modx-laravel-models", 15 | "license": "MIT", 16 | "authors": [ 17 | { 18 | "name": "Robbert van Markus", 19 | "email": "rvanmarkus@xebia.com", 20 | "homepage": "http://xebia.com", 21 | "role": "Software Developer" 22 | } 23 | ], 24 | "require": { 25 | "illuminate/support": "~5.0", 26 | "php" : ">=5.3.0", 27 | "illuminate/database": "~5.0" 28 | }, 29 | "require-dev": { 30 | "phpunit/phpunit" : "4.*", 31 | "scrutinizer/ocular": "~1.1" 32 | }, 33 | "autoload": { 34 | "psr-4": { 35 | "Rvanmarkus\\Modxmodels\\": "src" 36 | } 37 | }, 38 | "autoload-dev": { 39 | "psr-4": { 40 | "Rvanmarkus\\Modxmodels\\Test\\": "tests" 41 | } 42 | }, 43 | "scripts": { 44 | "test": "phpunit" 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#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "hash": "57375ae60cfb6e66941fea2de3e7ee37", 8 | "content-hash": "08680636fbb5bf0b6e30eb538695ab9f", 9 | "packages": [ 10 | { 11 | "name": "danielstjules/stringy", 12 | "version": "1.10.0", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/danielstjules/Stringy.git", 16 | "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/4749c205db47ee5b32e8d1adf6d9aff8db6caf3b", 21 | "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "ext-mbstring": "*", 26 | "php": ">=5.3.0" 27 | }, 28 | "require-dev": { 29 | "phpunit/phpunit": "~4.0" 30 | }, 31 | "type": "library", 32 | "autoload": { 33 | "psr-4": { 34 | "Stringy\\": "src/" 35 | }, 36 | "files": [ 37 | "src/Create.php" 38 | ] 39 | }, 40 | "notification-url": "https://packagist.org/downloads/", 41 | "license": [ 42 | "MIT" 43 | ], 44 | "authors": [ 45 | { 46 | "name": "Daniel St. Jules", 47 | "email": "danielst.jules@gmail.com", 48 | "homepage": "http://www.danielstjules.com" 49 | } 50 | ], 51 | "description": "A string manipulation library with multibyte support", 52 | "homepage": "https://github.com/danielstjules/Stringy", 53 | "keywords": [ 54 | "UTF", 55 | "helpers", 56 | "manipulation", 57 | "methods", 58 | "multibyte", 59 | "string", 60 | "utf-8", 61 | "utility", 62 | "utils" 63 | ], 64 | "time": "2015-07-23 00:54:12" 65 | }, 66 | { 67 | "name": "doctrine/inflector", 68 | "version": "v1.0.1", 69 | "source": { 70 | "type": "git", 71 | "url": "https://github.com/doctrine/inflector.git", 72 | "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" 73 | }, 74 | "dist": { 75 | "type": "zip", 76 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", 77 | "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", 78 | "shasum": "" 79 | }, 80 | "require": { 81 | "php": ">=5.3.2" 82 | }, 83 | "require-dev": { 84 | "phpunit/phpunit": "4.*" 85 | }, 86 | "type": "library", 87 | "extra": { 88 | "branch-alias": { 89 | "dev-master": "1.0.x-dev" 90 | } 91 | }, 92 | "autoload": { 93 | "psr-0": { 94 | "Doctrine\\Common\\Inflector\\": "lib/" 95 | } 96 | }, 97 | "notification-url": "https://packagist.org/downloads/", 98 | "license": [ 99 | "MIT" 100 | ], 101 | "authors": [ 102 | { 103 | "name": "Roman Borschel", 104 | "email": "roman@code-factory.org" 105 | }, 106 | { 107 | "name": "Benjamin Eberlei", 108 | "email": "kontakt@beberlei.de" 109 | }, 110 | { 111 | "name": "Guilherme Blanco", 112 | "email": "guilhermeblanco@gmail.com" 113 | }, 114 | { 115 | "name": "Jonathan Wage", 116 | "email": "jonwage@gmail.com" 117 | }, 118 | { 119 | "name": "Johannes Schmitt", 120 | "email": "schmittjoh@gmail.com" 121 | } 122 | ], 123 | "description": "Common String Manipulations with regard to casing and singular/plural rules.", 124 | "homepage": "http://www.doctrine-project.org", 125 | "keywords": [ 126 | "inflection", 127 | "pluralize", 128 | "singularize", 129 | "string" 130 | ], 131 | "time": "2014-12-20 21:24:13" 132 | }, 133 | { 134 | "name": "illuminate/contracts", 135 | "version": "v5.1.20", 136 | "source": { 137 | "type": "git", 138 | "url": "https://github.com/illuminate/contracts.git", 139 | "reference": "e2b71fdbeeb3438748dca5f497e205888788a883" 140 | }, 141 | "dist": { 142 | "type": "zip", 143 | "url": "https://api.github.com/repos/illuminate/contracts/zipball/e2b71fdbeeb3438748dca5f497e205888788a883", 144 | "reference": "e2b71fdbeeb3438748dca5f497e205888788a883", 145 | "shasum": "" 146 | }, 147 | "require": { 148 | "php": ">=5.5.9" 149 | }, 150 | "type": "library", 151 | "extra": { 152 | "branch-alias": { 153 | "dev-master": "5.1-dev" 154 | } 155 | }, 156 | "autoload": { 157 | "psr-4": { 158 | "Illuminate\\Contracts\\": "" 159 | } 160 | }, 161 | "notification-url": "https://packagist.org/downloads/", 162 | "license": [ 163 | "MIT" 164 | ], 165 | "authors": [ 166 | { 167 | "name": "Taylor Otwell", 168 | "email": "taylorotwell@gmail.com" 169 | } 170 | ], 171 | "description": "The Illuminate Contracts package.", 172 | "homepage": "http://laravel.com", 173 | "time": "2015-09-24 11:16:48" 174 | }, 175 | { 176 | "name": "illuminate/support", 177 | "version": "v5.1.20", 178 | "source": { 179 | "type": "git", 180 | "url": "https://github.com/illuminate/support.git", 181 | "reference": "cf634d1b61d80ea1d7749ef71e0ab3c088931463" 182 | }, 183 | "dist": { 184 | "type": "zip", 185 | "url": "https://api.github.com/repos/illuminate/support/zipball/cf634d1b61d80ea1d7749ef71e0ab3c088931463", 186 | "reference": "cf634d1b61d80ea1d7749ef71e0ab3c088931463", 187 | "shasum": "" 188 | }, 189 | "require": { 190 | "danielstjules/stringy": "~1.8", 191 | "doctrine/inflector": "~1.0", 192 | "ext-mbstring": "*", 193 | "illuminate/contracts": "5.1.*", 194 | "php": ">=5.5.9" 195 | }, 196 | "suggest": { 197 | "jeremeamia/superclosure": "Required to be able to serialize closures (~2.0).", 198 | "paragonie/random_compat": "Provides a compatible interface like PHP7's random_bytes() in PHP 5 projects (^1.0.4).", 199 | "symfony/var-dumper": "Required to use the dd function (2.7.*)." 200 | }, 201 | "type": "library", 202 | "extra": { 203 | "branch-alias": { 204 | "dev-master": "5.1-dev" 205 | } 206 | }, 207 | "autoload": { 208 | "psr-4": { 209 | "Illuminate\\Support\\": "" 210 | }, 211 | "files": [ 212 | "helpers.php" 213 | ] 214 | }, 215 | "notification-url": "https://packagist.org/downloads/", 216 | "license": [ 217 | "MIT" 218 | ], 219 | "authors": [ 220 | { 221 | "name": "Taylor Otwell", 222 | "email": "taylorotwell@gmail.com" 223 | } 224 | ], 225 | "description": "The Illuminate Support package.", 226 | "homepage": "http://laravel.com", 227 | "time": "2015-10-12 17:24:03" 228 | } 229 | ], 230 | "packages-dev": [ 231 | { 232 | "name": "doctrine/annotations", 233 | "version": "v1.2.7", 234 | "source": { 235 | "type": "git", 236 | "url": "https://github.com/doctrine/annotations.git", 237 | "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535" 238 | }, 239 | "dist": { 240 | "type": "zip", 241 | "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535", 242 | "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535", 243 | "shasum": "" 244 | }, 245 | "require": { 246 | "doctrine/lexer": "1.*", 247 | "php": ">=5.3.2" 248 | }, 249 | "require-dev": { 250 | "doctrine/cache": "1.*", 251 | "phpunit/phpunit": "4.*" 252 | }, 253 | "type": "library", 254 | "extra": { 255 | "branch-alias": { 256 | "dev-master": "1.3.x-dev" 257 | } 258 | }, 259 | "autoload": { 260 | "psr-0": { 261 | "Doctrine\\Common\\Annotations\\": "lib/" 262 | } 263 | }, 264 | "notification-url": "https://packagist.org/downloads/", 265 | "license": [ 266 | "MIT" 267 | ], 268 | "authors": [ 269 | { 270 | "name": "Roman Borschel", 271 | "email": "roman@code-factory.org" 272 | }, 273 | { 274 | "name": "Benjamin Eberlei", 275 | "email": "kontakt@beberlei.de" 276 | }, 277 | { 278 | "name": "Guilherme Blanco", 279 | "email": "guilhermeblanco@gmail.com" 280 | }, 281 | { 282 | "name": "Jonathan Wage", 283 | "email": "jonwage@gmail.com" 284 | }, 285 | { 286 | "name": "Johannes Schmitt", 287 | "email": "schmittjoh@gmail.com" 288 | } 289 | ], 290 | "description": "Docblock Annotations Parser", 291 | "homepage": "http://www.doctrine-project.org", 292 | "keywords": [ 293 | "annotations", 294 | "docblock", 295 | "parser" 296 | ], 297 | "time": "2015-08-31 12:32:49" 298 | }, 299 | { 300 | "name": "doctrine/instantiator", 301 | "version": "1.0.5", 302 | "source": { 303 | "type": "git", 304 | "url": "https://github.com/doctrine/instantiator.git", 305 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" 306 | }, 307 | "dist": { 308 | "type": "zip", 309 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", 310 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", 311 | "shasum": "" 312 | }, 313 | "require": { 314 | "php": ">=5.3,<8.0-DEV" 315 | }, 316 | "require-dev": { 317 | "athletic/athletic": "~0.1.8", 318 | "ext-pdo": "*", 319 | "ext-phar": "*", 320 | "phpunit/phpunit": "~4.0", 321 | "squizlabs/php_codesniffer": "~2.0" 322 | }, 323 | "type": "library", 324 | "extra": { 325 | "branch-alias": { 326 | "dev-master": "1.0.x-dev" 327 | } 328 | }, 329 | "autoload": { 330 | "psr-4": { 331 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 332 | } 333 | }, 334 | "notification-url": "https://packagist.org/downloads/", 335 | "license": [ 336 | "MIT" 337 | ], 338 | "authors": [ 339 | { 340 | "name": "Marco Pivetta", 341 | "email": "ocramius@gmail.com", 342 | "homepage": "http://ocramius.github.com/" 343 | } 344 | ], 345 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 346 | "homepage": "https://github.com/doctrine/instantiator", 347 | "keywords": [ 348 | "constructor", 349 | "instantiate" 350 | ], 351 | "time": "2015-06-14 21:17:01" 352 | }, 353 | { 354 | "name": "doctrine/lexer", 355 | "version": "v1.0.1", 356 | "source": { 357 | "type": "git", 358 | "url": "https://github.com/doctrine/lexer.git", 359 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" 360 | }, 361 | "dist": { 362 | "type": "zip", 363 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", 364 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", 365 | "shasum": "" 366 | }, 367 | "require": { 368 | "php": ">=5.3.2" 369 | }, 370 | "type": "library", 371 | "extra": { 372 | "branch-alias": { 373 | "dev-master": "1.0.x-dev" 374 | } 375 | }, 376 | "autoload": { 377 | "psr-0": { 378 | "Doctrine\\Common\\Lexer\\": "lib/" 379 | } 380 | }, 381 | "notification-url": "https://packagist.org/downloads/", 382 | "license": [ 383 | "MIT" 384 | ], 385 | "authors": [ 386 | { 387 | "name": "Roman Borschel", 388 | "email": "roman@code-factory.org" 389 | }, 390 | { 391 | "name": "Guilherme Blanco", 392 | "email": "guilhermeblanco@gmail.com" 393 | }, 394 | { 395 | "name": "Johannes Schmitt", 396 | "email": "schmittjoh@gmail.com" 397 | } 398 | ], 399 | "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", 400 | "homepage": "http://www.doctrine-project.org", 401 | "keywords": [ 402 | "lexer", 403 | "parser" 404 | ], 405 | "time": "2014-09-09 13:34:57" 406 | }, 407 | { 408 | "name": "guzzle/guzzle", 409 | "version": "v3.9.3", 410 | "source": { 411 | "type": "git", 412 | "url": "https://github.com/guzzle/guzzle3.git", 413 | "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" 414 | }, 415 | "dist": { 416 | "type": "zip", 417 | "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", 418 | "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", 419 | "shasum": "" 420 | }, 421 | "require": { 422 | "ext-curl": "*", 423 | "php": ">=5.3.3", 424 | "symfony/event-dispatcher": "~2.1" 425 | }, 426 | "replace": { 427 | "guzzle/batch": "self.version", 428 | "guzzle/cache": "self.version", 429 | "guzzle/common": "self.version", 430 | "guzzle/http": "self.version", 431 | "guzzle/inflection": "self.version", 432 | "guzzle/iterator": "self.version", 433 | "guzzle/log": "self.version", 434 | "guzzle/parser": "self.version", 435 | "guzzle/plugin": "self.version", 436 | "guzzle/plugin-async": "self.version", 437 | "guzzle/plugin-backoff": "self.version", 438 | "guzzle/plugin-cache": "self.version", 439 | "guzzle/plugin-cookie": "self.version", 440 | "guzzle/plugin-curlauth": "self.version", 441 | "guzzle/plugin-error-response": "self.version", 442 | "guzzle/plugin-history": "self.version", 443 | "guzzle/plugin-log": "self.version", 444 | "guzzle/plugin-md5": "self.version", 445 | "guzzle/plugin-mock": "self.version", 446 | "guzzle/plugin-oauth": "self.version", 447 | "guzzle/service": "self.version", 448 | "guzzle/stream": "self.version" 449 | }, 450 | "require-dev": { 451 | "doctrine/cache": "~1.3", 452 | "monolog/monolog": "~1.0", 453 | "phpunit/phpunit": "3.7.*", 454 | "psr/log": "~1.0", 455 | "symfony/class-loader": "~2.1", 456 | "zendframework/zend-cache": "2.*,<2.3", 457 | "zendframework/zend-log": "2.*,<2.3" 458 | }, 459 | "suggest": { 460 | "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." 461 | }, 462 | "type": "library", 463 | "extra": { 464 | "branch-alias": { 465 | "dev-master": "3.9-dev" 466 | } 467 | }, 468 | "autoload": { 469 | "psr-0": { 470 | "Guzzle": "src/", 471 | "Guzzle\\Tests": "tests/" 472 | } 473 | }, 474 | "notification-url": "https://packagist.org/downloads/", 475 | "license": [ 476 | "MIT" 477 | ], 478 | "authors": [ 479 | { 480 | "name": "Michael Dowling", 481 | "email": "mtdowling@gmail.com", 482 | "homepage": "https://github.com/mtdowling" 483 | }, 484 | { 485 | "name": "Guzzle Community", 486 | "homepage": "https://github.com/guzzle/guzzle/contributors" 487 | } 488 | ], 489 | "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", 490 | "homepage": "http://guzzlephp.org/", 491 | "keywords": [ 492 | "client", 493 | "curl", 494 | "framework", 495 | "http", 496 | "http client", 497 | "rest", 498 | "web service" 499 | ], 500 | "time": "2015-03-18 18:23:50" 501 | }, 502 | { 503 | "name": "jms/metadata", 504 | "version": "1.5.1", 505 | "source": { 506 | "type": "git", 507 | "url": "https://github.com/schmittjoh/metadata.git", 508 | "reference": "22b72455559a25777cfd28c4ffda81ff7639f353" 509 | }, 510 | "dist": { 511 | "type": "zip", 512 | "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/22b72455559a25777cfd28c4ffda81ff7639f353", 513 | "reference": "22b72455559a25777cfd28c4ffda81ff7639f353", 514 | "shasum": "" 515 | }, 516 | "require": { 517 | "php": ">=5.3.0" 518 | }, 519 | "require-dev": { 520 | "doctrine/cache": "~1.0" 521 | }, 522 | "type": "library", 523 | "extra": { 524 | "branch-alias": { 525 | "dev-master": "1.5.x-dev" 526 | } 527 | }, 528 | "autoload": { 529 | "psr-0": { 530 | "Metadata\\": "src/" 531 | } 532 | }, 533 | "notification-url": "https://packagist.org/downloads/", 534 | "license": [ 535 | "Apache" 536 | ], 537 | "authors": [ 538 | { 539 | "name": "Johannes Schmitt", 540 | "email": "schmittjoh@gmail.com", 541 | "homepage": "https://github.com/schmittjoh", 542 | "role": "Developer of wrapped JMSSerializerBundle" 543 | } 544 | ], 545 | "description": "Class/method/property metadata management in PHP", 546 | "keywords": [ 547 | "annotations", 548 | "metadata", 549 | "xml", 550 | "yaml" 551 | ], 552 | "time": "2014-07-12 07:13:19" 553 | }, 554 | { 555 | "name": "jms/parser-lib", 556 | "version": "1.0.0", 557 | "source": { 558 | "type": "git", 559 | "url": "https://github.com/schmittjoh/parser-lib.git", 560 | "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d" 561 | }, 562 | "dist": { 563 | "type": "zip", 564 | "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/c509473bc1b4866415627af0e1c6cc8ac97fa51d", 565 | "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d", 566 | "shasum": "" 567 | }, 568 | "require": { 569 | "phpoption/phpoption": ">=0.9,<2.0-dev" 570 | }, 571 | "type": "library", 572 | "extra": { 573 | "branch-alias": { 574 | "dev-master": "1.0-dev" 575 | } 576 | }, 577 | "autoload": { 578 | "psr-0": { 579 | "JMS\\": "src/" 580 | } 581 | }, 582 | "notification-url": "https://packagist.org/downloads/", 583 | "license": [ 584 | "Apache2" 585 | ], 586 | "description": "A library for easily creating recursive-descent parsers.", 587 | "time": "2012-11-18 18:08:43" 588 | }, 589 | { 590 | "name": "jms/serializer", 591 | "version": "0.16.0", 592 | "source": { 593 | "type": "git", 594 | "url": "https://github.com/schmittjoh/serializer.git", 595 | "reference": "c8a171357ca92b6706e395c757f334902d430ea9" 596 | }, 597 | "dist": { 598 | "type": "zip", 599 | "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/c8a171357ca92b6706e395c757f334902d430ea9", 600 | "reference": "c8a171357ca92b6706e395c757f334902d430ea9", 601 | "shasum": "" 602 | }, 603 | "require": { 604 | "doctrine/annotations": "1.*", 605 | "jms/metadata": "~1.1", 606 | "jms/parser-lib": "1.*", 607 | "php": ">=5.3.2", 608 | "phpcollection/phpcollection": "~0.1" 609 | }, 610 | "require-dev": { 611 | "doctrine/orm": "~2.1", 612 | "doctrine/phpcr-odm": "~1.0.1", 613 | "jackalope/jackalope-doctrine-dbal": "1.0.*", 614 | "propel/propel1": "~1.7", 615 | "symfony/filesystem": "2.*", 616 | "symfony/form": "~2.1", 617 | "symfony/translation": "~2.0", 618 | "symfony/validator": "~2.0", 619 | "symfony/yaml": "2.*", 620 | "twig/twig": ">=1.8,<2.0-dev" 621 | }, 622 | "suggest": { 623 | "symfony/yaml": "Required if you'd like to serialize data to YAML format." 624 | }, 625 | "type": "library", 626 | "extra": { 627 | "branch-alias": { 628 | "dev-master": "0.15-dev" 629 | } 630 | }, 631 | "autoload": { 632 | "psr-0": { 633 | "JMS\\Serializer": "src/" 634 | } 635 | }, 636 | "notification-url": "https://packagist.org/downloads/", 637 | "license": [ 638 | "Apache2" 639 | ], 640 | "authors": [ 641 | { 642 | "name": "Johannes Schmitt", 643 | "email": "schmittjoh@gmail.com", 644 | "homepage": "https://github.com/schmittjoh", 645 | "role": "Developer of wrapped JMSSerializerBundle" 646 | } 647 | ], 648 | "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", 649 | "homepage": "http://jmsyst.com/libs/serializer", 650 | "keywords": [ 651 | "deserialization", 652 | "jaxb", 653 | "json", 654 | "serialization", 655 | "xml" 656 | ], 657 | "time": "2014-03-18 08:39:00" 658 | }, 659 | { 660 | "name": "phpcollection/phpcollection", 661 | "version": "0.4.0", 662 | "source": { 663 | "type": "git", 664 | "url": "https://github.com/schmittjoh/php-collection.git", 665 | "reference": "b8bf55a0a929ca43b01232b36719f176f86c7e83" 666 | }, 667 | "dist": { 668 | "type": "zip", 669 | "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/b8bf55a0a929ca43b01232b36719f176f86c7e83", 670 | "reference": "b8bf55a0a929ca43b01232b36719f176f86c7e83", 671 | "shasum": "" 672 | }, 673 | "require": { 674 | "phpoption/phpoption": "1.*" 675 | }, 676 | "type": "library", 677 | "extra": { 678 | "branch-alias": { 679 | "dev-master": "0.3-dev" 680 | } 681 | }, 682 | "autoload": { 683 | "psr-0": { 684 | "PhpCollection": "src/" 685 | } 686 | }, 687 | "notification-url": "https://packagist.org/downloads/", 688 | "license": [ 689 | "Apache2" 690 | ], 691 | "authors": [ 692 | { 693 | "name": "Johannes Schmitt", 694 | "email": "schmittjoh@gmail.com", 695 | "homepage": "https://github.com/schmittjoh", 696 | "role": "Developer of wrapped JMSSerializerBundle" 697 | } 698 | ], 699 | "description": "General-Purpose Collection Library for PHP", 700 | "keywords": [ 701 | "collection", 702 | "list", 703 | "map", 704 | "sequence", 705 | "set" 706 | ], 707 | "time": "2014-03-11 13:46:42" 708 | }, 709 | { 710 | "name": "phpdocumentor/reflection-docblock", 711 | "version": "2.0.4", 712 | "source": { 713 | "type": "git", 714 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 715 | "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" 716 | }, 717 | "dist": { 718 | "type": "zip", 719 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", 720 | "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", 721 | "shasum": "" 722 | }, 723 | "require": { 724 | "php": ">=5.3.3" 725 | }, 726 | "require-dev": { 727 | "phpunit/phpunit": "~4.0" 728 | }, 729 | "suggest": { 730 | "dflydev/markdown": "~1.0", 731 | "erusev/parsedown": "~1.0" 732 | }, 733 | "type": "library", 734 | "extra": { 735 | "branch-alias": { 736 | "dev-master": "2.0.x-dev" 737 | } 738 | }, 739 | "autoload": { 740 | "psr-0": { 741 | "phpDocumentor": [ 742 | "src/" 743 | ] 744 | } 745 | }, 746 | "notification-url": "https://packagist.org/downloads/", 747 | "license": [ 748 | "MIT" 749 | ], 750 | "authors": [ 751 | { 752 | "name": "Mike van Riel", 753 | "email": "mike.vanriel@naenius.com" 754 | } 755 | ], 756 | "time": "2015-02-03 12:10:50" 757 | }, 758 | { 759 | "name": "phpoption/phpoption", 760 | "version": "1.5.0", 761 | "source": { 762 | "type": "git", 763 | "url": "https://github.com/schmittjoh/php-option.git", 764 | "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed" 765 | }, 766 | "dist": { 767 | "type": "zip", 768 | "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed", 769 | "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed", 770 | "shasum": "" 771 | }, 772 | "require": { 773 | "php": ">=5.3.0" 774 | }, 775 | "require-dev": { 776 | "phpunit/phpunit": "4.7.*" 777 | }, 778 | "type": "library", 779 | "extra": { 780 | "branch-alias": { 781 | "dev-master": "1.3-dev" 782 | } 783 | }, 784 | "autoload": { 785 | "psr-0": { 786 | "PhpOption\\": "src/" 787 | } 788 | }, 789 | "notification-url": "https://packagist.org/downloads/", 790 | "license": [ 791 | "Apache2" 792 | ], 793 | "authors": [ 794 | { 795 | "name": "Johannes M. Schmitt", 796 | "email": "schmittjoh@gmail.com" 797 | } 798 | ], 799 | "description": "Option Type for PHP", 800 | "keywords": [ 801 | "language", 802 | "option", 803 | "php", 804 | "type" 805 | ], 806 | "time": "2015-07-25 16:39:46" 807 | }, 808 | { 809 | "name": "phpspec/prophecy", 810 | "version": "v1.5.0", 811 | "source": { 812 | "type": "git", 813 | "url": "https://github.com/phpspec/prophecy.git", 814 | "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7" 815 | }, 816 | "dist": { 817 | "type": "zip", 818 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7", 819 | "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7", 820 | "shasum": "" 821 | }, 822 | "require": { 823 | "doctrine/instantiator": "^1.0.2", 824 | "phpdocumentor/reflection-docblock": "~2.0", 825 | "sebastian/comparator": "~1.1" 826 | }, 827 | "require-dev": { 828 | "phpspec/phpspec": "~2.0" 829 | }, 830 | "type": "library", 831 | "extra": { 832 | "branch-alias": { 833 | "dev-master": "1.4.x-dev" 834 | } 835 | }, 836 | "autoload": { 837 | "psr-0": { 838 | "Prophecy\\": "src/" 839 | } 840 | }, 841 | "notification-url": "https://packagist.org/downloads/", 842 | "license": [ 843 | "MIT" 844 | ], 845 | "authors": [ 846 | { 847 | "name": "Konstantin Kudryashov", 848 | "email": "ever.zet@gmail.com", 849 | "homepage": "http://everzet.com" 850 | }, 851 | { 852 | "name": "Marcello Duarte", 853 | "email": "marcello.duarte@gmail.com" 854 | } 855 | ], 856 | "description": "Highly opinionated mocking framework for PHP 5.3+", 857 | "homepage": "https://github.com/phpspec/prophecy", 858 | "keywords": [ 859 | "Double", 860 | "Dummy", 861 | "fake", 862 | "mock", 863 | "spy", 864 | "stub" 865 | ], 866 | "time": "2015-08-13 10:07:40" 867 | }, 868 | { 869 | "name": "phpunit/php-code-coverage", 870 | "version": "2.2.4", 871 | "source": { 872 | "type": "git", 873 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 874 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" 875 | }, 876 | "dist": { 877 | "type": "zip", 878 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", 879 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", 880 | "shasum": "" 881 | }, 882 | "require": { 883 | "php": ">=5.3.3", 884 | "phpunit/php-file-iterator": "~1.3", 885 | "phpunit/php-text-template": "~1.2", 886 | "phpunit/php-token-stream": "~1.3", 887 | "sebastian/environment": "^1.3.2", 888 | "sebastian/version": "~1.0" 889 | }, 890 | "require-dev": { 891 | "ext-xdebug": ">=2.1.4", 892 | "phpunit/phpunit": "~4" 893 | }, 894 | "suggest": { 895 | "ext-dom": "*", 896 | "ext-xdebug": ">=2.2.1", 897 | "ext-xmlwriter": "*" 898 | }, 899 | "type": "library", 900 | "extra": { 901 | "branch-alias": { 902 | "dev-master": "2.2.x-dev" 903 | } 904 | }, 905 | "autoload": { 906 | "classmap": [ 907 | "src/" 908 | ] 909 | }, 910 | "notification-url": "https://packagist.org/downloads/", 911 | "license": [ 912 | "BSD-3-Clause" 913 | ], 914 | "authors": [ 915 | { 916 | "name": "Sebastian Bergmann", 917 | "email": "sb@sebastian-bergmann.de", 918 | "role": "lead" 919 | } 920 | ], 921 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 922 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 923 | "keywords": [ 924 | "coverage", 925 | "testing", 926 | "xunit" 927 | ], 928 | "time": "2015-10-06 15:47:00" 929 | }, 930 | { 931 | "name": "phpunit/php-file-iterator", 932 | "version": "1.4.1", 933 | "source": { 934 | "type": "git", 935 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 936 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" 937 | }, 938 | "dist": { 939 | "type": "zip", 940 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", 941 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", 942 | "shasum": "" 943 | }, 944 | "require": { 945 | "php": ">=5.3.3" 946 | }, 947 | "type": "library", 948 | "extra": { 949 | "branch-alias": { 950 | "dev-master": "1.4.x-dev" 951 | } 952 | }, 953 | "autoload": { 954 | "classmap": [ 955 | "src/" 956 | ] 957 | }, 958 | "notification-url": "https://packagist.org/downloads/", 959 | "license": [ 960 | "BSD-3-Clause" 961 | ], 962 | "authors": [ 963 | { 964 | "name": "Sebastian Bergmann", 965 | "email": "sb@sebastian-bergmann.de", 966 | "role": "lead" 967 | } 968 | ], 969 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 970 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 971 | "keywords": [ 972 | "filesystem", 973 | "iterator" 974 | ], 975 | "time": "2015-06-21 13:08:43" 976 | }, 977 | { 978 | "name": "phpunit/php-text-template", 979 | "version": "1.2.1", 980 | "source": { 981 | "type": "git", 982 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 983 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 984 | }, 985 | "dist": { 986 | "type": "zip", 987 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 988 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 989 | "shasum": "" 990 | }, 991 | "require": { 992 | "php": ">=5.3.3" 993 | }, 994 | "type": "library", 995 | "autoload": { 996 | "classmap": [ 997 | "src/" 998 | ] 999 | }, 1000 | "notification-url": "https://packagist.org/downloads/", 1001 | "license": [ 1002 | "BSD-3-Clause" 1003 | ], 1004 | "authors": [ 1005 | { 1006 | "name": "Sebastian Bergmann", 1007 | "email": "sebastian@phpunit.de", 1008 | "role": "lead" 1009 | } 1010 | ], 1011 | "description": "Simple template engine.", 1012 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1013 | "keywords": [ 1014 | "template" 1015 | ], 1016 | "time": "2015-06-21 13:50:34" 1017 | }, 1018 | { 1019 | "name": "phpunit/php-timer", 1020 | "version": "1.0.7", 1021 | "source": { 1022 | "type": "git", 1023 | "url": "https://github.com/sebastianbergmann/php-timer.git", 1024 | "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" 1025 | }, 1026 | "dist": { 1027 | "type": "zip", 1028 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", 1029 | "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", 1030 | "shasum": "" 1031 | }, 1032 | "require": { 1033 | "php": ">=5.3.3" 1034 | }, 1035 | "type": "library", 1036 | "autoload": { 1037 | "classmap": [ 1038 | "src/" 1039 | ] 1040 | }, 1041 | "notification-url": "https://packagist.org/downloads/", 1042 | "license": [ 1043 | "BSD-3-Clause" 1044 | ], 1045 | "authors": [ 1046 | { 1047 | "name": "Sebastian Bergmann", 1048 | "email": "sb@sebastian-bergmann.de", 1049 | "role": "lead" 1050 | } 1051 | ], 1052 | "description": "Utility class for timing", 1053 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 1054 | "keywords": [ 1055 | "timer" 1056 | ], 1057 | "time": "2015-06-21 08:01:12" 1058 | }, 1059 | { 1060 | "name": "phpunit/php-token-stream", 1061 | "version": "1.4.8", 1062 | "source": { 1063 | "type": "git", 1064 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 1065 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" 1066 | }, 1067 | "dist": { 1068 | "type": "zip", 1069 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", 1070 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", 1071 | "shasum": "" 1072 | }, 1073 | "require": { 1074 | "ext-tokenizer": "*", 1075 | "php": ">=5.3.3" 1076 | }, 1077 | "require-dev": { 1078 | "phpunit/phpunit": "~4.2" 1079 | }, 1080 | "type": "library", 1081 | "extra": { 1082 | "branch-alias": { 1083 | "dev-master": "1.4-dev" 1084 | } 1085 | }, 1086 | "autoload": { 1087 | "classmap": [ 1088 | "src/" 1089 | ] 1090 | }, 1091 | "notification-url": "https://packagist.org/downloads/", 1092 | "license": [ 1093 | "BSD-3-Clause" 1094 | ], 1095 | "authors": [ 1096 | { 1097 | "name": "Sebastian Bergmann", 1098 | "email": "sebastian@phpunit.de" 1099 | } 1100 | ], 1101 | "description": "Wrapper around PHP's tokenizer extension.", 1102 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 1103 | "keywords": [ 1104 | "tokenizer" 1105 | ], 1106 | "time": "2015-09-15 10:49:45" 1107 | }, 1108 | { 1109 | "name": "phpunit/phpunit", 1110 | "version": "4.8.16", 1111 | "source": { 1112 | "type": "git", 1113 | "url": "https://github.com/sebastianbergmann/phpunit.git", 1114 | "reference": "625f8c345606ed0f3a141dfb88f4116f0e22978e" 1115 | }, 1116 | "dist": { 1117 | "type": "zip", 1118 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/625f8c345606ed0f3a141dfb88f4116f0e22978e", 1119 | "reference": "625f8c345606ed0f3a141dfb88f4116f0e22978e", 1120 | "shasum": "" 1121 | }, 1122 | "require": { 1123 | "ext-dom": "*", 1124 | "ext-json": "*", 1125 | "ext-pcre": "*", 1126 | "ext-reflection": "*", 1127 | "ext-spl": "*", 1128 | "php": ">=5.3.3", 1129 | "phpspec/prophecy": "^1.3.1", 1130 | "phpunit/php-code-coverage": "~2.1", 1131 | "phpunit/php-file-iterator": "~1.4", 1132 | "phpunit/php-text-template": "~1.2", 1133 | "phpunit/php-timer": ">=1.0.6", 1134 | "phpunit/phpunit-mock-objects": "~2.3", 1135 | "sebastian/comparator": "~1.1", 1136 | "sebastian/diff": "~1.2", 1137 | "sebastian/environment": "~1.3", 1138 | "sebastian/exporter": "~1.2", 1139 | "sebastian/global-state": "~1.0", 1140 | "sebastian/version": "~1.0", 1141 | "symfony/yaml": "~2.1|~3.0" 1142 | }, 1143 | "suggest": { 1144 | "phpunit/php-invoker": "~1.1" 1145 | }, 1146 | "bin": [ 1147 | "phpunit" 1148 | ], 1149 | "type": "library", 1150 | "extra": { 1151 | "branch-alias": { 1152 | "dev-master": "4.8.x-dev" 1153 | } 1154 | }, 1155 | "autoload": { 1156 | "classmap": [ 1157 | "src/" 1158 | ] 1159 | }, 1160 | "notification-url": "https://packagist.org/downloads/", 1161 | "license": [ 1162 | "BSD-3-Clause" 1163 | ], 1164 | "authors": [ 1165 | { 1166 | "name": "Sebastian Bergmann", 1167 | "email": "sebastian@phpunit.de", 1168 | "role": "lead" 1169 | } 1170 | ], 1171 | "description": "The PHP Unit Testing framework.", 1172 | "homepage": "https://phpunit.de/", 1173 | "keywords": [ 1174 | "phpunit", 1175 | "testing", 1176 | "xunit" 1177 | ], 1178 | "time": "2015-10-23 06:48:33" 1179 | }, 1180 | { 1181 | "name": "phpunit/phpunit-mock-objects", 1182 | "version": "2.3.8", 1183 | "source": { 1184 | "type": "git", 1185 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 1186 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" 1187 | }, 1188 | "dist": { 1189 | "type": "zip", 1190 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", 1191 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", 1192 | "shasum": "" 1193 | }, 1194 | "require": { 1195 | "doctrine/instantiator": "^1.0.2", 1196 | "php": ">=5.3.3", 1197 | "phpunit/php-text-template": "~1.2", 1198 | "sebastian/exporter": "~1.2" 1199 | }, 1200 | "require-dev": { 1201 | "phpunit/phpunit": "~4.4" 1202 | }, 1203 | "suggest": { 1204 | "ext-soap": "*" 1205 | }, 1206 | "type": "library", 1207 | "extra": { 1208 | "branch-alias": { 1209 | "dev-master": "2.3.x-dev" 1210 | } 1211 | }, 1212 | "autoload": { 1213 | "classmap": [ 1214 | "src/" 1215 | ] 1216 | }, 1217 | "notification-url": "https://packagist.org/downloads/", 1218 | "license": [ 1219 | "BSD-3-Clause" 1220 | ], 1221 | "authors": [ 1222 | { 1223 | "name": "Sebastian Bergmann", 1224 | "email": "sb@sebastian-bergmann.de", 1225 | "role": "lead" 1226 | } 1227 | ], 1228 | "description": "Mock Object library for PHPUnit", 1229 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 1230 | "keywords": [ 1231 | "mock", 1232 | "xunit" 1233 | ], 1234 | "time": "2015-10-02 06:51:40" 1235 | }, 1236 | { 1237 | "name": "scrutinizer/ocular", 1238 | "version": "1.1.1", 1239 | "source": { 1240 | "type": "git", 1241 | "url": "https://github.com/scrutinizer-ci/ocular.git", 1242 | "reference": "8e0a8c7f085bc4857bd52132833679dcfd504fc1" 1243 | }, 1244 | "dist": { 1245 | "type": "zip", 1246 | "url": "https://api.github.com/repos/scrutinizer-ci/ocular/zipball/8e0a8c7f085bc4857bd52132833679dcfd504fc1", 1247 | "reference": "8e0a8c7f085bc4857bd52132833679dcfd504fc1", 1248 | "shasum": "" 1249 | }, 1250 | "require": { 1251 | "guzzle/guzzle": "~3.0", 1252 | "jms/serializer": "~0.13", 1253 | "phpoption/phpoption": "~1.0", 1254 | "symfony/console": "~2.0", 1255 | "symfony/process": "~2.3" 1256 | }, 1257 | "require-dev": { 1258 | "symfony/filesystem": "~2.0" 1259 | }, 1260 | "bin": [ 1261 | "bin/ocular" 1262 | ], 1263 | "type": "library", 1264 | "autoload": { 1265 | "psr-0": { 1266 | "Scrutinizer\\Ocular\\": "src/" 1267 | } 1268 | }, 1269 | "notification-url": "https://packagist.org/downloads/", 1270 | "time": "2014-04-12 20:46:35" 1271 | }, 1272 | { 1273 | "name": "sebastian/comparator", 1274 | "version": "1.2.0", 1275 | "source": { 1276 | "type": "git", 1277 | "url": "https://github.com/sebastianbergmann/comparator.git", 1278 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" 1279 | }, 1280 | "dist": { 1281 | "type": "zip", 1282 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", 1283 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", 1284 | "shasum": "" 1285 | }, 1286 | "require": { 1287 | "php": ">=5.3.3", 1288 | "sebastian/diff": "~1.2", 1289 | "sebastian/exporter": "~1.2" 1290 | }, 1291 | "require-dev": { 1292 | "phpunit/phpunit": "~4.4" 1293 | }, 1294 | "type": "library", 1295 | "extra": { 1296 | "branch-alias": { 1297 | "dev-master": "1.2.x-dev" 1298 | } 1299 | }, 1300 | "autoload": { 1301 | "classmap": [ 1302 | "src/" 1303 | ] 1304 | }, 1305 | "notification-url": "https://packagist.org/downloads/", 1306 | "license": [ 1307 | "BSD-3-Clause" 1308 | ], 1309 | "authors": [ 1310 | { 1311 | "name": "Jeff Welch", 1312 | "email": "whatthejeff@gmail.com" 1313 | }, 1314 | { 1315 | "name": "Volker Dusch", 1316 | "email": "github@wallbash.com" 1317 | }, 1318 | { 1319 | "name": "Bernhard Schussek", 1320 | "email": "bschussek@2bepublished.at" 1321 | }, 1322 | { 1323 | "name": "Sebastian Bergmann", 1324 | "email": "sebastian@phpunit.de" 1325 | } 1326 | ], 1327 | "description": "Provides the functionality to compare PHP values for equality", 1328 | "homepage": "http://www.github.com/sebastianbergmann/comparator", 1329 | "keywords": [ 1330 | "comparator", 1331 | "compare", 1332 | "equality" 1333 | ], 1334 | "time": "2015-07-26 15:48:44" 1335 | }, 1336 | { 1337 | "name": "sebastian/diff", 1338 | "version": "1.3.0", 1339 | "source": { 1340 | "type": "git", 1341 | "url": "https://github.com/sebastianbergmann/diff.git", 1342 | "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" 1343 | }, 1344 | "dist": { 1345 | "type": "zip", 1346 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", 1347 | "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", 1348 | "shasum": "" 1349 | }, 1350 | "require": { 1351 | "php": ">=5.3.3" 1352 | }, 1353 | "require-dev": { 1354 | "phpunit/phpunit": "~4.2" 1355 | }, 1356 | "type": "library", 1357 | "extra": { 1358 | "branch-alias": { 1359 | "dev-master": "1.3-dev" 1360 | } 1361 | }, 1362 | "autoload": { 1363 | "classmap": [ 1364 | "src/" 1365 | ] 1366 | }, 1367 | "notification-url": "https://packagist.org/downloads/", 1368 | "license": [ 1369 | "BSD-3-Clause" 1370 | ], 1371 | "authors": [ 1372 | { 1373 | "name": "Kore Nordmann", 1374 | "email": "mail@kore-nordmann.de" 1375 | }, 1376 | { 1377 | "name": "Sebastian Bergmann", 1378 | "email": "sebastian@phpunit.de" 1379 | } 1380 | ], 1381 | "description": "Diff implementation", 1382 | "homepage": "http://www.github.com/sebastianbergmann/diff", 1383 | "keywords": [ 1384 | "diff" 1385 | ], 1386 | "time": "2015-02-22 15:13:53" 1387 | }, 1388 | { 1389 | "name": "sebastian/environment", 1390 | "version": "1.3.2", 1391 | "source": { 1392 | "type": "git", 1393 | "url": "https://github.com/sebastianbergmann/environment.git", 1394 | "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44" 1395 | }, 1396 | "dist": { 1397 | "type": "zip", 1398 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44", 1399 | "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44", 1400 | "shasum": "" 1401 | }, 1402 | "require": { 1403 | "php": ">=5.3.3" 1404 | }, 1405 | "require-dev": { 1406 | "phpunit/phpunit": "~4.4" 1407 | }, 1408 | "type": "library", 1409 | "extra": { 1410 | "branch-alias": { 1411 | "dev-master": "1.3.x-dev" 1412 | } 1413 | }, 1414 | "autoload": { 1415 | "classmap": [ 1416 | "src/" 1417 | ] 1418 | }, 1419 | "notification-url": "https://packagist.org/downloads/", 1420 | "license": [ 1421 | "BSD-3-Clause" 1422 | ], 1423 | "authors": [ 1424 | { 1425 | "name": "Sebastian Bergmann", 1426 | "email": "sebastian@phpunit.de" 1427 | } 1428 | ], 1429 | "description": "Provides functionality to handle HHVM/PHP environments", 1430 | "homepage": "http://www.github.com/sebastianbergmann/environment", 1431 | "keywords": [ 1432 | "Xdebug", 1433 | "environment", 1434 | "hhvm" 1435 | ], 1436 | "time": "2015-08-03 06:14:51" 1437 | }, 1438 | { 1439 | "name": "sebastian/exporter", 1440 | "version": "1.2.1", 1441 | "source": { 1442 | "type": "git", 1443 | "url": "https://github.com/sebastianbergmann/exporter.git", 1444 | "reference": "7ae5513327cb536431847bcc0c10edba2701064e" 1445 | }, 1446 | "dist": { 1447 | "type": "zip", 1448 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", 1449 | "reference": "7ae5513327cb536431847bcc0c10edba2701064e", 1450 | "shasum": "" 1451 | }, 1452 | "require": { 1453 | "php": ">=5.3.3", 1454 | "sebastian/recursion-context": "~1.0" 1455 | }, 1456 | "require-dev": { 1457 | "phpunit/phpunit": "~4.4" 1458 | }, 1459 | "type": "library", 1460 | "extra": { 1461 | "branch-alias": { 1462 | "dev-master": "1.2.x-dev" 1463 | } 1464 | }, 1465 | "autoload": { 1466 | "classmap": [ 1467 | "src/" 1468 | ] 1469 | }, 1470 | "notification-url": "https://packagist.org/downloads/", 1471 | "license": [ 1472 | "BSD-3-Clause" 1473 | ], 1474 | "authors": [ 1475 | { 1476 | "name": "Jeff Welch", 1477 | "email": "whatthejeff@gmail.com" 1478 | }, 1479 | { 1480 | "name": "Volker Dusch", 1481 | "email": "github@wallbash.com" 1482 | }, 1483 | { 1484 | "name": "Bernhard Schussek", 1485 | "email": "bschussek@2bepublished.at" 1486 | }, 1487 | { 1488 | "name": "Sebastian Bergmann", 1489 | "email": "sebastian@phpunit.de" 1490 | }, 1491 | { 1492 | "name": "Adam Harvey", 1493 | "email": "aharvey@php.net" 1494 | } 1495 | ], 1496 | "description": "Provides the functionality to export PHP variables for visualization", 1497 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 1498 | "keywords": [ 1499 | "export", 1500 | "exporter" 1501 | ], 1502 | "time": "2015-06-21 07:55:53" 1503 | }, 1504 | { 1505 | "name": "sebastian/global-state", 1506 | "version": "1.1.1", 1507 | "source": { 1508 | "type": "git", 1509 | "url": "https://github.com/sebastianbergmann/global-state.git", 1510 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" 1511 | }, 1512 | "dist": { 1513 | "type": "zip", 1514 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", 1515 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", 1516 | "shasum": "" 1517 | }, 1518 | "require": { 1519 | "php": ">=5.3.3" 1520 | }, 1521 | "require-dev": { 1522 | "phpunit/phpunit": "~4.2" 1523 | }, 1524 | "suggest": { 1525 | "ext-uopz": "*" 1526 | }, 1527 | "type": "library", 1528 | "extra": { 1529 | "branch-alias": { 1530 | "dev-master": "1.0-dev" 1531 | } 1532 | }, 1533 | "autoload": { 1534 | "classmap": [ 1535 | "src/" 1536 | ] 1537 | }, 1538 | "notification-url": "https://packagist.org/downloads/", 1539 | "license": [ 1540 | "BSD-3-Clause" 1541 | ], 1542 | "authors": [ 1543 | { 1544 | "name": "Sebastian Bergmann", 1545 | "email": "sebastian@phpunit.de" 1546 | } 1547 | ], 1548 | "description": "Snapshotting of global state", 1549 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 1550 | "keywords": [ 1551 | "global state" 1552 | ], 1553 | "time": "2015-10-12 03:26:01" 1554 | }, 1555 | { 1556 | "name": "sebastian/recursion-context", 1557 | "version": "1.0.1", 1558 | "source": { 1559 | "type": "git", 1560 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 1561 | "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" 1562 | }, 1563 | "dist": { 1564 | "type": "zip", 1565 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", 1566 | "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", 1567 | "shasum": "" 1568 | }, 1569 | "require": { 1570 | "php": ">=5.3.3" 1571 | }, 1572 | "require-dev": { 1573 | "phpunit/phpunit": "~4.4" 1574 | }, 1575 | "type": "library", 1576 | "extra": { 1577 | "branch-alias": { 1578 | "dev-master": "1.0.x-dev" 1579 | } 1580 | }, 1581 | "autoload": { 1582 | "classmap": [ 1583 | "src/" 1584 | ] 1585 | }, 1586 | "notification-url": "https://packagist.org/downloads/", 1587 | "license": [ 1588 | "BSD-3-Clause" 1589 | ], 1590 | "authors": [ 1591 | { 1592 | "name": "Jeff Welch", 1593 | "email": "whatthejeff@gmail.com" 1594 | }, 1595 | { 1596 | "name": "Sebastian Bergmann", 1597 | "email": "sebastian@phpunit.de" 1598 | }, 1599 | { 1600 | "name": "Adam Harvey", 1601 | "email": "aharvey@php.net" 1602 | } 1603 | ], 1604 | "description": "Provides functionality to recursively process PHP variables", 1605 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 1606 | "time": "2015-06-21 08:04:50" 1607 | }, 1608 | { 1609 | "name": "sebastian/version", 1610 | "version": "1.0.6", 1611 | "source": { 1612 | "type": "git", 1613 | "url": "https://github.com/sebastianbergmann/version.git", 1614 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" 1615 | }, 1616 | "dist": { 1617 | "type": "zip", 1618 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1619 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1620 | "shasum": "" 1621 | }, 1622 | "type": "library", 1623 | "autoload": { 1624 | "classmap": [ 1625 | "src/" 1626 | ] 1627 | }, 1628 | "notification-url": "https://packagist.org/downloads/", 1629 | "license": [ 1630 | "BSD-3-Clause" 1631 | ], 1632 | "authors": [ 1633 | { 1634 | "name": "Sebastian Bergmann", 1635 | "email": "sebastian@phpunit.de", 1636 | "role": "lead" 1637 | } 1638 | ], 1639 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 1640 | "homepage": "https://github.com/sebastianbergmann/version", 1641 | "time": "2015-06-21 13:59:46" 1642 | }, 1643 | { 1644 | "name": "symfony/console", 1645 | "version": "v2.7.5", 1646 | "source": { 1647 | "type": "git", 1648 | "url": "https://github.com/symfony/console.git", 1649 | "reference": "06cb17c013a82f94a3d840682b49425cd00a2161" 1650 | }, 1651 | "dist": { 1652 | "type": "zip", 1653 | "url": "https://api.github.com/repos/symfony/console/zipball/06cb17c013a82f94a3d840682b49425cd00a2161", 1654 | "reference": "06cb17c013a82f94a3d840682b49425cd00a2161", 1655 | "shasum": "" 1656 | }, 1657 | "require": { 1658 | "php": ">=5.3.9" 1659 | }, 1660 | "require-dev": { 1661 | "psr/log": "~1.0", 1662 | "symfony/event-dispatcher": "~2.1", 1663 | "symfony/phpunit-bridge": "~2.7", 1664 | "symfony/process": "~2.1" 1665 | }, 1666 | "suggest": { 1667 | "psr/log": "For using the console logger", 1668 | "symfony/event-dispatcher": "", 1669 | "symfony/process": "" 1670 | }, 1671 | "type": "library", 1672 | "extra": { 1673 | "branch-alias": { 1674 | "dev-master": "2.7-dev" 1675 | } 1676 | }, 1677 | "autoload": { 1678 | "psr-4": { 1679 | "Symfony\\Component\\Console\\": "" 1680 | } 1681 | }, 1682 | "notification-url": "https://packagist.org/downloads/", 1683 | "license": [ 1684 | "MIT" 1685 | ], 1686 | "authors": [ 1687 | { 1688 | "name": "Fabien Potencier", 1689 | "email": "fabien@symfony.com" 1690 | }, 1691 | { 1692 | "name": "Symfony Community", 1693 | "homepage": "https://symfony.com/contributors" 1694 | } 1695 | ], 1696 | "description": "Symfony Console Component", 1697 | "homepage": "https://symfony.com", 1698 | "time": "2015-09-25 08:32:23" 1699 | }, 1700 | { 1701 | "name": "symfony/event-dispatcher", 1702 | "version": "v2.7.5", 1703 | "source": { 1704 | "type": "git", 1705 | "url": "https://github.com/symfony/event-dispatcher.git", 1706 | "reference": "ae4dcc2a8d3de98bd794167a3ccda1311597c5d9" 1707 | }, 1708 | "dist": { 1709 | "type": "zip", 1710 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ae4dcc2a8d3de98bd794167a3ccda1311597c5d9", 1711 | "reference": "ae4dcc2a8d3de98bd794167a3ccda1311597c5d9", 1712 | "shasum": "" 1713 | }, 1714 | "require": { 1715 | "php": ">=5.3.9" 1716 | }, 1717 | "require-dev": { 1718 | "psr/log": "~1.0", 1719 | "symfony/config": "~2.0,>=2.0.5", 1720 | "symfony/dependency-injection": "~2.6", 1721 | "symfony/expression-language": "~2.6", 1722 | "symfony/phpunit-bridge": "~2.7", 1723 | "symfony/stopwatch": "~2.3" 1724 | }, 1725 | "suggest": { 1726 | "symfony/dependency-injection": "", 1727 | "symfony/http-kernel": "" 1728 | }, 1729 | "type": "library", 1730 | "extra": { 1731 | "branch-alias": { 1732 | "dev-master": "2.7-dev" 1733 | } 1734 | }, 1735 | "autoload": { 1736 | "psr-4": { 1737 | "Symfony\\Component\\EventDispatcher\\": "" 1738 | } 1739 | }, 1740 | "notification-url": "https://packagist.org/downloads/", 1741 | "license": [ 1742 | "MIT" 1743 | ], 1744 | "authors": [ 1745 | { 1746 | "name": "Fabien Potencier", 1747 | "email": "fabien@symfony.com" 1748 | }, 1749 | { 1750 | "name": "Symfony Community", 1751 | "homepage": "https://symfony.com/contributors" 1752 | } 1753 | ], 1754 | "description": "Symfony EventDispatcher Component", 1755 | "homepage": "https://symfony.com", 1756 | "time": "2015-09-22 13:49:29" 1757 | }, 1758 | { 1759 | "name": "symfony/process", 1760 | "version": "v2.7.5", 1761 | "source": { 1762 | "type": "git", 1763 | "url": "https://github.com/symfony/process.git", 1764 | "reference": "b27c8e317922cd3cdd3600850273cf6b82b2e8e9" 1765 | }, 1766 | "dist": { 1767 | "type": "zip", 1768 | "url": "https://api.github.com/repos/symfony/process/zipball/b27c8e317922cd3cdd3600850273cf6b82b2e8e9", 1769 | "reference": "b27c8e317922cd3cdd3600850273cf6b82b2e8e9", 1770 | "shasum": "" 1771 | }, 1772 | "require": { 1773 | "php": ">=5.3.9" 1774 | }, 1775 | "require-dev": { 1776 | "symfony/phpunit-bridge": "~2.7" 1777 | }, 1778 | "type": "library", 1779 | "extra": { 1780 | "branch-alias": { 1781 | "dev-master": "2.7-dev" 1782 | } 1783 | }, 1784 | "autoload": { 1785 | "psr-4": { 1786 | "Symfony\\Component\\Process\\": "" 1787 | } 1788 | }, 1789 | "notification-url": "https://packagist.org/downloads/", 1790 | "license": [ 1791 | "MIT" 1792 | ], 1793 | "authors": [ 1794 | { 1795 | "name": "Fabien Potencier", 1796 | "email": "fabien@symfony.com" 1797 | }, 1798 | { 1799 | "name": "Symfony Community", 1800 | "homepage": "https://symfony.com/contributors" 1801 | } 1802 | ], 1803 | "description": "Symfony Process Component", 1804 | "homepage": "https://symfony.com", 1805 | "time": "2015-09-19 19:59:23" 1806 | }, 1807 | { 1808 | "name": "symfony/yaml", 1809 | "version": "v2.7.5", 1810 | "source": { 1811 | "type": "git", 1812 | "url": "https://github.com/symfony/yaml.git", 1813 | "reference": "31cb2ad0155c95b88ee55fe12bc7ff92232c1770" 1814 | }, 1815 | "dist": { 1816 | "type": "zip", 1817 | "url": "https://api.github.com/repos/symfony/yaml/zipball/31cb2ad0155c95b88ee55fe12bc7ff92232c1770", 1818 | "reference": "31cb2ad0155c95b88ee55fe12bc7ff92232c1770", 1819 | "shasum": "" 1820 | }, 1821 | "require": { 1822 | "php": ">=5.3.9" 1823 | }, 1824 | "require-dev": { 1825 | "symfony/phpunit-bridge": "~2.7" 1826 | }, 1827 | "type": "library", 1828 | "extra": { 1829 | "branch-alias": { 1830 | "dev-master": "2.7-dev" 1831 | } 1832 | }, 1833 | "autoload": { 1834 | "psr-4": { 1835 | "Symfony\\Component\\Yaml\\": "" 1836 | } 1837 | }, 1838 | "notification-url": "https://packagist.org/downloads/", 1839 | "license": [ 1840 | "MIT" 1841 | ], 1842 | "authors": [ 1843 | { 1844 | "name": "Fabien Potencier", 1845 | "email": "fabien@symfony.com" 1846 | }, 1847 | { 1848 | "name": "Symfony Community", 1849 | "homepage": "https://symfony.com/contributors" 1850 | } 1851 | ], 1852 | "description": "Symfony Yaml Component", 1853 | "homepage": "https://symfony.com", 1854 | "time": "2015-09-14 14:14:09" 1855 | } 1856 | ], 1857 | "aliases": [], 1858 | "minimum-stability": "stable", 1859 | "stability-flags": [], 1860 | "prefer-stable": false, 1861 | "prefer-lowest": false, 1862 | "platform": { 1863 | "php": ">=5.3.0" 1864 | }, 1865 | "platform-dev": [] 1866 | } 1867 | -------------------------------------------------------------------------------- /src/ModxContentModel.php: -------------------------------------------------------------------------------- 1 | where('publishedon','!=',0); 26 | 27 | } 28 | 29 | public function scopeNotDeleted($query){ 30 | 31 | return $query->where('deleted','=',0); 32 | 33 | } 34 | 35 | public function scopeMenuindex($query, $sort = 'asc'){ 36 | 37 | return $query->orderBy('menuindex', $sort); 38 | 39 | } 40 | 41 | public function scopeSortPublished($query, $sort = 'desc'){ 42 | 43 | return $query->orderBy('publishedon', $sort); 44 | 45 | } 46 | 47 | public function templateVariables(){ 48 | 49 | return $this->belongsToMany('Rvanmarkus\Modxmodels\ModxTemplateVar', 50 | 'modx_site_tmplvar_contentvalues', 'contentid','tmplvarid') ->withPivot('value'); 51 | 52 | } 53 | 54 | public function getTemplateVariablesAttribute(){ 55 | 56 | try { 57 | 58 | if (!isset($this->relations['templateVariables'])) { 59 | $this->relations['templateVariables'] = $this->newQuery()->getRelation('TemplateVariables')->get(); 60 | } 61 | 62 | return $this->relations['templateVariables'] 63 | ->keyBy(function ($aTemplateVar) { 64 | return $aTemplateVar->name; 65 | }) 66 | ->map(function ($aTemplateVar) { 67 | return $this->castFromModxType($aTemplateVar); 68 | //return $aTemplateVar; 69 | }); 70 | 71 | } catch (Exception $error){ 72 | Throw new Exception($error); 73 | } 74 | } 75 | 76 | private function castFromModxType($aTemplateVar) { 77 | 78 | switch($aTemplateVar->type) { 79 | case "migx": 80 | return $aTemplateVar->value = json_decode($aTemplateVar->pivot->value); 81 | break; 82 | case "checkbox": 83 | return explode('||', $aTemplateVar->pivot->value); 84 | break; 85 | 86 | case "date": 87 | return new Carbon($aTemplateVar->pivot->value); 88 | break; 89 | 90 | default: 91 | return $aTemplateVar->pivot->value; 92 | break; 93 | } 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /src/ModxPageModel.php: -------------------------------------------------------------------------------- 1 | attributes['output_properties']); 15 | } 16 | 17 | public function setInputPropertiesAttribute($value) 18 | { 19 | $this->attributes['output_properties'] = json_encode($value); 20 | } 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/ModxTemplateVarContent.php: -------------------------------------------------------------------------------- 1 | getQualifiedParentColumn(); 21 | 22 | $value = $model->getParentColumnValue(); 23 | 24 | $builder->where($column, '=', $value); 25 | 26 | $this->addWithDrafts($builder); 27 | } 28 | 29 | /** 30 | * Remove scope from the query. 31 | * 32 | * @param \Illuminate\Database\Eloquent\Builder $builder 33 | * @param \Illuminate\Database\Eloquent\Model $model 34 | * @return void 35 | */ 36 | public function remove(Builder $builder, Model $model) 37 | { 38 | $query = $builder->getQuery(); 39 | 40 | $column = $model->getQualifiedParentColumn(); 41 | 42 | $bindingKey = 0; 43 | 44 | foreach ((array) $query->wheres as $key => $where) 45 | { 46 | if ($this->isParentConstraint($where, $column)) 47 | { 48 | $this->removeWhere($query, $key); 49 | 50 | // Here SoftDeletingScope simply removes the where 51 | // but since we use Basic where (not Null type) 52 | // we need to get rid of the binding as well 53 | $this->removeBinding($query, $bindingKey); 54 | } 55 | } 56 | } 57 | 58 | /** 59 | * Remove scope constraint from the query. 60 | * 61 | * @param \Illuminate\Database\Query\Builder $builder 62 | * @param int $key 63 | * @return void 64 | */ 65 | protected function removeWhere(BaseBuilder $query, $key) 66 | { 67 | unset($query->wheres[$key]); 68 | 69 | $query->wheres = array_values($query->wheres); 70 | } 71 | 72 | /** 73 | * Remove scope constraint from the query. 74 | * 75 | * @param \Illuminate\Database\Query\Builder $builder 76 | * @param int $key 77 | * @return void 78 | */ 79 | protected function removeBinding(BaseBuilder $query, $key) 80 | { 81 | $bindings = $query->getRawBindings()['where']; 82 | 83 | unset($bindings[$key]); 84 | 85 | $query->setBindings($bindings); 86 | } 87 | 88 | /** 89 | * Check if given where is the scope constraint. 90 | * 91 | * @param array $where 92 | * @param string $column 93 | * @return boolean 94 | */ 95 | protected function isParentConstraint(array $where, $column) 96 | { 97 | return ($where['type'] == 'Basic' && $where['column'] == $column && $where['value'] == 1); 98 | } 99 | 100 | /** 101 | * Extend Builder with custom method. 102 | * 103 | * @param \Illuminate\Database\Eloquent\Builder $builder 104 | */ 105 | protected function addWithDrafts(Builder $builder) 106 | { 107 | $builder->macro('withDrafts', function(Builder $builder) 108 | { 109 | $this->remove($builder, $builder->getModel()); 110 | 111 | return $builder; 112 | }); 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /src/PageTrait.php: -------------------------------------------------------------------------------- 1 | getTable().'.'.$this->getParentColumn(); 49 | } 50 | 51 | /** 52 | * Get the query builder without the scope applied. 53 | * 54 | * @return \Illuminate\Database\Eloquent\Builder 55 | */ 56 | public static function withDrafts() 57 | { 58 | return with(new static)->newQueryWithoutScope(new PageScope()); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/SkeletonClass.php: -------------------------------------------------------------------------------- 1 |