diff --git a/.gitignore b/.gitignore index 16d8d74..cde7fc8 100755 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ vendor/* config.php moufRunningActions.php .composer +!mouf/no_commit/.gitkeep +mouf/no_commit/ +.discovery/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index f81b6ef..91d3b7a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: php php: - - 5.5 - - 5.6 + - 7.1 + - 7.2 env: global: diff --git a/README.md b/README.md index dc28d73..396cdb9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ Mouf 2: Dependency injection... on steroids =========================================== -[![Latest Unstable Version](https://poser.pugx.org/mouf/mouf/v/unstable.png)](https://packagist.org/packages/mouf/mouf) [![Total Downloads](https://poser.pugx.org/mouf/mouf/downloads.png)](https://packagist.org/packages/mouf/mouf) [![License](https://poser.pugx.org/mouf/mouf/license.png)](https://packagist.org/packages/mouf/mouf) [![Build Status](https://travis-ci.org/thecodingmachine/mouf.svg?branch=master)](https://travis-ci.org/thecodingmachine/mouf) +[![Latest Unstable Version](https://poser.pugx.org/mouf/mouf/v/unstable.png)](https://packagist.org/packages/mouf/mouf) [![Total Downloads](https://poser.pugx.org/mouf/mouf/downloads.png)](https://packagist.org/packages/mouf/mouf) [![License](https://poser.pugx.org/mouf/mouf/license.png)](https://packagist.org/packages/mouf/mouf) [![Build Status](https://travis-ci.org/thecodingmachine/mouf.svg?branch=2.1)](https://travis-ci.org/thecodingmachine/mouf) What is Mouf? ------------- diff --git a/composer-mouf.json b/composer-mouf.json index 3434eb7..0c06d63 100644 --- a/composer-mouf.json +++ b/composer-mouf.json @@ -1,44 +1,58 @@ { + "name": "mouf/mouf", + "version": "2.1", "require": { "mouf/mouf-installer": "~2.0", "mouf/mouf-validators-interface": "~2.0", - "mouf/html.template.mouftemplate": "~2.0", - "mouf/html.template.bootstrap": "2.3.2.*", + "mouf/html.template.bootstrap": "~2.3.4", "mouf/utils.i18n.fine": "~3.0", - "mouf/mvc.splash": "~4.2", "mouf/javascript.jquery.jquery-ui": "~1.10", "mouf/javascript.underscore": "~1.3.3", - "mouf/utils.log.errorlog_logger": "~2.0", "mouf/javascript.jquery.jquery-filetree" : "~1.01.0", "mouf/javascript.syntaxhighlighter" : "~3.0.83", - "mouf/html.widgets.menu" : "~2.0", - "mouf/security.simplelogincontroller" : "~2.0", - "mouf/security.userfiledao" : "~2.0", + "mouf/html.widgets.menu" : "^4.0", + "mouf/security.simplelogincontroller" : "~6.0", + "mouf/security.userfiledao" : "~4.0", "mouf/utils.cache.file-cache" : "~2.0", "mouf/utils.common.getvars" : "~2.0", "mouf/famfamfam" : "~1.3.0", - "mouf/html.template.menus.basicmenu" : "~2.0", - "mouf/utils.session.session-manager" : "~2.0", - "mouf/html.widgets.messageservice": "~2.0", + "mouf/utils.session.session-manager" : "^4", + "mouf/html.widgets.messageservice": "^4", "mouf/utils.cache.apc-cache": "~2.0", "michelf/php-markdown": "~1.3", "mouf/javascript.jquery.jq-bootstrap-validation": "~1.3.0", - "container-interop/container-interop": "~1.0", - "mouf/javascript.ace": "1.1.3", + "thecodingmachine/funky": "^1.0", + "mouf/javascript.ace": "~1.1.3", "nikic/php-parser": "~2.0", - "mouf/security.userservice-splash": "~4.0", - "mouf/classname-mapper": "~1.0" + "mouf/security.userservice-splash": "^10", + "mouf/security.userservice": "^3", + "mouf/classname-mapper": "~1.0", + + "thecodingmachine/splash-router": "^10", + "thecodingmachine/splash-service-provider": "^10", + "mnapoli/simplex": "~0.5", + "zendframework/zend-diactoros": "^1.3", + "zendframework/zend-stratigility": "^3.0", + "thecodingmachine/doctrine-annotations-universal-module": "~1.0", + "thecodingmachine/symfony-cache-universal-module": "~1.0", + "thecodingmachine/stratigility-harmony": "^3.0", + "thecodingmachine/twig-universal-module": "^1.1", + "thecodingmachine/monolog-universal-service-provider": "^1.1", + "thecodingmachine/discovery": "^1.0", + "mouf/mvc.splash-common": "^10", + "thecodingmachine/whoops-middleware-universal-module": "^1" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "~5.0" }, "autoload": { "psr-0": {"Mouf": ["src/", "src-dev/", "tests/"]} }, + "minimum-stability": "dev", "prefer-stable": true, "extra": { "mouf": { } } -} \ No newline at end of file +} diff --git a/composer-mouf.lock b/composer-mouf.lock index 4c7da8d..866e82a 100644 --- a/composer-mouf.lock +++ b/composer-mouf.lock @@ -4,113 +4,151 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "7d1a6412f0624d7061cc2da87758e217", - "content-hash": "e24775242298cf90a062f14269e1bcac", + "content-hash": "7ec495686713dbabf0dcf7263dc19c90", "packages": [ { - "name": "container-interop/container-interop", - "version": "1.1.0", + "name": "cache/adapter-common", + "version": "0.3.3", "source": { "type": "git", - "url": "https://github.com/container-interop/container-interop.git", - "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e" + "url": "https://github.com/php-cache/adapter-common.git", + "reference": "874256105aefaa52b60599ab02858a4575e61095" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/container-interop/container-interop/zipball/fc08354828f8fd3245f77a66b9e23a6bca48297e", - "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e", + "url": "https://api.github.com/repos/php-cache/adapter-common/zipball/874256105aefaa52b60599ab02858a4575e61095", + "reference": "874256105aefaa52b60599ab02858a4575e61095", "shasum": "" }, + "require": { + "cache/taggable-cache": "^0.4", + "php": "^5.5 || ^7.0", + "psr/cache": "^1.0", + "psr/log": "^1.0" + }, + "require-dev": { + "cache/integration-tests": "^0.10", + "phpunit/phpunit": "^4.0 || ^5.1" + }, "type": "library", "autoload": { "psr-4": { - "Interop\\Container\\": "src/Interop/Container/" + "Cache\\Adapter\\Common\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", - "time": "2014-12-30 15:22:37" + "authors": [ + { + "name": "Aaron Scherer", + "email": "aequasi@gmail.com", + "homepage": "https://github.com/aequasi" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/nyholm" + } + ], + "description": "Common classes for PSR-6 adapters", + "homepage": "http://www.php-cache.com/en/latest/", + "keywords": [ + "cache", + "psr-6", + "tag" + ], + "time": "2016-07-31T18:10:41+00:00" }, { - "name": "michelf/php-markdown", - "version": "1.6.0", + "name": "cache/hierarchical-cache", + "version": "0.3.0", "source": { "type": "git", - "url": "https://github.com/michelf/php-markdown.git", - "reference": "156e56ee036505ec637d761ee62dc425d807183c" + "url": "https://github.com/php-cache/hierarchical-cache.git", + "reference": "783e179acc3c9d47c469513a2380219022bfa0bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/michelf/php-markdown/zipball/156e56ee036505ec637d761ee62dc425d807183c", - "reference": "156e56ee036505ec637d761ee62dc425d807183c", + "url": "https://api.github.com/repos/php-cache/hierarchical-cache/zipball/783e179acc3c9d47c469513a2380219022bfa0bc", + "reference": "783e179acc3c9d47c469513a2380219022bfa0bc", "shasum": "" }, "require": { - "php": ">=5.3.0" + "cache/taggable-cache": "^0.4", + "php": "^5.5 || ^7.0", + "psr/cache": "^1.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-lib": "1.4.x-dev" - } + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.1" }, + "type": "library", "autoload": { - "psr-0": { - "Michelf": "" - } + "psr-4": { + "Cache\\Hierarchy\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" + "name": "Aaron Scherer", + "email": "aequasi@gmail.com", + "homepage": "https://github.com/aequasi" }, { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/nyholm" } ], - "description": "PHP Markdown", - "homepage": "https://michelf.ca/projects/php-markdown/", + "description": "A helper trait and interface to your PSR-6 cache to support hierarchical keys.", + "homepage": "http://www.php-cache.com/en/latest/", "keywords": [ - "markdown" + "cache", + "hierarchical", + "psr-6", + "tag" ], - "time": "2015-12-24 01:37:31" + "time": "2016-08-07T14:49:33+00:00" }, { - "name": "mouf/classname-mapper", - "version": "v1.0.0", + "name": "cache/taggable-cache", + "version": "0.4.3", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/classname-mapper.git", - "reference": "aa8e227d10ccaab6b8c882c712f8327026294fdf" + "url": "https://github.com/php-cache/taggable-cache.git", + "reference": "8ae3042edd1ac9546c9eae1020dc2b438ef10742" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/classname-mapper/zipball/aa8e227d10ccaab6b8c882c712f8327026294fdf", - "reference": "aa8e227d10ccaab6b8c882c712f8327026294fdf", + "url": "https://api.github.com/repos/php-cache/taggable-cache/zipball/8ae3042edd1ac9546c9eae1020dc2b438ef10742", + "reference": "8ae3042edd1ac9546c9eae1020dc2b438ef10742", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": "^5.5 || ^7.0", + "psr/cache": "^1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0 | ~5.0", - "satooshi/php-coveralls": "~1.0" + "cache/integration-tests": "^0.11", + "phpunit/phpunit": "^4.0 || ^5.1", + "symfony/cache": "^3.1" }, "type": "library", "autoload": { "psr-4": { - "Mouf\\Composer\\": "src/" - } + "Cache\\Taggable\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -118,167 +156,151 @@ ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "Aaron Scherer", + "email": "aequasi@gmail.com", + "homepage": "https://github.com/aequasi" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/nyholm" } ], - "description": "Provides a way to find in which PHP files a class will be looked upon.", - "homepage": "http://mouf-php.com/packages/thecodingmachine/classname-mapper", + "description": "Add tag support to your PSR-6 cache implementation", + "homepage": "http://www.php-cache.com/en/latest/", "keywords": [ - "autoload", - "composer" + "Taggable", + "cache", + "psr6", + "tag" ], - "time": "2016-02-01 09:23:40" + "time": "2016-08-08T17:20:09+00:00" }, { - "name": "mouf/famfamfam", - "version": "v1.3.0", + "name": "cache/void-adapter", + "version": "0.3.1", "source": { "type": "git", - "url": "https://github.com/moufmouf/famfamfam.git", - "reference": "438cac30bdaa0718a04f1ffdf0c078e2d195403f" + "url": "https://github.com/php-cache/void-adapter.git", + "reference": "a946b2e83e6cf8996f01a05811c76869cf11c009" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/moufmouf/famfamfam/zipball/438cac30bdaa0718a04f1ffdf0c078e2d195403f", - "reference": "438cac30bdaa0718a04f1ffdf0c078e2d195403f", + "url": "https://api.github.com/repos/php-cache/void-adapter/zipball/a946b2e83e6cf8996f01a05811c76869cf11c009", + "reference": "a946b2e83e6cf8996f01a05811c76869cf11c009", "shasum": "" }, "require": { - "php": ">=5.3.0" + "cache/adapter-common": "^0.3", + "cache/hierarchical-cache": "^0.3", + "cache/taggable-cache": "^0.4", + "php": "^5.5 || ^7.0", + "psr/cache": "^1.0" + }, + "provide": { + "psr/cache-implementation": "^1.0" + }, + "require-dev": { + "cache/integration-tests": "^0.11", + "phpunit/phpunit": "^4.0 || ^5.1" }, "type": "library", - "extra": { - "mouf": { - "logo": "logo.png" - } + "autoload": { + "psr-4": { + "Cache\\Adapter\\Void\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Creative Commons Attribution 2.5 License" + "MIT" ], "authors": [ { - "name": "Mark James", - "homepage": "http://www.famfamfam.com/" + "name": "Aaron Scherer", + "email": "aequasi@gmail.com", + "homepage": "https://github.com/aequasi" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/nyholm" } ], - "description": "This is the Famfamfam silk icon set, wrapped into an easy to use PHP composer package.", - "homepage": "http://www.famfamfam.com/", + "description": "A PSR-6 cache implementation using Void. This implementation supports tags", + "homepage": "http://www.php-cache.com/en/latest/", "keywords": [ - "famfamfam", - "icons", - "silk" + "cache", + "psr-6", + "tag", + "void" ], - "time": "2014-06-03 20:29:43" + "time": "2016-08-07T15:04:55+00:00" }, { - "name": "mouf/html.htmlelement", - "version": "v2.0.0", + "name": "container-interop/service-provider", + "version": "v0.4.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.html_element.git", - "reference": "c8272bf308894c0843e7eeaae30746f3f05464f9" + "url": "https://github.com/container-interop/service-provider.git", + "reference": "4969b9e49460690b7430b3f1a87cab07be61418a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.html_element/zipball/c8272bf308894c0843e7eeaae30746f3f05464f9", - "reference": "c8272bf308894c0843e7eeaae30746f3f05464f9", + "url": "https://api.github.com/repos/container-interop/service-provider/zipball/4969b9e49460690b7430b3f1a87cab07be61418a", + "reference": "4969b9e49460690b7430b3f1a87cab07be61418a", "shasum": "" }, "require": { - "mouf/utils.action.action-interface": "~1.0", - "mouf/utils.value.value-interface": "~1.0", - "php": ">=5.3.0" - }, - "type": "mouf-library", - "extra": { - "mouf": { - "logo": "logo.png" - } + "psr/container": "^1.0" }, + "type": "library", "autoload": { - "psr-0": { - "Mouf\\Html\\HtmlElement": "src/", - "Mouf\\Utils\\Action": "src/" + "psr-4": { + "Interop\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" - } - ], - "description": "This package contains the HtmlElementInterface interface that can be used to output HTML on a page. It also features base classes implementing this interface.", - "homepage": "https://github.com/thecodingmachine/html.html_element", - "keywords": [ - "html", - "interface", - "tohtml" - ], - "time": "2014-06-03 20:28:43" + "description": "Promoting container interoperability through standard service providers", + "homepage": "https://github.com/container-interop/service-provider", + "time": "2017-09-20T14:13:36+00:00" }, { - "name": "mouf/html.renderer", - "version": "v1.1.4", + "name": "doctrine/annotations", + "version": "v1.6.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.renderer.git", - "reference": "2370d4464f0de0d4c91d67c5d09f779b344d7fd0" + "url": "https://github.com/doctrine/annotations.git", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.renderer/zipball/2370d4464f0de0d4c91d67c5d09f779b344d7fd0", - "reference": "2370d4464f0de0d4c91d67c5d09f779b344d7fd0", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", "shasum": "" }, "require": { - "mouf/html.htmlelement": "~2.0", - "mouf/html.renderer.twig-extensions": "~1.0", - "mouf/utils.cache.apc-cache": "~2.0", - "mouf/utils.cache.in-memory-cache": "~1.0", - "php": ">=5.4.4", - "twig/twig": "1.*@stable" + "doctrine/lexer": "1.*", + "php": "^7.1" }, - "type": "mouf-library", + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^6.4" + }, + "type": "library", "extra": { - "mouf": { - "install": [ - { - "file": "src/install.php", - "type": "file" - } - ], - "logo": "logo.png", - "doc": [ - { - "title": "For application developers", - "url": "doc/for_application_developers.md" - }, - { - "title": "For package developers", - "url": "doc/for_package_developers.md" - }, - { - "title": "For template developers", - "url": "doc/for_template_developers.md" - }, - { - "title": "Advanced topics", - "url": "doc/advanced.md" - } - ] + "branch-alias": { + "dev-master": "1.6.x-dev" } }, "autoload": { - "psr-0": { - "Mouf\\Html\\Renderer": "src/" + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" } }, "notification-url": "https://packagist.org/downloads/", @@ -287,64 +309,61 @@ ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "This package contains the rendering mechanism of the Mouf framework. It is a mechanism allowing packages/templates/developers to overload a default template for various HTML objects.", - "homepage": "http://mouf-php.com/packages/mouf/html.renderer", + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org/", "keywords": [ - "html", - "interface", - "render", - "tohtml" + "annotations", + "docblock", + "parser" ], - "time": "2015-10-14 08:39:26" + "time": "2017-12-06T07:11:42+00:00" }, { - "name": "mouf/html.renderer.twig-extensions", - "version": "v1.0.11", + "name": "doctrine/lexer", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.renderer.twig-extensions.git", - "reference": "c0acae7e464adeeeefc80133a86959d6d784c67f" + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.renderer.twig-extensions/zipball/c0acae7e464adeeeefc80133a86959d6d784c67f", - "reference": "c0acae7e464adeeeefc80133a86959d6d784c67f", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { - "container-interop/container-interop": "~1.0", - "mouf/html.htmlelement": "~2.0", - "mouf/utils.cache.cache-interface": "~2.0", - "mouf/utils.constants.debug": "~1.0", - "php": ">=5.4.0", - "twig/twig": "~1.19" + "php": ">=5.3.2" }, - "type": "mouf-library", + "type": "library", "extra": { - "mouf": { - "install": [ - { - "type": "class", - "class": "Mouf\\Html\\Renderer\\Twig\\MoufTwigEnvironmentInstaller2" - } - ], - "doc": [ - { - "title": "Twig extensions", - "url": "doc/twig_extensions.md" - } - ], - "logo": "logo.png" + "branch-alias": { + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-0": { - "Mouf\\Html\\Renderer\\Twig": "src/" + "Doctrine\\Common\\Lexer\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -353,58 +372,53 @@ ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "This package contains a set of Twig extensions and utility class to ease the use of Twig templates in Mouf.", - "homepage": "http://mouf-php.com/packages/mouf/html.renderer.twig-extensions", + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org/", "keywords": [ - "html", - "interface", - "render", - "tohtml" + "lexer", + "parser" ], - "time": "2016-04-04 16:24:06" + "time": "2014-09-09T13:34:57+00:00" }, { - "name": "mouf/html.template.bootstrap", - "version": "v2.3.2.0", + "name": "fig/http-message-util", + "version": "1.1.2", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.template.bootstrap.git", - "reference": "74c9ebff540582b2af1deafcd918fa6b5bedbf1d" + "url": "https://github.com/php-fig/http-message-util.git", + "reference": "20b2c280cb6914b7b83089720df44e490f4b42f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.template.bootstrap/zipball/74c9ebff540582b2af1deafcd918fa6b5bedbf1d", - "reference": "74c9ebff540582b2af1deafcd918fa6b5bedbf1d", + "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/20b2c280cb6914b7b83089720df44e490f4b42f0", + "reference": "20b2c280cb6914b7b83089720df44e490f4b42f0", "shasum": "" }, "require": { - "mouf/html.template.templateinterface": "~2.0", - "mouf/html.utils.bootstrap": "2.3.*", - "mouf/html.utils.weblibrarymanager": "~2.0", - "mouf/html.widgets.menu": "2.*", - "mouf/html.widgets.messageservice": "~2.2", - "php": ">=5.3.0" + "php": "^5.3 || ^7.0", + "psr/http-message": "^1.0" }, - "type": "mouf-library", + "type": "library", "extra": { - "mouf": { - "install": [ - { - "type": "file", - "file": "src/install.php" - } - ], - "logo": "icons/logo.png" + "branch-alias": { + "dev-master": "1.1.x-dev" } }, "autoload": { - "psr-0": { - "Mouf": "src/" + "psr-4": { + "Fig\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -413,43 +427,57 @@ ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "This package contains a Mouf template based on the Twitter Bootstrap HTML/CSS/JS library, along a Mouf installer file to add the template easily in your Mouf project.", - "homepage": "http://twitter.github.com/bootstrap/", + "description": "Utility classes and constants for use with PSR-7 (psr/http-message)", "keywords": [ - "bootstrap", - "javascript", - "mouf", - "template" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], - "time": "2013-07-17 15:47:31" + "time": "2017-02-09T16:10:21+00:00" }, { - "name": "mouf/html.template.menus.basicmenu", - "version": "v2.0.0", + "name": "filp/whoops", + "version": "2.2.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.template.menus.basicmenu.git", - "reference": "29ee1265b57bef6148bbedc4facb2d142feee309" + "url": "https://github.com/filp/whoops.git", + "reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.template.menus.basicmenu/zipball/29ee1265b57bef6148bbedc4facb2d142feee309", - "reference": "29ee1265b57bef6148bbedc4facb2d142feee309", + "url": "https://api.github.com/repos/filp/whoops/zipball/181c4502d8f34db7aed7bfe88d4f87875b8e947a", + "reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a", "shasum": "" }, "require": { - "mouf/html.widgets.menu": "2.*", - "php": ">=5.3.0" + "php": "^5.5.9 || ^7.0", + "psr/log": "^1.0.1" }, - "type": "mouf-library", - "autoload": { - "psr-0": { - "Mouf": "src/" + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" } }, "notification-url": "https://packagist.org/downloads/", @@ -458,247 +486,238 @@ ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" } ], - "description": "This package contains a single class in charge of rendering a 'Menu' instance in HTML using the toHtml() method. The rendering is performed using <ul> and <li> tags.", - "homepage": "https://github.com/thecodingmachine/html.template.menus.basicmenu", + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", "keywords": [ - "basicmenu", - "menu", - "mouf" - ], - "time": "2014-06-03 20:27:41" + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "time": "2018-03-03T17:56:25+00:00" }, { - "name": "mouf/html.template.mouftemplate", - "version": "v2.0.0", + "name": "michelf/php-markdown", + "version": "1.8.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.template.mouftemplate.git", - "reference": "2e47823a149fb6a4dfaa97ec945ae6816b23b756" + "url": "https://github.com/michelf/php-markdown.git", + "reference": "01ab082b355bf188d907b9929cd99b2923053495" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.template.mouftemplate/zipball/2e47823a149fb6a4dfaa97ec945ae6816b23b756", - "reference": "2e47823a149fb6a4dfaa97ec945ae6816b23b756", + "url": "https://api.github.com/repos/michelf/php-markdown/zipball/01ab082b355bf188d907b9929cd99b2923053495", + "reference": "01ab082b355bf188d907b9929cd99b2923053495", "shasum": "" }, "require": { - "mouf/html.template.templateinterface": ">=2.0-dev,<3.0", "php": ">=5.3.0" }, - "type": "mouf-library", + "type": "library", "autoload": { - "psr-0": { - "Mouf": "src/" + "psr-4": { + "Michelf\\": "Michelf/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "Michel Fortin", + "email": "michel.fortin@michelf.ca", + "homepage": "https://michelf.ca/", + "role": "Developer" + }, + { + "name": "John Gruber", + "homepage": "https://daringfireball.net/" } ], - "description": "This package contains a template for the Mouf administration interface. The content is automatically adjusted to the website page to use all the width. Anyway, you can use this component as a model if you like.", - "homepage": "https://github.com/thecodingmachine/html.template.mouftemplate", + "description": "PHP Markdown", + "homepage": "https://michelf.ca/projects/php-markdown/", "keywords": [ - "mouf", - "mouftemplate", - "template" + "markdown" ], - "time": "2014-06-03 20:28:14" + "time": "2018-01-15T00:49:33+00:00" }, { - "name": "mouf/html.template.templateinterface", + "name": "middlewares/utils", "version": "v2.1.1", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.template.templateinterface.git", - "reference": "92586fd0542117702054fa348a76ee7da57e48f3" + "url": "https://github.com/middlewares/utils.git", + "reference": "8e3f2720fa462443e1566c9e3ab78169adcb0468" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.template.templateinterface/zipball/92586fd0542117702054fa348a76ee7da57e48f3", - "reference": "92586fd0542117702054fa348a76ee7da57e48f3", + "url": "https://api.github.com/repos/middlewares/utils/zipball/8e3f2720fa462443e1566c9e3ab78169adcb0468", + "reference": "8e3f2720fa462443e1566c9e3ab78169adcb0468", "shasum": "" }, "require": { - "mouf/html.renderer": "~1.0", - "mouf/html.utils.weblibrarymanager": ">=2.0-dev,<4.0", - "php": ">=5.3.0" + "php": "^7.0", + "psr/container": "^1.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "psr/http-server-middleware": "^1.0" }, - "type": "mouf-library", + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "guzzlehttp/psr7": "^1.3", + "phpunit/phpunit": "^6.0|^7.0", + "slim/slim": "^3.5", + "squizlabs/php_codesniffer": "^3.0", + "zendframework/zend-diactoros": "^1.3" + }, + "type": "library", "autoload": { - "psr-0": { - "Mouf\\Html\\Template": "src/" + "psr-4": { + "Middlewares\\Utils\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" - } - ], - "description": "This package contains the definition of an HTML template (the TemplateInterface interface) and an helper class to build HTML templates easily (the BaseTemplate class).", - "homepage": "https://github.com/thecodingmachine/html.template.templateinterface", + "description": "Common utils to create PSR-15 middleware packages", + "homepage": "https://github.com/middlewares/utils", "keywords": [ - "interface", - "template", - "templateinterface" - ], - "time": "2014-12-10 16:01:57" + "PSR-11", + "http", + "middleware", + "psr-15", + "psr-17", + "psr-7" + ], + "time": "2018-08-11T07:23:25+00:00" }, { - "name": "mouf/html.utils.bootstrap", - "version": "v2.3.1.0", + "name": "middlewares/whoops", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.utils.bootstrap.git", - "reference": "a4e1baf73a77dd5f051b027863f55f329f86008c" + "url": "https://github.com/middlewares/whoops.git", + "reference": "4bd8e6553edfc1eba757947c86bc358bd723b40e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.utils.bootstrap/zipball/a4e1baf73a77dd5f051b027863f55f329f86008c", - "reference": "a4e1baf73a77dd5f051b027863f55f329f86008c", + "url": "https://api.github.com/repos/middlewares/whoops/zipball/4bd8e6553edfc1eba757947c86bc358bd723b40e", + "reference": "4bd8e6553edfc1eba757947c86bc358bd723b40e", "shasum": "" }, "require": { - "mouf/javascript.jquery.jquery": "~1.7", - "php": ">=5.3.0" + "filp/whoops": "^2.1", + "middlewares/utils": "^2.1", + "php": "^7.0", + "psr/container": "^1.0", + "psr/http-server-middleware": "^1.0" }, - "type": "mouf-library", - "extra": { - "mouf": { - "install": [ - { - "type": "file", - "file": "install.php" - } - ], - "logo": "icons/logo.png" + "require-dev": { + "eloquent/phony-phpunit": "^3.0|^4.0", + "friendsofphp/php-cs-fixer": "^2.0", + "phpunit/phpunit": "^6.0|^7.0", + "squizlabs/php_codesniffer": "^3.0", + "zendframework/zend-diactoros": "^1.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Middlewares\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache License V2.0" - ], - "authors": [ - { - "name": "Mark Otto" - }, - { - "name": "Billy Gates" - } + "MIT" ], - "description": "This package contains the Bootstrap HTML/CSS/JS library, along a Mouf installer file to add Bootstrap easily in your Mouf project.", - "homepage": "http://twitter.github.com/bootstrap/", + "description": "Middleware to use Whoops as error handler", + "homepage": "https://github.com/middlewares/whoops", "keywords": [ - "bootstrap", - "javascript", - "mouf" - ], - "time": "2013-03-19 22:41:54" + "error", + "http", + "middleware", + "psr-15", + "psr-7", + "server", + "whoops" + ], + "time": "2018-08-04T10:41:55+00:00" }, { - "name": "mouf/html.utils.weblibrarymanager", - "version": "v2.1.0", + "name": "mindplay/composer-locator", + "version": "2.1.3", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.utils.weblibrarymanager.git", - "reference": "318e1d38bb631b53d17ae5eab57c96e96a7def88" + "url": "https://github.com/mindplay-dk/composer-locator.git", + "reference": "629988d5305cd8ef11adbd6bb485660219c599fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.utils.weblibrarymanager/zipball/318e1d38bb631b53d17ae5eab57c96e96a7def88", - "reference": "318e1d38bb631b53d17ae5eab57c96e96a7def88", + "url": "https://api.github.com/repos/mindplay-dk/composer-locator/zipball/629988d5305cd8ef11adbd6bb485660219c599fc", + "reference": "629988d5305cd8ef11adbd6bb485660219c599fc", "shasum": "" }, "require": { - "mouf/html.htmlelement": "~2.0", - "mouf/html.utils.weblibrarymanager.component-installer": "2.1.*", - "mouf/mouf-installer": "~2.0", - "php": ">=5.3.0" + "composer-plugin-api": "^1", + "php": ">= 5.4" }, - "type": "mouf-library", + "require-dev": { + "composer/composer": "^1", + "mindplay/testies": "^0.3.0", + "symfony/filesystem": "^2.7 || ^3.0", + "symfony/process": "^2.7 || ^3.0" + }, + "type": "composer-plugin", "extra": { - "mouf": { - "install": [ - { - "type": "file", - "file": "install.php" - } - ], - "require-admin": [ - "src/WebLibraryAdmin.php" - ] - } + "class": "mindplay\\composer_locator\\Plugin" }, "autoload": { - "psr-0": { - "Mouf\\Html\\Utils\\WebLibraryManager": "src/" - } + "classmap": [ + "src/ComposerLocator.php", + "src/Plugin.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" - } - ], - "description": "The Javascript/CSS library manager is a PHP class in charge of keeping track of the JS and CSS files that have been included so far in a web page. Basically, you tell the Javascript/CSS library manager to import a JS/CSS file and it will make sure it is included, only once, and that all dependencies are included as well.", - "homepage": "https://github.com/thecodingmachine/html.utils.weblibrarymanager", - "keywords": [ - "css", - "dependencies", - "dependency", - "html", - "javascript", - "mouf" - ], - "time": "2014-05-28 07:46:16" + "description": "Locates Composer package root folders by package name", + "time": "2017-05-08T12:12:31+00:00" }, { - "name": "mouf/html.utils.weblibrarymanager.component-installer", - "version": "v2.1.4", + "name": "mnapoli/simplex", + "version": "0.5.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.utils.weblibrarymanager.component-installer.git", - "reference": "e2ca65af881bde139a9d101d19808f9d6610fec3" + "url": "https://github.com/mnapoli/simplex.git", + "reference": "cdc81c738262739f4f35e911f6888da9ee59016b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.utils.weblibrarymanager.component-installer/zipball/e2ca65af881bde139a9d101d19808f9d6610fec3", - "reference": "e2ca65af881bde139a9d101d19808f9d6610fec3", + "url": "https://api.github.com/repos/mnapoli/simplex/zipball/cdc81c738262739f4f35e911f6888da9ee59016b", + "reference": "cdc81c738262739f4f35e911f6888da9ee59016b", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0", - "php": ">=5.3.0" + "container-interop/service-provider": "~0.4.0", + "php": ">=5.3.0", + "psr/container": "^1.0" }, - "type": "composer-plugin", - "extra": { - "class": "Mouf\\Html\\Utils\\WebLibraryManager\\ComponentInstaller\\ComponentInstallerPlugin" + "require-dev": { + "phpunit/phpunit": "~4.0" }, + "type": "library", "autoload": { "psr-4": { - "Mouf\\Html\\Utils\\WebLibraryManager\\ComponentInstaller\\": "src/" + "Simplex\\": "src/Simplex" } }, "notification-url": "https://packagist.org/downloads/", @@ -707,46 +726,78 @@ ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Matthieu Napoli", + "email": "matthieu@mnapoli.fr" } ], - "description": "This Mouf package contains a Composer installer that will automatically create WebLibrary instances when a 'component' package is installed in Composer. It is designed to be used only with Mouf's WebLibraryManager.", - "homepage": "http://mouf-php/packages/mouf/html.utils.weblibrarymanager.component-installer", + "description": "Pimple fork with full container-interop support", + "homepage": "https://github.com/mnapoli/simplex", "keywords": [ - "css", - "dependencies", - "dependency", - "html", - "javascript", - "mouf" + "container", + "dependency injection" ], - "time": "2016-05-12 11:27:15" + "time": "2018-02-13T08:14:36+00:00" }, { - "name": "mouf/html.widgets.menu", - "version": "v2.0.0", + "name": "monolog/monolog", + "version": "1.23.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.widgets.menu.git", - "reference": "fdac5fc5c6c65ffb603a29cb95cb0fbee17b817e" + "url": "https://github.com/Seldaek/monolog.git", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.widgets.menu/zipball/fdac5fc5c6c65ffb603a29cb95cb0fbee17b817e", - "reference": "fdac5fc5c6c65ffb603a29cb95cb0fbee17b817e", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", "shasum": "" }, "require": { - "mouf/utils.common.conditioninterface": "2.*", - "mouf/utils.i18n.fine": "3.*", - "php": ">=5.3.0" + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } }, - "type": "mouf-library", "autoload": { - "psr-0": { - "Mouf": "src/" + "psr-4": { + "Monolog\\": "src/Monolog" } }, "notification-url": "https://packagist.org/downloads/", @@ -755,58 +806,46 @@ ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be/" } ], - "description": "This package contains objects describing a menu of an application. The menu is described, but this package does not render the menu in any way. You will have to use another package to render the menu in HTML. Usually, templates will provide their own menu renderers.", - "homepage": "https://github.com/thecodingmachine/html.widgets.menu", + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", "keywords": [ - "menu", - "mouf", - "template" + "log", + "logging", + "psr-3" ], - "time": "2014-04-25 14:27:23" + "time": "2017-06-19T01:22:40+00:00" }, { - "name": "mouf/html.widgets.messageservice", - "version": "v2.2.0", + "name": "mouf/classname-mapper", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/html.widgets.messageservice.git", - "reference": "de6448dca47a2df85a982fd87d2afeaf756b89dd" + "url": "https://github.com/thecodingmachine/classname-mapper.git", + "reference": "2b11a7c83cd3487677f8dbb81fb3363f59bb4b4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/html.widgets.messageservice/zipball/de6448dca47a2df85a982fd87d2afeaf756b89dd", - "reference": "de6448dca47a2df85a982fd87d2afeaf756b89dd", + "url": "https://api.github.com/repos/thecodingmachine/classname-mapper/zipball/2b11a7c83cd3487677f8dbb81fb3363f59bb4b4c", + "reference": "2b11a7c83cd3487677f8dbb81fb3363f59bb4b4c", "shasum": "" }, "require": { - "mouf/html.htmlelement": "~2.0", - "mouf/html.utils.weblibrarymanager": "~2.0", - "mouf/utils.session.session-manager": "~2.0", - "php": ">=5.3.0" + "php": ">=5.4.0" }, - "type": "mouf-library", - "extra": { - "mouf": { - "install": [ - { - "type": "file", - "file": "src/install.php" - } - ] - } + "require-dev": { + "phpunit/phpunit": "~4.0 | ~5.0", + "satooshi/php-coveralls": "~1.0" }, + "type": "library", "autoload": { - "psr-0": { - "Mouf": "src/" - }, - "files": [ - "src/common_functions.php" - ] + "psr-4": { + "Mouf\\Composer\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -819,92 +858,85 @@ "homepage": "http://mouf-php.com/" } ], - "description": "Use this package to display info/warning/error messages to the user on a web page. Using the SessionMessageService class, you register messages to be displayed. Using the MessageWidget class, you display the error messages in your templates.", - "homepage": "https://github.com/thecodingmachine/html.widgets.messageservice", + "description": "Provides a way to find in which PHP files a class will be looked upon.", + "homepage": "http://mouf-php.com/packages/thecodingmachine/classname-mapper", "keywords": [ - "message", - "messageservice", - "mouf", - "widget", - "widgets" + "autoload", + "composer" ], - "time": "2013-06-19 13:17:17" + "time": "2017-05-22T07:47:00+00:00" }, { - "name": "mouf/javascript.ace", - "version": "v1.1.3", + "name": "mouf/famfamfam", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/javascript.ace.git", - "reference": "b76425308ba4e90a7ff5dd5ee1615271e87dae85" + "url": "https://github.com/moufmouf/famfamfam.git", + "reference": "438cac30bdaa0718a04f1ffdf0c078e2d195403f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/javascript.ace/zipball/b76425308ba4e90a7ff5dd5ee1615271e87dae85", - "reference": "b76425308ba4e90a7ff5dd5ee1615271e87dae85", + "url": "https://api.github.com/repos/moufmouf/famfamfam/zipball/438cac30bdaa0718a04f1ffdf0c078e2d195403f", + "reference": "438cac30bdaa0718a04f1ffdf0c078e2d195403f", "shasum": "" }, "require": { - "mouf/html.utils.weblibrarymanager": "~2.0", "php": ">=5.3.0" }, - "type": "mouf-library", + "type": "library", "extra": { "mouf": { - "install": [ - { - "type": "class", - "class": "Mouf\\Javascript\\Ace\\AceInstaller" - } - ] - } - }, - "autoload": { - "psr-4": { - "Mouf\\Javascript\\Ace\\": "lib/" + "logo": "logo.png" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "Creative Commons Attribution 2.5 License" ], - "description": "This package contains the ACE Javascript code editor (and a Mouf wrapper installer).", - "homepage": "https://mouf-php.com/packages/mouf/javascript.ace", + "authors": [ + { + "name": "Mark James", + "homepage": "http://www.famfamfam.com/" + } + ], + "description": "This is the Famfamfam silk icon set, wrapped into an easy to use PHP composer package.", + "homepage": "http://www.famfamfam.com/", "keywords": [ - "ace", - "javascript", - "mouf" + "famfamfam", + "icons", + "silk" ], - "time": "2014-04-08 09:56:23" + "time": "2014-06-03T20:29:43+00:00" }, { - "name": "mouf/javascript.jquery.jq-bootstrap-validation", - "version": "v1.3.6.0", + "name": "mouf/html.htmlelement", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/moufmouf/javascript.jquery.jqBootstrapValidation.git", - "reference": "f25987d36c052f2fd4719c8b949409fa934295ea" + "url": "https://github.com/thecodingmachine/html.html_element.git", + "reference": "86b7b3f9fc9d9a823a708e3190e5aa9b3ce95a56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/moufmouf/javascript.jquery.jqBootstrapValidation/zipball/f25987d36c052f2fd4719c8b949409fa934295ea", - "reference": "f25987d36c052f2fd4719c8b949409fa934295ea", + "url": "https://api.github.com/repos/thecodingmachine/html.html_element/zipball/86b7b3f9fc9d9a823a708e3190e5aa9b3ce95a56", + "reference": "86b7b3f9fc9d9a823a708e3190e5aa9b3ce95a56", "shasum": "" }, "require": { - "mouf/html.utils.weblibrarymanager": "~2.0", + "mouf/utils.action.action-interface": "~1.0", + "mouf/utils.value.value-interface": "~1.0", "php": ">=5.3.0" }, "type": "mouf-library", "extra": { - "logo": "logo.png", "mouf": { - "install": [ - { - "type": "file", - "file": "install.php" - } - ] + "logo": "logo.png" + } + }, + "autoload": { + "psr-0": { + "Mouf\\Html\\HtmlElement": "src/", + "Mouf\\Utils\\Action": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -918,44 +950,88 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains the jqBootstrapValidation plugin for Bootstrap. It features an installer for the Mouf framework.", - "homepage": "http://mouf-php.com/packages/mouf/javascript.jquery.jqBootstrapValidation", + "description": "This package contains the HtmlElementInterface interface that can be used to output HTML on a page. It also features base classes implementing this interface.", + "homepage": "https://github.com/thecodingmachine/html.html_element", "keywords": [ - "bootstrap", - "jqBootstrapValidation", - "validator" + "html", + "interface", + "tohtml" ], - "time": "2013-06-17 14:11:31" + "time": "2018-08-22T21:07:53+00:00" }, { - "name": "mouf/javascript.jquery.jquery", - "version": "v1.11.0.0", + "name": "mouf/html.renderer", + "version": "2.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/javascript.jquery.jquery.git", - "reference": "7bae0fbeb391540906ec0ef5e40da6263e5133a3" + "url": "https://github.com/thecodingmachine/html.renderer.git", + "reference": "f9ef351b93b81c7f78b6d1e86fb814c7798f7c00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/javascript.jquery.jquery/zipball/7bae0fbeb391540906ec0ef5e40da6263e5133a3", - "reference": "7bae0fbeb391540906ec0ef5e40da6263e5133a3", + "url": "https://api.github.com/repos/thecodingmachine/html.renderer/zipball/f9ef351b93b81c7f78b6d1e86fb814c7798f7c00", + "reference": "f9ef351b93b81c7f78b6d1e86fb814c7798f7c00", "shasum": "" }, "require": { - "mouf/html.utils.weblibrarymanager": ">=2.0-dev,<3.0", - "php": ">=5.3.0" + "container-interop/service-provider": "^0.4", + "mindplay/composer-locator": "^2.1.3", + "mouf/html.htmlelement": "~2.0", + "mouf/html.renderer.twig-extensions": "^3", + "mouf/utils.cache.apc-cache": "~2.0", + "php": ">=7.1", + "psr/container": "^1", + "psr/http-message": "^1", + "psr/http-server-handler": "^1", + "psr/http-server-middleware": "^1", + "psr/simple-cache": "^1", + "thecodingmachine/funky": "^1", + "thecodingmachine/middleware-list-universal-module": "^1.1.1", + "twig/twig": "^1 || ^2" + }, + "conflict": { + "mouf/mouf": "~2.0.0" }, - "type": "mouf-library", + "require-dev": { + "maglnet/composer-require-checker": "^1.0", + "mnapoli/simplex": "^0.5", + "phpstan/phpstan": "^0.10.3", + "phpunit/phpunit": "^7.3.1", + "squizlabs/php_codesniffer": "^3.3.1", + "symfony/cache": "^4.1.3", + "thecodingmachine/phpstan-strict-rules": "^0.10.3", + "thecodingmachine/symfony-cache-universal-module": "^1", + "thecodingmachine/twig-universal-module": "^1" + }, + "type": "library", "extra": { "mouf": { - "install": [ + "logo": "logo.png", + "doc": [ { - "type": "file", - "file": "install.php" + "title": "For application developers", + "url": "doc/for_application_developers.md" + }, + { + "title": "For package developers", + "url": "doc/for_package_developers.md" + }, + { + "title": "For template developers", + "url": "doc/for_template_developers.md" + }, + { + "title": "Advanced topics", + "url": "doc/advanced.md" } ] } }, + "autoload": { + "psr-4": { + "Mouf\\Html\\Renderer\\": "src/" + } + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -967,42 +1043,64 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains the JQuery library, along a Mouf installer file to add JQuery easily in your Mouf project.", - "homepage": "https://github.com/thecodingmachine/javascript.jquery.jquery", + "description": "This package contains the rendering mechanism of the Mouf framework. It is a mechanism allowing packages/templates/developers to overload a default template for various HTML objects.", + "homepage": "http://mouf-php.com/packages/mouf/html.renderer", "keywords": [ - "javascript", - "jquery", - "mouf" + "html", + "interface", + "render", + "tohtml" ], - "time": "2014-02-18 10:06:30" + "time": "2018-08-30T16:29:36+00:00" }, { - "name": "mouf/javascript.jquery.jquery-filetree", - "version": "v1.01.0", + "name": "mouf/html.renderer.twig-extensions", + "version": "3.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/javascript.jquery.jquery-filetree.git", - "reference": "da68e197c36ee294969508bd118feb4c315b1f37" + "url": "https://github.com/thecodingmachine/html.renderer.twig-extensions.git", + "reference": "a7a541ff1c734ebfa3f38f1c6da9d3cbd4e3a9d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/javascript.jquery.jquery-filetree/zipball/da68e197c36ee294969508bd118feb4c315b1f37", - "reference": "da68e197c36ee294969508bd118feb4c315b1f37", + "url": "https://api.github.com/repos/thecodingmachine/html.renderer.twig-extensions/zipball/a7a541ff1c734ebfa3f38f1c6da9d3cbd4e3a9d0", + "reference": "a7a541ff1c734ebfa3f38f1c6da9d3cbd4e3a9d0", "shasum": "" }, "require": { - "mouf/javascript.jquery.jquery-ui": ">=1.8.22-dev,<2.0", - "php": ">=5.3.0" + "mouf/html.htmlelement": "~2.0", + "mouf/utils.value.value-interface": "^1", + "php": ">=7.1", + "psr/container": "^1", + "thecodingmachine/funky": "^1", + "twig/twig": "^2" + }, + "conflict": { + "mouf/mouf": "~2.0.0" + }, + "require-dev": { + "maglnet/composer-require-checker": "^1.0", + "mnapoli/simplex": "^0.5", + "phpstan/phpstan": "^0.10.3", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3", + "thecodingmachine/twig-universal-module": "^1" }, "type": "mouf-library", "extra": { "mouf": { - "install": [ + "doc": [ { - "type": "file", - "file": "install.php" + "title": "Twig extensions", + "url": "doc/twig_extensions.md" } - ] + ], + "logo": "logo.png" + } + }, + "autoload": { + "psr-0": { + "Mouf\\Html\\Renderer\\Twig": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1016,44 +1114,50 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains the jQuery FileTree library, along a Mouf installer file to add JQuery FileTree easily in your Mouf project.", - "homepage": "http://www.abeautifulsite.net/blog/2008/03/jquery-file-tree/", + "description": "This package contains a set of Twig extensions and utility class to ease the use of Twig templates in Mouf.", + "homepage": "http://mouf-php.com/packages/mouf/html.renderer.twig-extensions", "keywords": [ - "filetree", - "javascript", - "jquery", - "jquery filetree", - "mouf" + "html", + "interface", + "render", + "tohtml" ], - "time": "2014-06-03 20:44:49" + "time": "2018-08-27T21:56:24+00:00" }, { - "name": "mouf/javascript.jquery.jquery-ui", - "version": "v1.10.2.0", + "name": "mouf/html.template.bootstrap", + "version": "2.3.4.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/javascript.jquery.jquery-ui.git", - "reference": "0bb621cf5cfe0f6830c469c565143b80b24733d7" + "url": "https://github.com/thecodingmachine/html.template.bootstrap.git", + "reference": "cb83ac96460bc072e563cdd78fe590fd94e9cc1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/javascript.jquery.jquery-ui/zipball/0bb621cf5cfe0f6830c469c565143b80b24733d7", - "reference": "0bb621cf5cfe0f6830c469c565143b80b24733d7", + "url": "https://api.github.com/repos/thecodingmachine/html.template.bootstrap/zipball/cb83ac96460bc072e563cdd78fe590fd94e9cc1b", + "reference": "cb83ac96460bc072e563cdd78fe590fd94e9cc1b", "shasum": "" }, "require": { - "mouf/javascript.jquery.jquery": "~1.7", - "php": ">=5.3.0" + "mouf/html.template.templateinterface": "^3", + "mouf/html.utils.bootstrap": "2.3.*", + "mouf/html.utils.weblibrarymanager": "~4.0", + "mouf/html.widgets.menu": "^4", + "mouf/html.widgets.messageservice": "~4.0", + "php": ">=7.1" + }, + "conflict": { + "mouf/mouf": "~2.0.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.10.3", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" }, "type": "mouf-library", - "extra": { - "mouf": { - "install": [ - { - "type": "file", - "file": "install.php" - } - ] + "autoload": { + "psr-0": { + "Mouf": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1067,49 +1171,49 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains the JQuery UI library, along a Mouf installer file to add JQuery UI easily in your Mouf project.", - "homepage": "https://github.com/thecodingmachine/javascript.jquery.jquery-ui", + "description": "This package contains a Mouf template based on the Twitter Bootstrap HTML/CSS/JS library, along a Mouf installer file to add the template easily in your Mouf project.", + "homepage": "http://twitter.github.com/bootstrap/", "keywords": [ - "jQueryUI", + "bootstrap", "javascript", - "jquery", - "jquery-ui", - "mouf" + "mouf", + "template" ], - "time": "2013-04-11 12:11:39" + "time": "2018-08-31T09:03:28+00:00" }, { - "name": "mouf/javascript.syntaxhighlighter", - "version": "v3.0.83.0", + "name": "mouf/html.template.templateinterface", + "version": "3.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/javascript.syntaxhighlighter.git", - "reference": "6f4499eafbe688f504501ccdc2329edb459150d4" + "url": "https://github.com/thecodingmachine/html.template.templateinterface.git", + "reference": "268375e915eec948c84c03b7a5d85b984a8cfe74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/javascript.syntaxhighlighter/zipball/6f4499eafbe688f504501ccdc2329edb459150d4", - "reference": "6f4499eafbe688f504501ccdc2329edb459150d4", + "url": "https://api.github.com/repos/thecodingmachine/html.template.templateinterface/zipball/268375e915eec948c84c03b7a5d85b984a8cfe74", + "reference": "268375e915eec948c84c03b7a5d85b984a8cfe74", "shasum": "" }, "require": { - "mouf/javascript.jquery.jquery": ">=1.7.2", - "php": ">=5.3.0" + "mouf/html.htmlelement": "^2", + "mouf/html.renderer": "^2", + "mouf/html.utils.weblibrarymanager": "^4", + "php": ">=7.1" }, - "type": "mouf-library", - "extra": { - "mouf": { - "install": [ - { - "type": "file", - "file": "install.php" - } - ] - } + "conflict": { + "mouf/mouf": "~2.0.0" + }, + "require-dev": { + "maglnet/composer-require-checker": "^1.0", + "phpstan/phpstan": "^0.10.3", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" }, + "type": "mouf-library", "autoload": { "psr-0": { - "Mouf": "php/" + "Mouf\\Html\\Template": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1123,31 +1227,31 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains the SyntaxHighlighter javascript library, along a Mouf installer file to add SyntaxHighlighter easily in your Mouf project.", - "homepage": "http://alexgorbatchev.com/SyntaxHighlighter/", + "description": "This package contains the definition of an HTML template (the TemplateInterface interface) and an helper class to build HTML templates easily (the BaseTemplate class).", + "homepage": "https://github.com/thecodingmachine/html.template.templateinterface", "keywords": [ - "SyntaxHighlighter", - "javascript", - "mouf" + "interface", + "template", + "templateinterface" ], - "time": "2014-06-03 20:45:27" + "time": "2018-08-30T20:33:29+00:00" }, { - "name": "mouf/javascript.underscore", - "version": "v1.3.3.0", + "name": "mouf/html.utils.bootstrap", + "version": "v2.3.1.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/javascript.underscore.git", - "reference": "e1e1122c51c1b1ab8841c75ce4e7cabd857f558c" + "url": "https://github.com/thecodingmachine/html.utils.bootstrap.git", + "reference": "a4e1baf73a77dd5f051b027863f55f329f86008c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/javascript.underscore/zipball/e1e1122c51c1b1ab8841c75ce4e7cabd857f558c", - "reference": "e1e1122c51c1b1ab8841c75ce4e7cabd857f558c", + "url": "https://api.github.com/repos/thecodingmachine/html.utils.bootstrap/zipball/a4e1baf73a77dd5f051b027863f55f329f86008c", + "reference": "a4e1baf73a77dd5f051b027863f55f329f86008c", "shasum": "" }, "require": { - "mouf/html.utils.weblibrarymanager": ">=2.0-dev,<3.0", + "mouf/javascript.jquery.jquery": "~1.7", "php": ">=5.3.0" }, "type": "mouf-library", @@ -1158,57 +1262,81 @@ "type": "file", "file": "install.php" } - ] + ], + "logo": "icons/logo.png" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "Apache License V2.0" ], "authors": [ { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" + "name": "Mark Otto" + }, + { + "name": "Billy Gates" } ], - "description": "This package contains the Underscore javascript library, along a Mouf installer file to add Underscore easily in your Mouf project.", - "homepage": "https://github.com/thecodingmachine/javascript.underscore", + "description": "This package contains the Bootstrap HTML/CSS/JS library, along a Mouf installer file to add Bootstrap easily in your Mouf project.", + "homepage": "http://twitter.github.com/bootstrap/", "keywords": [ + "bootstrap", "javascript", - "mouf", - "underscore", - "underscorejs" + "mouf" ], - "time": "2014-06-03 20:45:03" + "time": "2013-03-19T22:41:54+00:00" }, { - "name": "mouf/mouf-installer", - "version": "v2.0.0", + "name": "mouf/html.utils.weblibrarymanager", + "version": "4.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/mouf-installer.git", - "reference": "75cd4295a831b32aabea0b2bb6f4925da6b6e198" + "url": "https://github.com/thecodingmachine/html.utils.weblibrarymanager.git", + "reference": "e1e5e06d7221a4e77196798ca8bdc3908025eb51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/mouf-installer/zipball/75cd4295a831b32aabea0b2bb6f4925da6b6e198", - "reference": "75cd4295a831b32aabea0b2bb6f4925da6b6e198", + "url": "https://api.github.com/repos/thecodingmachine/html.utils.weblibrarymanager/zipball/e1e5e06d7221a4e77196798ca8bdc3908025eb51", + "reference": "e1e5e06d7221a4e77196798ca8bdc3908025eb51", "shasum": "" }, "require": { - "php": ">=5.3.0" + "mindplay/composer-locator": "^2.1.3", + "mouf/html.htmlelement": "^2.0", + "mouf/html.renderer": "^2.0", + "php": ">=7.1", + "psr/container": "^1", + "thecodingmachine/funky": "^1" }, - "type": "composer-installer", - "extra": { - "class": [ - "Mouf\\Installer\\MoufLibraryInstaller", - "Mouf\\Installer\\MoufFrameworkInstaller" - ] + "conflict": { + "mouf/mouf": "~2.0.0" }, - "autoload": { - "psr-0": { - "Mouf\\Installer": "src/" + "require-dev": { + "maglnet/composer-require-checker": "^1.0", + "mnapoli/simplex": "^0.5", + "phpstan/phpstan": "^0.10.3", + "phpunit/phpunit": "^7.3.1", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/discovery": "^1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3", + "thecodingmachine/symfony-cache-universal-module": "^1", + "thecodingmachine/twig-universal-module": "^1" + }, + "type": "mouf-library", + "extra": { + "mouf": { + "doc": [ + { + "title": "CHANGELOG", + "url": "doc/CHANGELOG.md" + } + ] + } + }, + "autoload": { + "psr-4": { + "Mouf\\Html\\Utils\\WebLibraryManager\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1222,35 +1350,48 @@ "homepage": "http://mouf-php.com/" } ], - "description": "The Mouf-installer package is a composer in charge of installing any package with the 'mouf-library' type.", - "homepage": "http://mouf-php.com/", + "description": "The Javascript/CSS library manager is a PHP class in charge of keeping track of the JS and CSS files that have been included so far in a web page. Basically, you tell the Javascript/CSS library manager to import a JS/CSS file and it will make sure it is included, only once, and that all dependencies are included as well.", + "homepage": "https://github.com/thecodingmachine/html.utils.weblibrarymanager", "keywords": [ - "install", + "css", + "dependencies", + "dependency", + "html", + "javascript", "mouf" ], - "time": "2014-06-03 20:47:09" + "time": "2018-08-28T07:54:49+00:00" }, { - "name": "mouf/mouf-validators-interface", - "version": "v2.0.0", + "name": "mouf/html.widgets.menu", + "version": "4.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/mouf-validators-interface.git", - "reference": "7678d5c0d4e7113aa4f5345e6896933ff8b5e7ce" + "url": "https://github.com/thecodingmachine/html.widgets.menu.git", + "reference": "4c2102de7475cf062feb976ca354fd263d3af043" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/mouf-validators-interface/zipball/7678d5c0d4e7113aa4f5345e6896933ff8b5e7ce", - "reference": "7678d5c0d4e7113aa4f5345e6896933ff8b5e7ce", + "url": "https://api.github.com/repos/thecodingmachine/html.widgets.menu/zipball/4c2102de7475cf062feb976ca354fd263d3af043", + "reference": "4c2102de7475cf062feb976ca354fd263d3af043", "shasum": "" }, "require": { - "php": ">=5.3.0" + "mouf/html.renderer": "^2", + "mouf/utils.common.conditioninterface": "2.*", + "php": ">=7.1", + "thecodingmachine/funky": "^1" }, - "type": "library", + "require-dev": { + "mouf/utils.i18n.fine.translation-interface": "^4", + "phpstan/phpstan": "^0.10.3", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" + }, + "type": "mouf-library", "autoload": { "psr-0": { - "Mouf\\Validator": "src/" + "Mouf": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1264,99 +1405,75 @@ "homepage": "http://mouf-php.com/" } ], - "description": "The mouf-validators-interface package contains interfaces your classes can implement to provide self-validation in the Mouf interface.", - "homepage": "http://mouf-php.com/", + "description": "This package contains objects describing a menu of an application. The menu is described, but this package does not render the menu in any way. You will have to use another package to render the menu in HTML. Usually, templates will provide their own menu renderers.", + "homepage": "https://github.com/thecodingmachine/html.widgets.menu", "keywords": [ + "menu", "mouf", - "validators" + "template" ], - "time": "2013-10-29 18:21:58" + "time": "2018-08-27T15:29:36+00:00" }, { - "name": "mouf/mvc.splash", - "version": "v4.3.1", + "name": "mouf/html.widgets.messageservice", + "version": "4.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/mvc.splash.git", - "reference": "fd988413802baef0c0e4a0c2c1809d59deec280a" + "url": "https://github.com/thecodingmachine/html.widgets.messageservice.git", + "reference": "eba0975b8c61809329e131288aadbb3288fefcd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/mvc.splash/zipball/fd988413802baef0c0e4a0c2c1809d59deec280a", - "reference": "fd988413802baef0c0e4a0c2c1809d59deec280a", + "url": "https://api.github.com/repos/thecodingmachine/html.widgets.messageservice/zipball/eba0975b8c61809329e131288aadbb3288fefcd8", + "reference": "eba0975b8c61809329e131288aadbb3288fefcd8", "shasum": "" }, "require": { - "mouf/html.template.bootstrap": ">=2.1, <4.0", - "mouf/mouf-validators-interface": "~2.0", - "mouf/mvc.splash-common": "4.3.*", - "mouf/utils.cache.apc-cache": "~2.1", - "mouf/utils.cache.file-cache": "~2.1", - "mouf/utils.cache.no-cache": "2.0.*", - "mouf/utils.constants.secret": "~1.0", - "php": ">=5.3.0", - "psr/log": "~1.0" + "mouf/html.htmlelement": "~2.0", + "mouf/html.renderer": "^2", + "mouf/html.utils.weblibrarymanager": "^4", + "mouf/utils.action.action-interface": "~1.0", + "mouf/utils.session.session-manager": "^4", + "mouf/utils.value.value-interface": "~1.0", + "php": ">=7.1.0", + "thecodingmachine/funky": "^1" }, - "provide": { - "mouf/mvc.splash-implementation": "4.3.*" + "conflict": { + "mouf/mouf": "~2.0.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.10.3", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" }, "type": "mouf-library", "extra": { "mouf": { "install": [ { - "scope": "global", - "description": "Create RootController and root view.", - "type": "url", - "url": "splashinstall/" - }, - { - "scope": "global", - "description": "Write .htaccess file.", - "type": "url", - "url": "splashinstall/writeHtAccess" + "file": "src/install.php", + "type": "file" } ], - "logo": "logo.png", "doc": [ { - "title": "Installing Splash", - "url": "doc/install.md" - }, - { - "title": "Writing controllers", - "url": "doc/writing_controllers.md" - }, - { - "title": "Writing controllers, manually", - "url": "doc/writing_controllers_manually.md" - }, - { - "title": "Managing URL parameters", - "url": "doc/url_parameters.md" + "title": "Using the message service", + "url": "doc/index.md" }, { - "title": "Writing your own filters", - "url": "doc/filters.md" - }, - { - "title": "Settings and error handling", - "url": "doc/settings_and_error_handling.md" + "title": "Advanced usage", + "url": "doc/advanced.md" } - ], - "require-admin": [ - "src/SplashAdmin.php", - "src/Mouf/Mvc/Splash/SplashGenerateService.php", - "src/Mouf/Mvc/Splash/Controllers/Admin/SplashPurgeCacheController.php", - "src/Mouf/Mvc/Splash/Controllers/Admin/SplashAdminApacheConfigureController.php", - "src/Mouf/Mvc/Splash/Controllers/Admin/SplashInstallController.php" ] } }, "autoload": { "psr-0": { - "Mouf\\Mvc\\Splash": "src/" - } + "Mouf\\Html\\Widgets\\MessageService": "src/" + }, + "files": [ + "src/common_functions.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1369,38 +1486,32 @@ "homepage": "http://mouf-php.com/" } ], - "description": "An MVC framework deeply integrated with Mouf.", - "homepage": "http://mouf-php.com/packages/mouf/mvc.splash/", + "description": "Use this package to display info/warning/error messages to the user on a web page. Using the SessionMessageService class, you register messages to be displayed. Using the MessageWidget class, you display the error messages in your templates.", + "homepage": "https://github.com/thecodingmachine/html.widgets.messageservice", "keywords": [ - "framework", + "message", + "messageservice", "mouf", - "mvc", - "splash" + "widget", + "widgets" ], - "time": "2014-08-28 14:14:15" + "time": "2018-08-28T13:47:46+00:00" }, { - "name": "mouf/mvc.splash-common", - "version": "v4.3.1", + "name": "mouf/javascript.ace", + "version": "v1.1.4", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/mvc.splash-common.git", - "reference": "f78dba2e8940bd9d6d0f936bd22ec7befafb7fa2" + "url": "https://github.com/thecodingmachine/javascript.ace.git", + "reference": "4b88b25988f2bd2152392802a997b6cf194677cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/mvc.splash-common/zipball/f78dba2e8940bd9d6d0f936bd22ec7befafb7fa2", - "reference": "f78dba2e8940bd9d6d0f936bd22ec7befafb7fa2", + "url": "https://api.github.com/repos/thecodingmachine/javascript.ace/zipball/4b88b25988f2bd2152392802a997b6cf194677cf", + "reference": "4b88b25988f2bd2152392802a997b6cf194677cf", "shasum": "" }, "require": { - "mouf/html.htmlelement": "2.*", - "mouf/html.renderer.twig-extensions": "~1.0", - "mouf/mvc.splash-implementation": "~4.3", - "mouf/utils.action.common-action": "~1.0", - "mouf/utils.common.url-interface": "~1.0", - "mouf/utils.common.validators": "3.*", - "mouf/utils.i18n.fine": "3.*", "php": ">=5.3.0" }, "type": "mouf-library", @@ -1408,66 +1519,59 @@ "mouf": { "install": [ { - "file": "src/splashCommonInstall.php", - "type": "file" + "type": "class", + "class": "Mouf\\Javascript\\Ace\\AceInstaller" } - ], - "require-admin": [ - "src/SplashCommonAdmin.php" ] } }, "autoload": { - "psr-0": { - "Mouf\\Annotations": "src/", - "Mouf\\Mvc\\Splash": "src/" + "psr-4": { + "Mouf\\Javascript\\Ace\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" - } - ], - "description": "The Core part of Splash (an MVC framework). It is used by Splash itself, but also by Drusplash (the Splash wrapper for Drupal)", - "homepage": "https://github.com/thecodingmachine/mvc.splash-common", + "description": "This package contains the ACE Javascript code editor (and a Mouf wrapper installer).", + "homepage": "https://mouf-php.com/packages/mouf/javascript.ace", "keywords": [ - "framework", - "mouf", - "mvc", - "splash", - "splash-common" + "ace", + "javascript", + "mouf" ], - "time": "2014-08-22 14:52:37" + "time": "2018-08-27T16:54:04+00:00" }, { - "name": "mouf/security.simplelogincontroller", - "version": "v2.0.0", + "name": "mouf/javascript.jquery.jq-bootstrap-validation", + "version": "1.3.7.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/security.simplelogincontroller.git", - "reference": "3a1c779aa5d492bcec0d33a05609d58f0af30b92" + "url": "https://github.com/moufmouf/javascript.jquery.jqBootstrapValidation.git", + "reference": "490de66b7136a7b6109f79864ddb8ff7e7a5c2fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/security.simplelogincontroller/zipball/3a1c779aa5d492bcec0d33a05609d58f0af30b92", - "reference": "3a1c779aa5d492bcec0d33a05609d58f0af30b92", + "url": "https://api.github.com/repos/moufmouf/javascript.jquery.jqBootstrapValidation/zipball/490de66b7136a7b6109f79864ddb8ff7e7a5c2fa", + "reference": "490de66b7136a7b6109f79864ddb8ff7e7a5c2fa", "shasum": "" }, "require": { - "mouf/security.userservice": "2.*", - "mouf/utils.common.getvars": "2.*", - "php": ">=5.3.0" + "mouf/html.utils.weblibrarymanager": "^4.0", + "php": ">=5.3.0", + "thecodingmachine/funky": "^1" + }, + "conflict": { + "mouf/mouf": "~2.0.0" }, "type": "mouf-library", + "extra": { + "logo": "logo.png" + }, "autoload": { - "psr-0": { - "Mouf": "src/" + "psr-4": { + "Mouf\\Javascript\\JqBootstrapValidation\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1481,37 +1585,40 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a simple Splash controller to log into an application. The controller can display a simple form with username/password choice, and has actions to login/logout the application.", - "homepage": "https://github.com/thecodingmachine/security.simplelogincontroller", + "description": "This package contains the jqBootstrapValidation plugin for Bootstrap. It features an installer for the Mouf framework.", + "homepage": "http://mouf-php.com/packages/mouf/javascript.jquery.jqBootstrapValidation", "keywords": [ - "login", - "mouf", - "security" + "bootstrap", + "jqBootstrapValidation", + "validator" ], - "time": "2014-06-03 20:30:24" + "time": "2018-08-31T09:05:57+00:00" }, { - "name": "mouf/security.userfiledao", - "version": "v2.0.0", + "name": "mouf/javascript.jquery.jquery", + "version": "1.11.1.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/security.userfiledao.git", - "reference": "7d998e2714e9127f6e722fc7fc672b3abdd090d2" + "url": "https://github.com/thecodingmachine/javascript.jquery.jquery.git", + "reference": "aa897e23843526baa1e766637049e3fcac7d877b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/security.userfiledao/zipball/7d998e2714e9127f6e722fc7fc672b3abdd090d2", - "reference": "7d998e2714e9127f6e722fc7fc672b3abdd090d2", + "url": "https://api.github.com/repos/thecodingmachine/javascript.jquery.jquery/zipball/aa897e23843526baa1e766637049e3fcac7d877b", + "reference": "aa897e23843526baa1e766637049e3fcac7d877b", "shasum": "" }, "require": { - "mouf/security.userservice": "2.*", - "php": ">=5.3.0" + "mouf/html.utils.weblibrarymanager": "^4.0", + "php": ">=7.1" }, - "type": "mouf-library", + "conflict": { + "mouf/mouf": "~2.0.0" + }, + "type": "library", "autoload": { - "psr-0": { - "Mouf": "src/" + "psr-4": { + "Mouf\\Javascript\\JQuery\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1525,37 +1632,31 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains an implementation of a UserDao, that stores the application users in a simple PHP file. It can be used together with the MoufUserService to provide easy access management to an application. Since the users are stored in a PHP file, this very special DAO does not require a database!", - "homepage": "https://github.com/thecodingmachine/security.userfiledao", + "description": "This package contains the JQuery library, along a Mouf installer file to add JQuery easily in your Mouf project.", + "homepage": "https://github.com/thecodingmachine/javascript.jquery.jquery", "keywords": [ - "User management", - "mouf", - "security", - "userdao" + "javascript", + "jquery", + "mouf" ], - "time": "2014-06-03 20:31:23" + "time": "2018-08-31T09:02:27+00:00" }, { - "name": "mouf/security.userservice", - "version": "v2.0.0", + "name": "mouf/javascript.jquery.jquery-filetree", + "version": "v1.01.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/security.userservice.git", - "reference": "ac2739f414689349ea008f9c173723bb832c8861" + "url": "https://github.com/thecodingmachine/javascript.jquery.jquery-filetree.git", + "reference": "da68e197c36ee294969508bd118feb4c315b1f37" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/security.userservice/zipball/ac2739f414689349ea008f9c173723bb832c8861", - "reference": "ac2739f414689349ea008f9c173723bb832c8861", + "url": "https://api.github.com/repos/thecodingmachine/javascript.jquery.jquery-filetree/zipball/da68e197c36ee294969508bd118feb4c315b1f37", + "reference": "da68e197c36ee294969508bd118feb4c315b1f37", "shasum": "" }, "require": { - "mouf/mouf-validators-interface": "~2.0", - "mouf/utils.common.conditioninterface": "2.*", - "mouf/utils.constants.secret": "~1.0", - "mouf/utils.log.psr.errorlog_logger": "2.*", - "mouf/utils.session.session-manager": "~2.1", - "mouf/utils.value.value-interface": "~1.0", + "mouf/javascript.jquery.jquery-ui": ">=1.8.22-dev,<2.0", "php": ">=5.3.0" }, "type": "mouf-library", @@ -1563,34 +1664,10 @@ "mouf": { "install": [ { - "file": "src/install.php", - "type": "file" - } - ], - "doc": [ - { - "title": "Installation", - "url": "doc/usersserviceInstallation.md" - }, - { - "title": "Configure the project", - "url": "doc/userServiceInterfaces.md" - }, - { - "title": "Configure UserService Instance", - "url": "doc/configure_user_service.md" - }, - { - "title": "UserService - Quick Example", - "url": "doc/userservicesample.md" + "type": "file", + "file": "install.php" } - ], - "logo": "logo.png" - } - }, - "autoload": { - "psr-0": { - "Mouf\\Security\\UserService": "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -1604,38 +1681,44 @@ "homepage": "http://mouf-php.com/" } ], - "description": "A set of PHP class to manage log-in and log-out of web applications and that integrates with Mouf.", - "homepage": "https://github.com/thecodingmachine/security.userservice", + "description": "This package contains the jQuery FileTree library, along a Mouf installer file to add JQuery FileTree easily in your Mouf project.", + "homepage": "http://www.abeautifulsite.net/blog/2008/03/jquery-file-tree/", "keywords": [ - "User management", - "security", - "user" + "filetree", + "javascript", + "jquery", + "jquery filetree", + "mouf" ], - "time": "2014-06-04 16:08:19" + "time": "2014-06-03T20:44:49+00:00" }, { - "name": "mouf/security.userservice-splash", - "version": "v4.0.1", + "name": "mouf/javascript.jquery.jquery-ui", + "version": "v1.10.2.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/security.userservice-splash.git", - "reference": "a38b77cb4b0aed8697d0945c683486aedb373bb3" + "url": "https://github.com/thecodingmachine/javascript.jquery.jquery-ui.git", + "reference": "0bb621cf5cfe0f6830c469c565143b80b24733d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/security.userservice-splash/zipball/a38b77cb4b0aed8697d0945c683486aedb373bb3", - "reference": "a38b77cb4b0aed8697d0945c683486aedb373bb3", + "url": "https://api.github.com/repos/thecodingmachine/javascript.jquery.jquery-ui/zipball/0bb621cf5cfe0f6830c469c565143b80b24733d7", + "reference": "0bb621cf5cfe0f6830c469c565143b80b24733d7", "shasum": "" }, "require": { - "mouf/mvc.splash-common": ">=4.0,< 6.0 | 7.*", - "mouf/security.userservice": "2.*", + "mouf/javascript.jquery.jquery": "~1.7", "php": ">=5.3.0" }, - "type": "library", - "autoload": { - "psr-0": { - "Mouf": "src/" + "type": "mouf-library", + "extra": { + "mouf": { + "install": [ + { + "type": "file", + "file": "install.php" + } + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -1649,88 +1732,49 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a set of class to bind the Splash MVC framework (>=v4.0) with the UserService component. It features: a @Logged annotation to restrict access to logged users only.", - "homepage": "https://github.com/thecodingmachine/security.userservice-splash", + "description": "This package contains the JQuery UI library, along a Mouf installer file to add JQuery UI easily in your Mouf project.", + "homepage": "https://github.com/thecodingmachine/javascript.jquery.jquery-ui", "keywords": [ - "mouf", - "security", - "splash", - "user" - ], - "time": "2015-07-26 07:45:28" - }, - { - "name": "mouf/utils.action.action-interface", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/thecodingmachine/utils.action.action-interface.git", - "reference": "93caf3ceba6c3fc53ed16f6e8b453778e07c9c7a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.action.action-interface/zipball/93caf3ceba6c3fc53ed16f6e8b453778e07c9c7a", - "reference": "93caf3ceba6c3fc53ed16f6e8b453778e07c9c7a", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Mouf\\Utils\\Action": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "David Négrier", - "email": "d.negrier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" - } - ], - "description": "This package contains an interface used by many objects to say they can do stuff. Actually, they can perform one particular action and has been designed for that. The action performed is completely up to the implementer (sending a mail, storing a result in database, displaying something on the screen...) The concept is very simple, and very powerful at the same time.", - "homepage": "https://mouf-php.com/mouf/utils.action.action-interface", - "keywords": [ - "action", - "actioninterface", - "interface", + "jQueryUI", + "javascript", + "jquery", + "jquery-ui", "mouf" ], - "time": "2013-10-29 18:21:59" + "time": "2013-04-11T12:11:39+00:00" }, { - "name": "mouf/utils.action.common-action", - "version": "v1.0.1", + "name": "mouf/javascript.syntaxhighlighter", + "version": "v3.0.83.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.action.common-action.git", - "reference": "9498e24435b96812953cbca91fd20daecbfc549a" + "url": "https://github.com/thecodingmachine/javascript.syntaxhighlighter.git", + "reference": "6f4499eafbe688f504501ccdc2329edb459150d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.action.common-action/zipball/9498e24435b96812953cbca91fd20daecbfc549a", - "reference": "9498e24435b96812953cbca91fd20daecbfc549a", + "url": "https://api.github.com/repos/thecodingmachine/javascript.syntaxhighlighter/zipball/6f4499eafbe688f504501ccdc2329edb459150d4", + "reference": "6f4499eafbe688f504501ccdc2329edb459150d4", "shasum": "" }, "require": { - "mouf/utils.action.action-interface": "~1.0", - "mouf/utils.value.value-interface": "~1.0", + "mouf/javascript.jquery.jquery": ">=1.7.2", "php": ">=5.3.0" }, - "type": "library", + "type": "mouf-library", "extra": { "mouf": { - "logo": "logo.png" + "install": [ + { + "type": "file", + "file": "install.php" + } + ] } }, "autoload": { "psr-0": { - "Mouf\\Utils\\Action": "src/" + "Mouf": "php/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1744,51 +1788,40 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains common classes that implement the ActionInterface interface (from the mouf/utils.action.action-interface package).", - "homepage": "https://mouf-php.com/mouf/utils.action.common-action", + "description": "This package contains the SyntaxHighlighter javascript library, along a Mouf installer file to add SyntaxHighlighter easily in your Mouf project.", + "homepage": "http://alexgorbatchev.com/SyntaxHighlighter/", "keywords": [ - "actioninterface", + "SyntaxHighlighter", + "javascript", "mouf" ], - "time": "2015-01-23 11:09:24" + "time": "2014-06-03T20:45:27+00:00" }, { - "name": "mouf/utils.cache.apc-cache", - "version": "v2.2.0", + "name": "mouf/javascript.underscore", + "version": "1.3.4.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.cache.apc-cache.git", - "reference": "66e8478bb17a70e6100f3eaea2fcfde33e8a746a" + "url": "https://github.com/thecodingmachine/javascript.underscore.git", + "reference": "3d5d900e0bd429c1b406ade7ed9ac5dd19380748" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.cache.apc-cache/zipball/66e8478bb17a70e6100f3eaea2fcfde33e8a746a", - "reference": "66e8478bb17a70e6100f3eaea2fcfde33e8a746a", + "url": "https://api.github.com/repos/thecodingmachine/javascript.underscore/zipball/3d5d900e0bd429c1b406ade7ed9ac5dd19380748", + "reference": "3d5d900e0bd429c1b406ade7ed9ac5dd19380748", "shasum": "" }, "require": { - "mouf/mouf-validators-interface": "~2.0", - "mouf/utils.cache.cache-interface": "~2.0", - "mouf/utils.cache.file-cache": "~2.0", - "mouf/utils.constants.secret": "~1.0", - "mouf/utils.log.psr.errorlog_logger": "~2.0", + "mouf/html.utils.weblibrarymanager": "^4.0", "php": ">=5.3.0" }, - "type": "mouf-library", - "extra": { - "mouf": { - "install": [ - { - "type": "class", - "class": "Mouf\\Utils\\Cache\\ApcCacheInstaller" - } - ], - "logo": "logo.png" - } + "conflict": { + "mouf/mouf": "~2.0.0" }, + "type": "mouf-library", "autoload": { - "psr-0": { - "Mouf\\Utils\\Cache": "src/" + "psr-4": { + "Mouf\\Javascript\\Underscore\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1802,44 +1835,43 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a cache mechanism that relies on the APC caching system. For this cache to work, the APC Pecl package must be enabled.", - "homepage": "https://github.com/thecodingmachine/utils.cache.apc-cache", + "description": "This package contains the Underscore javascript library, along a Mouf installer file to add Underscore easily in your Mouf project.", + "homepage": "https://github.com/thecodingmachine/javascript.underscore", "keywords": [ - "apc", - "cache", - "mouf" + "javascript", + "mouf", + "underscore", + "underscorejs" ], - "time": "2016-03-23 11:27:26" + "time": "2018-08-28T07:37:44+00:00" }, { - "name": "mouf/utils.cache.cache-interface", - "version": "v2.0.0", + "name": "mouf/mouf-installer", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.cache.cache-interface.git", - "reference": "85ed0a965fd18d89c509cfbacb68a240844afc0a" + "url": "https://github.com/thecodingmachine/mouf-installer.git", + "reference": "cb8268c2fe56c68cdb16c6d90211afa5eec3d82f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.cache.cache-interface/zipball/85ed0a965fd18d89c509cfbacb68a240844afc0a", - "reference": "85ed0a965fd18d89c509cfbacb68a240844afc0a", + "url": "https://api.github.com/repos/thecodingmachine/mouf-installer/zipball/cb8268c2fe56c68cdb16c6d90211afa5eec3d82f", + "reference": "cb8268c2fe56c68cdb16c6d90211afa5eec3d82f", "shasum": "" }, "require": { + "composer-plugin-api": "^1", "php": ">=5.3.0" }, - "type": "mouf-library", + "type": "composer-plugin", "extra": { - "mouf": { - "require-admin": [ - "CacheAdmin.php" - ], - "logo": "logo.png" - } + "class": [ + "Mouf\\Installer\\MoufPlugin" + ] }, "autoload": { "psr-0": { - "Mouf\\Utils\\Cache": "src/" + "Mouf\\Installer": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1853,50 +1885,35 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package only contains the interface that must be implemented by caching classes. Unless you want to implement your own caching method, you should import a cache package that will use this interface. For instance, common.utils.session-cache, or common.utils.file-cache.", - "homepage": "https://github.com/thecodingmachine/utils.cache.cache-interface", + "description": "The Mouf-installer package is a composer in charge of installing any package with the 'mouf-library' type.", + "homepage": "http://mouf-php.com/", "keywords": [ - "cache", - "interface", + "install", "mouf" ], - "time": "2013-10-29 18:21:59" + "time": "2018-08-02T10:21:08+00:00" }, { - "name": "mouf/utils.cache.file-cache", - "version": "v2.2.0", + "name": "mouf/mouf-validators-interface", + "version": "v2.0.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.cache.file-cache.git", - "reference": "1364ebe903354440c2b3b47c4d918233d8d3ebd2" + "url": "https://github.com/thecodingmachine/mouf-validators-interface.git", + "reference": "7678d5c0d4e7113aa4f5345e6896933ff8b5e7ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.cache.file-cache/zipball/1364ebe903354440c2b3b47c4d918233d8d3ebd2", - "reference": "1364ebe903354440c2b3b47c4d918233d8d3ebd2", + "url": "https://api.github.com/repos/thecodingmachine/mouf-validators-interface/zipball/7678d5c0d4e7113aa4f5345e6896933ff8b5e7ce", + "reference": "7678d5c0d4e7113aa4f5345e6896933ff8b5e7ce", "shasum": "" }, "require": { - "mouf/utils.cache.cache-interface": "~2.0", - "mouf/utils.constants.secret": "~1.0", - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "type": "mouf-library", - "extra": { - "mouf": { - "install": [ - { - "class": "Mouf\\Utils\\Cache\\FileCacheInstaller", - "type": "class" - } - ], - "logo": "logo.png" - } + "php": ">=5.3.0" }, + "type": "library", "autoload": { - "psr-4": { - "Mouf\\Utils\\Cache\\": "src/" + "psr-0": { + "Mouf\\Validator": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1910,37 +1927,60 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a cache mechanism that relies on temporary files.", - "homepage": "https://github.com/thecodingmachine/utils.cache.file-cache", + "description": "The mouf-validators-interface package contains interfaces your classes can implement to provide self-validation in the Mouf interface.", + "homepage": "http://mouf-php.com/", "keywords": [ - "cache", - "file", - "mouf" + "mouf", + "validators" ], - "time": "2015-12-31 13:37:36" + "time": "2013-10-29T18:21:58+00:00" }, { - "name": "mouf/utils.cache.in-memory-cache", - "version": "v1.0.2", + "name": "mouf/mvc.splash-common", + "version": "10.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.cache.in-memory-cache.git", - "reference": "1e02d9d83d6fa9f86eca0147c80a2659a56a03bd" + "url": "https://github.com/thecodingmachine/mvc.splash-common.git", + "reference": "43c0fc33902623e568de837f54f63b37ac2b5197" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.cache.in-memory-cache/zipball/1e02d9d83d6fa9f86eca0147c80a2659a56a03bd", - "reference": "1e02d9d83d6fa9f86eca0147c80a2659a56a03bd", + "url": "https://api.github.com/repos/thecodingmachine/mvc.splash-common/zipball/43c0fc33902623e568de837f54f63b37ac2b5197", + "reference": "43c0fc33902623e568de837f54f63b37ac2b5197", "shasum": "" }, "require": { - "mouf/utils.cache.cache-interface": "2.*", - "php": ">=5.3.0" + "mouf/html.htmlelement": "^2.0", + "mouf/html.renderer.twig-extensions": "^1 || ^3", + "mouf/html.template.templateinterface": "^2.1 || ^3", + "mouf/mouf": "^2.0", + "mouf/utils.action.common-action": "~1.0", + "mouf/utils.common.conditioninterface": "~2.0", + "php": ">=7.0", + "thecodingmachine/splash-router": "^10" + }, + "require-dev": { + "cache/array-adapter": "^0.4.0", + "mnapoli/simplex": "^0.3", + "mouf/picotainer": "~1.0", + "phpstan/phpstan": "^0.10.1", + "phpunit/phpunit": "^5.0", + "satooshi/php-coveralls": "^1.0" }, "type": "mouf-library", + "extra": { + "mouf": { + "logo": "doc/images/logo.png", + "section": { + "name": "MVC", + "description": "All the tools you need to route requests and display pages", + "weight": 10 + } + } + }, "autoload": { - "psr-0": { - "Mouf\\Utils\\Cache": "src/" + "psr-4": { + "Mouf\\Mvc\\Splash\\": "src/Mouf/Mvc/Splash" } }, "notification-url": "https://packagist.org/downloads/", @@ -1954,49 +1994,59 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains the most basic cache mechanism. It stores cache items in an array. It means the cache is flushed as soon as the script returns. It is very basic, but also very fast. You will usually use this mechanism with another one just behind.", - "homepage": "https://mouf-php/packages/mouf/utils.cache.local-cache", + "description": "Splash is a PHP router. It takes an HTTP request and dispatches it to the appropriate controller.", + "homepage": "http://mouf-php.com/packages/mouf/mvc.splash-common", "keywords": [ - "cache", - "in-memory", - "mouf" + "framework", + "mouf", + "mvc", + "splash", + "splash-common" ], - "time": "2015-07-10 13:31:07" + "time": "2018-08-30T20:30:03+00:00" }, { - "name": "mouf/utils.cache.no-cache", - "version": "v2.0.0", + "name": "mouf/security.simplelogincontroller", + "version": "6.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.cache.no-cache.git", - "reference": "bf1758eaea3289b9c3070009ed04dc10b7c129ab" + "url": "https://github.com/thecodingmachine/security.simplelogincontroller.git", + "reference": "8518a218e10589cbd2e18a132ab229d11ab9e24e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.cache.no-cache/zipball/bf1758eaea3289b9c3070009ed04dc10b7c129ab", - "reference": "bf1758eaea3289b9c3070009ed04dc10b7c129ab", + "url": "https://api.github.com/repos/thecodingmachine/security.simplelogincontroller/zipball/8518a218e10589cbd2e18a132ab229d11ab9e24e", + "reference": "8518a218e10589cbd2e18a132ab229d11ab9e24e", "shasum": "" }, "require": { - "mouf/utils.cache.cache-interface": "2.*", - "mouf/utils.log.log_interface": "2.*", - "php": ">=5.3.0" + "mouf/security.userservice": "^2.1.0 || ^3", + "mouf/security.userservice-splash": "^10", + "mouf/utils.action.action-interface": "~1.0", + "php": "^7.1", + "thecodingmachine/funky": "^1", + "thecodingmachine/splash-router": "^10.0" }, "type": "mouf-library", "extra": { "mouf": { "install": [ { - "type": "file", - "file": "src/install.php" + "type": "class", + "class": "Mouf\\Security\\SimpleLoginInstaller" } ], - "logo": "logo.png" + "doc": [ + { + "title": "Intergrate the UserService.RememberMe feature", + "url": "doc/integrate_remember_me.md" + } + ] } }, "autoload": { - "psr-0": { - "Mouf": "src/" + "psr-4": { + "Mouf\\Security\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2010,36 +2060,47 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a cache mechanism that... does not cache anything. This is useful if another component requires a cache mechanism and if you don't want to provide any (for development purpose...).", - "homepage": "https://github.com/thecodingmachine/utils.cache.no-cache", + "description": "This package contains a simple Splash controller to log into an application. The controller can display a simple form with username/password choice, and has actions to login/logout the application.", + "homepage": "https://github.com/thecodingmachine/security.simplelogincontroller", "keywords": [ - "cache", + "login", "mouf", - "nocache" + "security" ], - "time": "2013-03-19 22:09:31" + "time": "2018-08-30T20:43:56+00:00" }, { - "name": "mouf/utils.common.conditioninterface", - "version": "v2.0.1", + "name": "mouf/security.userfiledao", + "version": "4.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.common.conditioninterface.git", - "reference": "d38b67427a68bd7e37615c08ba28182e6c1867f1" + "url": "https://github.com/thecodingmachine/security.userfiledao.git", + "reference": "dafb3c81d01656c9aefd1efcb107e0bd72b2196b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.common.conditioninterface/zipball/d38b67427a68bd7e37615c08ba28182e6c1867f1", - "reference": "d38b67427a68bd7e37615c08ba28182e6c1867f1", + "url": "https://api.github.com/repos/thecodingmachine/security.userfiledao/zipball/dafb3c81d01656c9aefd1efcb107e0bd72b2196b", + "reference": "dafb3c81d01656c9aefd1efcb107e0bd72b2196b", "shasum": "" }, "require": { - "php": ">=5.3.0" + "mouf/security.userservice": "^3", + "php": ">=7.1", + "thecodingmachine/funky": "^1" + }, + "conflict": { + "mouf/mouf": "~2.0.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.10.3", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/discovery": "^1.2.1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" }, "type": "mouf-library", "autoload": { "psr-0": { - "Mouf\\Utils\\Common\\ConditionInterface": "src/" + "Mouf\\Security\\UserFileDao\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2053,37 +2114,86 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains one interface for condition, and a few classes that implement it. For instance, AndCondition that requires all conditions to be met, and OrCondition that requires at least one condition to be met. A condition is a class that possesses an 'isOk' method. The condition returns true if the condition is met, and false otherwise.", - "homepage": "https://github.com/thecodingmachine/utils.common.conditioninterface", + "description": "This package contains an implementation of a UserDao, that stores the application users in a simple PHP file. It can be used together with the MoufUserService to provide easy access management to an application. Since the users are stored in a PHP file, this very special DAO does not require a database!", + "homepage": "https://github.com/thecodingmachine/security.userfiledao", "keywords": [ - "condition", - "interface" + "User management", + "mouf", + "security", + "userdao" ], - "time": "2015-01-28 15:50:43" + "time": "2018-08-28T09:43:10+00:00" }, { - "name": "mouf/utils.common.getvars", - "version": "v2.0.0", + "name": "mouf/security.userservice", + "version": "3.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.common.getvars.git", - "reference": "b1e42d329fa0861c6f83df176f7aae904cd35740" + "url": "https://github.com/thecodingmachine/security.userservice.git", + "reference": "a5fb27aeaf6fafaf74bb4694f27362e7db75493c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.common.getvars/zipball/b1e42d329fa0861c6f83df176f7aae904cd35740", - "reference": "b1e42d329fa0861c6f83df176f7aae904cd35740", + "url": "https://api.github.com/repos/thecodingmachine/security.userservice/zipball/a5fb27aeaf6fafaf74bb4694f27362e7db75493c", + "reference": "a5fb27aeaf6fafaf74bb4694f27362e7db75493c", "shasum": "" }, "require": { - "php": ">=5.2.0" + "mouf/mouf-validators-interface": "~2.0", + "mouf/utils.common.conditioninterface": "^2", + "mouf/utils.constants.secret": "~1.0", + "mouf/utils.session.session-manager": "^4", + "mouf/utils.value.value-interface": "~1.0", + "php": ">=7.1", + "psr/container": "^1", + "psr/log": "^1", + "thecodingmachine/funky": "^1" + }, + "conflict": { + "mouf/mouf": "~2.0.0" + }, + "require-dev": { + "maglnet/composer-require-checker": "^1.0", + "mnapoli/simplex": "^0.5", + "mouf/utils.log.psr.errorlog_logger": "^2", + "phpstan/phpstan": "^0.10.3", + "phpunit/phpunit": "^7.3.1", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/discovery": "^1.2.1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" }, "type": "mouf-library", + "extra": { + "mouf": { + "doc": [ + { + "title": "Installation", + "url": "doc/usersserviceInstallation.md" + }, + { + "title": "Configure the project", + "url": "doc/userServiceInterfaces.md" + }, + { + "title": "Configure UserService Instance", + "url": "doc/configure_user_service.md" + }, + { + "title": "UserService - Quick Example", + "url": "doc/userservicesample.md" + }, + { + "title": "UserService - 'Remember Me' feature", + "url": "doc/remember_me.md" + } + ], + "logo": "logo.png" + } + }, "autoload": { - "files": [ - "src/tcm_utils.php", - "src/TcmUtilsException.php" - ] + "psr-0": { + "Mouf\\Security\\UserService": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2096,41 +2206,49 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This is a legacy non-OO package and should not be used in recent developments. A simple package that provides functions to get the parameters from the request in a consistent way. The varaiables can be rerieved in a way that is independent of the php.ini configuration file. Especially, it can cancel the effect of the dreadful 'magic_quotes' parameter.", - "homepage": "https://github.com/thecodingmachine/utils.common.getvars", + "description": "A set of PHP class to manage log-in and log-out of web applications and that integrates with Mouf.", + "homepage": "https://github.com/thecodingmachine/security.userservice", "keywords": [ - "mouf", - "protect", - "request" + "User management", + "security", + "user" ], - "time": "2014-06-04 16:18:33" + "time": "2018-08-30T17:57:56+00:00" }, { - "name": "mouf/utils.common.url-interface", - "version": "v1.0.0", + "name": "mouf/security.userservice-splash", + "version": "10.0.x-dev", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.common.url-interface.git", - "reference": "2b6aa6502b01fcfe55a8bbb114249c15e3ec6610" + "url": "https://github.com/thecodingmachine/security.userservice-splash.git", + "reference": "afc48655f39d4b64b0b2d72b7b30f8ef36e9083f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.common.url-interface/zipball/2b6aa6502b01fcfe55a8bbb114249c15e3ec6610", - "reference": "2b6aa6502b01fcfe55a8bbb114249c15e3ec6610", + "url": "https://api.github.com/repos/thecodingmachine/security.userservice-splash/zipball/afc48655f39d4b64b0b2d72b7b30f8ef36e9083f", + "reference": "afc48655f39d4b64b0b2d72b7b30f8ef36e9083f", "shasum": "" }, "require": { - "php": ">=5.3.0" + "mouf/security.userservice": "^2.1.0 || ^3", + "php": ">=7.1", + "thecodingmachine/funky": "^1", + "thecodingmachine/splash-router": "^10" }, "type": "library", "extra": { "mouf": { - "logo": "logo.png" + "install": [ + { + "type": "class", + "class": "Mouf\\Security\\UnauthorizedMiddlewareInstaller" + } + ] } }, "autoload": { - "psr-0": { - "Mouf\\Utils\\Common\\": "src/" + "psr-4": { + "Mouf\\Security\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2144,48 +2262,37 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains an interface used by many objects to say they represent a URL. The concept is very simple, the object implements a getUrl method, and that's it!", - "homepage": "https://mouf-php.com/packages/mouf/utils.common.url-interface", + "description": "This package contains a set of class to bind the Splash MVC framework (>=v4.0) with the UserService component. It features: a @Logged annotation to restrict access to logged users only.", + "homepage": "https://github.com/thecodingmachine/security.userservice-splash", "keywords": [ - "interface", "mouf", - "url", - "urlinterface" + "security", + "splash", + "user" ], - "time": "2013-10-29 18:21:59" + "time": "2018-08-28T08:44:34+00:00" }, { - "name": "mouf/utils.common.validators", - "version": "v3.1.0", + "name": "mouf/utils.action.action-interface", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.common.validators.git", - "reference": "2c2e5ded2c3c5b2185838994ea99681a51952f42" + "url": "https://github.com/thecodingmachine/utils.action.action-interface.git", + "reference": "93caf3ceba6c3fc53ed16f6e8b453778e07c9c7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.common.validators/zipball/2c2e5ded2c3c5b2185838994ea99681a51952f42", - "reference": "2c2e5ded2c3c5b2185838994ea99681a51952f42", + "url": "https://api.github.com/repos/thecodingmachine/utils.action.action-interface/zipball/93caf3ceba6c3fc53ed16f6e8b453778e07c9c7a", + "reference": "93caf3ceba6c3fc53ed16f6e8b453778e07c9c7a", "shasum": "" }, "require": { - "mouf/utils.i18n.fine": ">=3.0-dev,<4.0", "php": ">=5.3.0" }, - "type": "mouf-library", - "extra": { - "mouf": { - "install": [ - { - "type": "file", - "file": "src/validatorsInstall.php" - } - ] - } - }, + "type": "library", "autoload": { "psr-0": { - "Mouf\\Utils\\Common\\Validators\\": "src/" + "Mouf\\Utils\\Action": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2199,47 +2306,44 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains typical validators to be used in your application. A validator is a class that decides whether a string is valid or not. For instance, you could use an EmailValidator to validate that a string is a mail, etc...", - "homepage": "https://github.com/thecodingmachine/utils.common.validators", + "description": "This package contains an interface used by many objects to say they can do stuff. Actually, they can perform one particular action and has been designed for that. The action performed is completely up to the implementer (sending a mail, storing a result in database, displaying something on the screen...) The concept is very simple, and very powerful at the same time.", + "homepage": "https://mouf-php.com/mouf/utils.action.action-interface", "keywords": [ - "utils", - "validators" + "action", + "actioninterface", + "interface", + "mouf" ], - "time": "2014-06-04 16:32:03" + "time": "2013-10-29T18:21:59+00:00" }, { - "name": "mouf/utils.constants.debug", - "version": "v1.0.0", + "name": "mouf/utils.action.common-action", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.constants.debug.git", - "reference": "df2122944c8e3aadb1c8221aea732b5de9ce74ca" + "url": "https://github.com/thecodingmachine/utils.action.common-action.git", + "reference": "9498e24435b96812953cbca91fd20daecbfc549a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.constants.debug/zipball/df2122944c8e3aadb1c8221aea732b5de9ce74ca", - "reference": "df2122944c8e3aadb1c8221aea732b5de9ce74ca", + "url": "https://api.github.com/repos/thecodingmachine/utils.action.common-action/zipball/9498e24435b96812953cbca91fd20daecbfc549a", + "reference": "9498e24435b96812953cbca91fd20daecbfc549a", "shasum": "" }, "require": { - "mouf/mouf-installer": "~2.0", + "mouf/utils.action.action-interface": "~1.0", + "mouf/utils.value.value-interface": "~1.0", "php": ">=5.3.0" }, - "type": "mouf-library", + "type": "library", "extra": { "mouf": { - "install": [ - { - "type": "class", - "class": "Mouf\\Utils\\Constants\\DebugInstaller" - } - ], "logo": "logo.png" } }, "autoload": { "psr-0": { - "Mouf\\Utils\\Constants\\": "src/" + "Mouf\\Utils\\Action": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2253,31 +2357,34 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a simple installer for Mouf that will create a constant 'DEBUG' in your project and initialize it to true. Useful for packages supporting a 'debug' mode.", - "homepage": "http://mouf-php.com/packages/mouf/utils.constants.debug", + "description": "This package contains common classes that implement the ActionInterface interface (from the mouf/utils.action.action-interface package).", + "homepage": "https://mouf-php.com/mouf/utils.action.common-action", "keywords": [ - "constant", - "debug", + "actioninterface", "mouf" ], - "time": "2014-06-16 09:18:43" + "time": "2015-01-23T11:09:24+00:00" }, { - "name": "mouf/utils.constants.secret", - "version": "v1.0.0", + "name": "mouf/utils.cache.apc-cache", + "version": "v2.2.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.constants.secret.git", - "reference": "8ed977b1a5dd1caf7641d6ffe0570cccebd768b5" + "url": "https://github.com/thecodingmachine/utils.cache.apc-cache.git", + "reference": "66e8478bb17a70e6100f3eaea2fcfde33e8a746a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.constants.secret/zipball/8ed977b1a5dd1caf7641d6ffe0570cccebd768b5", - "reference": "8ed977b1a5dd1caf7641d6ffe0570cccebd768b5", + "url": "https://api.github.com/repos/thecodingmachine/utils.cache.apc-cache/zipball/66e8478bb17a70e6100f3eaea2fcfde33e8a746a", + "reference": "66e8478bb17a70e6100f3eaea2fcfde33e8a746a", "shasum": "" }, "require": { - "mouf/mouf-installer": "~2.0", + "mouf/mouf-validators-interface": "~2.0", + "mouf/utils.cache.cache-interface": "~2.0", + "mouf/utils.cache.file-cache": "~2.0", + "mouf/utils.constants.secret": "~1.0", + "mouf/utils.log.psr.errorlog_logger": "~2.0", "php": ">=5.3.0" }, "type": "mouf-library", @@ -2286,7 +2393,7 @@ "install": [ { "type": "class", - "class": "Mouf\\Utils\\Constants\\SecretInstaller" + "class": "Mouf\\Utils\\Cache\\ApcCacheInstaller" } ], "logo": "logo.png" @@ -2294,7 +2401,7 @@ }, "autoload": { "psr-0": { - "Mouf\\Utils\\Constants\\": "src/" + "Mouf\\Utils\\Cache": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2308,76 +2415,44 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a simple installer for Mouf that will create a constant 'SECRET' in your project and initialize it to some random value.", - "homepage": "https://mouf-php.com/packages/mouf/utils.constants.secret", + "description": "This package contains a cache mechanism that relies on the APC caching system. For this cache to work, the APC Pecl package must be enabled.", + "homepage": "https://github.com/thecodingmachine/utils.cache.apc-cache", "keywords": [ - "mouf", - "random", - "secret" + "apc", + "cache", + "mouf" ], - "time": "2013-11-05 16:10:29" + "time": "2016-03-23T11:27:26+00:00" }, { - "name": "mouf/utils.i18n.fine", - "version": "v3.0.2", + "name": "mouf/utils.cache.cache-interface", + "version": "v2.1.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.i18n.fine.git", - "reference": "43a9661ceb0fb128eb03d2d23ca9dca7e7ce5129" + "url": "https://github.com/thecodingmachine/utils.cache.cache-interface.git", + "reference": "20de258be5200eeae96696c09ab1a510dda1d104" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.i18n.fine/zipball/43a9661ceb0fb128eb03d2d23ca9dca7e7ce5129", - "reference": "43a9661ceb0fb128eb03d2d23ca9dca7e7ce5129", + "url": "https://api.github.com/repos/thecodingmachine/utils.cache.cache-interface/zipball/20de258be5200eeae96696c09ab1a510dda1d104", + "reference": "20de258be5200eeae96696c09ab1a510dda1d104", "shasum": "" }, "require": { - "mouf/mouf-installer": "~2.0", + "mouf/utils.cache.purge-ui": "^1", + "mouf/utils.composite-exception": "^1", "php": ">=5.3.0" }, "type": "mouf-library", "extra": { "mouf": { - "install": [ - { - "type": "file", - "file": "src/install.php" - } - ], - "require-admin": [ - "src/FineAdmin.php" - ], - "doc": [ - { - "title": "Install", - "url": "doc/install.md" - }, - { - "title": "Using FINE", - "url": "doc/using_fine.md" - }, - { - "title": "Tutorial", - "url": "doc/tutorial.md" - }, - { - "title": "Date functions", - "url": "doc/date_functions.md" - }, - { - "title": "Currency functions", - "url": "doc/currency_functions.md" - } - ] + "logo": "logo.png" } }, "autoload": { "psr-0": { - "Mouf\\Utils\\I18n\\Fine\\": "src/" - }, - "files": [ - "src/msgFunctions.php" - ] + "Mouf\\Utils\\Cache": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2388,60 +2463,52 @@ "name": "David Négrier", "email": "d.negrier@thecodingmachine.com", "homepage": "http://mouf-php.com/" - }, - { - "name": "Marc TEYSSIER", - "email": "m.teyssier@thecodingmachine.com", - "homepage": "http://mouf-php.com/" } ], - "description": "Fine is a PHP internationalisation package. It will help you provide applications that support several languages. FINE means: Fine is not english :). Translation is performed using PHP mapping files, but you will have a nice graphical interface in the Mouf framework to write your own translated messages.", - "homepage": "https://github.com/thecodingmachine/utils.i18n.fine", + "description": "This package only contains the interface that must be implemented by caching classes. Unless you want to implement your own caching method, you should import a cache package that will use this interface. For instance, common.utils.session-cache, or common.utils.file-cache.", + "homepage": "https://github.com/thecodingmachine/utils.cache.cache-interface", "keywords": [ - "fine", - "i18n", - "internationalisation", + "cache", + "interface", "mouf" ], - "time": "2015-04-15 07:21:29" + "time": "2018-06-20T09:45:40+00:00" }, { - "name": "mouf/utils.log.errorlog_logger", - "version": "v2.0.0", + "name": "mouf/utils.cache.file-cache", + "version": "v2.2.1", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.log.errorlog_logger.git", - "reference": "352ad3733757685961818c012187945a4c9d04df" + "url": "https://github.com/thecodingmachine/utils.cache.file-cache.git", + "reference": "b1ebeabac2c0ed3b1b1e3747824bdd93a6d270ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.log.errorlog_logger/zipball/352ad3733757685961818c012187945a4c9d04df", - "reference": "352ad3733757685961818c012187945a4c9d04df", + "url": "https://api.github.com/repos/thecodingmachine/utils.cache.file-cache/zipball/b1ebeabac2c0ed3b1b1e3747824bdd93a6d270ec", + "reference": "b1ebeabac2c0ed3b1b1e3747824bdd93a6d270ec", "shasum": "" }, "require": { - "mouf/mouf-installer": "~2.0", - "mouf/utils.log.log_interface": ">=2.0-dev,<3.0", - "php": ">=5.3.0" - }, - "provide": { - "mouf/utils.log.logger": "1.0" + "mouf/utils.cache.cache-interface": "~2.0", + "mouf/utils.constants.secret": "~1.0", + "php": ">=5.3.0", + "psr/log": "~1.0" }, "type": "mouf-library", "extra": { "mouf": { "install": [ { - "type": "file", - "file": "src/install.php" + "class": "Mouf\\Utils\\Cache\\FileCacheInstaller", + "type": "class" } ], "logo": "logo.png" } }, "autoload": { - "psr-0": { - "Mouf\\Utils\\Log\\": "src/" + "psr-4": { + "Mouf\\Utils\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2455,42 +2522,51 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a logger that logs messages directly to the PHP error log (using the error_log PHP function)", - "homepage": "https://github.com/thecodingmachine/utils.log.errorlog_logger", + "description": "This package contains a cache mechanism that relies on temporary files.", + "homepage": "https://github.com/thecodingmachine/utils.cache.file-cache", "keywords": [ - "error_log", - "log", - "logger" + "cache", + "file", + "mouf" ], - "time": "2013-10-29 18:22:00" + "time": "2016-09-22T08:32:19+00:00" }, { - "name": "mouf/utils.log.log_interface", - "version": "v2.0.0", + "name": "mouf/utils.cache.purge-ui", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.log.log_interface.git", - "reference": "9178f74f644e420a4b59f51e801c75415783ca34" + "url": "https://github.com/thecodingmachine/utils.cache.purge-ui.git", + "reference": "7ea15f6bebbbe7b5f7bc91999d3cbf413e7d1887" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.log.log_interface/zipball/9178f74f644e420a4b59f51e801c75415783ca34", - "reference": "9178f74f644e420a4b59f51e801c75415783ca34", + "url": "https://api.github.com/repos/thecodingmachine/utils.cache.purge-ui/zipball/7ea15f6bebbbe7b5f7bc91999d3cbf413e7d1887", + "reference": "7ea15f6bebbbe7b5f7bc91999d3cbf413e7d1887", "shasum": "" }, "require": { - "mouf/utils.log.logger": "1.*", - "php": ">=5.3.0" + "mouf/utils.composite-exception": "~1.0", + "php": ">=5.5" + }, + "require-dev": { + "doctrine/cache": "^1.4", + "mouf/utils.cache.cache-interface": "^2", + "psr/cache": "^1.0", + "psr/simple-cache": "^1.0" }, "type": "mouf-library", "extra": { "mouf": { + "require-admin": [ + "CacheAdmin.php" + ], "logo": "logo.png" } }, "autoload": { - "psr-0": { - "Mouf\\Utils\\Log\\": "src/" + "psr-4": { + "Mouf\\Utils\\Cache\\Purge\\": "src/Mouf/Utils/Cache/Purge" } }, "notification-url": "https://packagist.org/downloads/", @@ -2504,49 +2580,38 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains an interface used by many components to log messages. Please download a logger package that implements this interface (like the utils.log.errorlog_logger package)", - "homepage": "https://github.com/thecodingmachine/utils.log.log_interface", + "description": "This package contains a user interface that will add a 'Purge cache' button to Mouf, allowing you to purge any PSR-6, PSR-16, Doctrine and Mouf cache easily.", + "homepage": "https://github.com/thecodingmachine/utils.cache.purge-ui", "keywords": [ - "interface", - "log", - "logger" + "cache", + "doctrine", + "mouf", + "psr-16", + "psr-6" ], - "time": "2014-06-05 12:51:58" + "time": "2018-06-20T09:38:21+00:00" }, { - "name": "mouf/utils.log.psr.errorlog_logger", - "version": "v2.0.0", + "name": "mouf/utils.common.conditioninterface", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.log.psr.errorlog_logger.git", - "reference": "ec7335e729689727bd832f17eb34be5951cedf52" + "url": "https://github.com/thecodingmachine/utils.common.conditioninterface.git", + "reference": "d38b67427a68bd7e37615c08ba28182e6c1867f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.log.psr.errorlog_logger/zipball/ec7335e729689727bd832f17eb34be5951cedf52", - "reference": "ec7335e729689727bd832f17eb34be5951cedf52", + "url": "https://api.github.com/repos/thecodingmachine/utils.common.conditioninterface/zipball/d38b67427a68bd7e37615c08ba28182e6c1867f1", + "reference": "d38b67427a68bd7e37615c08ba28182e6c1867f1", "shasum": "" }, "require": { - "mouf/mouf-installer": "~2.0", - "php": ">=5.3.0", - "psr/log": "~1.0" + "php": ">=5.3.0" }, "type": "mouf-library", - "extra": { - "mouf": { - "install": [ - { - "type": "class", - "class": "Mouf\\Utils\\Log\\Psr\\ErrorLogLoggerInstaller" - } - ], - "logo": "logo.png" - } - }, "autoload": { "psr-0": { - "Mouf\\Utils\\Log\\Psr\\": "src/" + "Mouf\\Utils\\Common\\ConditionInterface": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2560,50 +2625,84 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains a PSR-3 compatible logger that logs messages directly to the PHP error log (using the error_log PHP function)", - "homepage": "https://mouf-php.com/packages/mouf/utils.log.psr.errorlog_logger", + "description": "This package contains one interface for condition, and a few classes that implement it. For instance, AndCondition that requires all conditions to be met, and OrCondition that requires at least one condition to be met. A condition is a class that possesses an 'isOk' method. The condition returns true if the condition is met, and false otherwise.", + "homepage": "https://github.com/thecodingmachine/utils.common.conditioninterface", "keywords": [ - "error_log", - "log", - "logger" + "condition", + "interface" ], - "time": "2013-10-29 18:36:52" + "time": "2015-01-28T15:50:43+00:00" }, { - "name": "mouf/utils.session.session-manager", - "version": "v2.1.1", + "name": "mouf/utils.common.getvars", + "version": "v2.0.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.session.session-manager.git", - "reference": "c9fb28c0726fb8867c9f45755617a4ff44ff8716" + "url": "https://github.com/thecodingmachine/utils.common.getvars.git", + "reference": "b1e42d329fa0861c6f83df176f7aae904cd35740" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.session.session-manager/zipball/c9fb28c0726fb8867c9f45755617a4ff44ff8716", - "reference": "c9fb28c0726fb8867c9f45755617a4ff44ff8716", + "url": "https://api.github.com/repos/thecodingmachine/utils.common.getvars/zipball/b1e42d329fa0861c6f83df176f7aae904cd35740", + "reference": "b1e42d329fa0861c6f83df176f7aae904cd35740", "shasum": "" }, "require": { - "php": ">=5.3.0" - }, - "suggest": { - "thecodingmachine/utils.session.optimistic-session-handler": "Handle session without locking session file during all the PHP script execution" + "php": ">=5.2.0" }, "type": "mouf-library", + "autoload": { + "files": [ + "src/tcm_utils.php", + "src/TcmUtilsException.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Négrier", + "email": "d.negrier@thecodingmachine.com", + "homepage": "http://mouf-php.com/" + } + ], + "description": "This is a legacy non-OO package and should not be used in recent developments. A simple package that provides functions to get the parameters from the request in a consistent way. The varaiables can be rerieved in a way that is independent of the php.ini configuration file. Especially, it can cancel the effect of the dreadful 'magic_quotes' parameter.", + "homepage": "https://github.com/thecodingmachine/utils.common.getvars", + "keywords": [ + "mouf", + "protect", + "request" + ], + "time": "2014-06-04T16:18:33+00:00" + }, + { + "name": "mouf/utils.common.url-interface", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/utils.common.url-interface.git", + "reference": "2b6aa6502b01fcfe55a8bbb114249c15e3ec6610" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/utils.common.url-interface/zipball/2b6aa6502b01fcfe55a8bbb114249c15e3ec6610", + "reference": "2b6aa6502b01fcfe55a8bbb114249c15e3ec6610", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", "extra": { "mouf": { - "install": [ - { - "type": "file", - "file": "src/install.php" - } - ] + "logo": "logo.png" } }, "autoload": { "psr-0": { - "Mouf\\Utils\\Action": "src/", - "Mouf\\Utils\\Session\\SessionManager": "src/" + "Mouf\\Utils\\Common\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2617,40 +2716,80 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package is used to manage sessions. It provides a DefaultSessionManager class that you can use to configure your PHP sessions, and a SessionManagerInterface that you can implement if you want to provide your own session management.", - "homepage": "https://github.com/thecodingmachine/utils.session.session-manager", + "description": "This package contains an interface used by many objects to say they represent a URL. The concept is very simple, the object implements a getUrl method, and that's it!", + "homepage": "https://mouf-php.com/packages/mouf/utils.common.url-interface", "keywords": [ + "interface", "mouf", - "session" + "url", + "urlinterface" ], - "time": "2015-08-10 14:03:37" + "time": "2013-10-29T18:21:59+00:00" }, { - "name": "mouf/utils.value.value-interface", + "name": "mouf/utils.composite-exception", "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/thecodingmachine/utils.value.value-interface.git", - "reference": "3825f2734d2d88b3be1cbd480392cf0170d3170e" + "url": "https://github.com/thecodingmachine/utils.composite-exception.git", + "reference": "f887828a2730e9591e73b0d533c0b4f3b5c5872c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/utils.value.value-interface/zipball/3825f2734d2d88b3be1cbd480392cf0170d3170e", - "reference": "3825f2734d2d88b3be1cbd480392cf0170d3170e", + "url": "https://api.github.com/repos/thecodingmachine/utils.composite-exception/zipball/f887828a2730e9591e73b0d533c0b4f3b5c5872c", + "reference": "f887828a2730e9591e73b0d533c0b4f3b5c5872c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "dev-master" + }, + "type": "library", + "autoload": { + "psr-4": { + "Mouf\\Utils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "This project contains a simple PHP exception that can aggregate multiple exceptions in one.", + "time": "2015-09-18T15:40:51+00:00" + }, + { + "name": "mouf/utils.constants.secret", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/utils.constants.secret.git", + "reference": "8ed977b1a5dd1caf7641d6ffe0570cccebd768b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/utils.constants.secret/zipball/8ed977b1a5dd1caf7641d6ffe0570cccebd768b5", + "reference": "8ed977b1a5dd1caf7641d6ffe0570cccebd768b5", "shasum": "" }, "require": { + "mouf/mouf-installer": "~2.0", "php": ">=5.3.0" }, - "type": "library", + "type": "mouf-library", "extra": { "mouf": { + "install": [ + { + "type": "class", + "class": "Mouf\\Utils\\Constants\\SecretInstaller" + } + ], "logo": "logo.png" } }, "autoload": { "psr-0": { - "Mouf\\Utils\\Value": "src/" + "Mouf\\Utils\\Constants\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2664,200 +2803,1932 @@ "homepage": "http://mouf-php.com/" } ], - "description": "This package contains an interface used by many objects to say they represent a value that can be computed. The concept is very simple, and very powerful at the same time.", - "homepage": "https://mouf-php.com/mouf/utils.value.value-interface", + "description": "This package contains a simple installer for Mouf that will create a constant 'SECRET' in your project and initialize it to some random value.", + "homepage": "https://mouf-php.com/packages/mouf/utils.constants.secret", "keywords": [ - "interface", "mouf", - "value" + "random", + "secret" ], - "time": "2013-10-29 18:22:00" + "time": "2013-11-05T16:10:29+00:00" }, { - "name": "nikic/php-parser", - "version": "v2.1.0", + "name": "mouf/utils.i18n.fine", + "version": "v3.0.4", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "47b254ea51f1d6d5dc04b9b299e88346bf2369e3" + "url": "https://github.com/thecodingmachine/utils.i18n.fine.git", + "reference": "69c165497bc5c202892fdc8022591eddbb8e0e3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/47b254ea51f1d6d5dc04b9b299e88346bf2369e3", - "reference": "47b254ea51f1d6d5dc04b9b299e88346bf2369e3", + "url": "https://api.github.com/repos/thecodingmachine/utils.i18n.fine/zipball/69c165497bc5c202892fdc8022591eddbb8e0e3b", + "reference": "69c165497bc5c202892fdc8022591eddbb8e0e3b", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.4" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" + "mouf/mouf-installer": "~2.0", + "php": ">=5.3.0" }, - "bin": [ - "bin/php-parse" - ], - "type": "library", + "type": "mouf-library", "extra": { - "branch-alias": { - "dev-master": "2.1-dev" + "mouf": { + "install": [ + { + "type": "file", + "file": "src/install.php" + } + ], + "require-admin": [ + "src/FineAdmin.php" + ], + "doc": [ + { + "title": "Install", + "url": "doc/install.md" + }, + { + "title": "Using FINE", + "url": "doc/using_fine.md" + }, + { + "title": "Tutorial", + "url": "doc/tutorial.md" + }, + { + "title": "Date functions", + "url": "doc/date_functions.md" + }, + { + "title": "Currency functions", + "url": "doc/currency_functions.md" + } + ] } }, "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } + "psr-0": { + "Mouf\\Utils\\I18n\\Fine\\": "src/" + }, + "files": [ + "src/msgFunctions.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Nikita Popov" + "name": "David Négrier", + "email": "d.negrier@thecodingmachine.com", + "homepage": "http://mouf-php.com/" + }, + { + "name": "Marc Teyssier", + "email": "m.teyssier@thecodingmachine.com", + "homepage": "http://mouf-php.com/" } ], - "description": "A PHP parser written in PHP", + "description": "Fine is a PHP internationalisation package. It will help you provide applications that support several languages. FINE means: Fine is not english :). Translation is performed using PHP mapping files, but you will have a nice graphical interface in the Mouf framework to write your own translated messages.", + "homepage": "https://github.com/thecodingmachine/utils.i18n.fine", "keywords": [ - "parser", - "php" + "fine", + "i18n", + "internationalisation", + "mouf" ], - "time": "2016-04-19 13:41:41" + "time": "2017-08-04T10:52:04+00:00" }, { - "name": "psr/log", - "version": "1.0.0", + "name": "mouf/utils.log.psr.errorlog_logger", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + "url": "https://github.com/thecodingmachine/utils.log.psr.errorlog_logger.git", + "reference": "e1135ce5c5f36494936ce1b7432e168043dfc13d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "url": "https://api.github.com/repos/thecodingmachine/utils.log.psr.errorlog_logger/zipball/e1135ce5c5f36494936ce1b7432e168043dfc13d", + "reference": "e1135ce5c5f36494936ce1b7432e168043dfc13d", "shasum": "" }, + "require": { + "mouf/mouf-installer": "~2.0", + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "type": "mouf-library", + "extra": { + "mouf": { + "install": [ + { + "type": "class", + "class": "Mouf\\Utils\\Log\\Psr\\ErrorLogLoggerInstaller" + } + ], + "logo": "logo.png" + } + }, + "autoload": { + "psr-0": { + "Mouf\\Utils\\Log\\Psr\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Négrier", + "email": "d.negrier@thecodingmachine.com", + "homepage": "http://mouf-php.com/" + } + ], + "description": "This package contains a PSR-3 compatible logger that logs messages directly to the PHP error log (using the error_log PHP function)", + "homepage": "https://mouf-php.com/packages/mouf/utils.log.psr.errorlog_logger", + "keywords": [ + "error_log", + "log", + "logger" + ], + "time": "2017-03-02T11:26:59+00:00" + }, + { + "name": "mouf/utils.session.session-manager", + "version": "4.0.x-dev", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/utils.session.session-manager.git", + "reference": "59477ff06ac52513f5416cc7b823485856345af7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/utils.session.session-manager/zipball/59477ff06ac52513f5416cc7b823485856345af7", + "reference": "59477ff06ac52513f5416cc7b823485856345af7", + "shasum": "" + }, + "require": { + "mouf/utils.action.action-interface": "^1", + "mouf/utils.value.value-interface": "^1", + "php": ">=5.3.0", + "thecodingmachine/funky": "^1" + }, + "conflict": { + "mouf/mouf": "~2.0.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.10.3", + "squizlabs/php_codesniffer": "^3.3.1", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" + }, + "suggest": { + "mouf/utils.session.optimistic-session-handler": "Session handler that releases session lock quickly. Usefull for multiple ajax calls on the same page." + }, + "type": "mouf-library", + "autoload": { + "psr-0": { + "Mouf\\Utils\\Action": "src/", + "Mouf\\Utils\\Session\\SessionManager": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Négrier", + "email": "d.negrier@thecodingmachine.com", + "homepage": "http://mouf-php.com/" + } + ], + "description": "This package is used to manage sessions. It provides a DefaultSessionManager class that you can use to configure your PHP sessions, and a SessionManagerInterface that you can implement if you want to provide your own session management.", + "homepage": "https://github.com/thecodingmachine/utils.session.session-manager", + "keywords": [ + "mouf", + "session" + ], + "time": "2018-08-26T19:04:36+00:00" + }, + { + "name": "mouf/utils.value.value-interface", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/utils.value.value-interface.git", + "reference": "3825f2734d2d88b3be1cbd480392cf0170d3170e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/utils.value.value-interface/zipball/3825f2734d2d88b3be1cbd480392cf0170d3170e", + "reference": "3825f2734d2d88b3be1cbd480392cf0170d3170e", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "mouf": { + "logo": "logo.png" + } + }, + "autoload": { + "psr-0": { + "Mouf\\Utils\\Value": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Négrier", + "email": "d.negrier@thecodingmachine.com", + "homepage": "http://mouf-php.com/" + } + ], + "description": "This package contains an interface used by many objects to say they represent a value that can be computed. The concept is very simple, and very powerful at the same time.", + "homepage": "https://mouf-php.com/mouf/utils.value.value-interface", + "keywords": [ + "interface", + "mouf", + "value" + ], + "time": "2013-10-29T18:22:00+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "4dd659edadffdc2143e4753df655d866dbfeedf0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4dd659edadffdc2143e4753df655d866dbfeedf0", + "reference": "4dd659edadffdc2143e4753df655d866dbfeedf0", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2016-09-16T12:04:44+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "378bfe27931ecc54ff824a20d6f6bfc303bbd04c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/378bfe27931ecc54ff824a20d6f6bfc303bbd04c", + "reference": "378bfe27931ecc54ff824a20d6f6bfc303bbd04c", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "time": "2018-07-30T21:54:04+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/http-server-handler", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-server-handler.git", + "reference": "439d92054dc06097f2406ec074a2627839955a02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/439d92054dc06097f2406ec074a2627839955a02", + "reference": "439d92054dc06097f2406ec074a2627839955a02", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP server-side request handler", + "keywords": [ + "handler", + "http", + "http-interop", + "psr", + "psr-15", + "psr-7", + "request", + "response", + "server" + ], + "time": "2018-01-22T17:04:15+00:00" + }, + { + "name": "psr/http-server-middleware", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-server-middleware.git", + "reference": "ea17eb1fb2c8df6db919cc578451a8013c6a0ae5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/ea17eb1fb2c8df6db919cc578451a8013c6a0ae5", + "reference": "ea17eb1fb2c8df6db919cc578451a8013c6a0ae5", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/http-message": "^1.0", + "psr/http-server-handler": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP server-side middleware", + "keywords": [ + "http", + "http-interop", + "middleware", + "psr", + "psr-15", + "psr-7", + "request", + "response" + ], + "time": "2018-01-22T17:08:31+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "symfony/cache", + "version": "v4.1.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "b8440ff4635c6631aca21a09ab72e0b7e3a6cb7a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/b8440ff4635c6631aca21a09ab72e0b7e3a6cb7a", + "reference": "b8440ff4635c6631aca21a09ab72e0b7e3a6cb7a", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/cache": "~1.0", + "psr/log": "~1.0", + "psr/simple-cache": "^1.0" + }, + "conflict": { + "symfony/var-dumper": "<3.4" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "~1.6", + "doctrine/dbal": "~2.4", + "predis/predis": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Cache component with PSR-6, PSR-16, and tags", + "homepage": "https://symfony.com/", + "keywords": [ + "caching", + "psr6" + ], + "time": "2018-08-27T09:36:56+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com/", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com/", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "thecodingmachine/common-factories", + "version": "v0.4.1", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/common-factories.git", + "reference": "dffa5eabdc3758e0cf369deedb509ff461991f11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/common-factories/zipball/dffa5eabdc3758e0cf369deedb509ff461991f11", + "reference": "dffa5eabdc3758e0cf369deedb509ff461991f11", + "shasum": "" + }, + "require": { + "container-interop/service-provider": "^0.4", + "php": ">=5.4", + "psr/container": "^1.0" + }, + "require-dev": { + "mouf/picotainer": "^1.0", + "phpunit/phpunit": "^4.5", + "satooshi/php-coveralls": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\Factories\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "This project provides utility factories that can be used directly in service providers complying with the container-interop/service-provider standard.", + "time": "2018-08-17T21:27:12+00:00" + }, + { + "name": "thecodingmachine/discovery", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/discovery.git", + "reference": "8bad73dad00afc1aa7bebefd0675c5e2f3b1094a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/discovery/zipball/8bad73dad00afc1aa7bebefd0675c5e2f3b1094a", + "reference": "8bad73dad00afc1aa7bebefd0675c5e2f3b1094a", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": ">=7.0.0" + }, + "require-dev": { + "composer/composer": "^1.0", + "couscous/couscous": "^1.6", + "humbug/humbug": "~1.0", + "phpunit/phpunit": "~5.0", + "satooshi/php-coveralls": "^1.0", + "squizlabs/php_codesniffer": "^2.7.0" + }, + "type": "composer-plugin", + "extra": { + "class": "TheCodingMachine\\Discovery\\DiscoveryPlugin", + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "TheCodingMachine\\Discovery\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Négrier", + "email": "d.negrier@thecodingmachine.com", + "homepage": "http://mouf-php.com/" + } + ], + "description": "Publish and discover assets in your PHP projects.", + "homepage": "https://github.com/thecodingmachine/discovery", + "keywords": [ + "assets", + "discovery" + ], + "time": "2018-01-05T09:48:36+00:00" + }, + { + "name": "thecodingmachine/doctrine-annotations-universal-module", + "version": "1.1.x-dev", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/doctrine-annotations-universal-module.git", + "reference": "4e665abc8b288cbd28e74581b2801e18f7c2e141" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/doctrine-annotations-universal-module/zipball/4e665abc8b288cbd28e74581b2801e18f7c2e141", + "reference": "4e665abc8b288cbd28e74581b2801e18f7c2e141", + "shasum": "" + }, + "require": { + "container-interop/service-provider": "^0.4", + "doctrine/annotations": "^1.2", + "php": ">=7.0" + }, + "require-dev": { + "doctrine/cache": "^1.0", + "mnapoli/simplex": "~0.3.0", + "phpunit/phpunit": "^5.0", + "satooshi/php-coveralls": "^1.0" + }, + "suggest": { + "thecodingmachine/psr-6-doctrine-bridge-universal-module": "A service provider providing a bridge between PSR-6 cache pool and Doctrine cache", + "thecodingmachine/stash-universal-module": "A service provider providing a PSR-6 cache pool through the Stash library" + }, + "type": "library", + "autoload": { + "psr-4": { + "TheCodingMachine\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Cross-framework module for doctrine/annotations", + "time": "2017-09-25T12:11:53+00:00" + }, + { + "name": "thecodingmachine/funky", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/funky.git", + "reference": "f3c05ece1f130b228554ffb6a0ff395e9da9d8ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/funky/zipball/f3c05ece1f130b228554ffb6a0ff395e9da9d8ed", + "reference": "f3c05ece1f130b228554ffb6a0ff395e9da9d8ed", + "shasum": "" + }, + "require": { + "container-interop/service-provider": "^0.4", + "doctrine/annotations": "^1.5.0", + "mindplay/composer-locator": "^2.1.3", + "php": ">=7.1", + "thecodingmachine/common-factories": "^0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.1", + "mnapoli/simplex": "^0.4.1", + "phpstan/phpstan": "^0.9", + "phpunit/phpunit": "^6.4.3", + "satooshi/php-coveralls": "^1.0.1", + "thecodingmachine/phpstan-strict-rules": "^0.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "TheCodingMachine\\Funky\\": "src/", + "FunkyGenerated\\": "generated/FunkyGenerated/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Négrier", + "email": "d.negrier@thecodingmachine.com" + } + ], + "description": "Write service providers easily using annotations", + "time": "2018-08-23T20:58:07+00:00" + }, + { + "name": "thecodingmachine/middleware-list-universal-module", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/middleware-list-universal-module.git", + "reference": "ff79cae7e517734e95ff0fe4879132891cb53e5d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/middleware-list-universal-module/zipball/ff79cae7e517734e95ff0fe4879132891cb53e5d", + "reference": "ff79cae7e517734e95ff0fe4879132891cb53e5d", + "shasum": "" + }, + "require": { + "container-interop/service-provider": "~0.4.0", + "php": ">=7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "TheCodingMachine\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Cross-framework module providing a service containing a list of middlewares", + "time": "2018-06-05T13:27:42+00:00" + }, + { + "name": "thecodingmachine/monolog-universal-service-provider", + "version": "1.1.x-dev", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/monolog-universal-service-provider.git", + "reference": "2c045a271da5621af1b1a5bf2570dab5aa032bcf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/monolog-universal-service-provider/zipball/2c045a271da5621af1b1a5bf2570dab5aa032bcf", + "reference": "2c045a271da5621af1b1a5bf2570dab5aa032bcf", + "shasum": "" + }, + "require": { + "monolog/monolog": "^1.0", + "php": ">=7.1", + "psr/container": "^1", + "thecodingmachine/funky": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "TheCodingMachine\\Monolog\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Cross-framework module for monolog/monolog", + "time": "2018-08-30T20:07:49+00:00" + }, + { + "name": "thecodingmachine/splash-router", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/splash-router.git", + "reference": "2b56ec3d9ffd74a196e44cd6ca0a996caa76d4c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/splash-router/zipball/2b56ec3d9ffd74a196e44cd6ca0a996caa76d4c7", + "reference": "2b56ec3d9ffd74a196e44cd6ca0a996caa76d4c7", + "shasum": "" + }, + "require": { + "cache/void-adapter": "^0.3.1", + "doctrine/annotations": "^1.2", + "mouf/utils.common.url-interface": "^1", + "php": ">=7.1", + "psr/cache": "^1.0", + "psr/container": "^1", + "psr/http-message": "^1", + "psr/http-server-handler": "^1", + "psr/http-server-middleware": "^1", + "psr/log": "^1", + "zendframework/zend-diactoros": "^1.3.9" + }, + "conflict": { + "zendframework/zend-stratigility": "<2.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "cache/array-adapter": "^0.4.2", + "maglnet/composer-require-checker": "^1.0", + "mnapoli/simplex": "^0.3", + "mouf/picotainer": "~1.1", + "phpstan/phpstan": "^0.10.1", + "phpunit/phpunit": "^7.2.7", + "satooshi/php-coveralls": "^1.1.0", + "squizlabs/php_codesniffer": "^3.3" + }, + "type": "mouf-library", + "extra": { + "branch-alias": { + "dev-master": "10.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "TheCodingMachine\\Splash\\": "src/TheCodingMachine/Splash" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Négrier", + "email": "d.negrier@thecodingmachine.com", + "homepage": "http://mouf-php.com/" + } + ], + "description": "Splash is a PHP router. It takes an HTTP request and dispatches it to the appropriate controller.", + "homepage": "http://mouf-php.com/packages/mouf/mvc.splash-common", + "keywords": [ + "framework", + "mouf", + "mvc", + "splash", + "splash-common" + ], + "time": "2018-08-23T21:53:05+00:00" + }, + { + "name": "thecodingmachine/splash-service-provider", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/splash-service-provider.git", + "reference": "9161769442af339e48447254495e07be3d1b76d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/splash-service-provider/zipball/9161769442af339e48447254495e07be3d1b76d3", + "reference": "9161769442af339e48447254495e07be3d1b76d3", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "thecodingmachine/funky": "^1", + "thecodingmachine/middleware-list-universal-module": "^1", + "thecodingmachine/splash-router": "^10" + }, + "require-dev": { + "mnapoli/simplex": "^0.4.1", + "phpstan/phpstan": "^0.10.1", + "phpunit/phpunit": "^6.4.3", + "satooshi/php-coveralls": "^1.0.1", + "squizlabs/php_codesniffer": "^3.2", + "thecodingmachine/phpstan-strict-rules": "^0.10.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "TheCodingMachine\\Splash\\DI\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Cross-framework module for splash", + "time": "2018-07-18T20:23:20+00:00" + }, + { + "name": "thecodingmachine/stratigility-harmony", + "version": "3.0.x-dev", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/stratigility-harmony.git", + "reference": "1fcea1cf58aaba5ea32867d1045b23faa86a7e80" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/stratigility-harmony/zipball/1fcea1cf58aaba5ea32867d1045b23faa86a7e80", + "reference": "1fcea1cf58aaba5ea32867d1045b23faa86a7e80", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "thecodingmachine/funky": "^1", + "thecodingmachine/middleware-list-universal-module": "^1.1", + "zendframework/zend-diactoros": "^1.3", + "zendframework/zend-httphandlerrunner": "^1.0.1", + "zendframework/zend-stratigility": "^3.0" + }, + "require-dev": { + "mnapoli/simplex": "^0.5.0", + "phpstan/phpstan": "^0.10.3", + "phpunit/phpunit": "^7.3.1", + "satooshi/php-coveralls": "^1.0.1", + "squizlabs/php_codesniffer": "^3.2", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "TheCodingMachine\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Cross-framework module for Stratigility", + "time": "2018-08-23T13:21:35+00:00" + }, + { + "name": "thecodingmachine/symfony-cache-universal-module", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/symfony-cache-universal-module.git", + "reference": "a1dfe42b05e00259f71ab471ac3e65ceec29cf76" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/symfony-cache-universal-module/zipball/a1dfe42b05e00259f71ab471ac3e65ceec29cf76", + "reference": "a1dfe42b05e00259f71ab471ac3e65ceec29cf76", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/cache": "^4.1", + "thecodingmachine/funky": "^1" + }, + "require-dev": { + "mnapoli/simplex": "^0.5.0", + "phpstan/phpstan": "^0.10.3", + "phpunit/phpunit": "^7.3.1", + "satooshi/php-coveralls": "^1.0.1", + "squizlabs/php_codesniffer": "^3.2", + "thecodingmachine/phpstan-strict-rules": "^0.10.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "TheCodingMachine\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Cross-framework module for Symfony cache", + "time": "2018-08-19T13:31:43+00:00" + }, + { + "name": "thecodingmachine/twig-universal-module", + "version": "1.1.x-dev", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/twig-universal-module.git", + "reference": "2b761f6058f39785132465e18c2eacf7ea691a5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/twig-universal-module/zipball/2b761f6058f39785132465e18c2eacf7ea691a5b", + "reference": "2b761f6058f39785132465e18c2eacf7ea691a5b", + "shasum": "" + }, + "require": { + "container-interop/service-provider": "^0.4", + "php": ">=7.0", + "thecodingmachine/common-factories": "^0.4.1", + "twig/twig": "^1.35.4 | ^2.5.0" + }, + "require-dev": { + "mnapoli/simplex": "~0.5.0", + "phpunit/phpunit": "^5.7.9", + "satooshi/php-coveralls": "^1.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "TheCodingMachine\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Cross-framework module for Twig", + "time": "2018-08-19T19:50:02+00:00" + }, + { + "name": "thecodingmachine/whoops-middleware-universal-module", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/whoops-middleware-universal-module.git", + "reference": "bfa71f70fd3664cff82a743afe8bf56afd43f119" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/whoops-middleware-universal-module/zipball/bfa71f70fd3664cff82a743afe8bf56afd43f119", + "reference": "bfa71f70fd3664cff82a743afe8bf56afd43f119", + "shasum": "" + }, + "require": { + "middlewares/whoops": "^1.1", + "php": ">=7.0", + "thecodingmachine/funky": "^1", + "thecodingmachine/middleware-list-universal-module": "^1.0" + }, + "require-dev": { + "mnapoli/simplex": "^0.5.0", + "phpunit/phpunit": "^7", + "satooshi/php-coveralls": "^2", + "zendframework/zend-diactoros": "^1.7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "TheCodingMachine\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Cross-framework module for franzliedke/whoops-middleware", + "time": "2018-06-06T13:42:37+00:00" + }, + { + "name": "twig/twig", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/6a5f676b77a90823c2d4eaf76137b771adf31323", + "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323", + "shasum": "" + }, + "require": { + "php": "^7.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "^2.7", + "symfony/phpunit-bridge": "^3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org/", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "https://twig.symfony.com/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com/", + "keywords": [ + "templating" + ], + "time": "2018-07-13T07:18:09+00:00" + }, + { + "name": "zendframework/zend-diactoros", + "version": "1.8.5", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "3e4edb822c942f37ade0d09579cfbab11e2fee87" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/3e4edb822c942f37ade0d09579cfbab11e2fee87", + "reference": "3e4edb822c942f37ade0d09579cfbab11e2fee87", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-dom": "*", + "ext-libxml": "*", + "phpunit/phpunit": "^5.7.16 || ^6.0.8 || ^7.2.7", + "zendframework/zend-coding-standard": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev", + "dev-develop": "1.9.x-dev", + "dev-release-2.0": "2.0.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php" + ], + "psr-4": { + "Zend\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2018-08-10T14:16:32+00:00" + }, + { + "name": "zendframework/zend-escaper", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074", + "reference": "31d8aafae982f9568287cb4dce987e6aff8fd074", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "keywords": [ + "ZendFramework", + "escaper", + "zf" + ], + "time": "2018-04-25T15:48:53+00:00" + }, + { + "name": "zendframework/zend-httphandlerrunner", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-httphandlerrunner.git", + "reference": "5e4c1e82a8bb1585020eafd32c49ece5a6ee98df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-httphandlerrunner/zipball/5e4c1e82a8bb1585020eafd32c49ece5a6ee98df", + "reference": "5e4c1e82a8bb1585020eafd32c49ece5a6ee98df", + "shasum": "" + }, + "require": { + "php": "^7.1", + "psr/http-message": "^1.0", + "psr/http-message-implementation": "^1.0", + "psr/http-server-handler": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.3", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-diactoros": "^1.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + }, + "zf": { + "config-provider": "Zend\\HttpHandlerRunner\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\HttpHandlerRunner\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Execute PSR-15 RequestHandlerInterface instances and emit responses they generate.", + "keywords": [ + "ZendFramework", + "components", + "expressive", + "psr-15", + "psr-7", + "zf" + ], + "time": "2018-02-21T20:33:02+00:00" + }, + { + "name": "zendframework/zend-stratigility", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-stratigility.git", + "reference": "75b64558201807514734a9f46386816f2900d7f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-stratigility/zipball/75b64558201807514734a9f46386816f2900d7f7", + "reference": "75b64558201807514734a9f46386816f2900d7f7", + "shasum": "" + }, + "require": { + "fig/http-message-util": "^1.1", + "php": "^7.1", + "psr/http-message": "^1.0", + "psr/http-server-middleware": "^1.0", + "zendframework/zend-escaper": "^2.3" + }, + "conflict": { + "zendframework/zend-diactoros": "<1.7.1" + }, + "require-dev": { + "malukenho/docheader": "^0.1.6", + "phpunit/phpunit": "^7.0.1", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-diactoros": "^1.7.1" + }, + "suggest": { + "psr/http-message-implementation": "Please install a psr/http-message-implementation to consume Stratigility; e.g., zendframework/zend-diactoros" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev", + "dev-develop": "3.1.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions/double-pass-middleware.php", + "src/functions/host.php", + "src/functions/middleware.php", + "src/functions/path.php" + ], + "psr-4": { + "Zend\\Stratigility\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "PSR-7 middleware foundation for building and dispatching middleware pipelines", + "keywords": [ + "ZendFramework", + "http", + "middleware", + "psr-15", + "psr-7", + "zf" + ], + "time": "2018-07-24T20:39:18+00:00" + } + ], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "^6.2.3", + "squizlabs/php_codesniffer": "^3.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2017-07-22T11:58:36+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, "type": "library", "autoload": { - "psr-0": { - "Psr\\Log\\": "" - } + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", + "description": "Create deep copies (clones) of your objects", "keywords": [ - "log", - "psr", - "psr-3" + "clone", + "copy", + "duplicate", + "object", + "object graph" ], - "time": "2012-12-21 11:40:51" + "time": "2018-06-11T23:09:50+00:00" }, { - "name": "twig/twig", - "version": "v1.24.0", + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8" + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8", - "reference": "3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "shasum": "" }, "require": { - "php": ">=5.2.7" + "php": ">=5.5" }, "require-dev": { - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "^4.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.24-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-0": { - "Twig_": "lib/" + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" } ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org/", "keywords": [ - "templating" + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" ], - "time": "2016-01-25 21:22:18" - } - ], - "packages-dev": [ + "time": "2017-09-11T18:02:19+00:00" + }, { - "name": "doctrine/instantiator", - "version": "1.0.5", + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", "shasum": "" }, "require": { - "php": ">=5.3,<8.0-DEV" + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" }, "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + "phpDocumentor\\Reflection\\": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -2866,52 +4737,44 @@ ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "name": "Mike van Riel", + "email": "me@mikevanriel.com" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14 21:17:01" + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" }, { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-0": { - "phpDocumentor": [ + "psr-4": { + "phpDocumentor\\Reflection\\": [ "src/" ] } @@ -2923,39 +4786,40 @@ "authors": [ { "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "email": "me@mikevanriel.com" } ], - "time": "2015-02-03 12:10:50" + "time": "2017-07-14T14:27:02+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.6.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "3c91bdf81797d725b14cb62906f9a4ce44235972" + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/3c91bdf81797d725b14cb62906f9a4ce44235972", - "reference": "3c91bdf81797d725b14cb62906f9a4ce44235972", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "~2.0", - "sebastian/comparator": "~1.1", - "sebastian/recursion-context": "~1.0" + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { - "phpspec/phpspec": "~2.0" + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5.x-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { @@ -2988,43 +4852,44 @@ "spy", "stub" ], - "time": "2016-02-15 07:46:21" + "time": "2018-08-05T17:53:17+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "2.2.4", + "version": "4.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^5.6 || ^7.0", + "phpunit/php-file-iterator": "^1.3", + "phpunit/php-text-template": "^1.2", + "phpunit/php-token-stream": "^1.4.2 || ^2.0", + "sebastian/code-unit-reverse-lookup": "^1.0", + "sebastian/environment": "^1.3.2 || ^2.0", + "sebastian/version": "^1.0 || ^2.0" }, "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" + "ext-xdebug": "^2.1.4", + "phpunit/phpunit": "^5.7" }, "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" + "ext-xdebug": "^2.5.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -3050,20 +4915,20 @@ "testing", "xunit" ], - "time": "2015-10-06 15:47:00" + "time": "2017-04-02T07:44:40+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "1.4.1", + "version": "1.4.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", - "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", "shasum": "" }, "require": { @@ -3097,7 +4962,7 @@ "filesystem", "iterator" ], - "time": "2015-06-21 13:08:43" + "time": "2017-11-27T13:52:08+00:00" }, { "name": "phpunit/php-text-template", @@ -3138,26 +5003,34 @@ "keywords": [ "template" ], - "time": "2015-06-21 13:50:34" + "time": "2015-06-21T13:50:34+00:00" }, { "name": "phpunit/php-timer", - "version": "1.0.7", + "version": "1.0.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -3179,33 +5052,33 @@ "keywords": [ "timer" ], - "time": "2015-06-21 08:01:12" + "time": "2017-02-26T11:10:40+00:00" }, { "name": "phpunit/php-token-stream", - "version": "1.4.8", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" + "reference": "791198a2c6254db10131eecfe8c06670700904db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", - "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^6.2.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -3228,44 +5101,54 @@ "keywords": [ "tokenizer" ], - "time": "2015-09-15 10:49:45" + "time": "2017-11-27T05:48:46+00:00" }, { "name": "phpunit/phpunit", - "version": "4.8.24", + "version": "5.7.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a1066c562c52900a142a0e2bbf0582994671385e" + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1066c562c52900a142a0e2bbf0582994671385e", - "reference": "a1066c562c52900a142a0e2bbf0582994671385e", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", "shasum": "" }, "require": { "ext-dom": "*", "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "^1.3.1", - "phpunit/php-code-coverage": "~2.1", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "~1.3", + "php": "^5.6 || ^7.0", + "phpspec/prophecy": "^1.6.2", + "phpunit/php-code-coverage": "^4.0.4", "phpunit/php-file-iterator": "~1.4", "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": ">=1.0.6", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "^3.2", + "sebastian/comparator": "^1.2.4", + "sebastian/diff": "^1.4.3", + "sebastian/environment": "^1.3.4 || ^2.0", + "sebastian/exporter": "~2.0", + "sebastian/global-state": "^1.1", + "sebastian/object-enumerator": "~2.0", + "sebastian/resource-operations": "~1.0", + "sebastian/version": "^1.0.6|^2.0.1", + "symfony/yaml": "~2.1|~3.0|~4.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2" + }, + "require-dev": { + "ext-pdo": "*" }, "suggest": { + "ext-xdebug": "*", "phpunit/php-invoker": "~1.1" }, "bin": [ @@ -3274,7 +5157,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.8.x-dev" + "dev-master": "5.7.x-dev" } }, "autoload": { @@ -3300,30 +5183,33 @@ "testing", "xunit" ], - "time": "2016-03-14 06:16:08" + "time": "2018-02-01T05:50:59+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", + "version": "3.4.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118", + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" + "php": "^5.6 || ^7.0", + "phpunit/php-text-template": "^1.2", + "sebastian/exporter": "^1.2 || ^2.0" + }, + "conflict": { + "phpunit/phpunit": "<5.4.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^5.4" }, "suggest": { "ext-soap": "*" @@ -3331,7 +5217,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "3.2.x-dev" } }, "autoload": { @@ -3356,26 +5242,71 @@ "mock", "xunit" ], - "time": "2015-10-02 06:51:40" + "time": "2017-06-30T09:13:00+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" }, { "name": "sebastian/comparator", - "version": "1.2.0", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", "shasum": "" }, "require": { "php": ">=5.3.3", "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" + "sebastian/exporter": "~1.2 || ~2.0" }, "require-dev": { "phpunit/phpunit": "~4.4" @@ -3420,27 +5351,27 @@ "compare", "equality" ], - "time": "2015-07-26 15:48:44" + "time": "2017-01-29T09:50:25+00:00" }, { "name": "sebastian/diff", - "version": "1.4.1", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.8" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { @@ -3472,32 +5403,32 @@ "keywords": [ "diff" ], - "time": "2015-12-08 07:14:41" + "time": "2017-05-22T07:24:03+00:00" }, { "name": "sebastian/environment", - "version": "1.3.6", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "2292b116f43c272ff4328083096114f84ea46a56" + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/2292b116f43c272ff4328083096114f84ea46a56", - "reference": "2292b116f43c272ff4328083096114f84ea46a56", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.6 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -3522,33 +5453,34 @@ "environment", "hhvm" ], - "time": "2016-05-04 07:59:13" + "time": "2016-11-26T07:53:53+00:00" }, { "name": "sebastian/exporter", - "version": "1.2.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e" + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", "shasum": "" }, "require": { "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" + "sebastian/recursion-context": "~2.0" }, "require-dev": { + "ext-mbstring": "*", "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -3588,7 +5520,7 @@ "export", "exporter" ], - "time": "2015-06-21 07:55:53" + "time": "2016-11-19T08:54:04+00:00" }, { "name": "sebastian/global-state", @@ -3639,20 +5571,66 @@ "keywords": [ "global state" ], - "time": "2015-10-12 03:26:01" + "time": "2015-10-12T03:26:01+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-02-18T15:18:39+00:00" }, { "name": "sebastian/recursion-context", - "version": "1.0.2", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "913401df809e99e4f47b27cdd781f4a258d58791" + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", - "reference": "913401df809e99e4f47b27cdd781f4a258d58791", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", "shasum": "" }, "require": { @@ -3664,7 +5642,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -3692,23 +5670,73 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-11-11 19:50:13" + "time": "2016-11-19T07:33:16+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" }, { "name": "sebastian/version", - "version": "1.0.6", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, + "require": { + "php": ">=5.6" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -3727,29 +5755,39 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21 13:59:46" + "time": "2016-10-03T07:35:21+00:00" }, { "name": "symfony/yaml", - "version": "v3.0.6", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "0047c8366744a16de7516622c5b7355336afae96" + "reference": "b832cc289608b6d305f62149df91529a2ab3c314" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/0047c8366744a16de7516622c5b7355336afae96", - "reference": "0047c8366744a16de7516622c5b7355336afae96", + "url": "https://api.github.com/repos/symfony/yaml/zipball/b832cc289608b6d305f62149df91529a2ab3c314", + "reference": "b832cc289608b6d305f62149df91529a2ab3c314", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -3776,11 +5814,61 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com/", - "time": "2016-03-04 07:55:57" + "time": "2018-08-18T16:52:46+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-01-29T19:49:41+00:00" } ], "aliases": [], - "minimum-stability": "stable", + "minimum-stability": "dev", "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, diff --git a/composer.json b/composer.json index 9c3472f..a801aab 100644 --- a/composer.json +++ b/composer.json @@ -24,10 +24,14 @@ ], "require" : { "php" : ">=5.4.6", - "mouf/mouf-installer" : "~2.0.1", - "mouf/mouf-validators-interface" : "~2.0", - "container-interop/container-interop" : "~1.0", - "mouf/classname-mapper": "~1.0" + "mouf/mouf-installer" : "~2.1.0@dev", + "mouf/mouf-validators-interface" : "^2.0", + "container-interop/container-interop" : "^1.0", + "mouf/classname-mapper": "^1.0", + "thecodingmachine/yaco": "^1.2", + "puli/composer-plugin": "^1.0-beta9@dev", + "puli/cli": "^1.0-beta9@dev", + "thecodingmachine/discovery": "^1.0" }, "autoload" : { "psr-0" : { diff --git a/composer.phar b/composer.phar index 7cb8fea..8822059 100644 Binary files a/composer.phar and b/composer.phar differ diff --git a/discovery.json b/discovery.json new file mode 100644 index 0000000..1715d9c --- /dev/null +++ b/discovery.json @@ -0,0 +1,3 @@ +{ + "Interop\\Container\\ServiceProviderInterface": "Mouf\\ServiceProviders\\ControllersServiceProvider" +} \ No newline at end of file diff --git a/index.php b/index.php index b7cf403..57d86bb 100644 --- a/index.php +++ b/index.php @@ -14,4 +14,4 @@ MoufAdmin::getMoufInstallController()->htaccessNotDetected(); exit; -?> \ No newline at end of file +? \ No newline at end of file diff --git a/install_screen.php b/install_screen.php index 4155dc6..8253a77 100644 --- a/install_screen.php +++ b/install_screen.php @@ -10,8 +10,10 @@ //define('ROOT_URL', $_SERVER["REQUEST_URI"]); +use Mouf\Controllers\MoufInstallController; +use Mouf\MoufManager; + require_once __DIR__.'/mouf/Mouf.php'; -MoufAdmin::getMoufInstallController()->index(); +MoufManager::getMoufManager()->get(MoufInstallController::class)->index(); exit; -?> \ No newline at end of file diff --git a/mouf/Mouf.php b/mouf/Mouf.php index 0f68d47..980bfc5 100644 --- a/mouf/Mouf.php +++ b/mouf/Mouf.php @@ -17,27 +17,27 @@ } $loader = new \Composer\Autoload\ClassLoader(); -if (file_exists(__DIR__ . '/../../../composer/autoload_namespaces.php')) { - $map = require __DIR__ . '/../../../composer/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->add($namespace, $path); +if (file_exists(__DIR__ . '/../../../composer/autoload_namespaces.php')) { + $map = require __DIR__ . '/../../../composer/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->add($namespace, $path); } } -if (file_exists(__DIR__ . '/../../../composer/autoload_psr4.php')) { - $map = require __DIR__ . '/../../../composer/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->addPsr4($namespace, $path); - } -} - -if (file_exists(__DIR__ . '/../../../composer/autoload_classmap.php')) { - $classMap = require __DIR__ . '/../../../composer/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); +if (file_exists(__DIR__ . '/../../../composer/autoload_psr4.php')) { + $map = require __DIR__ . '/../../../composer/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->addPsr4($namespace, $path); } -} -$loader->register(true); +} + +if (file_exists(__DIR__ . '/../../../composer/autoload_classmap.php')) { + $classMap = require __DIR__ . '/../../../composer/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } +} +$loader->register(true); // Now, let's use Mouf autoloader. @@ -61,12 +61,12 @@ require_once __DIR__.'/../config.php'; }*/ -define('MOUF_URL', ROOT_URL); +define('MOUF_URL', ROOT_URL); // We are part of mouf, let's chain with the main autoloader if it exists. -/*if (file_exists(__DIR__.'/../../../../vendor/autoload.php')) { - require_once __DIR__.'/../../../../vendor/autoload.php'; +/*if (file_exists(__DIR__.'/../../../../vendor/autoload.php')) { + require_once __DIR__.'/../../../../vendor/autoload.php'; }*/ // Finally, let's include the MoufUI if it exists. diff --git a/mouf/MoufComponents.php b/mouf/MoufComponents.php index c7fd8ac..a6a5581 100644 --- a/mouf/MoufComponents.php +++ b/mouf/MoufComponents.php @@ -4,6 +4,7 @@ */ use Mouf\MoufManager; use Interop\Container\ContainerInterface; +use Mouf\Html\Utils\WebLibraryManager\WebLibraryManager; MoufManager::initMoufManager(); $moufManager = MoufManager::getMoufManager(); @@ -78,17 +79,19 @@ 'external' => false, 'weak' => true, 'anonymous' => true, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'type' => 'string', - 'value' => 'vendor/mouf/famfamfam/icons/drive_go.png', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'vendor/mouf/famfamfam/icons/drive_go.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), '__anonymous__90fe_197933_1429787454994' => array ( @@ -96,17 +99,18 @@ 'external' => false, 'weak' => true, 'anonymous' => true, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/world_link.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/world_link.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), ), '__anonymous__90fe_81215_1429787382846' => array ( @@ -207,15 +211,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => + 'setPropagatedUrlParameters' => array ( 'value' => array ( @@ -285,7 +281,7 @@ 'fallback' => 'fileCacheService', ), ), - 'block.content' => + /* 'block.content' => array ( 'class' => 'Mouf\\Html\\HtmlElement\\HtmlBlock', 'external' => false, @@ -297,7 +293,7 @@ 0 => 'messageWidget', ), ), - ), + ),*/ 'block.footer' => array ( 'class' => 'Mouf\\Html\\HtmlElement\\HtmlBlock', @@ -397,7 +393,7 @@ array ( 'template' => 'moufTemplate', 'contentBlock' => 'block.content', - 'validatorService' => 'validatorService', + 'validatorService' => 'Mouf\\Validator\\MoufValidatorService', ), ), 'createNewInstanceByPhpCodeMenuItem' => @@ -446,15 +442,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => + 'setPropagatedUrlParameters' => array ( 'value' => array ( @@ -486,17 +474,19 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/page_white_php.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/page_white_php.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), 'createNewInstanceMenuItem' => array ( @@ -544,15 +534,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => + 'setPropagatedUrlParameters' => array ( 'value' => array ( @@ -584,17 +566,18 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/page_add.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/page_add.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), ), 'css.moufCssStyles' => array ( @@ -713,23 +696,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => - array ( - 'value' => false, - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setActivateBasedOnUrl' => + 'setActivateBasedOnUrl' => array ( 'value' => false, 'type' => 'string', @@ -750,17 +717,18 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/table.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/table.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), ), 'doc' => array ( @@ -835,15 +803,7 @@ ), 'setPriority' => array ( - 'value' => '999', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => - array ( - 'value' => false, + 'value' => 999.0, 'type' => 'string', 'metadata' => array ( @@ -897,15 +857,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => + 'setPropagatedUrlParameters' => array ( 'value' => array ( @@ -937,17 +889,19 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/download.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/download.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), 'editConfigurationMenuItem' => array ( @@ -995,15 +949,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => + 'setPropagatedUrlParameters' => array ( 'value' => array ( @@ -1035,17 +981,19 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/note_edit.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/note_edit.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), 'errorLogger' => array ( @@ -1100,17 +1048,18 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/page_white_php.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/page_white_php.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), ), 'includes' => array ( @@ -1205,7 +1154,7 @@ ), ), ), - 'installTemplate' => + /*'installTemplate' => array ( 'class' => 'Mouf\\Html\\Template\\MoufTemplate\\MoufTemplate', 'external' => false, @@ -1237,7 +1186,7 @@ ), ), ), - ), + ),*/ 'installedPackagesController' => array ( 'class' => 'Mouf\\Controllers\\Composer\\InstalledPackagesController', @@ -1330,15 +1279,7 @@ ), 'setPriority' => array ( - 'value' => '20', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => - array ( - 'value' => false, + 'value' => 20.0, 'type' => 'string', 'metadata' => array ( @@ -1833,7 +1774,7 @@ 'external' => false, 'fieldProperties' => array ( - 'Mouf\\Html\\HtmlElement\\HtmlString' => + 'htmlString' => array ( 'value' => '

Login

Welcome to Mouf. Please login to access the administration interface of your web application.

@@ -1893,23 +1834,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => - array ( - 'value' => false, - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setActivateBasedOnUrl' => + 'setActivateBasedOnUrl' => array ( 'value' => false, 'type' => 'string', @@ -1930,17 +1855,19 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/door_open.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/door_open.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), 'mainMenu' => array ( @@ -2057,15 +1984,7 @@ ), 'setPriority' => array ( - 'value' => '100', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => - array ( - 'value' => false, + 'value' => 100.0, 'type' => 'string', 'metadata' => array ( @@ -2083,7 +2002,7 @@ 'contentBlock' => 'block.content', ), ), - 'moufInstallController' => +/* 'moufInstallController' => array ( 'class' => 'Mouf\\Controllers\\MoufInstallController', 'external' => false, @@ -2096,12 +2015,34 @@ 'template' => 'moufInstallTemplate', 'contentBlock' => 'block.content', ), - ), + ),*/ 'moufInstallTemplate' => array ( 'class' => 'Mouf\\Html\\Template\\BootstrapTemplate', 'external' => false, - 'setterBinds' => + 'constructor' => + array ( + 0 => + array ( + 'value' => WebLibraryManager::class, + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 1 => + array ( + 'value' => 'moufInstallTemplate', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + + 'setterBinds' => array ( 'setFooter' => 'block.footer', 'setRight' => 'block.right', @@ -2128,48 +2069,7 @@ ), ), ), - 'moufInstallTemplate2' => - array ( - 'class' => 'Mouf\\Html\\Template\\MoufTemplate\\MoufTemplate', - 'external' => false, - 'fieldBinds' => - array ( - 'head' => - array ( - ), - ), - 'fieldProperties' => - array ( - 'logoImg' => - array ( - 'value' => 'src-dev/views/images/MoufLogo.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'title' => - array ( - 'value' => 'Mouf - Build your website', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'css_files' => - array ( - 'value' => - array ( - 0 => 'src-dev/views/styles.css', - ), - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), - ), - 'moufLoginTemplate' => + 'moufLoginTemplate' => array ( 'class' => 'Mouf\\Html\\Template\\BootstrapTemplate', 'external' => false, @@ -2299,15 +2199,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => + 'setPropagatedUrlParameters' => array ( 'value' => array ( @@ -2339,17 +2231,19 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/tick.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/tick.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), 'moufTemplate' => array ( @@ -2551,6 +2445,15 @@ array ( ), ), + 1 => + array ( + 'value' => 'root_url', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), ), 'fieldProperties' => array ( @@ -2641,15 +2544,7 @@ ), 'setPriority' => array ( - 'value' => '20', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => - array ( - 'value' => false, + 'value' => 20.0, 'type' => 'string', 'metadata' => array ( @@ -2717,21 +2612,13 @@ ), 'setPriority' => array ( - 'value' => '0', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => - array ( - 'value' => false, + 'value' => 0.0, 'type' => 'string', 'metadata' => array ( ), ), - 'setActivateBasedOnUrl' => + 'setActivateBasedOnUrl' => array ( 'value' => false, 'type' => 'string', @@ -2933,7 +2820,7 @@ array ( 'userFile' => array ( - 'value' => '../../../mouf/no_commit/MoufUsers.php', + 'value' => '../../../mouf/no_commit/user.php', 'type' => 'string', 'metadata' => array ( @@ -2995,10 +2882,10 @@ array ( 'template' => 'moufTemplate', 'contentBlock' => 'block.content', - 'validatorService' => 'validatorService', + 'validatorService' => 'Mouf\\Validator\\MoufValidatorService', ), ), - 'validatorService' => + 'Mouf\\Validator\\MoufValidatorService' => array ( 'class' => 'Mouf\\Validator\\MoufValidatorService', 'external' => false, @@ -3057,15 +2944,7 @@ array ( ), ), - 'setPriority' => - array ( - 'value' => '', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setPropagatedUrlParameters' => + 'setPropagatedUrlParameters' => array ( 'value' => array ( @@ -3097,17 +2976,18 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/page_white_stack.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/page_white_stack.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), ), 'viewDocumentationMenuItem' => array ( @@ -3157,21 +3037,13 @@ ), 'setPriority' => array ( - 'value' => '90', + 'value' => 90.0, 'type' => 'string', 'metadata' => array ( ), ), - 'setPropagatedUrlParameters' => - array ( - 'value' => false, - 'type' => 'string', - 'metadata' => - array ( - ), - ), - 'setActivateBasedOnUrl' => + 'setActivateBasedOnUrl' => array ( 'value' => false, 'type' => 'string', @@ -3192,17 +3064,18 @@ array ( 'class' => 'Mouf\\Html\\Widgets\\Menu\\MenuItemStyleIcon', 'external' => false, - 'setterProperties' => - array ( - 'setUrl' => - array ( - 'value' => 'src-dev/views/images/report.png', - 'type' => 'string', - 'metadata' => - array ( - ), - ), - ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'src-dev/views/images/report.png', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), ), 'weblibrary.qtip2' => array ( @@ -3237,20 +3110,440 @@ ), ), ), + 'splashMiddleware' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\SplashMiddleware', + 'external' => false, + 'weak' => false, + 'constructor' => + array ( + 0 => + array ( + 'value' => + array ( + 0 => '__anonymous__b67b_1753892387', + 1 => '__anonymous__b67b_59788333', + 2 => '__anonymous__b67b_632286537', + 3 => '__anonymous__b67b_351917355', + 4 => '__anonymous__b67b_282937984', + ), + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + + '__anonymous__b67b_1344235188' => + array ( + 'class' => 'Mouf\\Utils\\Common\\Condition\\ToCondition', + 'external' => false, + 'anonymous' => true, + 'weak' => true, + 'constructor' => + array ( + 0 => + array ( + 'value' => '__anonymous__b67b_1934177810', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + '__anonymous__b67b_1753892387' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\Router', + 'external' => false, + 'anonymous' => true, + 'weak' => true, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'phpVarsCheckRouter', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + '__anonymous__b67b_1934177810' => + array ( + 'class' => 'Mouf\\Utils\\Value\\Variable', + 'external' => false, + 'anonymous' => true, + 'weak' => true, + 'constructor' => + array ( + 0 => + array ( + 'value' => true, + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + '__anonymous__b67b_282937984' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\ErrorRouter', + 'external' => false, + 'anonymous' => true, + 'weak' => true, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'exceptionRouter', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + '__anonymous__b67b_351917355' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\ErrorRouter', + 'external' => false, + 'anonymous' => true, + 'weak' => true, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'return $container->get(\'whoopsMiddleware\');', + 'parametertype' => 'primitive', + 'type' => 'php', + 'metadata' => + array ( + ), + ), + 1 => + array ( + 'value' => NULL, + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 2 => + array ( + 'value' => '__anonymous__b67b_1344235188', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + '__anonymous__b67b_59788333' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\Router', + 'external' => false, + 'anonymous' => true, + 'weak' => true, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'splashDefaultRouter', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + '__anonymous__b67b_632286537' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\Router', + 'external' => false, + 'anonymous' => true, + 'weak' => true, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'notFoundRouter', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + 'exceptionRouter' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\ExceptionRouter', + 'external' => false, + 'weak' => false, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'httpErrorsController', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 1 => + array ( + 'value' => 'psr.errorLogLogger', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + 'httpErrorsController' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Controllers\\HttpErrorsController', + 'external' => false, + 'weak' => false, + 'fieldBinds' => + array ( + ), + 'fieldProperties' => + array ( + ), + 'constructor' => + array ( + 0 => + array ( + 'value' => 'moufTemplate', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 1 => + array ( + 'value' => 'block.content', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 2 => + array ( + 'value' => true, + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + 'notFoundRouter' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\NotFoundRouter', + 'external' => false, + 'weak' => false, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'httpErrorsController', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + 'phpVarsCheckRouter' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\PhpVarsCheckRouter', + 'external' => false, + 'weak' => false, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'psr.errorLogLogger', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + + 'splashDefaultRouter' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Routers\\SplashDefaultRouter', + 'external' => false, + 'weak' => false, + 'constructor' => + array ( + 0 => + array ( + 'value' => + array ( + 0 => 'moufExplorerUrlProvider', + ), + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 1 => + array ( + 'value' => 'splashCacheApc', + 'parametertype' => 'object', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 2 => + array ( + 'value' => NULL, + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 3 => + array ( + 'value' => 'weak', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + 4 => + array ( + 'value' => true, + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + + 'whoopsMiddleware' => + array ( + 'class' => 'Franzl\\Middleware\\Whoops\\ErrorMiddleware', + 'external' => false, + 'weak' => false, + ), + + 'psr.errorLogLogger' => + array ( + 'class' => 'Mouf\\Utils\\Log\\Psr\\ErrorLogLogger', + 'external' => false, + 'weak' => false, + 'constructor' => + array ( + 0 => + array ( + 'value' => 'warning', + 'parametertype' => 'primitive', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), + + 'moufExplorerUrlProvider' => + array ( + 'class' => 'Mouf\\Mvc\\Splash\\Services\\MoufExplorerUrlProvider', + 'external' => false, + 'weak' => false, + ), + + 'splashCacheApc' => + array ( + 'class' => 'Mouf\\Utils\\Cache\\ApcCache', + 'external' => false, + 'weak' => false, + 'fieldProperties' => + array ( + 'prefix' => + array ( + 'value' => 'ROOT_PATH', + 'type' => 'config', + 'metadata' => + array ( + ), + ), + ), + 'fieldBinds' => + array ( + 'fallback' => 'splashCacheFile', + ), + ), + 'splashCacheFile' => + array ( + 'class' => 'Mouf\\Utils\\Cache\\FileCache', + 'external' => false, + 'weak' => false, + 'fieldProperties' => + array ( + 'prefix' => + array ( + 'value' => 'ROOT_PATH', + 'type' => 'config', + 'metadata' => + array ( + ), + ), + 'cacheDirectory' => + array ( + 'value' => 'splashCache/', + 'type' => 'string', + 'metadata' => + array ( + ), + ), + ), + ), )); unset($moufManager); -/** - * This is the base class of the Manage Object User Friendly or Modular object user framework (MOUF) framework. - * This object can be used to get the objects manage by MOUF. - * - */ -class MoufAdmin { - public function getClosures() { +/** + * This is the base class of the Manage Object User Friendly or Modular object user framework (MOUF) framework. + * This object can be used to get the objects manage by MOUF. + * + */ +class MoufAdmin { + public function getClosures() { return [ - ]; + ]; } /** * @return Mouf\Controllers\MoufAjaxInstanceController @@ -3921,7 +4214,7 @@ public static function getValidate() { * @return Mouf\Validator\MoufValidatorService */ public static function getValidatorService() { - return MoufManager::getMoufManager()->get('validatorService'); + return MoufManager::getMoufManager()->get('Mouf\\Validator\\MoufValidatorService'); } /** diff --git a/mouf/MoufUI.php b/mouf/MoufUI.php index ab0c2ce..b22dad2 100644 --- a/mouf/MoufUI.php +++ b/mouf/MoufUI.php @@ -4,14 +4,7 @@ */ // Files declared in the extra:mouf:adminRequire section. -require_once __DIR__.'/../vendor/mouf/utils.cache.cache-interface/CacheAdmin.php'; -require_once __DIR__.'/../vendor/mouf/html.utils.weblibrarymanager/src/WebLibraryAdmin.php'; +require_once __DIR__.'/../vendor/mouf/utils.cache.purge-ui/CacheAdmin.php'; require_once __DIR__.'/../vendor/mouf/utils.i18n.fine/src/FineAdmin.php'; -require_once __DIR__.'/../vendor/mouf/mvc.splash-common/src/SplashCommonAdmin.php'; -require_once __DIR__.'/../vendor/mouf/mvc.splash/src/SplashAdmin.php'; -require_once __DIR__.'/../vendor/mouf/mvc.splash/src/Mouf/Mvc/Splash/SplashGenerateService.php'; -require_once __DIR__.'/../vendor/mouf/mvc.splash/src/Mouf/Mvc/Splash/Controllers/Admin/SplashPurgeCacheController.php'; -require_once __DIR__.'/../vendor/mouf/mvc.splash/src/Mouf/Mvc/Splash/Controllers/Admin/SplashAdminApacheConfigureController.php'; -require_once __DIR__.'/../vendor/mouf/mvc.splash/src/Mouf/Mvc/Splash/Controllers/Admin/SplashInstallController.php'; ?> \ No newline at end of file diff --git a/mouf/no_commit/.gitkeep b/mouf/no_commit/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src-dev/Mouf/Controllers/MoufConfigureLocalUrlController.php b/src-dev/Mouf/Controllers/MoufConfigureLocalUrlController.php index 29ed9d4..3db4688 100644 --- a/src-dev/Mouf/Controllers/MoufConfigureLocalUrlController.php +++ b/src-dev/Mouf/Controllers/MoufConfigureLocalUrlController.php @@ -11,9 +11,13 @@ use Mouf\Html\HtmlElement\HtmlBlock; +use Mouf\Html\Template\TemplateInterface; use Mouf\MoufException; use Mouf\Mvc\Splash\Controllers\Controller; +use Mouf\Mvc\Splash\HtmlResponse; use Mouf\Reflection\MoufReflectionProxy; +use Mouf\Security\Logged; +use TheCodingMachine\Splash\Annotations\URL; /** * The controller that will enable you to set up the local URL (if needed) @@ -23,30 +27,32 @@ class MoufConfigureLocalUrlController extends Controller { /** * The template used by the main page for mouf. * - * @Property - * @Compulsory * @var TemplateInterface */ - public $template; + private $template; /** * The content block the template will be writting into. * - * @Property - * @Compulsory * @var HtmlBlock */ - public $contentBlock; + private $contentBlock; protected $status; protected $localUrl; protected $selfedit; + public function __construct(TemplateInterface $template, HtmlBlock $contentBlock) + { + $this->template = $template; + $this->contentBlock = $contentBlock; + } + /** * The default action will redirect to the MoufController defaultAction. * - * @Action - * @Logged + * @URL("configureLocalUrl/") + * @Logged() */ public function index($selfedit = "false") { $this->selfedit = $selfedit; @@ -61,16 +67,16 @@ public function index($selfedit = "false") { $this->localUrl = MoufReflectionProxy::getLocalUrlToProject(); $this->contentBlock->addFile(ROOT_PATH."src-dev/views/configureLocalUrl.php", $this); - $this->template->toHtml(); + return new HtmlResponse($this->template); } /** - * @Action - * @Logged + * @URL("configureLocalUrl/setLocalUrl") + * @Logged() */ - public function setLocalUrl($localUrl, $selfedit = "false") { + public function setLocalUrl(string $localUrl, string $selfedit = "false") { $this->selfedit = $selfedit; MoufReflectionProxy::setLocalUrlToProject($localUrl); - $this->index($selfedit); + return $this->index($selfedit); } } diff --git a/src-dev/Mouf/Controllers/MoufController.php b/src-dev/Mouf/Controllers/MoufController.php index b85059b..315cc48 100644 --- a/src-dev/Mouf/Controllers/MoufController.php +++ b/src-dev/Mouf/Controllers/MoufController.php @@ -10,6 +10,7 @@ namespace Mouf\Controllers; +use Mouf\Html\Template\TemplateInterface; use Mouf\MoufCache; use Mouf\MoufClassExplorer; @@ -17,17 +18,20 @@ use Mouf\Composer\ComposerService; use Mouf\Html\HtmlElement\HtmlBlock; +use Mouf\Mvc\Splash\HtmlResponse; use Mouf\Reflection\MoufReflectionProxy; use Mouf\MoufManager; use Mouf\MoufSearchable; use Mouf\Mvc\Splash\Controllers\Controller; +use Mouf\Security\Logged; +use TheCodingMachine\Splash\Annotations\URL; +use Zend\Diactoros\Response\RedirectResponse; /** * The controller allowing access to the Mouf framework. * - * @Component */ class MoufController extends Controller implements MoufSearchable { @@ -48,20 +52,16 @@ class MoufController extends Controller implements MoufSearchable { /** * The template used by the main page for mouf. * - * @Property - * @Compulsory * @var TemplateInterface */ - public $template; + private $template; /** * The content block the template will be writting into. * - * @Property - * @Compulsory * @var HtmlBlock */ - public $contentBlock; + private $contentBlock; /** * Array of all instances sorted by package and by class. @@ -98,12 +98,18 @@ class MoufController extends Controller implements MoufSearchable { */ protected $anonymousNames = array(); + public function __construct(TemplateInterface $template, HtmlBlock $contentBlock) + { + $this->template = $template; + $this->contentBlock = $contentBlock; + } + /** * Redirects the user to the right controller. - * This can be the detail controller, or any other controller, depending on the @ExtendedAction annotation. + * This can be the detail controller, or any other controller, depending on the #@ExtendedAction annotation. * - * @Action - * @Logged + * @URL("mouf/displayComponent") + * @Logged() * @param string $name the name of the component to display * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only) */ @@ -133,8 +139,7 @@ public function displayComponent($name, $selfedit = "false") { } // Note: performing a redirect is not optimal as it requires a reload of the page! - header("Location: ".$destinationUrl."?name=".urlencode($name)."&selfedit=".urlencode($selfedit)); - exit; + return new RedirectResponse($destinationUrl."?name=".urlencode($name)."&selfedit=".urlencode($selfedit)); } /** @@ -149,8 +154,8 @@ public function displayComponent($name, $selfedit = "false") { /** * Lists all the instances available, sorted by "package" (directory of the class). * - * @Action - * @Logged + * @URL("mouf/") + * @Logged() */ public function defaultAction($selfedit = "false", $query = null, $show_anonymous = "false") { //$test = new ComposerService(); @@ -357,7 +362,7 @@ public function defaultAction($selfedit = "false", $query = null, $show_anonymou } else { $this->contentBlock->addFile(dirname(__FILE__)."/../../views/listComponentsByDirectory.php", $this); //$this->contentBlock->addFile(dirname(__FILE__)."/../views/listComponentsByDirectory.php", $this); - $this->template->toHtml(); + return new HtmlResponse($this->template); } } @@ -383,8 +388,8 @@ private function getAnonymousInstanceName($instanceName) { /** * Lists all the components available, ordered by creation date, in order to edit them. * - * @Action - * @Logged + * @URL("mouf/instancesByDate") + * @Logged() */ public function instancesByDate($selfedit = "false") { $this->selfedit = $selfedit; @@ -396,7 +401,7 @@ public function instancesByDate($selfedit = "false") { } $this->contentBlock->addFile(dirname(__FILE__)."/../views/listComponents.php", $this); - $this->template->toHtml(); + return new HtmlResponse($this->template->toHtml()); } /** @@ -405,7 +410,7 @@ public function instancesByDate($selfedit = "false") { * @Action * @Logged */ - public function newInstance($selfedit = "false", $instanceName=null, $instanceClass=null) { + /*public function newInstance($selfedit = "false", $instanceName=null, $instanceClass=null) { //$componentsList = Moufspector::getComponentsList(); $this->selfedit = $selfedit; $componentsList = MoufReflectionProxy::getComponentsList($selfedit=="true"); @@ -415,13 +420,13 @@ public function newInstance($selfedit = "false", $instanceName=null, $instanceCl $template->addContentFunction(array($this, "displayNewInstanceScreen"), $componentsList, $selfedit, $instanceName, $instanceClass); //$template->addContentFile(dirname(__FILE__)."/../views/displayNewInstance.php", $this); $template->toHtml(); - } + }*/ /** * Displays the screen allowing to create new instances. * - * @Action - * @Logged + * @URL("mouf/newInstance2") + * @Logged() */ public function newInstance2($selfedit = "false", $instanceName=null, $instanceClass=null) { $this->instanceName = $instanceName; @@ -429,20 +434,20 @@ public function newInstance2($selfedit = "false", $instanceName=null, $instanceC $this->selfedit = $selfedit; $this->contentBlock->addFile(dirname(__FILE__)."/../../views/instances/newInstance.php", $this); - $this->template->toHtml(); + return new HtmlResponse($this->template); } /** * Purge the cache and redisplays the screen allowing to create new instances. * - * @Action - * @Logged + * @URL("mouf/refreshNewInstance") + * @Logged() */ public function refreshNewInstance($selfedit = "false", $instanceName=null, $instanceClass=null) { $moufCache = new MoufCache(); $moufCache->purgeAll(); - header("Location: newInstance2?selfedit=".$selfedit."&instanceName=".urlencode($instanceName)."&instanceClass=".urlencode($instanceClass)); + return new RedirectResponse("newInstance2?selfedit=".$selfedit."&instanceName=".urlencode($instanceName)."&instanceClass=".urlencode($instanceClass)); } /** @@ -456,8 +461,8 @@ public function displayNewInstanceScreen($componentsList, $selfedit, $instanceNa /** * The action that creates a new component instance. * - * @Action - * @Logged + * @URL("mouf/createComponent") + * @Logged() * @param string $instanceName The name of the instance to create * @param string $instanceClass The class of the component to create */ @@ -481,8 +486,8 @@ public function createComponent($instanceName, $instanceClass, $selfedit) { /** * Removes the instance passed in parameter. * - * @Action - * @Logged + * @URL("mouf/deleteInstance") + * @Logged() */ public function deleteInstance($selfedit = "false", $instanceName=null, $returnurl = null) { $this->selfedit = $selfedit; @@ -497,16 +502,16 @@ public function deleteInstance($selfedit = "false", $instanceName=null, $returnu $this->moufManager->rewriteMouf(); if ($returnurl) { - header("Location:".$returnurl); + return new RedirectResponse($returnurl); } else { - header("Location: .?selfedit=".$selfedit); + return new RedirectResponse(".?selfedit=".$selfedit); } } /** * Removes all the instances passed in parameter - * @Action - * @Logged + * @URL("mouf/deleteInstances") + * @Logged() * @param string $selfedit * @param array $instancesNames * @param string $returnurl @@ -529,9 +534,9 @@ public function deleteInstances($selfedit = "false", $instancesNames = array(), } if ($returnurl) { - header("Location:".$returnurl); + return new RedirectResponse($returnurl); } else { - header("Location: .?selfedit=".$selfedit); + return new RedirectResponse(".?selfedit=".$selfedit); } } @@ -539,13 +544,14 @@ public function deleteInstances($selfedit = "false", $instancesNames = array(), * Outputs HTML that will be displayed in the search result screen. * If there are no results, this should not return anything. * - * @Action + * @URL("mouf/search") + * @Logged() * @param string $query The full-text search query performed. * @param string $selfedit Whether we are in self-edit mode or not. */ public function search($query, $selfedit = "false") { $this->ajax = true; - $this->defaultAction($selfedit, $query); + return $this->defaultAction($selfedit, $query); } /** @@ -561,22 +567,22 @@ public function getSearchModuleName() { /** * Displays the screen allowing to create a new instance by PHP code. * - * @Action - * @Logged + * @URL("mouf/newInstanceByCallback") + * @Logged() */ public function newInstanceByCallback($selfedit = "false", $instanceName=null) { $this->instanceName = $instanceName; $this->selfedit = $selfedit; $this->contentBlock->addFile(dirname(__FILE__)."/../../views/instances/newInstanceByCallback.php", $this); - $this->template->toHtml(); + return new HtmlResponse($this->template); } /** * Performs the action of creating a new instance. * - * @Action - * @Logged + * @URL("mouf/createInstanceByCode") + * @Logged() */ public function createInstanceByCode($selfedit = "false", $instanceName=null) { if (!$instanceName) { @@ -594,7 +600,6 @@ public function createInstanceByCode($selfedit = "false", $instanceName=null) { $this->moufManager->createInstanceByCode()->setName($instanceName); $this->moufManager->rewriteMouf(); - header("Location: ".MOUF_URL."ajaxinstance/?name=".urlencode($instanceName)."&selfedit=".$selfedit); + return new RedirectResponse(MOUF_URL."ajaxinstance/?name=".urlencode($instanceName)."&selfedit=".$selfedit); } } -?> \ No newline at end of file diff --git a/src-dev/Mouf/Controllers/MoufInstallController.php b/src-dev/Mouf/Controllers/MoufInstallController.php index 9eedb94..b56c8cb 100644 --- a/src-dev/Mouf/Controllers/MoufInstallController.php +++ b/src-dev/Mouf/Controllers/MoufInstallController.php @@ -20,6 +20,13 @@ use Mouf\Html\HtmlElement\HtmlBlock; use Mouf\Mvc\Splash\Controllers\Controller; +use Mouf\Mvc\Splash\HtmlResponse; +use Mouf\Security\UserFileDao\UserFileBean; +use Mouf\Security\UserFileDao\UserFileDao; +use Psr\Http\Message\ResponseInterface; +use TheCodingMachine\Splash\Annotations\Post; +use TheCodingMachine\Splash\Annotations\URL; +use Zend\Diactoros\Response\RedirectResponse; /** @@ -33,16 +40,29 @@ class MoufInstallController extends Controller { * * @var TemplateInterface */ - public $template; + private $template; /** * The content block the template will be writting into. * * @var HtmlBlock */ - public $contentBlock; - - /** + private $contentBlock; + + /** + * @var UserFileDao + */ + private $userFileDao; + + public function __construct(TemplateInterface $template, HtmlBlock $contentBlock, UserFileDao $userFileDao) + { + $this->template = $template; + $this->contentBlock = $contentBlock; + $this->userFileDao = $userFileDao; + } + + + /** * Displays the page to install Mouf. * Note: this is not a typical controller. This controller is called directly from index.php * @@ -82,13 +102,13 @@ public function htaccessNotDetected() { /** * Performs the installation by creating all required files. * - * @URL install + * @URL("install") + * @Post() */ - public function install() { - if (file_exists(__DIR__.'/../../../../../../mouf/no_commit/MoufUsers.php')) { + public function install(string $login, string $password): ResponseInterface { + if (file_exists(__DIR__.'/../../../../../../mouf/no_commit/user.php')) { $this->contentBlock->addFile(dirname(__FILE__)."/../../views/mouf_installer/moufusers_exists.php", $this); - $this->template->toHtml(); - return; + return new HtmlResponse($this->template); } $oldUmask = umask(); @@ -168,25 +188,16 @@ public function install() { chmod(__DIR__."/../../../../../../config.php", 0664); } - // Finally 3 :), let's generate the MoufUsers.php file: - if (!file_exists(__DIR__."/../../../../../../mouf/no_commit/MoufUsers.php")) { - $moufConfig = "".var_export(sha1(userinput_to_plainstring($_REQUEST['password'])), true).", 'options'=>null); - -?>"; - - file_put_contents(__DIR__."/../../../../../../mouf/no_commit/MoufUsers.php", $moufConfig); - chmod(__DIR__."/../../../../../../mouf/no_commit/MoufUsers.php", 0664); + // Finally 3 :), let's generate the user.php file: + if (!file_exists(__DIR__."/../../../../../../mouf/no_commit/user.php")) { + $user = new UserFileBean($login); + $user->setClearTextPassword($password); + $this->userFileDao->registerUser($user); + $this->userFileDao->write(); } umask($oldUmask); - header("Location: ".ROOT_URL); - - + return new RedirectResponse(ROOT_URL); } } -?> \ No newline at end of file diff --git a/src-dev/Mouf/Controllers/MoufLoginController.php b/src-dev/Mouf/Controllers/MoufLoginController.php deleted file mode 100644 index e78dd56..0000000 --- a/src-dev/Mouf/Controllers/MoufLoginController.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE.txt - * file that was distributed with this source code. - */ -namespace Mouf\Controllers; - -use Mouf\Mvc\Splash\Controllers\Controller; -use Mouf\Security\Controllers\SimpleLoginController; - -/** - * The MoufLoginController class provides the login page and login/logout mechanism for Mouf. - * It is actually getting its behaviour from the SimpleLoginController with one simple addition: - * if the MoufUsers.php file does not exist, it will guide the user towards a solution to be able to get logged. - * - * @Component - */ -class MoufLoginController extends SimpleLoginController { - - - /** - * The index page will display the login form (from SimpleLoginController) or an explanation on how to setup users - * if users are not set up yet. - * - * @Action - * @param string $login The login to fill by default. - * @param string $redirecturl The URL to redirect to when login is done. If not specified, the default login URL defined in the controller will be used instead. - */ - public function defaultAction($login = null, $redirect = null) { - /*if (!file_exists(ROOT_PATH."../../../mouf/MoufUsers.php")) { - $this->contentBlock->addFile(dirname(__FILE__)."/../../views/missing_password_file.php", $this); - $this->template->toHtml(); - return; - }*/ - - parent::defaultAction($login, $redirect); - } - -} \ No newline at end of file diff --git a/src-dev/Mouf/Controllers/MoufRootController.php b/src-dev/Mouf/Controllers/MoufRootController.php index 08cc5a0..c692837 100644 --- a/src-dev/Mouf/Controllers/MoufRootController.php +++ b/src-dev/Mouf/Controllers/MoufRootController.php @@ -1,31 +1,39 @@ - * - * For the full copyright and license information, please view the LICENSE.txt - * file that was distributed with this source code. - */ +/* + * This file is part of the Mouf core package. + * + * (c) 2012 David Negrier + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ namespace Mouf\Controllers; use Mouf\Mvc\Splash\Controllers\Controller; - +use Mouf\Security\Logged; +use TheCodingMachine\Splash\Annotations\URL; +use Zend\Diactoros\Response\RedirectResponse; + /** * The base controller for Mouf (when the "mouf/" url is typed). * - * @Component */ -class MoufRootController extends Controller { - +class MoufRootController { + + private $rootUrl; + + public function __construct(string $rootUrl) + { + $this->rootUrl = $rootUrl; + } + /** * The default action will redirect to the MoufController defaultAction. * - * @URL / - * @Logged + * @URL("/") + * @Logged() */ public function defaultAction() { - header("Location: ".ROOT_URL."validate/"); + return new RedirectResponse($this->rootUrl.'validate'); } } -?> \ No newline at end of file diff --git a/src-dev/Mouf/Controllers/MoufValidatorController.php b/src-dev/Mouf/Controllers/MoufValidatorController.php index dfaf650..d1a90fd 100644 --- a/src-dev/Mouf/Controllers/MoufValidatorController.php +++ b/src-dev/Mouf/Controllers/MoufValidatorController.php @@ -11,49 +11,56 @@ use Mouf\Html\HtmlElement\HtmlBlock; +use Mouf\Html\Template\TemplateInterface; use Mouf\MoufException; use Mouf\Mvc\Splash\Controllers\Controller; +use Mouf\Mvc\Splash\HtmlResponse; use Mouf\Reflection\MoufReflectionProxy; +use Mouf\Security\Logged; +use Mouf\Validator\MoufValidatorService; +use TheCodingMachine\Splash\Annotations\Action; +use TheCodingMachine\Splash\Annotations\URL; /** * The controller that will call all validators on Mouf. * - * @Component */ class MoufValidatorController extends Controller { /** * The validation service. * - * @Property - * @Compulsory * @var MoufValidatorService */ - public $validatorService; + protected $validatorService; /** * The template used by the main page for mouf. * - * @Property - * @Compulsory * @var TemplateInterface */ - public $template; + private $template; /** * The content block the template will be writting into. * - * @Property - * @Compulsory * @var HtmlBlock */ - public $contentBlock; - - /** + private $contentBlock; + + public function __construct(MoufValidatorService $validatorService, TemplateInterface $template, HtmlBlock $contentBlock) + { + $this->validatorService = $validatorService; + $this->template = $template; + $this->contentBlock = $contentBlock; + } + + + /** * The default action will redirect to the MoufController defaultAction. * - * @Action - * @Logged + * @URL("validate") + * @Logged() */ public function defaultAction($selfedit = "false") { // Before running the other validation steps, we should make sure we can successfully cURL @@ -61,17 +68,14 @@ public function defaultAction($selfedit = "false") { try { if (!MoufReflectionProxy::checkConnection()) { $this->contentBlock->addFile(ROOT_PATH."src-dev/views/connection-problem.php", $this); - $this->template->toHtml(); - return; + return new HtmlResponse($this->template); } } catch (MoufException $e) { $this->contentBlock->addFile(ROOT_PATH."src-dev/views/connection-problem.php", $this); - $this->template->toHtml(); - return; + return new HtmlResponse($this->template); } $this->contentBlock->addFile(ROOT_PATH."src-dev/views/validate.php", $this); - $this->template->toHtml(); + return new HtmlResponse($this->template); } } -?> \ No newline at end of file diff --git a/src-dev/Mouf/Controllers/PhpInfoController.php b/src-dev/Mouf/Controllers/PhpInfoController.php index 0b67729..fc5e908 100644 --- a/src-dev/Mouf/Controllers/PhpInfoController.php +++ b/src-dev/Mouf/Controllers/PhpInfoController.php @@ -1,31 +1,36 @@ - * - * For the full copyright and license information, please view the LICENSE.txt - * file that was distributed with this source code. - */ +/* + * This file is part of the Mouf core package. + * + * (c) 2012 David Negrier + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ namespace Mouf\Controllers; use Mouf\Mvc\Splash\Controllers\Controller; - +use Mouf\Security\Logged; +use TheCodingMachine\Splash\Annotations\URL; +use Zend\Diactoros\Response\HtmlResponse; + + /** * The controller displaying the PHP Info page. * - * @Component */ -class PhpInfoController extends Controller { +class PhpInfoController { /** * Displays the PHP info page. * - * @Action - * @Logged + * @URL("phpInfo/") + * @Logged() */ public function defaultAction() { - echo phpinfo(); + \ob_start(); + phpinfo(); + $html = \ob_get_clean(); + return new HtmlResponse($html); } } -?> \ No newline at end of file diff --git a/src-dev/Mouf/Menu/DocumentationMenuItem.php b/src-dev/Mouf/Menu/DocumentationMenuItem.php index bbdc243..1b24a99 100644 --- a/src-dev/Mouf/Menu/DocumentationMenuItem.php +++ b/src-dev/Mouf/Menu/DocumentationMenuItem.php @@ -40,7 +40,7 @@ public function __construct() { * (non-PHPdoc) * @see \Mouf\Html\Widgets\Menu\MenuItem::getChildren() */ - public function getChildren() { + public function getChildren(): array { return $this->getMenuTree(); } diff --git a/src-dev/Mouf/ServiceProviders/ControllersServiceProvider.php b/src-dev/Mouf/ServiceProviders/ControllersServiceProvider.php new file mode 100644 index 0000000..6c30852 --- /dev/null +++ b/src-dev/Mouf/ServiceProviders/ControllersServiceProvider.php @@ -0,0 +1,163 @@ +get('moufLoginTemplate'); + return $container->get(TemplateInterface::class); + } + + /** + * @Factory() + */ + public static function createRootController(ContainerInterface $container): MoufRootController + { + return new MoufRootController($container->get('root_url')); + } + + /** + * @Factory() + */ + public static function createValidatorController(MoufValidatorService $validatorService, TemplateInterface $template, ContainerInterface $container): MoufValidatorController + { + return new MoufValidatorController($validatorService, $template, $container->get('block.content')); + } + + /** + * @Factory() + */ + public static function createInstallController(TemplateInterface $template, ContainerInterface $container, UserFileDao $userFileDao): MoufInstallController + { + return new MoufInstallController($template, $container->get('block.content'), $userFileDao); + } + + /** + * @Factory() + */ + public static function createConfigureLocalUrlController(MoufValidatorService $validatorService, TemplateInterface $template, ContainerInterface $container): MoufConfigureLocalUrlController + { + return new MoufConfigureLocalUrlController($template, $container->get('block.content')); + } + + /** + * @Factory() + */ + public static function createMoufController(MoufValidatorService $validatorService, TemplateInterface $template, ContainerInterface $container): MoufController + { + return new MoufController($template, $container->get('block.content')); + } + + /** + * @Factory() + */ + public static function createPhpInfoController(): PhpInfoController + { + return new PhpInfoController(); + } + + /** + * @Extension(name="thecodingmachine.splash.controllers") + */ + public static function declareControllers(array $controllers): array + { + $controllers[] = MoufRootController::class; + $controllers[] = MoufValidatorController::class; + $controllers[] = MoufInstallController::class; + $controllers[] = PhpInfoController::class; + $controllers[] = MoufConfigureLocalUrlController::class; + $controllers[] = MoufController::class; + return $controllers; + } + + /** + * @Extension(name="block.header") + */ + public static function registerNavBarInHeader(HtmlBlock $block, ContainerInterface $container): HtmlBlock + { + $block->addHtmlElement($container->get('navBar')); + return $block; + } + + /** + * @Factory(name="mouf.weblibrary", tags={@Tag(name="webLibraries", priority=0.0)}) + */ + public static function createWebLibrary(): WebLibrary + { + return new WebLibrary([ + 'src-dev/views/instances/messages.js', + 'src-dev/views/instances/utils.js', + 'src-dev/views/instances/instances.js', + 'src-dev/views/instances/defaultRenderer.js', + 'src-dev/views/instances/moufui.js', + 'src-dev/views/instances/saveManager.js', + 'src-dev/views/instances/jquery.scrollintoview.js', + 'src-dev/views/instances/codeValidator.js', + ], + [ + 'src-dev/views/instances/defaultRenderer.css', + 'src-dev/views/styles.css' + ]); + } + + /** + * @Factory(name="mouf.setRootUrl.weblibrary", tags={@Tag(name="webLibraries", priority=10.0)}) + */ + public static function createSetRootUrlWebLibrary(ContainerInterface $container): InlineWebLibrary + { + return new InlineWebLibrary(null, null, $container->get('rootUrlJsFile')); + } +} diff --git a/src-dev/views/mouf_installer/moufusers_exists.php b/src-dev/views/mouf_installer/moufusers_exists.php index 909dd36..8357b82 100644 --- a/src-dev/views/mouf_installer/moufusers_exists.php +++ b/src-dev/views/mouf_installer/moufusers_exists.php @@ -3,8 +3,8 @@

Welcome!

Installation problem

-
You cannot run Mouf's installer, the mouf/no_commit/MoufUsers.php file already exists.
+
You cannot run Mouf's installer, the mouf/no_commit/user.php file already exists.
-

If you want to reinstall Mouf, you should delete the mouf/no_commit/MoufUsers.php page and then refresh this page.

+

If you want to reinstall Mouf, you should delete the mouf/no_commit/user.php page and then refresh this page.

You can follow the installation document if you need help.

diff --git a/src-dev/views/mouf_installer/welcome.php b/src-dev/views/mouf_installer/welcome.php index 00a59bd..bd707ed 100644 --- a/src-dev/views/mouf_installer/welcome.php +++ b/src-dev/views/mouf_installer/welcome.php @@ -81,9 +81,9 @@

Apparently, this is the first time you are running Mouf. You will need to install it.

- -

The MoufUsers.php file has been detected. Logins/passwords from this file will be used to access Mouf. - If you want to reset your login or password, delete the MoufUsers.php file and start again the installation procedure.

+ +

The user.php file has been detected. Logins/passwords from this file will be used to access Mouf. + If you want to reset your login or password, delete the user.php file and start again the installation procedure.

In order to connect to Mouf, you will need to create a login and a password.

diff --git a/src/Mouf/MoufInstanceDescriptor.php b/src/Mouf/MoufInstanceDescriptor.php index f3c426e..ae679f3 100644 --- a/src/Mouf/MoufInstanceDescriptor.php +++ b/src/Mouf/MoufInstanceDescriptor.php @@ -41,14 +41,6 @@ class MoufInstanceDescriptor { */ private $name; - /** - * A list of properties (not the list of all properties). - * Used for caching. - * - * @var MoufInstancePropertyDescriptor[] - */ - private $properties = array(); - /** * A list of public properties (not sure to be complete) * Used for caching. diff --git a/src/Mouf/MoufInstancePropertyDescriptor.php b/src/Mouf/MoufInstancePropertyDescriptor.php index c3dc650..5b9250a 100644 --- a/src/Mouf/MoufInstancePropertyDescriptor.php +++ b/src/Mouf/MoufInstancePropertyDescriptor.php @@ -200,7 +200,7 @@ private function toInstanceDescriptor($instanceNames) { } - private static function array_map_deep($array, $callback) { + public static function array_map_deep($array, $callback) { $new = array(); if( is_array($array) ) foreach ($array as $key => $val) { if (is_array($val)) { diff --git a/src/Mouf/MoufManager.php b/src/Mouf/MoufManager.php index e8aae7d..93f2dc7 100644 --- a/src/Mouf/MoufManager.php +++ b/src/Mouf/MoufManager.php @@ -2,17 +2,28 @@ /* * This file is part of the Mouf core package. * -* (c) 2012 David Negrier +* (c) 2012-2017 David Negrier * * For the full copyright and license information, please view the LICENSE.txt * file that was distributed with this source code. */ +declare(strict_types=1); + namespace Mouf; +use Interop\Container\ServiceProviderInterface; use Mouf\Composer\ComposerService; +use Mouf\Picotainer\Picotainer; use Mouf\Reflection\MoufReflectionProxy; use Mouf\Reflection\MoufReflectionClass; use Interop\Container\ContainerInterface; +use TheCodingMachine\ServiceProvider\Registry; +use TheCodingMachine\Yaco\Compiler; +use TheCodingMachine\Yaco\Definition\ConstParameterDefinition; +use TheCodingMachine\Yaco\Definition\ObjectDefinition; +use TheCodingMachine\Yaco\Definition\ParameterDefinition; +use Mouf\Yaco\PhpCodeDefinition; +use TheCodingMachine\Yaco\Definition\Reference; /** * The class managing object instanciation in the Mouf framework. @@ -92,6 +103,9 @@ public static function initMoufManager() { // FIXME: not appscope for sure self::$defaultInstance->scope = MoufManager::SCOPE_APP; + self::$defaultInstance->compiledContainerName = "Mouf\\GeneratedContainer"; + self::$defaultInstance->compiledContainerFile = '../../../../../mouf/no_commit/GeneratedContainer.php'; + self::$defaultInstance->cachedModificationTimeFile = '../../../../../mouf/no_commit/modificationTimes.php'; } } @@ -110,11 +124,11 @@ public static function switchToHidden() { self::$defaultInstance->adminUiFileName = "../../mouf/MoufUI.php"; self::$defaultInstance->mainClassName = "MoufAdmin"; self::$defaultInstance->scope = MoufManager::SCOPE_ADMIN; - } - public function __construct() { - // Unless the setDelegateLookupContainer is set, we lookup dependencies inside our own container. - $this->delegateLookupContainer = $this; + + self::$defaultInstance->compiledContainerName = "Mouf\\GeneratedAdminContainer"; + self::$defaultInstance->compiledContainerFile = '../../mouf/no_commit/GeneratedAdminContainer.php'; + self::$defaultInstance->cachedModificationTimeFile = '../../mouf/no_commit/modificationTimes.php'; } /** @@ -237,6 +251,34 @@ public function __construct() { */ private $mainClass; + /** + * The fully qualified class name to the compiled class. + * + * @var string + */ + private $compiledContainerName; + + /** + * The path to the compiled container file + * + * @var string + */ + private $compiledContainerFile; + + /** + * The path to the file containing timestamp of lost modification time + * + * @var string + */ + private $cachedModificationTimeFile; + + /** + * The instance of the container compiled with Yaco. + * + * @var Picotainer + */ + private $container; + /** * Returns the config manager (the service in charge of writing the config.php file). * @@ -246,6 +288,83 @@ public function getConfigManager() { return $this->configManager; } + /** + * Returns the container + * + * @return Picotainer + */ + private function getContainer() { + if ($this->container === null) { + $compiledContainerFile = __DIR__.'/'.$this->compiledContainerFile; + /* + // Does the container file exists? + // If yes, is it newer than MoufComponents? + $compiledContainerFile = __DIR__.'/'.$this->compiledContainerFile; + $componentsFile = __DIR__.'/'.$this->componentsFileName; + + $containerFileExists = file_exists($compiledContainerFile); + + if (($containerFileExists && filemtime($compiledContainerFile) <= filemtime($componentsFile)) || !$containerFileExists) { + $this->defaultCompile(); + }*/ + if (!$this->checkContainerUpToDate()) { + $this->defaultCompile(); + } + + require_once $compiledContainerFile; + $containerName = $this->compiledContainerName; + $this->container = new $containerName(new Registry([], \TheCodingMachine\Discovery\Discovery::getInstance()), $this->delegateLookupContainer); + } + return $this->container; + } + + /** + * Checks whether the container is up to date or not. + * Returns false if the container needs updating, i.e. if one of the service providers or the MoufComponents file + * has been modified lately. + * + * @return bool + */ + private function checkContainerUpToDate() : bool + { + $cachedModificationTimeFile = __DIR__.'/'.$this->cachedModificationTimeFile; + $componentsFile = __DIR__.'/'.$this->componentsFileName; + + if (!file_exists($cachedModificationTimeFile)) { + return false; + } + + $cachedModifications = require $cachedModificationTimeFile; + + if ($cachedModifications['moufComponents'] !== filemtime($componentsFile)) { + return false; + } + foreach ($cachedModifications['serviceProviders'] as $serviceProviderFile => $serviceProviderModificationTime) { + if ($serviceProviderModificationTime !== filemtime($serviceProviderFile)) { + return false; + } + } + return true; + } + + private function writeContainerCachedModification() + { + $componentsFile = __DIR__.'/'.$this->componentsFileName; + $cachedModificationTimeFile = __DIR__.'/'.$this->cachedModificationTimeFile; + + $cachedModifications = ['moufComponents' => filemtime($componentsFile), + 'serviceProviders' => []]; + + foreach (\TheCodingMachine\Discovery\Discovery::getInstance()->get(ServiceProviderInterface::class) as $serviceProvider) { + $reflectionClass = new \ReflectionClass($serviceProvider); + $cachedModifications['serviceProviders'][$reflectionClass->getFileName()] = filemtime($reflectionClass->getFileName()); + } + + $code = "objectInstances[$instanceName]) || $this->objectInstances[$instanceName] == null) { + /*if (!isset($this->objectInstances[$instanceName]) || $this->objectInstances[$instanceName] == null) { $this->instantiateComponent($instanceName); } - return $this->objectInstances[$instanceName]; + return $this->objectInstances[$instanceName];*/ + $container = $this->getContainer(); + return $container->get($instanceName); } /** @@ -287,12 +408,13 @@ public function instanceExists($instanceName) { * @return bool */ public function has($instanceName) { - return $this->instanceExists($instanceName); + $container = $this->getContainer(); + return $container->has($instanceName); } /** * Returns the list of all instances of objects in Mouf. - * Objects are not instanciated. Instead, a list containing the name of the instance in the key + * Objects are not instantiated. Instead, a list containing the name of the instance in the key * and the name of the class in the value is returned. * * @return array @@ -343,7 +465,7 @@ public function declareComponent($instanceName, $className, $external = false, $ } } - if (strpos($className, '\\' === 0)) { + if (strpos($className, '\\') === 0) { $className = substr($className, 1); } @@ -1405,6 +1527,8 @@ public function rewriteMouf() { $composerService = new ComposerService($selfEdit); $composerService->rewriteMoufUi(); + // Let's compile the container! + $this->defaultCompile(); } /** @@ -2186,4 +2310,189 @@ private function walkConstructorLoop($instanceName, array $path) { } } } + + private function defaultCompile() { + $this->compile($this->compiledContainerName, __DIR__.'/'.$this->compiledContainerFile); + $this->writeContainerCachedModification(); + } + + private function compile(string $className, string $pathToFile) + { + $registry = new Registry([], \TheCodingMachine\Discovery\Discovery::getInstance()); + + $compiler = new Compiler($registry); + + foreach ($this->declaredInstances as $instanceName => $descriptor) { + if ($this->isInstanceAnonymous($instanceName)) { + continue; + } + $definition = $this->toDefinition($instanceName); + $compiler->addDumpableDefinition($definition); + } + if (!file_exists(dirname($pathToFile))) { + mkdir(dirname($pathToFile), 0775, true); + chmod(dirname($pathToFile), 0775); + } + file_put_contents($pathToFile, $compiler->compile($className)); + chmod($pathToFile, 0664); + } + + /** + * Returns a reference (if we are dealing with a non anonymous instance) or a definition (in the case of anonymous instances) + * @param $instanceName + */ + private function toDefinitionOrReference(string $instanceName) { + if ($this->isInstanceAnonymous($instanceName)) { + return $this->toDefinition($instanceName); + } else { + return new Reference($instanceName); + } + } + + private function toDefinition($instanceName) + { + if (!isset($this->declaredInstances[$instanceName])) { + throw new MoufInstanceNotFoundException("The object instance '".$instanceName."' is not defined.", 1, $instanceName); + } + try { + $instanceDefinition = $this->declaredInstances[$instanceName]; + + if (isset($instanceDefinition['code'])) { + if (isset($instanceDefinition['error'])) { + throw new MoufException("The code defining instance '$instanceName' is invalid: ".$instanceDefinition['error']); + } + return new PhpCodeDefinition($instanceName, $instanceDefinition['code']); + } + + $className = $instanceDefinition["class"]; + + if ($this->isInstanceAnonymous($instanceName)) { + $definition = new ObjectDefinition(null, $className); + } else { + $definition = new ObjectDefinition($instanceName, $className); + } + + if (isset($instanceDefinition['constructor'])) { + $constructorParametersArray = $instanceDefinition['constructor']; + + foreach ($constructorParametersArray as $key=>$constructorParameterDefinition) { + $value = $constructorParameterDefinition["value"]; + switch ($constructorParameterDefinition['parametertype']) { + case 'primitive': + switch ($constructorParameterDefinition["type"]) { + case 'string': + $definition->addConstructorArgument(new ParameterDefinition(null, $value)); + break; + case 'config': + $definition->addConstructorArgument(new ConstParameterDefinition(null, $value)); + break; + case 'php': + $definition->addConstructorArgument(new PhpCodeDefinition(null, $value)); + break; + default: + throw new MoufException("Invalid type '".$constructorParameterDefinition['type']."' for object instance '$instanceName'."); + } + break; + case 'object': + if (is_array($value)) { + $tmpArray = array(); + foreach ($value as $keyInstanceName=>$valueInstanceName) { + if ($valueInstanceName !== null) { + $tmpArray[$keyInstanceName] = $this->toDefinitionOrReference($valueInstanceName); + } else { + $tmpArray[$keyInstanceName] = new ParameterDefinition(null, null); + } + } + $definition->addConstructorArgument($tmpArray); + } else { + if ($value !== null) { + $definition->addConstructorArgument($this->toDefinitionOrReference($value)); + } else { + $definition->addConstructorArgument(new ParameterDefinition(null, null)); + } + } + break; + default: + throw new MoufException("Unknown parameter type ".$constructorParameterDefinition['parametertype']." for parameter in constructor of instance '".$instanceName."'"); + } + } + } + + if (isset($instanceDefinition["fieldProperties"])) { + foreach ($instanceDefinition["fieldProperties"] as $key=>$valueDef) { + switch ($valueDef["type"]) { + case "string": + $definition->setProperty($key, $valueDef["value"]); + break; + case "config": + $definition->setProperty($key, new ConstParameterDefinition(null, $valueDef["value"])); + break; + case "php": + $definition->setProperty($key, new PhpCodeDefinition(null, $valueDef["value"])); + break; + default: + throw new MoufException("Invalid type '".$valueDef["type"]."' for object instance '$instanceName'."); + } + } + } + + if (isset($instanceDefinition["setterProperties"])) { + foreach ($instanceDefinition["setterProperties"] as $key=>$valueDef) { + switch ($valueDef["type"]) { + case "string": + $definition->addMethodCall($key, [ $valueDef["value"] ]); + break; + case "config": + $definition->addMethodCall($key, [ ConstParameterDefinition(null, $valueDef["value"]) ]); + break; + case "php": + $definition->addMethodCall($key, [ PhpCodeDefinition(null, $valueDef["value"]) ]); + break; + default: + throw new MoufException("Invalid type '".$valueDef["type"]."' for object instance '$instanceName'."); + } + } + } + + if (isset($instanceDefinition["fieldBinds"])) { + foreach ($instanceDefinition["fieldBinds"] as $key=>$value) { + if (is_array($value)) { + $tmpArray = array(); + foreach ($value as $keyInstanceName=>$valueInstanceName) { + if ($valueInstanceName !== null) { + $tmpArray[$keyInstanceName] = $this->toDefinitionOrReference($valueInstanceName); + } else { + $tmpArray[$keyInstanceName] = null; + } + } + $definition->setProperty($key, $tmpArray); + } else { + $definition->setProperty($key, $this->toDefinitionOrReference($value)); + } + } + } + + if (isset($instanceDefinition["setterBinds"])) { + foreach ($instanceDefinition["setterBinds"] as $key=>$value) { + if (is_array($value)) { + $tmpArray = array(); + foreach ($value as $keyInstanceName=>$valueInstanceName) { + if ($valueInstanceName !== null) { + $tmpArray[$keyInstanceName] = $this->toDefinitionOrReference($valueInstanceName); + } else { + $tmpArray[$keyInstanceName] = null; + } + } + $definition->addMethodCall($key, [ $tmpArray ]); + } else { + $definition->addMethodCall($key, [ $this->toDefinitionOrReference($value) ]); + } + } + } + } catch (MoufInstanceNotFoundException $e) { + throw new MoufInstanceNotFoundException("The object instance '".$instanceName."' could not be created because it depends on an object in error (".$e->getMissingInstanceName().")", 2, $instanceName, $e); + } + return $definition; + } + } diff --git a/src/Mouf/Yaco/PhpCodeDefinition.php b/src/Mouf/Yaco/PhpCodeDefinition.php new file mode 100644 index 0000000..d1d59fd --- /dev/null +++ b/src/Mouf/Yaco/PhpCodeDefinition.php @@ -0,0 +1,75 @@ +identifier = $identifier; + $this->phpCode = $phpCode; + } + + /** + * Returns the identifier of the instance. + * + * @return string + */ + public function getIdentifier(): ?string + { + return $this->identifier; + } + + /** + * Returns the value of the parameter. + * + * @return string|null + */ + public function getPhpCode(): ?string + { + return $this->phpCode; + } + + /** + * Returns an InlineEntryInterface object representing the PHP code necessary to generate + * the container entry. + * + * @param string $containerVariable The name of the variable that allows access to the container instance. For instance: "$container", or "$this->container" + * @param array $usedVariables An array of variables that are already used and that should not be used when generating this code. + * + * @return InlineEntryInterface + */ + public function toPhpCode(string $containerVariable, array $usedVariables = array()): InlineEntryInterface + { + $code = sprintf('(function($container) { %s; })(%s)', $this->phpCode, $containerVariable); + return new InlineEntry($code, null, $usedVariables, false); + } +} diff --git a/src/direct/install_process_validator.php b/src/direct/install_process_validator.php index d56d17d..181e201 100644 --- a/src/direct/install_process_validator.php +++ b/src/direct/install_process_validator.php @@ -32,7 +32,7 @@ //require_once 'utils/check_rights.php'; MoufUtils::checkRights(); -MoufAdmin::getSessionManager()->write_close(); +MoufAdmin::getSessionManager()->writeClose(); if (!isset($_REQUEST["selfedit"]) || $_REQUEST["selfedit"]!="true") { diff --git a/src/direct/save_changes.php b/src/direct/save_changes.php index 05874c5..ee0b13d 100644 --- a/src/direct/save_changes.php +++ b/src/direct/save_changes.php @@ -42,14 +42,7 @@ require_once 'utils/check_rights.php'; -if (get_magic_quotes_gpc()==1) -{ - // FIXME: add suppport for arrays (see "get") - $changesList = $_REQUEST["changesList"]; - //$changesList = stripslashes($_REQUEST["changesList"]); -} else { - $changesList = $_REQUEST["changesList"]; -} +$changesList = $_REQUEST["changesList"]; $moufManager = MoufManager::getMoufManager(); @@ -212,37 +205,6 @@ function mouf_convert_json_ordered_array_to_php(array $jsonArr, $associativeArra $response = array(); $response["status"] = "ok"; -/*$instanceList = $moufManager->findInstances($className); - -$response = array(); -$instancesArray = array(); -$instanceArray = array(); - -foreach ($instanceList as $instanceName) { - $instanceDescriptor = $moufManager->getInstanceDescriptor($instanceName); - $response["instances"][$instanceDescriptor->getName()] = $instanceDescriptor->toJson(); -} - -// Now, let's get the full list of absolutely all classes implementing "class". -$classList = Moufspector::getComponentsList($className); -$classArray = array(); -$childClassArray = array(); - -foreach ($classList as $childClassName) { - $childClassArray[] = $childClassName; - $classDescriptor = new MoufReflectionClass($childClassName); - - do { - $classArray[$classDescriptor->getName()] = $classDescriptor->toJson(); - $classDescriptor = $classDescriptor->getParentClass(); - } while ($classDescriptor != null && !isset($classArray[$classDescriptor->getName()])); -} - -// List of all classes that might be relevant -$response["classes"] = $classArray; -// List of all classes that are a subclass of the main class / interface -$response["childrenClasses"] = $childClassArray; -*/ $encode = "php"; if (isset($_REQUEST["encode"]) && $_REQUEST["encode"]=="json") { @@ -257,5 +219,3 @@ function mouf_convert_json_ordered_array_to_php(array $jsonArr, $associativeArra } else { echo "invalid encode parameter"; } - -?> \ No newline at end of file diff --git a/src/install.php b/src/install.php index e250bb6..b173f80 100644 --- a/src/install.php +++ b/src/install.php @@ -1,13 +1,13 @@ - * - * For the full copyright and license information, please view the LICENSE.txt - * file that was distributed with this source code. - */ - +/* + * This file is part of the Mouf core package. + * + * (c) 2012 David Negrier + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ + /** * This file is used to install the Mouf framework by creating the .htaccess file. */ @@ -94,8 +94,8 @@ chmod("../../../../config.php", 0664); } -// Finally 3 :), let's generate the MoufUsers.php file: -if (!file_exists("../../../../mouf/no_commit/MoufUsers.php")) { +// Finally 3 :), let's generate the user.php file: +if (!file_exists("../../../../mouf/no_commit/user.php")) { $moufConfig = ""; - file_put_contents("../../../../mouf/no_commit/MoufUsers.php", $moufConfig); - chmod("../../../../mouf/no_commit/MoufUsers.php", 0664); + file_put_contents("../../../../mouf/no_commit/user.php", $moufConfig); + chmod("../../../../mouf/no_commit/user.php", 0664); } function install_userinput_to_plainstring($str) { diff --git a/src/mouf_router.php b/src/mouf_router.php index 5d96fab..5ddd486 100644 --- a/src/mouf_router.php +++ b/src/mouf_router.php @@ -1,4 +1,7 @@ get(RequestHandlerRunner::class); +$runner->run(); diff --git a/src/splash.php b/src/splash.php index da458c0..e69de29 100644 --- a/src/splash.php +++ b/src/splash.php @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE.txt - * file that was distributed with this source code. - */ - -// Let's load the Mouf file, and the MoufAdmin file. -// The MoufAdmin will replace the Mouf configuration file. -if (file_exists(dirname(__FILE__).'/../MoufComponents.php')) { - require_once dirname(__FILE__).'/../MoufComponents.php'; -} -require_once dirname(__FILE__).'/../MoufUniversalParameters.php'; - -MoufManager::switchToHidden(); -require_once 'MoufAdmin.php'; -if (isset($_REQUEST['selfedit']) && $_REQUEST['selfedit']=="true") { - require_once 'MoufAdminUI.php'; -} else { - // Check file existence just to be sure. - if (file_exists(dirname(__FILE__).'/../MoufUI.php')) { - require_once dirname(__FILE__).'/../MoufUI.php'; - } -} - -$splashUrlPrefix = ROOT_URL."mouf/"; -require_once '../plugins/mvc/splash/3.2/splash.php'; - -?> \ No newline at end of file diff --git a/tests/Mouf/MoufManagerTest.php b/tests/Mouf/MoufManagerTest.php deleted file mode 100644 index 4f62088..0000000 --- a/tests/Mouf/MoufManagerTest.php +++ /dev/null @@ -1,50 +0,0 @@ -createInstance("Mouf\TestClasses\TestClass2"); - - $instanceDescriptor = $container->createInstance("Mouf\TestClasses\TestClass1"); - $instanceDescriptor->getProperty("constructorParamA")->setValue(1); - $instanceDescriptor->getProperty("constructorParamB")->setValue($instanceDescriptorClass2); - $instanceDescriptor->getProperty("constructorParamC")->setValue($instanceDescriptorClass2); - $instanceDescriptor->setName("testClass1"); - - $instance = $container->getInstance("testClass1"); - /* @var $instance \Mouf\TestClasses\TestClass */ - $this->assertEquals(1, $instance->getConstructorParamA()); - $this->assertInstanceOf("Mouf\TestClasses\TestClass2", $instance->getConstructorParamB()); - $this->assertInstanceOf("Mouf\TestClasses\TestClass2", $instance->getConstructorParamC()); - $this->assertEquals($instance->getConstructorParamB(), $instance->getConstructorParamC()); - } - - public function testCallbackInjection() { - $container = new MoufManager(); - - $instanceDescriptor = $container->createInstance("Mouf\TestClasses\TestClass1"); - $instanceDescriptor->getProperty("constructorParamA")->setOrigin('php')->setValue('return [];'); - $instanceDescriptor->setName("testClass1"); - - // Note: we cannot retrieve the instance without first saving and loading the file. - // This is not an issue. - } - - - static function main() { - $suite = new \PHPUnit_Framework_TestSuite( __CLASS__); - \PHPUnit_TextUI_TestRunner::run( $suite); - } -} - -if (!defined('PHPUnit_MAIN_METHOD')) { - MoufManagerTest::main(); -} \ No newline at end of file diff --git a/tests/Mouf/MoufPropertyDescriptorTest.php b/tests/Mouf/MoufPropertyDescriptorTest.php index 6bdb33b..386b1be 100644 --- a/tests/Mouf/MoufPropertyDescriptorTest.php +++ b/tests/Mouf/MoufPropertyDescriptorTest.php @@ -1,160 +1,149 @@ -getProperty("indexedArray"); - $moufPropertyDescriptor = new MoufPropertyDescriptor($indexedArrayProperty); - $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; - $subtype = $type->getSubType(); - $keytype = $type->getKeyType(); - $this->assertEquals(true, $type->isArray()); - $this->assertEquals("int", $subtype->getType()); - $this->assertEquals(null, $keytype); - +getProperty("indexedArray"); + $moufPropertyDescriptor = new MoufPropertyDescriptor($indexedArrayProperty); + $types = $moufPropertyDescriptor->getTypes(); + $type = $types->getTypes()[0]; + $subtype = $type->getSubType(); + $keytype = $type->getKeyType(); + $this->assertEquals(true, $type->isArray()); + $this->assertEquals("int", $subtype->getType()); + $this->assertEquals(null, $keytype); + $property = $moufReflectionClass->getProperty("associativeArray"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("array", $type->getType()); $this->assertEquals("string", $subtype->getType()); - $this->assertEquals("string", $keytype); - + $this->assertEquals("string", $keytype); + $property = $moufReflectionClass->getProperty("int"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("int", $type->getType()); $this->assertEquals(null, $subtype); - $this->assertEquals(null, $keytype); - + $this->assertEquals(null, $keytype); + $property = $moufReflectionClass->getProperty("testClass1"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\TestClass1", $type->getType(), "Testing \$testClass1 property"); $this->assertEquals(null, $subtype, "Testing \$testClass1 property subtype"); - $this->assertEquals(null, $keytype, "Testing \$testClass1 property keytype"); - + $this->assertEquals(null, $keytype, "Testing \$testClass1 property keytype"); + $property = $moufReflectionClass->getProperty("testClass1FullyQualifiedNamespace"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\TestClass1", $type->getType(), "Testing \$testClass1FullyQualifiedNamespace property"); $this->assertEquals(null, $subtype, "Testing \$testClass1FullyQualifiedNamespace property subtype"); $this->assertEquals(null, $keytype, "Testing \$testClass1FullyQualifiedNamespace property keytype"); - + $property = $moufReflectionClass->getProperty("testSubNamespace"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\Subname\\Subclass", $type->getType(), "Testing \$testSubNamespace property"); $this->assertEquals(null, $subtype, "Testing \$testSubNamespace property subtype"); $this->assertEquals(null, $keytype, "Testing \$testSubNamespace property keytype"); - + $property = $moufReflectionClass->getProperty("testUse"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\Subname\\Subclass", $type->getType(), "Testing \$testUse property"); $this->assertEquals(null, $subtype, "Testing \$testUse property subtype"); $this->assertEquals(null, $keytype, "Testing \$testUse property keytype"); - + $property = $moufReflectionClass->getProperty("testRelativeUse"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\Subname\\Subclass", $type->getType(), "Testing \$testRelativeUse property"); $this->assertEquals(null, $subtype, "Testing \$testRelativeUse property subtype"); $this->assertEquals(null, $keytype, "Testing \$testRelativeUse property keytype"); - - + + $property = $moufReflectionClass->getMethod("setSetterProperty1"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\TestClass1", $type->getType(), "Testing \$setSetterProperty1 property"); $this->assertEquals(null, $subtype, "Testing \$setSetterProperty1 property subtype"); $this->assertEquals(null, $keytype, "Testing \$setSetterProperty1 property keytype"); - + $property = $moufReflectionClass->getMethod("setSetterProperty2"); $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\TestClass1", $type->getType(), "Testing \$setSetterProperty2 property"); $this->assertEquals(null, $subtype, "Testing \$setSetterProperty2 property subtype"); $this->assertEquals(null, $keytype, "Testing \$setSetterProperty2 property keytype"); - $property = $moufReflectionClass->getConstructor()->getParameters(); + $property = $moufReflectionClass->getConstructor()->getParameters(); $property = $property[0]; $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("string", $type->getType(), "Testing \$constructorParamA property"); $this->assertEquals(null, $subtype, "Testing \$constructorParamA property subtype"); $this->assertEquals(null, $keytype, "Testing \$constructorParamA property keytype"); - - $property = $moufReflectionClass->getConstructor()->getParameters(); + + $property = $moufReflectionClass->getConstructor()->getParameters(); $property = $property[1]; $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\TestClass2", $type->getType(), "Testing \$constructorParamB property"); $this->assertEquals(null, $subtype, "Testing \$constructorParamB property subtype"); $this->assertEquals(null, $keytype, "Testing \$constructorParamB property keytype"); - - $property = $moufReflectionClass->getConstructor()->getParameters(); + + $property = $moufReflectionClass->getConstructor()->getParameters(); $property = $property[2]; $moufPropertyDescriptor = new MoufPropertyDescriptor($property); $types = $moufPropertyDescriptor->getTypes(); - $type = $types->getTypes()[0]; + $type = $types->getTypes()[0]; $subtype = $type->getSubType(); $keytype = $type->getKeyType(); $this->assertEquals("\\Mouf\\TestClasses\\TestClass2", $type->getType(), "Testing \$constructorParamC property"); $this->assertEquals(null, $subtype, "Testing \$constructorParamC property subtype"); $this->assertEquals(null, $keytype, "Testing \$constructorParamC property keytype"); - - - - } - - static function main() { - $suite = new \PHPUnit_Framework_TestSuite( __CLASS__); - \PHPUnit_TextUI_TestRunner::run( $suite); - } -} - -if (!defined('PHPUnit_MAIN_METHOD')) { - MoufPropertyDescriptorTest::main(); -} \ No newline at end of file + + } +} diff --git a/tests/Mouf/Reflection/TypesDescriptorTest.php b/tests/Mouf/Reflection/TypesDescriptorTest.php index 60a9687..e23ee7c 100644 --- a/tests/Mouf/Reflection/TypesDescriptorTest.php +++ b/tests/Mouf/Reflection/TypesDescriptorTest.php @@ -166,12 +166,4 @@ public function testGetCompatibleTypeForInstance() { } - static function main() { - $suite = new \PHPUnit_Framework_TestSuite( __CLASS__); - \PHPUnit_TextUI_TestRunner::run( $suite); - } } - -if (!defined('PHPUnit_MAIN_METHOD')) { - TypesDescriptorTest::main(); -} \ No newline at end of file