From 929ca0664edba8cc305d0b0033febd3fa06a7e73 Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Thu, 5 Feb 2015 11:57:31 +0100 Subject: [PATCH 1/1] first commit after reset --- .gitignore | 11 + .travis.yml | 10 + LICENSE | 19 + README | 12 + TODO | 8 + app/.htaccess | 7 + app/AppCache.php | 9 + app/AppKernel.php | 38 + app/Resources/views/Form/fields.html.twig | 32 + app/Resources/views/base.html.twig | 76 + app/SymfonyRequirements.php | 687 +++++++ app/autoload.php | 13 + app/cache/.gitkeep | 0 app/check.php | 62 + app/config/config.yml | 83 + app/config/config_dev.yml | 36 + app/config/config_prod.yml | 25 + app/config/config_test.yml | 16 + app/config/parameters.yml.dist | 15 + app/config/routing.yml | 8 + app/config/routing_dev.yml | 14 + app/config/security.yml | 37 + app/console | 27 + app/logs/.gitkeep | 0 app/phpunit.xml.dist | 41 + composer.json | 53 + composer.lock | 1657 +++++++++++++++++ resetCacheLogs.php | 12 + src/.htaccess | 7 + .../Controller/MainController.php | 39 + .../DependencyInjection/Configuration.php | 29 + .../MixstoreStoreExtension.php | 28 + .../StaticBundle/MixstoreStaticBundle.php | 9 + .../StaticBundle/Resources/config/routing.yml | 11 + .../Resources/config/services.yml | 1 + .../Resources/views/about.html.twig | 222 +++ .../Resources/views/home.html.twig | 100 + .../Resources/views/policy.html.twig | 74 + .../Controller/PackageController.php | 222 +++ .../Controller/UsecaseController.php | 169 ++ .../DependencyInjection/Configuration.php | 29 + .../MixstoreStoreExtension.php | 28 + src/Mixstore/StoreBundle/Entity/Language.php | 75 + src/Mixstore/StoreBundle/Entity/Package.php | 397 ++++ .../StoreBundle/Entity/PackageRepository.php | 56 + src/Mixstore/StoreBundle/Entity/Usecase.php | 304 +++ .../StoreBundle/Entity/UsecaseRepository.php | 33 + .../StoreBundle/MixstoreStoreBundle.php | 9 + .../StoreBundle/Resources/config/routing.yml | 48 + .../StoreBundle/Resources/config/services.yml | 1 + .../Resources/views/Package/list.html.twig | 28 + .../views/Package/list_content.html.twig | 22 + .../Resources/views/Package/view.html.twig | 66 + .../Resources/views/Usecase/list.html.twig | 28 + .../views/Usecase/list_content.html.twig | 16 + .../Resources/views/Usecase/view.html.twig | 45 + .../Resources/views/upsert-email.txt.twig | 5 + .../Resources/views/upsert.html.twig | 81 + .../UserBundle/Controller/BoardController.php | 48 + .../Controller/MyAdminController.php | 110 ++ .../DependencyInjection/Configuration.php | 29 + .../MixstoreUserExtension.php | 28 + src/Mixstore/UserBundle/Entity/User.php | 163 ++ .../UserBundle/Form/Type/ProfileFormType.php | 31 + .../Form/Type/RegistrationFormType.php | 24 + .../UserBundle/MixstoreUserBundle.php | 13 + .../UserBundle/Resources/config/config.yml | 74 + .../UserBundle/Resources/config/routing.yml | 50 + .../UserBundle/Resources/config/services.yml | 11 + .../Resources/views/Admin/users.html.twig | 72 + .../Resources/views/Board/index.html.twig | 36 + .../ChangePassword/changePassword.html.twig | 18 + .../Resources/views/Profile/edit.html.twig | 18 + .../Resources/views/Profile/show.html.twig | 21 + .../views/Registration/checkEmail.html.twig | 10 + .../views/Registration/confirmed.html.twig | 14 + .../views/Registration/email.txt.twig | 12 + .../views/Registration/register.html.twig | 17 + .../views/Resetting/checkEmail.html.twig | 14 + .../Resources/views/Resetting/email.txt.twig | 12 + .../passwordAlreadyRequested.html.twig | 12 + .../views/Resetting/request.html.twig | 25 + .../Resources/views/Resetting/reset.html.twig | 17 + .../Resources/views/Security/login.html.twig | 54 + .../Resources/views/layout.html.twig | 39 + web/.htaccess | 52 + web/app.php | 29 + web/app_dev.php | 30 + web/apple-touch-icon.png | Bin 0 -> 10784 bytes web/config.php | 124 ++ web/favicon.ico | Bin 0 -> 1150 bytes web/mixstore/css/base.css | 129 ++ web/mixstore/css/form.css | 20 + web/mixstore/css/static/about.css | 40 + web/mixstore/css/static/home.css | 114 ++ web/mixstore/css/static/policy.css | 18 + web/mixstore/css/store/table.css | 50 + web/mixstore/css/store/upsert.css | 29 + web/mixstore/css/store/view-package.css | 44 + web/mixstore/css/store/view-usecase.css | 30 + web/mixstore/css/summernote.min.css | 1 + web/mixstore/css/user/admin.css | 26 + web/mixstore/css/user/board.css | 18 + web/mixstore/css/user/common.css | 23 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 +++ .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes web/mixstore/images/banner.png | Bin 0 -> 291915 bytes web/mixstore/images/favicon.png | Bin 0 -> 3430 bytes web/mixstore/images/iris_pca.png | Bin 0 -> 11366 bytes web/mixstore/images/pkg_banners/.gitignore | 2 + web/mixstore/js/stupidtable.min.js | 1 + web/mixstore/js/summernote.min.js | 2 + web/robots.txt | 4 + 115 files changed, 7177 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 LICENSE create mode 100644 README create mode 100644 TODO create mode 100644 app/.htaccess create mode 100644 app/AppCache.php create mode 100644 app/AppKernel.php create mode 100644 app/Resources/views/Form/fields.html.twig create mode 100644 app/Resources/views/base.html.twig create mode 100644 app/SymfonyRequirements.php create mode 100644 app/autoload.php create mode 100644 app/cache/.gitkeep create mode 100644 app/check.php create mode 100644 app/config/config.yml create mode 100644 app/config/config_dev.yml create mode 100644 app/config/config_prod.yml create mode 100644 app/config/config_test.yml create mode 100644 app/config/parameters.yml.dist create mode 100644 app/config/routing.yml create mode 100644 app/config/routing_dev.yml create mode 100644 app/config/security.yml create mode 100755 app/console create mode 100755 app/logs/.gitkeep create mode 100644 app/phpunit.xml.dist create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 resetCacheLogs.php create mode 100644 src/.htaccess create mode 100644 src/Mixstore/StaticBundle/Controller/MainController.php create mode 100644 src/Mixstore/StaticBundle/DependencyInjection/Configuration.php create mode 100644 src/Mixstore/StaticBundle/DependencyInjection/MixstoreStoreExtension.php create mode 100644 src/Mixstore/StaticBundle/MixstoreStaticBundle.php create mode 100644 src/Mixstore/StaticBundle/Resources/config/routing.yml create mode 100644 src/Mixstore/StaticBundle/Resources/config/services.yml create mode 100644 src/Mixstore/StaticBundle/Resources/views/about.html.twig create mode 100644 src/Mixstore/StaticBundle/Resources/views/home.html.twig create mode 100644 src/Mixstore/StaticBundle/Resources/views/policy.html.twig create mode 100644 src/Mixstore/StoreBundle/Controller/PackageController.php create mode 100644 src/Mixstore/StoreBundle/Controller/UsecaseController.php create mode 100644 src/Mixstore/StoreBundle/DependencyInjection/Configuration.php create mode 100644 src/Mixstore/StoreBundle/DependencyInjection/MixstoreStoreExtension.php create mode 100644 src/Mixstore/StoreBundle/Entity/Language.php create mode 100644 src/Mixstore/StoreBundle/Entity/Package.php create mode 100644 src/Mixstore/StoreBundle/Entity/PackageRepository.php create mode 100644 src/Mixstore/StoreBundle/Entity/Usecase.php create mode 100644 src/Mixstore/StoreBundle/Entity/UsecaseRepository.php create mode 100644 src/Mixstore/StoreBundle/MixstoreStoreBundle.php create mode 100644 src/Mixstore/StoreBundle/Resources/config/routing.yml create mode 100644 src/Mixstore/StoreBundle/Resources/config/services.yml create mode 100644 src/Mixstore/StoreBundle/Resources/views/Package/list.html.twig create mode 100644 src/Mixstore/StoreBundle/Resources/views/Package/list_content.html.twig create mode 100644 src/Mixstore/StoreBundle/Resources/views/Package/view.html.twig create mode 100644 src/Mixstore/StoreBundle/Resources/views/Usecase/list.html.twig create mode 100644 src/Mixstore/StoreBundle/Resources/views/Usecase/list_content.html.twig create mode 100644 src/Mixstore/StoreBundle/Resources/views/Usecase/view.html.twig create mode 100644 src/Mixstore/StoreBundle/Resources/views/upsert-email.txt.twig create mode 100644 src/Mixstore/StoreBundle/Resources/views/upsert.html.twig create mode 100644 src/Mixstore/UserBundle/Controller/BoardController.php create mode 100644 src/Mixstore/UserBundle/Controller/MyAdminController.php create mode 100644 src/Mixstore/UserBundle/DependencyInjection/Configuration.php create mode 100644 src/Mixstore/UserBundle/DependencyInjection/MixstoreUserExtension.php create mode 100644 src/Mixstore/UserBundle/Entity/User.php create mode 100644 src/Mixstore/UserBundle/Form/Type/ProfileFormType.php create mode 100644 src/Mixstore/UserBundle/Form/Type/RegistrationFormType.php create mode 100644 src/Mixstore/UserBundle/MixstoreUserBundle.php create mode 100644 src/Mixstore/UserBundle/Resources/config/config.yml create mode 100644 src/Mixstore/UserBundle/Resources/config/routing.yml create mode 100644 src/Mixstore/UserBundle/Resources/config/services.yml create mode 100644 src/Mixstore/UserBundle/Resources/views/Admin/users.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Board/index.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/ChangePassword/changePassword.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Profile/edit.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Profile/show.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Registration/checkEmail.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Registration/confirmed.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Registration/email.txt.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Registration/register.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Resetting/checkEmail.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Resetting/email.txt.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Resetting/passwordAlreadyRequested.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Resetting/request.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Resetting/reset.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/Security/login.html.twig create mode 100644 src/Mixstore/UserBundle/Resources/views/layout.html.twig create mode 100644 web/.htaccess create mode 100644 web/app.php create mode 100644 web/app_dev.php create mode 100644 web/apple-touch-icon.png create mode 100644 web/config.php create mode 100644 web/favicon.ico create mode 100644 web/mixstore/css/base.css create mode 100644 web/mixstore/css/form.css create mode 100644 web/mixstore/css/static/about.css create mode 100644 web/mixstore/css/static/home.css create mode 100644 web/mixstore/css/static/policy.css create mode 100644 web/mixstore/css/store/table.css create mode 100644 web/mixstore/css/store/upsert.css create mode 100644 web/mixstore/css/store/view-package.css create mode 100644 web/mixstore/css/store/view-usecase.css create mode 100644 web/mixstore/css/summernote.min.css create mode 100644 web/mixstore/css/user/admin.css create mode 100644 web/mixstore/css/user/board.css create mode 100644 web/mixstore/css/user/common.css create mode 100644 web/mixstore/fonts/glyphicons-halflings-regular.eot create mode 100644 web/mixstore/fonts/glyphicons-halflings-regular.svg create mode 100644 web/mixstore/fonts/glyphicons-halflings-regular.ttf create mode 100644 web/mixstore/fonts/glyphicons-halflings-regular.woff create mode 100644 web/mixstore/images/banner.png create mode 100644 web/mixstore/images/favicon.png create mode 100644 web/mixstore/images/iris_pca.png create mode 100644 web/mixstore/images/pkg_banners/.gitignore create mode 100644 web/mixstore/js/stupidtable.min.js create mode 100644 web/mixstore/js/summernote.min.js create mode 100644 web/robots.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0fe0b8c --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +/web/bundles/ +/app/bootstrap.php.cache +/app/cache/* +/app/config/parameters.yml +/app/logs/* +!app/cache/.gitkeep +!app/logs/.gitkeep +/build/ +/vendor/ +/bin/ +*~ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..955248a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,10 @@ +language: php + +php: + - 5.3.3 + - 5.3 + - 5.4 + +before_script: composer install -n + +script: phpunit -c app diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d128d49 --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Benjamin Auder + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README b/README new file mode 100644 index 0000000..faa8be4 --- /dev/null +++ b/README @@ -0,0 +1,12 @@ +mixstore utilise Symfony2 ; organisation des répertoires : + + app/: La configuration de l'application, + src/: Le code PHP du projet, + vendor/: Les bibliothèques tierces, + web/: Le répertoire Web racine. + +Le répertoire Web racine est l'endroit ou se situent tous les fichiers statiques +et publics comme les images, les feuilles de styles et les fichiers javascript. +C'est aussi le dossier contenant le point d'entrée web/app.php + +[Voir http://symfony.com/fr/doc/current/quick_tour/the_architecture.html] diff --git a/TODO b/TODO new file mode 100644 index 0000000..9289471 --- /dev/null +++ b/TODO @@ -0,0 +1,8 @@ +Sure : + - translations + - add defensive checks at many places to avoid ugly error screens (duplicate key, ...etc) + - (re)factor some controllers code + +Maybe : + - redirect after page access http://knplabs.com/blog/2012/01/13/redirect-after-registration-in-symfony2/ + - move assets to bundles instead of web/mixstore diff --git a/app/.htaccess b/app/.htaccess new file mode 100644 index 0000000..fb1de45 --- /dev/null +++ b/app/.htaccess @@ -0,0 +1,7 @@ + + Require all denied + + + Order deny,allow + Deny from all + diff --git a/app/AppCache.php b/app/AppCache.php new file mode 100644 index 0000000..ddb51db --- /dev/null +++ b/app/AppCache.php @@ -0,0 +1,9 @@ +getEnvironment(), array('dev', 'test'))) { + $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); + $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); + $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); + } + + return $bundles; + } + + public function registerContainerConfiguration(LoaderInterface $loader) + { + $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml'); + } +} diff --git a/app/Resources/views/Form/fields.html.twig b/app/Resources/views/Form/fields.html.twig new file mode 100644 index 0000000..90fc47b --- /dev/null +++ b/app/Resources/views/Form/fields.html.twig @@ -0,0 +1,32 @@ +{# Global styles for forms (uniform display) #} + +{% block form_widget_simple %} + {% set type = type|default('text') %} +
+ +
+{% endblock form_widget_simple %} + +{% block form_row %} +{% spaceless %} +
+ {{ form_label(form) }} + {{ form_widget(form) }} + {{ form_errors(form) }} +
+{% endspaceless %} +{% endblock form_row %} + +{% block form_errors %} +{% spaceless %} + {% if errors|length > 0 %} +
+ +
+ {% endif %} +{% endspaceless %} +{% endblock form_errors %} diff --git a/app/Resources/views/base.html.twig b/app/Resources/views/base.html.twig new file mode 100644 index 0000000..a1730a2 --- /dev/null +++ b/app/Resources/views/base.html.twig @@ -0,0 +1,76 @@ + + + + + + {% block title %}mixstore - {% endblock %} + {% block header %} + + + + {% endblock %} + + + + + + + +
+ {% block content %}{% endblock %} +
+ + + +{% block javascripts %} + + +{% endblock %} + + + + diff --git a/app/SymfonyRequirements.php b/app/SymfonyRequirements.php new file mode 100644 index 0000000..fb70f80 --- /dev/null +++ b/app/SymfonyRequirements.php @@ -0,0 +1,687 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/* + * Users of PHP 5.2 should be able to run the requirements checks. + * This is why the file and all classes must be compatible with PHP 5.2+ + * (e.g. not using namespaces and closures). + * + * ************** CAUTION ************** + * + * DO NOT EDIT THIS FILE as it will be overridden by Composer as part of + * the installation/update process. The original file resides in the + * SensioDistributionBundle. + * + * ************** CAUTION ************** + */ + +/** + * Represents a single PHP requirement, e.g. an installed extension. + * It can be a mandatory requirement or an optional recommendation. + * There is a special subclass, named PhpIniRequirement, to check a php.ini configuration. + * + * @author Tobias Schultze + */ +class Requirement +{ + private $fulfilled; + private $testMessage; + private $helpText; + private $helpHtml; + private $optional; + + /** + * Constructor that initializes the requirement. + * + * @param Boolean $fulfilled Whether the requirement is fulfilled + * @param string $testMessage The message for testing the requirement + * @param string $helpHtml The help text formatted in HTML for resolving the problem + * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) + * @param Boolean $optional Whether this is only an optional recommendation not a mandatory requirement + */ + public function __construct($fulfilled, $testMessage, $helpHtml, $helpText = null, $optional = false) + { + $this->fulfilled = (Boolean) $fulfilled; + $this->testMessage = (string) $testMessage; + $this->helpHtml = (string) $helpHtml; + $this->helpText = null === $helpText ? strip_tags($this->helpHtml) : (string) $helpText; + $this->optional = (Boolean) $optional; + } + + /** + * Returns whether the requirement is fulfilled. + * + * @return Boolean true if fulfilled, otherwise false + */ + public function isFulfilled() + { + return $this->fulfilled; + } + + /** + * Returns the message for testing the requirement. + * + * @return string The test message + */ + public function getTestMessage() + { + return $this->testMessage; + } + + /** + * Returns the help text for resolving the problem + * + * @return string The help text + */ + public function getHelpText() + { + return $this->helpText; + } + + /** + * Returns the help text formatted in HTML. + * + * @return string The HTML help + */ + public function getHelpHtml() + { + return $this->helpHtml; + } + + /** + * Returns whether this is only an optional recommendation and not a mandatory requirement. + * + * @return Boolean true if optional, false if mandatory + */ + public function isOptional() + { + return $this->optional; + } +} + +/** + * Represents a PHP requirement in form of a php.ini configuration. + * + * @author Tobias Schultze + */ +class PhpIniRequirement extends Requirement +{ + /** + * Constructor that initializes the requirement. + * + * @param string $cfgName The configuration name used for ini_get() + * @param Boolean|callback $evaluation Either a Boolean indicating whether the configuration should evaluate to true or false, + or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement + * @param Boolean $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. + This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. + Example: You require a config to be true but PHP later removes this config and defaults it to true internally. + * @param string|null $testMessage The message for testing the requirement (when null and $evaluation is a Boolean a default message is derived) + * @param string|null $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a Boolean a default help is derived) + * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) + * @param Boolean $optional Whether this is only an optional recommendation not a mandatory requirement + */ + public function __construct($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null, $optional = false) + { + $cfgValue = ini_get($cfgName); + + if (is_callable($evaluation)) { + if (null === $testMessage || null === $helpHtml) { + throw new InvalidArgumentException('You must provide the parameters testMessage and helpHtml for a callback evaluation.'); + } + + $fulfilled = call_user_func($evaluation, $cfgValue); + } else { + if (null === $testMessage) { + $testMessage = sprintf('%s %s be %s in php.ini', + $cfgName, + $optional ? 'should' : 'must', + $evaluation ? 'enabled' : 'disabled' + ); + } + + if (null === $helpHtml) { + $helpHtml = sprintf('Set %s to %s in php.ini*.', + $cfgName, + $evaluation ? 'on' : 'off' + ); + } + + $fulfilled = $evaluation == $cfgValue; + } + + parent::__construct($fulfilled || ($approveCfgAbsence && false === $cfgValue), $testMessage, $helpHtml, $helpText, $optional); + } +} + +/** + * A RequirementCollection represents a set of Requirement instances. + * + * @author Tobias Schultze + */ +class RequirementCollection implements IteratorAggregate +{ + private $requirements = array(); + + /** + * Gets the current RequirementCollection as an Iterator. + * + * @return Traversable A Traversable interface + */ + public function getIterator() + { + return new ArrayIterator($this->requirements); + } + + /** + * Adds a Requirement. + * + * @param Requirement $requirement A Requirement instance + */ + public function add(Requirement $requirement) + { + $this->requirements[] = $requirement; + } + + /** + * Adds a mandatory requirement. + * + * @param Boolean $fulfilled Whether the requirement is fulfilled + * @param string $testMessage The message for testing the requirement + * @param string $helpHtml The help text formatted in HTML for resolving the problem + * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) + */ + public function addRequirement($fulfilled, $testMessage, $helpHtml, $helpText = null) + { + $this->add(new Requirement($fulfilled, $testMessage, $helpHtml, $helpText, false)); + } + + /** + * Adds an optional recommendation. + * + * @param Boolean $fulfilled Whether the recommendation is fulfilled + * @param string $testMessage The message for testing the recommendation + * @param string $helpHtml The help text formatted in HTML for resolving the problem + * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) + */ + public function addRecommendation($fulfilled, $testMessage, $helpHtml, $helpText = null) + { + $this->add(new Requirement($fulfilled, $testMessage, $helpHtml, $helpText, true)); + } + + /** + * Adds a mandatory requirement in form of a php.ini configuration. + * + * @param string $cfgName The configuration name used for ini_get() + * @param Boolean|callback $evaluation Either a Boolean indicating whether the configuration should evaluate to true or false, + or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement + * @param Boolean $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. + This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. + Example: You require a config to be true but PHP later removes this config and defaults it to true internally. + * @param string $testMessage The message for testing the requirement (when null and $evaluation is a Boolean a default message is derived) + * @param string $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a Boolean a default help is derived) + * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) + */ + public function addPhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null) + { + $this->add(new PhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence, $testMessage, $helpHtml, $helpText, false)); + } + + /** + * Adds an optional recommendation in form of a php.ini configuration. + * + * @param string $cfgName The configuration name used for ini_get() + * @param Boolean|callback $evaluation Either a Boolean indicating whether the configuration should evaluate to true or false, + or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement + * @param Boolean $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. + This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. + Example: You require a config to be true but PHP later removes this config and defaults it to true internally. + * @param string $testMessage The message for testing the requirement (when null and $evaluation is a Boolean a default message is derived) + * @param string $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a Boolean a default help is derived) + * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) + */ + public function addPhpIniRecommendation($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null) + { + $this->add(new PhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence, $testMessage, $helpHtml, $helpText, true)); + } + + /** + * Adds a requirement collection to the current set of requirements. + * + * @param RequirementCollection $collection A RequirementCollection instance + */ + public function addCollection(RequirementCollection $collection) + { + $this->requirements = array_merge($this->requirements, $collection->all()); + } + + /** + * Returns both requirements and recommendations. + * + * @return array Array of Requirement instances + */ + public function all() + { + return $this->requirements; + } + + /** + * Returns all mandatory requirements. + * + * @return array Array of Requirement instances + */ + public function getRequirements() + { + $array = array(); + foreach ($this->requirements as $req) { + if (!$req->isOptional()) { + $array[] = $req; + } + } + + return $array; + } + + /** + * Returns the mandatory requirements that were not met. + * + * @return array Array of Requirement instances + */ + public function getFailedRequirements() + { + $array = array(); + foreach ($this->requirements as $req) { + if (!$req->isFulfilled() && !$req->isOptional()) { + $array[] = $req; + } + } + + return $array; + } + + /** + * Returns all optional recommendations. + * + * @return array Array of Requirement instances + */ + public function getRecommendations() + { + $array = array(); + foreach ($this->requirements as $req) { + if ($req->isOptional()) { + $array[] = $req; + } + } + + return $array; + } + + /** + * Returns the recommendations that were not met. + * + * @return array Array of Requirement instances + */ + public function getFailedRecommendations() + { + $array = array(); + foreach ($this->requirements as $req) { + if (!$req->isFulfilled() && $req->isOptional()) { + $array[] = $req; + } + } + + return $array; + } + + /** + * Returns whether a php.ini configuration is not correct. + * + * @return Boolean php.ini configuration problem? + */ + public function hasPhpIniConfigIssue() + { + foreach ($this->requirements as $req) { + if (!$req->isFulfilled() && $req instanceof PhpIniRequirement) { + return true; + } + } + + return false; + } + + /** + * Returns the PHP configuration file (php.ini) path. + * + * @return string|false php.ini file path + */ + public function getPhpIniConfigPath() + { + return get_cfg_var('cfg_file_path'); + } +} + +/** + * This class specifies all requirements and optional recommendations that + * are necessary to run the Symfony Standard Edition. + * + * @author Tobias Schultze + * @author Fabien Potencier + */ +class SymfonyRequirements extends RequirementCollection +{ + const REQUIRED_PHP_VERSION = '5.3.3'; + + /** + * Constructor that initializes the requirements. + */ + public function __construct() + { + /* mandatory requirements follow */ + + $installedPhpVersion = phpversion(); + + $this->addRequirement( + version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>='), + sprintf('PHP version must be at least %s (%s installed)', self::REQUIRED_PHP_VERSION, $installedPhpVersion), + sprintf('You are running PHP version "%s", but Symfony needs at least PHP "%s" to run. + Before using Symfony, upgrade your PHP installation, preferably to the latest version.', + $installedPhpVersion, self::REQUIRED_PHP_VERSION), + sprintf('Install PHP %s or newer (installed version is %s)', self::REQUIRED_PHP_VERSION, $installedPhpVersion) + ); + + $this->addRequirement( + version_compare($installedPhpVersion, '5.3.16', '!='), + 'PHP version must not be 5.3.16 as Symfony won\'t work properly with it', + 'Install PHP 5.3.17 or newer (or downgrade to an earlier PHP version)' + ); + + $this->addRequirement( + is_dir(__DIR__.'/../vendor/composer'), + 'Vendor libraries must be installed', + 'Vendor libraries are missing. Install composer following instructions from http://getcomposer.org/. ' . + 'Then run "php composer.phar install" to install them.' + ); + + $baseDir = basename(__DIR__); + + $this->addRequirement( + is_writable(__DIR__.'/cache'), + "$baseDir/cache/ directory must be writable", + "Change the permissions of the \"$baseDir/cache/\" directory so that the web server can write into it." + ); + + $this->addRequirement( + is_writable(__DIR__.'/logs'), + "$baseDir/logs/ directory must be writable", + "Change the permissions of the \"$baseDir/logs/\" directory so that the web server can write into it." + ); + + $this->addPhpIniRequirement( + 'date.timezone', true, false, + 'date.timezone setting must be set', + 'Set the "date.timezone" setting in php.ini* (like Europe/Paris).' + ); + + if (version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>=')) { + $timezones = array(); + foreach (DateTimeZone::listAbbreviations() as $abbreviations) { + foreach ($abbreviations as $abbreviation) { + $timezones[$abbreviation['timezone_id']] = true; + } + } + + $this->addRequirement( + isset($timezones[date_default_timezone_get()]), + sprintf('Configured default timezone "%s" must be supported by your installation of PHP', date_default_timezone_get()), + 'Your default timezone is not supported by PHP. Check for typos in your php.ini file and have a look at the list of deprecated timezones at http://php.net/manual/en/timezones.others.php.' + ); + } + + $this->addRequirement( + function_exists('json_encode'), + 'json_encode() must be available', + 'Install and enable the JSON extension.' + ); + + $this->addRequirement( + function_exists('session_start'), + 'session_start() must be available', + 'Install and enable the session extension.' + ); + + $this->addRequirement( + function_exists('ctype_alpha'), + 'ctype_alpha() must be available', + 'Install and enable the ctype extension.' + ); + + $this->addRequirement( + function_exists('token_get_all'), + 'token_get_all() must be available', + 'Install and enable the Tokenizer extension.' + ); + + $this->addRequirement( + function_exists('simplexml_import_dom'), + 'simplexml_import_dom() must be available', + 'Install and enable the SimpleXML extension.' + ); + + if (function_exists('apc_store') && ini_get('apc.enabled')) { + if (version_compare($installedPhpVersion, '5.4.0', '>=')) { + $this->addRequirement( + version_compare(phpversion('apc'), '3.1.13', '>='), + 'APC version must be at least 3.1.13 when using PHP 5.4', + 'Upgrade your APC extension (3.1.13+).' + ); + } else { + $this->addRequirement( + version_compare(phpversion('apc'), '3.0.17', '>='), + 'APC version must be at least 3.0.17', + 'Upgrade your APC extension (3.0.17+).' + ); + } + } + + $this->addPhpIniRequirement('detect_unicode', false); + + if (extension_loaded('suhosin')) { + $this->addPhpIniRequirement( + 'suhosin.executor.include.whitelist', + create_function('$cfgValue', 'return false !== stripos($cfgValue, "phar");'), + false, + 'suhosin.executor.include.whitelist must be configured correctly in php.ini', + 'Add "phar" to suhosin.executor.include.whitelist in php.ini*.' + ); + } + + if (extension_loaded('xdebug')) { + $this->addPhpIniRequirement( + 'xdebug.show_exception_trace', false, true + ); + + $this->addPhpIniRequirement( + 'xdebug.scream', false, true + ); + + $this->addPhpIniRecommendation( + 'xdebug.max_nesting_level', + create_function('$cfgValue', 'return $cfgValue > 100;'), + true, + 'xdebug.max_nesting_level should be above 100 in php.ini', + 'Set "xdebug.max_nesting_level" to e.g. "250" in php.ini* to stop Xdebug\'s infinite recursion protection erroneously throwing a fatal error in your project.' + ); + } + + $pcreVersion = defined('PCRE_VERSION') ? (float) PCRE_VERSION : null; + + $this->addRequirement( + null !== $pcreVersion, + 'PCRE extension must be available', + 'Install the PCRE extension (version 8.0+).' + ); + + /* optional recommendations follow */ + + $this->addRecommendation( + file_get_contents(__FILE__) === file_get_contents(__DIR__.'/../vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Resources/skeleton/app/SymfonyRequirements.php'), + 'Requirements file should be up-to-date', + 'Your requirements file is outdated. Run composer install and re-check your configuration.' + ); + + $this->addRecommendation( + version_compare($installedPhpVersion, '5.3.4', '>='), + 'You should use at least PHP 5.3.4 due to PHP bug #52083 in earlier versions', + 'Your project might malfunction randomly due to PHP bug #52083 ("Notice: Trying to get property of non-object"). Install PHP 5.3.4 or newer.' + ); + + $this->addRecommendation( + version_compare($installedPhpVersion, '5.3.8', '>='), + 'When using annotations you should have at least PHP 5.3.8 due to PHP bug #55156', + 'Install PHP 5.3.8 or newer if your project uses annotations.' + ); + + $this->addRecommendation( + version_compare($installedPhpVersion, '5.4.0', '!='), + 'You should not use PHP 5.4.0 due to the PHP bug #61453', + 'Your project might not work properly due to the PHP bug #61453 ("Cannot dump definitions which have method calls"). Install PHP 5.4.1 or newer.' + ); + + $this->addRecommendation( + version_compare($installedPhpVersion, '5.4.11', '>='), + 'When using the logout handler from the Symfony Security Component, you should have at least PHP 5.4.11 due to PHP bug #63379 (as a workaround, you can also set invalidate_session to false in the security logout handler configuration)', + 'Install PHP 5.4.11 or newer if your project uses the logout handler from the Symfony Security Component.' + ); + + $this->addRecommendation( + (version_compare($installedPhpVersion, '5.3.18', '>=') && version_compare($installedPhpVersion, '5.4.0', '<')) + || + version_compare($installedPhpVersion, '5.4.8', '>='), + 'You should use PHP 5.3.18+ or PHP 5.4.8+ to always get nice error messages for fatal errors in the development environment due to PHP bug #61767/#60909', + 'Install PHP 5.3.18+ or PHP 5.4.8+ if you want nice error messages for all fatal errors in the development environment.' + ); + + if (null !== $pcreVersion) { + $this->addRecommendation( + $pcreVersion >= 8.0, + sprintf('PCRE extension should be at least version 8.0 (%s installed)', $pcreVersion), + 'PCRE 8.0+ is preconfigured in PHP since 5.3.2 but you are using an outdated version of it. Symfony probably works anyway but it is recommended to upgrade your PCRE extension.' + ); + } + + $this->addRecommendation( + class_exists('DomDocument'), + 'PHP-XML module should be installed', + 'Install and enable the PHP-XML module.' + ); + + $this->addRecommendation( + function_exists('mb_strlen'), + 'mb_strlen() should be available', + 'Install and enable the mbstring extension.' + ); + + $this->addRecommendation( + function_exists('iconv'), + 'iconv() should be available', + 'Install and enable the iconv extension.' + ); + + $this->addRecommendation( + function_exists('utf8_decode'), + 'utf8_decode() should be available', + 'Install and enable the XML extension.' + ); + + if (!defined('PHP_WINDOWS_VERSION_BUILD')) { + $this->addRecommendation( + function_exists('posix_isatty'), + 'posix_isatty() should be available', + 'Install and enable the php_posix extension (used to colorize the CLI output).' + ); + } + + $this->addRecommendation( + class_exists('Locale'), + 'intl extension should be available', + 'Install and enable the intl extension (used for validators).' + ); + + if (class_exists('Collator')) { + $this->addRecommendation( + null !== new Collator('fr_FR'), + 'intl extension should be correctly configured', + 'The intl extension does not behave properly. This problem is typical on PHP 5.3.X x64 WIN builds.' + ); + } + + if (class_exists('Locale')) { + if (defined('INTL_ICU_VERSION')) { + $version = INTL_ICU_VERSION; + } else { + $reflector = new ReflectionExtension('intl'); + + ob_start(); + $reflector->info(); + $output = strip_tags(ob_get_clean()); + + preg_match('/^ICU version +(?:=> )?(.*)$/m', $output, $matches); + $version = $matches[1]; + } + + $this->addRecommendation( + version_compare($version, '4.0', '>='), + 'intl ICU version should be at least 4+', + 'Upgrade your intl extension with a newer ICU version (4+).' + ); + } + + $accelerator = + (extension_loaded('eaccelerator') && ini_get('eaccelerator.enable')) + || + (extension_loaded('apc') && ini_get('apc.enabled')) + || + (extension_loaded('Zend OPcache') && ini_get('opcache.enable')) + || + (extension_loaded('xcache') && ini_get('xcache.cacher')) + || + (extension_loaded('wincache') && ini_get('wincache.ocenabled')) + ; + + $this->addRecommendation( + $accelerator, + 'a PHP accelerator should be installed', + 'Install and enable a PHP accelerator like APC (highly recommended).' + ); + + $this->addPhpIniRecommendation('short_open_tag', false); + + $this->addPhpIniRecommendation('magic_quotes_gpc', false, true); + + $this->addPhpIniRecommendation('register_globals', false, true); + + $this->addPhpIniRecommendation('session.auto_start', false); + + $this->addRecommendation( + class_exists('PDO'), + 'PDO should be installed', + 'Install PDO (mandatory for Doctrine).' + ); + + if (class_exists('PDO')) { + $drivers = PDO::getAvailableDrivers(); + $this->addRecommendation( + count($drivers), + sprintf('PDO should have some drivers installed (currently available: %s)', count($drivers) ? implode(', ', $drivers) : 'none'), + 'Install PDO drivers (mandatory for Doctrine).' + ); + } + } +} diff --git a/app/autoload.php b/app/autoload.php new file mode 100644 index 0000000..70526bb --- /dev/null +++ b/app/autoload.php @@ -0,0 +1,13 @@ +getPhpIniConfigPath(); + +echo "********************************\n"; +echo "* *\n"; +echo "* Symfony requirements check *\n"; +echo "* *\n"; +echo "********************************\n\n"; + +echo $iniPath ? sprintf("* Configuration file used by PHP: %s\n\n", $iniPath) : "* WARNING: No configuration file (php.ini) used by PHP!\n\n"; + +echo "** ATTENTION **\n"; +echo "* The PHP CLI can use a different php.ini file\n"; +echo "* than the one used with your web server.\n"; +if ('\\' == DIRECTORY_SEPARATOR) { + echo "* (especially on the Windows platform)\n"; +} +echo "* To be on the safe side, please also launch the requirements check\n"; +echo "* from your web server using the web/config.php script.\n"; + +echo_title('Mandatory requirements'); + +$checkPassed = true; +foreach ($symfonyRequirements->getRequirements() as $req) { + /** @var $req Requirement */ + echo_requirement($req); + if (!$req->isFulfilled()) { + $checkPassed = false; + } +} + +echo_title('Optional recommendations'); + +foreach ($symfonyRequirements->getRecommendations() as $req) { + echo_requirement($req); +} + +exit($checkPassed ? 0 : 1); + +/** + * Prints a Requirement instance + */ +function echo_requirement(Requirement $requirement) +{ + $result = $requirement->isFulfilled() ? 'OK' : ($requirement->isOptional() ? 'WARNING' : 'ERROR'); + echo ' ' . str_pad($result, 9); + echo $requirement->getTestMessage() . "\n"; + + if (!$requirement->isFulfilled()) { + echo sprintf(" %s\n\n", $requirement->getHelpText()); + } +} + +function echo_title($title) +{ + echo "\n** $title **\n\n"; +} diff --git a/app/config/config.yml b/app/config/config.yml new file mode 100644 index 0000000..1972a0e --- /dev/null +++ b/app/config/config.yml @@ -0,0 +1,83 @@ +imports: + - { resource: parameters.yml } + - { resource: security.yml } + +framework: + #esi: ~ + translator: { fallback: "%locale%" } + secret: "%secret%" + router: + resource: "%kernel.root_dir%/config/routing.yml" + strict_requirements: ~ + form: ~ + csrf_protection: ~ + validation: { enable_annotations: true } + templating: + engines: ['twig'] + #assets_base_url: './' + #assets_version: SomeVersionScheme + default_locale: "%locale%" + trusted_hosts: ~ + trusted_proxies: ~ + session: + # handler_id set to null will use default session handler from php.ini + handler_id: ~ + fragments: ~ + http_method_override: true + +# Twig Configuration +twig: + debug: "%kernel.debug%" + strict_variables: "%kernel.debug%" + +# Assetic Configuration +assetic: + debug: "%kernel.debug%" + use_controller: false + bundles: [ ] + #java: /usr/bin/java + filters: + cssrewrite: ~ + #closure: + # jar: "%kernel.root_dir%/Resources/java/compiler.jar" + #yui_css: + # jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar" + +# Doctrine Configuration +doctrine: + dbal: + driver: "%database_driver%" + host: "%database_host%" + port: "%database_port%" + dbname: "%database_name%" + user: "%database_user%" + password: "%database_password%" + charset: UTF8 + # if using pdo_sqlite as your database driver, add the path in parameters.yml + # e.g. database_path: "%kernel.root_dir%/data/data.db3" + # path: "%database_path%" + + orm: + auto_generate_proxy_classes: "%kernel.debug%" + auto_mapping: true + +# Swiftmailer Configuration +swiftmailer: + transport: "%mailer_transport%" + host: "%mailer_host%" + username: "%mailer_user%" + password: "%mailer_password%" + spool: { type: memory } + +fos_user: + db_driver: orm + firewall_name: main + user_class: Mixstore\UserBundle\Entity\User + registration: + form: + type: mixstore_user_registration + validation_groups: [MixstoreRegistration] + profile: + form: + type: mixstore_user_profile + validation_groups: [MixstoreProfile] diff --git a/app/config/config_dev.yml b/app/config/config_dev.yml new file mode 100644 index 0000000..914c34a --- /dev/null +++ b/app/config/config_dev.yml @@ -0,0 +1,36 @@ +imports: + - { resource: config.yml } + +framework: + router: + resource: "%kernel.root_dir%/config/routing_dev.yml" + strict_requirements: true + profiler: { only_exceptions: false } + +web_profiler: + toolbar: true + intercept_redirects: false + +monolog: + handlers: + main: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + console: + type: console + bubble: false + # uncomment to get logging in your browser + # you may have to allow bigger header sizes in your Web server configuration + #firephp: + # type: firephp + # level: info + #chromephp: + # type: chromephp + # level: info + +assetic: + use_controller: true + +#swiftmailer: +# delivery_address: me@example.com diff --git a/app/config/config_prod.yml b/app/config/config_prod.yml new file mode 100644 index 0000000..342837a --- /dev/null +++ b/app/config/config_prod.yml @@ -0,0 +1,25 @@ +imports: + - { resource: config.yml } + +#framework: +# validation: +# cache: apc + +#doctrine: +# orm: +# metadata_cache_driver: apc +# result_cache_driver: apc +# query_cache_driver: apc + +monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + nested: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + console: + type: console diff --git a/app/config/config_test.yml b/app/config/config_test.yml new file mode 100644 index 0000000..2f6d925 --- /dev/null +++ b/app/config/config_test.yml @@ -0,0 +1,16 @@ +imports: + - { resource: config_dev.yml } + +framework: + test: ~ + session: + storage_id: session.storage.mock_file + profiler: + collect: false + +web_profiler: + toolbar: false + intercept_redirects: false + +swiftmailer: + disable_delivery: true diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist new file mode 100644 index 0000000..8b317c2 --- /dev/null +++ b/app/config/parameters.yml.dist @@ -0,0 +1,15 @@ +parameters: + database_driver: pdo_mysql + database_host: 127.0.0.1 + database_port: ~ + database_name: symfony + database_user: root + database_password: ~ + + mailer_transport: smtp + mailer_host: 127.0.0.1 + mailer_user: ~ + mailer_password: ~ + + locale: en + secret: ThisTokenIsNotSoSecretChangeIt diff --git a/app/config/routing.yml b/app/config/routing.yml new file mode 100644 index 0000000..5b942db --- /dev/null +++ b/app/config/routing.yml @@ -0,0 +1,8 @@ +mixstore_static: + resource: "@MixstoreStaticBundle/Resources/config/routing.yml" + +mixstore_store: + resource: "@MixstoreStoreBundle/Resources/config/routing.yml" + +mixstore_user: + resource: "@MixstoreUserBundle/Resources/config/routing.yml" diff --git a/app/config/routing_dev.yml b/app/config/routing_dev.yml new file mode 100644 index 0000000..ff93a02 --- /dev/null +++ b/app/config/routing_dev.yml @@ -0,0 +1,14 @@ +_wdt: + resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml" + prefix: /_wdt + +_profiler: + resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" + prefix: /_profiler + +_configurator: + resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml" + prefix: /_configurator + +_main: + resource: routing.yml diff --git a/app/config/security.yml b/app/config/security.yml new file mode 100644 index 0000000..65642a4 --- /dev/null +++ b/app/config/security.yml @@ -0,0 +1,37 @@ +security: + encoders: + FOS\UserBundle\Model\UserInterface: sha512 + + role_hierarchy: + ROLE_ADMIN: ROLE_USER + ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] + + providers: + fos_userbundle: + id: fos_user.user_provider.username + + firewalls: + main: + pattern: ^/ + form_login: + provider: fos_userbundle + csrf_provider: form.csrf_provider + login_path: fos_user_security_login + check_path: fos_user_security_check + #http://fr.openclassrooms.com/forum/sujet/redirection-after-login-fosuser-96549 + always_use_default_target_path: true + default_target_path: /board + logout: + path: /security/logout + target: / + anonymous: true + dev: + pattern: ^/(_(profiler|wdt)|css|images|js)/ + security: false + + access_control: + - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } + - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } + - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } + - { path: ^/admin/, role: ROLE_ADMIN } + #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https } diff --git a/app/console b/app/console new file mode 100755 index 0000000..fa6a36e --- /dev/null +++ b/app/console @@ -0,0 +1,27 @@ +#!/usr/bin/env php +getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); +$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod'; + +if ($debug) { + Debug::enable(); +} + +$kernel = new AppKernel($env, $debug); +$application = new Application($kernel); +$application->run($input); diff --git a/app/logs/.gitkeep b/app/logs/.gitkeep new file mode 100755 index 0000000..e69de29 diff --git a/app/phpunit.xml.dist b/app/phpunit.xml.dist new file mode 100644 index 0000000..82a3a08 --- /dev/null +++ b/app/phpunit.xml.dist @@ -0,0 +1,41 @@ + + + + + + + + ../src/*/*Bundle/Tests + ../src/*/Bundle/*Bundle/Tests + + + + + + + + ../src + + ../src/*/*Bundle/Resources + ../src/*/*Bundle/Tests + ../src/*/Bundle/*Bundle/Resources + ../src/*/Bundle/*Bundle/Tests + + + + + diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..f3dc0d5 --- /dev/null +++ b/composer.json @@ -0,0 +1,53 @@ +{ + "name": "symfony/framework-standard-edition", + "license": "MIT", + "type": "project", + "description": "The \"Symfony Standard Edition\" distribution", + "autoload": { + "psr-0": { "": "src/" } + }, + "require": { + "php": ">=5.3.3", + "symfony/symfony": "~2.4", + "doctrine/orm": "~2.2,>=2.2.3", + "doctrine/doctrine-bundle": "~1.2", + "twig/extensions": "~1.0", + "symfony/assetic-bundle": "~2.3", + "symfony/swiftmailer-bundle": "~2.3", + "symfony/monolog-bundle": "~2.4", + "sensio/distribution-bundle": "~2.3", + "sensio/framework-extra-bundle": "~3.0", + "sensio/generator-bundle": "~2.3", + "incenteev/composer-parameter-handler": "~2.0", + "friendsofsymfony/user-bundle": "~2.0@dev" + }, + "scripts": { + "post-install-cmd": [ + "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" + ], + "post-update-cmd": [ + "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" + ] + }, + "config": { + "bin-dir": "bin" + }, + "extra": { + "symfony-app-dir": "app", + "symfony-web-dir": "web", + "incenteev-parameters": { + "file": "app/config/parameters.yml" + }, + "branch-alias": { + "dev-master": "2.4-dev" + } + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..648c638 --- /dev/null +++ b/composer.lock @@ -0,0 +1,1657 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "297297b8355018bf874ad9e6c8129078", + "packages": [ + { + "name": "doctrine/annotations", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "d9b1a37e9351ddde1f19f09a02e3d6ee92e82efd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/d9b1a37e9351ddde1f19f09a02e3d6ee92e82efd", + "reference": "d9b1a37e9351ddde1f19f09a02e3d6ee92e82efd", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": ">=5.3.2" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Annotations\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2014-07-06 15:52:21" + }, + { + "name": "doctrine/cache", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "e16d7adf45664a50fa86f515b6d5e7f670130449" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/e16d7adf45664a50fa86f515b6d5e7f670130449", + "reference": "e16d7adf45664a50fa86f515b6d5e7f670130449", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "phpunit/phpunit": ">=3.7", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Cache\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2013-10-25 19:04:14" + }, + { + "name": "doctrine/collections", + "version": "v1.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/b99c5c46c87126201899afe88ec490a25eedd6a2", + "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan H. Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2014-02-03 23:07:43" + }, + { + "name": "doctrine/common", + "version": "v2.4.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/5db6ab40e4c531f14dad4ca96a394dfce5d4255b", + "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~3.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2014-05-21 19:28:51" + }, + { + "name": "doctrine/dbal", + "version": "v2.4.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "fec965d330c958e175c39e61c3f6751955af32d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/fec965d330c958e175c39e61c3f6751955af32d0", + "reference": "fec965d330c958e175c39e61c3f6751955af32d0", + "shasum": "" + }, + "require": { + "doctrine/common": "~2.4", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*", + "symfony/console": "~2.0" + }, + "suggest": { + "symfony/console": "Allows use of the command line interface" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + } + ], + "description": "Database Abstraction Layer", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "persistence", + "queryobject" + ], + "time": "2014-01-01 16:43:57" + }, + { + "name": "doctrine/doctrine-bundle", + "version": "v1.2.0", + "target-dir": "Doctrine/Bundle/DoctrineBundle", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineBundle.git", + "reference": "765b0d87fcc3e839c74817b7211258cbef3a4fb9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/765b0d87fcc3e839c74817b7211258cbef3a4fb9", + "reference": "765b0d87fcc3e839c74817b7211258cbef3a4fb9", + "shasum": "" + }, + "require": { + "doctrine/dbal": ">=2.2,<2.5-dev", + "jdorn/sql-formatter": "~1.1", + "php": ">=5.3.2", + "symfony/doctrine-bridge": "~2.2", + "symfony/framework-bundle": "~2.2" + }, + "require-dev": { + "doctrine/orm": ">=2.2,<2.5-dev", + "symfony/validator": "~2.2", + "symfony/yaml": "~2.2" + }, + "suggest": { + "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", + "symfony/web-profiler-bundle": "to use the data collector" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Bundle\\DoctrineBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + } + ], + "description": "Symfony DoctrineBundle", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "orm", + "persistence" + ], + "time": "2013-03-25 20:13:59" + }, + { + "name": "doctrine/inflector", + "version": "v1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/54b8333d2a5682afdc690060c1cf384ba9f47f08", + "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluarlize", + "singuarlize", + "string" + ], + "time": "2013-01-10 21:49:15" + }, + { + "name": "doctrine/lexer", + "version": "v1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/2f708a85bb3aab5d99dab8be435abd73e0b18acb", + "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2013-01-12 18:59:04" + }, + { + "name": "doctrine/orm", + "version": "v2.4.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/doctrine2.git", + "reference": "fc19c3b53dcd00e6584db40669fdd699c4671f97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/fc19c3b53dcd00e6584db40669fdd699c4671f97", + "reference": "fc19c3b53dcd00e6584db40669fdd699c4671f97", + "shasum": "" + }, + "require": { + "doctrine/collections": "~1.1", + "doctrine/dbal": "~2.4", + "ext-pdo": "*", + "php": ">=5.3.2", + "symfony/console": "~2.0" + }, + "require-dev": { + "satooshi/php-coveralls": "dev-master", + "symfony/yaml": "~2.1" + }, + "suggest": { + "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" + }, + "bin": [ + "bin/doctrine", + "bin/doctrine.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\ORM\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + } + ], + "description": "Object-Relational-Mapper for PHP", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "orm" + ], + "time": "2014-07-11 03:05:53" + }, + { + "name": "friendsofsymfony/user-bundle", + "version": "dev-master", + "target-dir": "FOS/UserBundle", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfSymfony/FOSUserBundle.git", + "reference": "ef7ca325929ff102fff521653a2e3b88c7a40361" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/ef7ca325929ff102fff521653a2e3b88c7a40361", + "reference": "ef7ca325929ff102fff521653a2e3b88c7a40361", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "symfony/form": "~2.1", + "symfony/framework-bundle": "~2.1", + "symfony/security-bundle": "~2.1" + }, + "require-dev": { + "doctrine/doctrine-bundle": "*", + "swiftmailer/swiftmailer": ">=4.3, <6.0", + "symfony/validator": "~2.1", + "symfony/yaml": "~2.1", + "twig/twig": "~1.5", + "willdurand/propel-typehintable-behavior": "dev-master" + }, + "suggest": { + "willdurand/propel-typehintable-behavior": "Needed when using the propel implementation" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "FOS\\UserBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christophe Coevoet", + "email": "stof@notk.org" + }, + { + "name": "Thibault Duplessis", + "email": "thibault.duplessis@gmail.com", + "homepage": "http://ornicar.github.com" + }, + { + "name": "FriendsOfSymfony Community", + "homepage": "https://github.com/friendsofsymfony/FOSUserBundle/contributors" + } + ], + "description": "Symfony FOSUserBundle", + "homepage": "http://friendsofsymfony.github.com", + "keywords": [ + "User management" + ], + "time": "2014-07-09 10:33:42" + }, + { + "name": "incenteev/composer-parameter-handler", + "version": "v2.1.0", + "target-dir": "Incenteev/ParameterHandler", + "source": { + "type": "git", + "url": "https://github.com/Incenteev/ParameterHandler.git", + "reference": "143272a0a09c62616a3c8011fc165a10c6b35241" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/143272a0a09c62616a3c8011fc165a10c6b35241", + "reference": "143272a0a09c62616a3c8011fc165a10c6b35241", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/yaml": "~2.0" + }, + "require-dev": { + "composer/composer": "1.0.*@dev", + "phpspec/prophecy-phpunit": "~1.0", + "symfony/filesystem": "~2.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Incenteev\\ParameterHandler": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christophe Coevoet", + "email": "stof@notk.org" + } + ], + "description": "Composer script handling your ignored parameter file", + "homepage": "https://github.com/Incenteev/ParameterHandler", + "keywords": [ + "parameters management" + ], + "time": "2013-12-07 10:10:39" + }, + { + "name": "jdorn/sql-formatter", + "version": "v1.2.17", + "source": { + "type": "git", + "url": "https://github.com/jdorn/sql-formatter.git", + "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc", + "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "lib" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "http://jeremydorn.com/" + } + ], + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/jdorn/sql-formatter/", + "keywords": [ + "highlight", + "sql" + ], + "time": "2014-01-12 16:20:24" + }, + { + "name": "kriswallsmith/assetic", + "version": "v1.1.2", + "source": { + "type": "git", + "url": "https://github.com/kriswallsmith/assetic.git", + "reference": "735cffd3982c6e8cdebe292d5db39d077f65890f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/735cffd3982c6e8cdebe292d5db39d077f65890f", + "reference": "735cffd3982c6e8cdebe292d5db39d077f65890f", + "shasum": "" + }, + "require": { + "php": ">=5.3.1", + "symfony/process": "~2.1" + }, + "require-dev": { + "cssmin/cssmin": "*", + "joliclic/javascript-packer": "*", + "kamicane/packager": "*", + "leafo/lessphp": "*", + "leafo/scssphp": "*", + "leafo/scssphp-compass": "*", + "mrclay/minify": "*", + "phpunit/phpunit": "~3.7", + "ptachoire/cssembed": "*", + "twig/twig": "~1.6" + }, + "suggest": { + "leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler", + "leafo/scssphp": "Assetic provides the integration with the scssphp SCSS compiler", + "leafo/scssphp-compass": "Assetic provides the integration with the SCSS compass plugin", + "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris", + "twig/twig": "Assetic provides the integration with the Twig templating engine" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "Assetic": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kris Wallsmith", + "email": "kris.wallsmith@gmail.com", + "homepage": "http://kriswallsmith.net/" + } + ], + "description": "Asset Management for PHP", + "homepage": "https://github.com/kriswallsmith/assetic", + "keywords": [ + "assets", + "compression", + "minification" + ], + "time": "2013-07-19 00:03:27" + }, + { + "name": "monolog/monolog", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "25b16e801979098cb2f120e697bfce454b18bf23" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/25b16e801979098cb2f120e697bfce454b18bf23", + "reference": "25b16e801979098cb2f120e697bfce454b18bf23", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "require-dev": { + "aws/aws-sdk-php": "~2.4, >2.4.8", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "phpunit/phpunit": "~3.7.0", + "raven/raven": "~0.5", + "ruflin/elastica": "0.90.*" + }, + "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", + "raven/raven": "Allow sending log messages to a Sentry server", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be", + "role": "Developer" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2014-06-04 16:30:04" + }, + { + "name": "psr/log", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", + "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-0": { + "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", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2012-12-21 11:40:51" + }, + { + "name": "sensio/distribution-bundle", + "version": "v2.3.4", + "target-dir": "Sensio/Bundle/DistributionBundle", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", + "reference": "66df91b4bd637a83299d8072aed3658bfd3b3021" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/66df91b4bd637a83299d8072aed3658bfd3b3021", + "reference": "66df91b4bd637a83299d8072aed3658bfd3b3021", + "shasum": "" + }, + "require": { + "symfony/framework-bundle": "~2.2" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Sensio\\Bundle\\DistributionBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "The base bundle for the Symfony Distributions", + "keywords": [ + "configuration", + "distribution" + ], + "time": "2013-08-22 05:04:53" + }, + { + "name": "sensio/framework-extra-bundle", + "version": "v3.0.1", + "target-dir": "Sensio/Bundle/FrameworkExtraBundle", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", + "reference": "dbc1e5aa830f3bf8063b29102add3c1e476d616e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/dbc1e5aa830f3bf8063b29102add3c1e476d616e", + "reference": "dbc1e5aa830f3bf8063b29102add3c1e476d616e", + "shasum": "" + }, + "require": { + "doctrine/common": "~2.2", + "symfony/framework-bundle": "~2.5" + }, + "require-dev": { + "symfony/expression-language": "~2.4", + "symfony/security-bundle": "~2.4" + }, + "suggest": { + "symfony/expression-language": "", + "symfony/security-bundle": "" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Sensio\\Bundle\\FrameworkExtraBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "This bundle provides a way to configure your controllers with annotations", + "keywords": [ + "annotations", + "controllers" + ], + "time": "2014-05-22 23:27:44" + }, + { + "name": "sensio/generator-bundle", + "version": "v2.3.5", + "target-dir": "Sensio/Bundle/GeneratorBundle", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", + "reference": "8b7a33aa3d22388443b6de0b0cf184122e9f60d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/8b7a33aa3d22388443b6de0b0cf184122e9f60d2", + "reference": "8b7a33aa3d22388443b6de0b0cf184122e9f60d2", + "shasum": "" + }, + "require": { + "symfony/console": "~2.0", + "symfony/framework-bundle": "~2.2" + }, + "require-dev": { + "doctrine/orm": "~2.2,>=2.2.3", + "symfony/doctrine-bridge": "~2.2", + "twig/twig": "~1.11" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Sensio\\Bundle\\GeneratorBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "This bundle generates code for you", + "time": "2014-04-28 14:01:06" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "2b9af56cc676c338d52fca4c657e5bdff73bb7af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/2b9af56cc676c338d52fca4c657e5bdff73bb7af", + "reference": "2b9af56cc676c338d52fca4c657e5bdff73bb7af", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "require-dev": { + "mockery/mockery": "~0.9.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.2-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Chris Corbyn" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", + "keywords": [ + "mail", + "mailer" + ], + "time": "2014-06-13 11:44:54" + }, + { + "name": "symfony/assetic-bundle", + "version": "v2.3.0", + "target-dir": "Symfony/Bundle/AsseticBundle", + "source": { + "type": "git", + "url": "https://github.com/symfony/AsseticBundle.git", + "reference": "146dd3cb46b302bd471560471c6aaa930483dac1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/AsseticBundle/zipball/146dd3cb46b302bd471560471c6aaa930483dac1", + "reference": "146dd3cb46b302bd471560471c6aaa930483dac1", + "shasum": "" + }, + "require": { + "kriswallsmith/assetic": "~1.1", + "php": ">=5.3.0", + "symfony/framework-bundle": "~2.1" + }, + "require-dev": { + "symfony/class-loader": "~2.1", + "symfony/console": "~2.1", + "symfony/css-selector": "~2.1", + "symfony/dom-crawler": "~2.1", + "symfony/form": "~2.1", + "symfony/twig-bundle": "~2.1", + "symfony/yaml": "~2.1" + }, + "suggest": { + "symfony/twig-bundle": "~2.1" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Bundle\\AsseticBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kris Wallsmith", + "email": "kris.wallsmith@gmail.com", + "homepage": "http://kriswallsmith.net/" + } + ], + "description": "Integrates Assetic into Symfony2", + "homepage": "https://github.com/symfony/AsseticBundle", + "keywords": [ + "assets", + "compression", + "minification" + ], + "time": "2013-05-16 05:32:23" + }, + { + "name": "symfony/icu", + "version": "v1.2.1", + "target-dir": "Symfony/Component/Icu", + "source": { + "type": "git", + "url": "https://github.com/symfony/Icu.git", + "reference": "98e197da54df1f966dd5e8a4992135703569c987" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Icu/zipball/98e197da54df1f966dd5e8a4992135703569c987", + "reference": "98e197da54df1f966dd5e8a4992135703569c987", + "shasum": "" + }, + "require": { + "lib-icu": ">=4.4", + "php": ">=5.3.3", + "symfony/intl": "~2.3" + }, + "type": "library", + "autoload": { + "psr-0": { + "Symfony\\Component\\Icu\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Contains an excerpt of the ICU data and classes to load it.", + "homepage": "http://symfony.com", + "keywords": [ + "icu", + "intl" + ], + "time": "2013-10-04 10:06:38" + }, + { + "name": "symfony/monolog-bundle", + "version": "v2.6.0", + "target-dir": "Symfony/Bundle/MonologBundle", + "source": { + "type": "git", + "url": "https://github.com/symfony/MonologBundle.git", + "reference": "e1d4aa99c7440b11e9dfbfef7ed63084401dbc6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/MonologBundle/zipball/e1d4aa99c7440b11e9dfbfef7ed63084401dbc6a", + "reference": "e1d4aa99c7440b11e9dfbfef7ed63084401dbc6a", + "shasum": "" + }, + "require": { + "monolog/monolog": "~1.8", + "php": ">=5.3.2", + "symfony/config": "~2.3", + "symfony/dependency-injection": "~2.3", + "symfony/http-kernel": "~2.3", + "symfony/monolog-bridge": "~2.3" + }, + "require-dev": { + "symfony/console": "~2.3", + "symfony/yaml": "~2.3" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Bundle\\MonologBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony MonologBundle", + "homepage": "http://symfony.com", + "keywords": [ + "log", + "logging" + ], + "time": "2014-06-04 16:49:13" + }, + { + "name": "symfony/swiftmailer-bundle", + "version": "v2.3.7", + "target-dir": "Symfony/Bundle/SwiftmailerBundle", + "source": { + "type": "git", + "url": "https://github.com/symfony/SwiftmailerBundle.git", + "reference": "e98defd402f72e8b54a029ba4d3ac4cb51dc3577" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/SwiftmailerBundle/zipball/e98defd402f72e8b54a029ba4d3ac4cb51dc3577", + "reference": "e98defd402f72e8b54a029ba4d3ac4cb51dc3577", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "swiftmailer/swiftmailer": ">=4.2.0,~5.0", + "symfony/swiftmailer-bridge": "~2.1" + }, + "require-dev": { + "symfony/config": "~2.1", + "symfony/dependency-injection": "~2.1", + "symfony/http-kernel": "~2.1", + "symfony/yaml": "~2.1" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Bundle\\SwiftmailerBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony SwiftmailerBundle", + "homepage": "http://symfony.com", + "time": "2014-04-05 17:15:52" + }, + { + "name": "symfony/symfony", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/symfony.git", + "reference": "e66ee967571b89234c90946fe0d50dad195ad29c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/symfony/zipball/e66ee967571b89234c90946fe0d50dad195ad29c", + "reference": "e66ee967571b89234c90946fe0d50dad195ad29c", + "shasum": "" + }, + "require": { + "doctrine/common": "~2.2", + "php": ">=5.3.3", + "psr/log": "~1.0", + "symfony/icu": "~1.0", + "twig/twig": "~1.12" + }, + "replace": { + "symfony/browser-kit": "self.version", + "symfony/class-loader": "self.version", + "symfony/config": "self.version", + "symfony/console": "self.version", + "symfony/css-selector": "self.version", + "symfony/debug": "self.version", + "symfony/dependency-injection": "self.version", + "symfony/doctrine-bridge": "self.version", + "symfony/dom-crawler": "self.version", + "symfony/event-dispatcher": "self.version", + "symfony/expression-language": "self.version", + "symfony/filesystem": "self.version", + "symfony/finder": "self.version", + "symfony/form": "self.version", + "symfony/framework-bundle": "self.version", + "symfony/http-foundation": "self.version", + "symfony/http-kernel": "self.version", + "symfony/intl": "self.version", + "symfony/locale": "self.version", + "symfony/monolog-bridge": "self.version", + "symfony/options-resolver": "self.version", + "symfony/process": "self.version", + "symfony/propel1-bridge": "self.version", + "symfony/property-access": "self.version", + "symfony/proxy-manager-bridge": "self.version", + "symfony/routing": "self.version", + "symfony/security": "self.version", + "symfony/security-acl": "self.version", + "symfony/security-bundle": "self.version", + "symfony/security-core": "self.version", + "symfony/security-csrf": "self.version", + "symfony/security-http": "self.version", + "symfony/serializer": "self.version", + "symfony/stopwatch": "self.version", + "symfony/swiftmailer-bridge": "self.version", + "symfony/templating": "self.version", + "symfony/translation": "self.version", + "symfony/twig-bridge": "self.version", + "symfony/twig-bundle": "self.version", + "symfony/validator": "self.version", + "symfony/web-profiler-bundle": "self.version", + "symfony/yaml": "self.version" + }, + "require-dev": { + "doctrine/data-fixtures": "1.0.*", + "doctrine/dbal": "~2.2", + "doctrine/orm": "~2.2,>=2.2.3", + "egulias/email-validator": "1.1.0", + "ircmaxell/password-compat": "1.0.*", + "monolog/monolog": "~1.3", + "ocramius/proxy-manager": ">=0.3.1,<0.6-dev", + "propel/propel1": "1.6.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\": "src/" + }, + "classmap": [ + "src/Symfony/Component/HttpFoundation/Resources/stubs", + "src/Symfony/Component/Intl/Resources/stubs" + ], + "files": [ + "src/Symfony/Component/Intl/Resources/stubs/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "The Symfony PHP framework", + "homepage": "http://symfony.com", + "keywords": [ + "framework" + ], + "time": "2014-07-15 15:39:46" + }, + { + "name": "twig/extensions", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/fabpot/Twig-extensions.git", + "reference": "c0ab818595338dd5569369bfce2552d02cec5d50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fabpot/Twig-extensions/zipball/c0ab818595338dd5569369bfce2552d02cec5d50", + "reference": "c0ab818595338dd5569369bfce2552d02cec5d50", + "shasum": "" + }, + "require": { + "twig/twig": "~1.12" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_Extensions_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "Common additional features for Twig that do not directly belong in core", + "homepage": "https://github.com/fabpot/Twig-extensions", + "keywords": [ + "i18n", + "text" + ], + "time": "2014-07-05 10:01:35" + }, + { + "name": "twig/twig", + "version": "v1.16.0", + "source": { + "type": "git", + "url": "https://github.com/fabpot/Twig.git", + "reference": "8ce37115802e257a984a82d38254884085060024" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fabpot/Twig/zipball/8ce37115802e257a984a82d38254884085060024", + "reference": "8ce37115802e257a984a82d38254884085060024", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.16-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + } + }, + "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 Ronacher2", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "https://github.com/fabpot/Twig/graphs/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ], + "time": "2014-07-05 12:19:05" + } + ], + "packages-dev": [ + + ], + "aliases": [ + + ], + "minimum-stability": "stable", + "stability-flags": { + "friendsofsymfony/user-bundle": 20 + }, + "platform": { + "php": ">=5.3.3" + }, + "platform-dev": [ + + ] +} diff --git a/resetCacheLogs.php b/resetCacheLogs.php new file mode 100644 index 0000000..b72cb18 --- /dev/null +++ b/resetCacheLogs.php @@ -0,0 +1,12 @@ + + Require all denied + + + Order deny,allow + Deny from all + diff --git a/src/Mixstore/StaticBundle/Controller/MainController.php b/src/Mixstore/StaticBundle/Controller/MainController.php new file mode 100644 index 0000000..c73ce03 --- /dev/null +++ b/src/Mixstore/StaticBundle/Controller/MainController.php @@ -0,0 +1,39 @@ +getDoctrine() + ->getManager() + ->getRepository('MixstoreStoreBundle:Package'); + + //get news + $news = $pkgRepository + ->getLastNews(); + + //get images sources for carousel + $bannersArray = $pkgRepository + ->getBannersUrls(); + + return $this->render('MixstoreStaticBundle::home.html.twig', array( + 'bannersArray' => $bannersArray, + 'news' => $news, + )); + } + + public function aboutAction() + { + return $this->render('MixstoreStaticBundle::about.html.twig'); + } + + public function policyAction() + { + return $this->render('MixstoreStaticBundle::policy.html.twig'); + } +} diff --git a/src/Mixstore/StaticBundle/DependencyInjection/Configuration.php b/src/Mixstore/StaticBundle/DependencyInjection/Configuration.php new file mode 100644 index 0000000..1707288 --- /dev/null +++ b/src/Mixstore/StaticBundle/DependencyInjection/Configuration.php @@ -0,0 +1,29 @@ +root('mixstore_static'); + + // Here you should define the parameters that are allowed to + // configure your bundle. See the documentation linked above for + // more information on that topic. + + return $treeBuilder; + } +} diff --git a/src/Mixstore/StaticBundle/DependencyInjection/MixstoreStoreExtension.php b/src/Mixstore/StaticBundle/DependencyInjection/MixstoreStoreExtension.php new file mode 100644 index 0000000..1fa333d --- /dev/null +++ b/src/Mixstore/StaticBundle/DependencyInjection/MixstoreStoreExtension.php @@ -0,0 +1,28 @@ +processConfiguration($configuration, $configs); + + $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); + $loader->load('services.yml'); + } +} diff --git a/src/Mixstore/StaticBundle/MixstoreStaticBundle.php b/src/Mixstore/StaticBundle/MixstoreStaticBundle.php new file mode 100644 index 0000000..afb1c94 --- /dev/null +++ b/src/Mixstore/StaticBundle/MixstoreStaticBundle.php @@ -0,0 +1,9 @@ + +{% endblock %} + +{% block content %} + +
+ +
+ +

Origins

+ +In the late 1990's, three researchers wrote some code in MATLAB to classify data using +mixture models. Initially named XEM for "EM-algorithms on miXture models", +it was quickly renamed into mixmod, and rewritten in C++ from 2001. +Since then, mixmod has been extended in several directions including: +
    +
  • supervised classification
  • +
  • categorical data handling
  • +
  • heterogeneous data handling
  • +
+...and the code is constantly evolving. {# still in constant evolution #} +More details can be found on the dedicated website. + +There exist now many packages related to mixture models, each of them specialized in +some domain. Although mixmod can (arguably) be considered as one of the first of its kind, +it would be rather arbitrary to give him a central position. +That is why mixmod is "only" part of the mix-store. + +{# (mixmod permet de faire + de choses : renvoyer au site web + doc...) #} + +

Summary

+ +Mixstore is a website gathering libraries dedicated to data modeling as +a mixture of probabilistic components. The computed mixture can be used +for various purposes including +
    +
  • density estimation
  • +
  • clustering (unsupervised classification)
  • +
  • (supervised) classification
  • +
  • regression, ...
  • +
+ +

Example

+ +

+To start using any of the softwares present in the store, we need a dataset. +We choose here an old classic: the Iris dataset introduced by Ronald Fisher in 1936. +Despite its classicity this dataset is not so easy to analyze, as we will see in the following. +

+ +

+The Iris dataset +contains 150 rows, each of them composed of 4 continuous attributes which +corresponds to some flowers measurements. 3 species are equally represented : (Iris) +Setosa, Versicolor and Virginica. +

+ +

+

+ PCA components of iris dataset
+ The two first PCA components of Iris dataset (image found + here) +
+

+ +

+As the figure suggests the goal on this dataset is to discriminate Iris species. +That is to say, our goal is to find a way to answer these questions: +"are two given elements in the same group ?", "which group does a given element belongs to ?". +

+ +

+The mixstore packages take a more general approach: they (try to) learn the data generation +process, and then deduce the groups compositions. Thus, the two above questions can easily +be answered by using the mathematical formulas describing the classes. +Although this approach has several advantages (low sensitivity to outliers, likelihood +to rank models...), finding the adequate model is challenging. +We will not dive into such model selection details. +{# This is a more general and harder problem. #} +

+ +
+ +
+ +

+Density for 2 groups: +££f^{(2)}(x) = \pi_1^{(2)} g_1^{(2)}(x) + \pi_2^{(2)} g_2^{(2)}(x)££ +where £g_i^{(2)} = (2 \pi)^{-d/2} \left| \Sigma_i^{(2)} \right|^{-1/2} \mbox{exp}\left( -\frac{1}{2} \, {}^T(x - \mu_i^{(2)}) (\Sigma_i^{(2)})^{-1} (x - \mu_i^{(2)}) \right)£.
+£x = (x_1,x_2,x_3,x_4)£ with the following correspondances. +

    +
  • £x_1£: sepal length;
  • +
  • £x_2£: sepal width;
  • +
  • £x_3£: petal length;
  • +
  • £x_4£: petal width.
  • +
+

+ +
+ +
+\begin{align*} +\pi_1^{(2)} &= 0.33\\ +\mu_1^{(2)} &= (5.01 3.43 1.46 0.25)\\ +\Sigma_1^{(2)} &= + \begin{pmatrix} + 0.15&0.13&0.02&0.01\\ + 0.13&0.18&0.02&0.01\\ + 0.02&0.02&0.03&0.01\\ + 0.01&0.01&0.01&0.01 + \end{pmatrix} +\end{align*} +
+ +
+\begin{align*} +\pi_2^{(2)} &= 0.67\\ +\mu_2^{(2)} &= (6.26 2.87 4.91 1.68)\\ +\Sigma_2^{(2)} &= + \begin{pmatrix} + 0.40&0.11&0.40&0.14\\ + 0.11&0.11&0.12&0.07\\ + 0.40&0.12&0.61&0.26\\ + 0.14&0.07&0.26&0.17 + \end{pmatrix} +\end{align*} +
+ +
+Penalized log-likelihood (BIC): -561.73 +
+ +
+ +

+Density for 3 groups: +££f^{(3)}(x) = \pi_1^{(3)} g_1^{(3)}(x) + \pi_2^{(3)} g_2^{(3)}(x) + \pi_3^{(3)} g_3^{(3)}(x)££ +(Same parameterizations for cluster densities £g_i^{(3)}£).
+

+ +
+ +
+\begin{align*} +\pi_1^{(3)} &= 0.33\\ +\mu_1^{(3)} &= (5.01 3.43 1.46 0.25)\\ +\Sigma_1^{(3)} &= + \begin{pmatrix} + 0.13&0.11&0.02&0.01\\ + 0.11&0.15&0.01&0.01\\ + 0.02&0.01&0.03&0.01\\ + 0.01&0.01&0.01&0.01 + \end{pmatrix} +\end{align*} +
+ +
+\begin{align*} +\pi_2^{(3)} &= 0.30\\ +\mu_2^{(3)} &= (5.91 2.78 4.20 1.30)\\ +\Sigma_2^{(3)} &= + \begin{pmatrix} + 0.23&0.08&0.15&0.04\\ + 0.08&0.08&0.07&0.03\\ + 0.15&0.07&0.17&0.05\\ + 0.04&0.03&0.05&0.03 + \end{pmatrix} +\end{align*} +
+ +
+\begin{align*} +\pi_3^{(3)} &= 0.37\\ +\mu_3^{(3)} &= (6.55 2.95 5.48 1.96)\\ +\Sigma_3^{(3)} &= + \begin{pmatrix} + 0.43&0.11&0.33&0.07\\ + 0.11&0.12&0.09&0.06\\ + 0.33&0.09&0.36&0.09\\ + 0.07&0.06&0.09&0.09 + \end{pmatrix} +\end{align*} +
+ +
+Penalized log-likelihood (BIC): -562.55 +
+ +
+ +

+As initially stated, the dataset is difficult to cluster because although we know there are +3 species, 2 of them are almost undinstinguishable. That is why log-likelihood values are very close. +We usually consider that a method is good on Iris dataset when it finds 3 clusters, +but 2 is also a correct answer. +

+ +
+ +
+ +{% endblock %} + +{% block javascripts %} +{{ parent() }} + + +{% endblock %} diff --git a/src/Mixstore/StaticBundle/Resources/views/home.html.twig b/src/Mixstore/StaticBundle/Resources/views/home.html.twig new file mode 100644 index 0000000..6d4cc1c --- /dev/null +++ b/src/Mixstore/StaticBundle/Resources/views/home.html.twig @@ -0,0 +1,100 @@ +{% extends "::base.html.twig" %} + +{% block title %}{{ parent() }}home{% endblock %} + +{% block header %} +{{ parent() }} + +{% endblock %} + +{% block content %} + + + +
+ +
+

What ?

+

Every software, library or package referenced here attempts to cluster data + into groups defined as the components of a mixture of probabilistic models. + The resulting classes can be used e.g. for supervised classification or regression.

+

Read more details.

+
+ +
+

Where ?

+ In the store ! +
+ +
+ +
+ +
+

How ?

+

Policy to add a package or feedback.

+
+ +
+

News

+ + {% for newsItem in news %} + + + + + {% endfor %} +
{{ newsItem.created | date('Y-m-d / H:i:s') }}{{ newsItem.name }}
+
+ +
+ +{% endblock %} + +{% block javascripts %} +{{ parent() }} + +{% endblock %} diff --git a/src/Mixstore/StaticBundle/Resources/views/policy.html.twig b/src/Mixstore/StaticBundle/Resources/views/policy.html.twig new file mode 100644 index 0000000..f88668e --- /dev/null +++ b/src/Mixstore/StaticBundle/Resources/views/policy.html.twig @@ -0,0 +1,74 @@ +{% extends "::base.html.twig" %} + +{% block title %}{{ parent() }}policy{% endblock %} + +{% block header %} +{{ parent() }} + +{% endblock %} + +{% block content %} + +
+ +

Procedure to add and maintain packages or usecases

+ +
    +
  1. + Registration is mandatory: follow this link, + and fill in your name and email address. Neither of them will ever be displayed on the website, + but internally we like to identify people modifying the mixstore pages. +
  2. + +
  3. + Once signed up you should be able to login. + Logging in gets you to the main board. + All your actions on the website start from here. +
  4. + +
  5. + Both sections (packages and usecases) have a link "add some new thing". Click on either of them + to add for example a new package. The following fields are mandatory : +
      +
    • Name: the name of your package. +
    • +
    • Headline: a few words to describe what the package does. +
    • +
    • Url: a web link to (at least) download the package. +
    • +
    • Authors: a (unstructured) list of authors. +
    • +
    • Contact: an email address for any exchange related to the package. +
    • +
    +

    + Only the description field is optional, because you might already have the description page + on your own website. But even in this case it might be good for SEO, and to give a preview + of your website to mixstore users. +

    +

    + Mixstore improves the visibility of your package. In return, we kindly ask + you to provide a visible link to Mixstore on your website. +

  6. + +
  7. + Finally, a usecase has the following fields (all mandatory): +
      +
    • Institution: the structure where the work took place. Either academic, + industry (please be more specific) or personal usage. +
    • +
    • Softwares: a list of packages involved (all in the store). +
    • +
    • Headline: a few words describing the context of the usecase. +
    • +
    • Description: an extended abstract showing how the softwares were used. +
    • +
    • Contact: an email address for any exchange related to the usecase. +
    • +
    +
  8. +
+ +
+ +{% endblock %} diff --git a/src/Mixstore/StoreBundle/Controller/PackageController.php b/src/Mixstore/StoreBundle/Controller/PackageController.php new file mode 100644 index 0000000..8538f4d --- /dev/null +++ b/src/Mixstore/StoreBundle/Controller/PackageController.php @@ -0,0 +1,222 @@ +getDoctrine() + ->getManager(); + + $package = $em + ->getRepository('MixstoreStoreBundle:Package') + ->find($id); + + //pass usecases count + rating (to link with feedbacks) + $countAndRating = $em + ->getRepository('MixstoreStoreBundle:Usecase') + ->countByPkgId($id); + if ($countAndRating['rating'] == '') + $countAndRating['rating'] = 'NA'; + $package->rating = $countAndRating['rating']; + $package->ucscount = $countAndRating['ucscount']; + + $user = $this->getUser(); + $owner = (!is_null($user) && $package->getUser()->getId() == $user->getId()); + + return $this->render('MixstoreStoreBundle:Package:view.html.twig', array( + 'pkg' => $package, + 'owner' => $owner, + )); + } + + public function listAction() + { + $em = $this + ->getDoctrine() + ->getManager(); + + $packages = $em + ->getRepository('MixstoreStoreBundle:Package') + ->findAll(); + + $ucsRepository = $em + ->getRepository('MixstoreStoreBundle:Usecase'); + + for ($i=0; $icountByPkgId($packages[$i]->getId()); + if ($countAndRating['rating'] == '') + $countAndRating['rating'] = 'NA'; + $packages[$i]->ucscount = $countAndRating['ucscount']; + $packages[$i]->rating = $countAndRating['rating']; + } + + return $this->render('MixstoreStoreBundle:Package:list.html.twig', array( + 'packages' => $packages, + )); + } + + public function upsertAction($id) + { + $em = $this + ->getDoctrine() + ->getManager(); + + $package = $em + ->getRepository('MixstoreStoreBundle:Package') + ->safeFindById($id); + + //TODO: place this at another location to avoid code redundancy + $user = $this->getUser(); + if (is_null($user) || ( + !in_array('ROLE_ADMIN', $user->getRoles()) && + !is_null($package->getUser()) && + $package->getUser()->getId() != $this->getUser()->getId())) + { + //TODO: nice error page + return $this->redirect($this->generateUrl('mixstore_static_home')); + } + + $formBuilder = $this->createFormBuilder($package); + $formBuilder + ->add('name', 'text') + ->add('headline', 'text') + ->add('url', 'text') + ->add('description', 'textarea', array('required' => false)) + ->add('dependencies', 'text', array('required' => false)) + ->add('authors', 'text') + ->add('contact', 'text') + ->add('language', 'entity', array( + 'class' => 'MixstoreStoreBundle:Language', + 'property' => 'name', + 'query_builder' => function(\Doctrine\ORM\EntityRepository $er) { + return $er->createQueryBuilder('l') + ->orderBy('l.name', 'ASC'); + })) + ->add('bannerfile', 'file', array('label' => 'Banner (1000x300)', 'required' => false)) + ->add('removebanner', 'checkbox', array('label' => 'Remove banner', 'required' => false)); + $form = $formBuilder->getForm(); + + $request = $this->get('request'); + if ($request->getMethod() == 'POST') { + // Link request <-> form ; $package contains data entered in the form + $form->bind($request); + if ($form->isValid()) { + $package->setUser($this->getUser()); + $package->setModified(new \DateTime('now')); + + //HACK: text editor insert extra


tags for an empty description + $description = $package->getDescription(); + if (trim(str_replace('
','', str_replace('

','', str_replace('

','', $description)))) == '') + $package->setDescription(''); + + $bannerfile = $form['bannerfile']->getData(); + $extension = (is_null($bannerfile) ? null : $bannerfile->guessExtension()); + + $bannersDir = $this->get('kernel')->getRootDir().'/../web/mixstore/images/pkg_banners'; + + if (!is_null($extension) && ($extension == 'jpeg' || $extension == 'png')) + { + if (is_null($package->getBannerPath())) + { + $filename = uniqid(rand(), true); + $package->setBannerpath($filename); + } + else + $filename = $package->getBannerpath(); + $bannerfile->move($bannersDir, $filename); + + //HACK: currently hard-coded + $newwidth = 1000; + $newheight = 300; + + $source = ($extension == 'jpeg' + ? imagecreatefromjpeg($bannersDir.'/'.$filename) + : imagecreatefrompng($bannersDir.'/'.$filename)); + + $resizedFile = imagecreatetruecolor($newwidth, $newheight); + list($width, $height) = getimagesize($bannersDir.'/'.$filename); + imagecopyresized($resizedFile, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); + + ($extension == 'jpeg' + ? imagejpeg($resizedFile, $bannersDir.'/'.$filename) + : imagepng($resizedFile, $bannersDir.'/'.$filename)); + + imagedestroy($resizedFile); + } + else if ($package->removebanner == TRUE) + { + unlink($bannersDir.'/'.$package->getBannerpath()); + $package->setBannerpath(null); + } + + $em->persist($package); + $em->flush(); + return $this->redirect($this->generateUrl('mixstore_store_package_view', array('id' => $package->getId()))); + } + } + + //Email notifications [temporary ??!!] + $users = $em + ->getRepository('MixstoreUserBundle:User') + ->findAll(); + $receivers = array(); + foreach ($users as $user) + { + if ($user->getEmailnotif1() || ($id <= 0 && $user->getEmailNotif0())) + $receivers[] = $user->getEmail(); + } + if (count($receivers) > 0) + { + $message = \Swift_Message::newInstance() + ->setSubject('Package '.($id > 0 ? 'update' : 'creation')) + ->setFrom('contact@mixstore.org') + ->setTo($receivers) + ->setBody($this->renderView('MixstoreStoreBundle::upsert-email.txt.twig', array( + 'name' => $this->getUser()->getName(), + 'surname' => $this->getUser()->getSurname(), + 'email' => $this->getUser()->getEmail(), + 'type' => 'Package', + 'id' => $package->getId(), + ))); + $this->get('mailer')->send($message); + } + + return $this->render('MixstoreStoreBundle::upsert.html.twig', array( + 'title' => ($id > 0 ? 'Edit package' : 'New package'), + 'form' => $form->createView(), + )); + } + + public function deleteAction($id) + { + $em = $this->getDoctrine()->getManager(); + + $package = $em + ->getRepository('MixstoreStoreBundle:Package') + ->findById($id)[0]; + + $user = $this->getUser(); + if (is_null($user) || ( + !in_array('ROLE_ADMIN', $user->getRoles()) && + $package->getUser()->getId() != $this->getUser()->getId())) + { + //TODO: nice error page + return $this->redirect($this->generateUrl('mixstore_static_home')); + } + + $em->remove($package); + $em->flush(); + return $this->redirect($this->generateUrl('mixstore_user_board')); + } +} diff --git a/src/Mixstore/StoreBundle/Controller/UsecaseController.php b/src/Mixstore/StoreBundle/Controller/UsecaseController.php new file mode 100644 index 0000000..6db9709 --- /dev/null +++ b/src/Mixstore/StoreBundle/Controller/UsecaseController.php @@ -0,0 +1,169 @@ +getDoctrine() + ->getManager() + ->getRepository('MixstoreStoreBundle:Usecase') + ->find($id); + + $user = $this->getUser(); + $owner = (!is_null($user) && $usecase->getUser()->getId() == $user->getId()); + + return $this->render('MixstoreStoreBundle:Usecase:view.html.twig', array( + 'ucs' => $usecase, + 'owner' => $owner, + )); + } + + public function listAction($pkgid) + { + $em = $this + ->getDoctrine() + ->getManager(); + + $pkgName = $em + ->getRepository('MixstoreStoreBundle:Package') + ->find($pkgid) + ->getName(); + + return $this->render('MixstoreStoreBundle:Usecase:list.html.twig', array( + 'usecases' => $em + ->getRepository('MixstoreStoreBundle:Usecase') + ->findByPackage($pkgid), + 'pkgname' => $pkgName, + )); + } + + public function upsertAction($id, $pkgid) + { + $em = $this + ->getDoctrine() + ->getManager(); + + $usecase = $em + ->getRepository('MixstoreStoreBundle:Usecase') + ->safeFindById($id); + + //TODO: place this in an external service (used at several locations) + $user = $this->getUser(); + if (is_null($user) || ( + !in_array('ROLE_ADMIN', $user->getRoles()) && + !is_null($usecase->getUser()) && + $usecase->getUser()->getId() != $this->getUser()->getId())) + { + //TODO: nice error page + return $this->redirect($this->generateUrl('mixstore_static_home')); + } + + //http://symfony.com/doc/current/reference/forms/types/entity.html + if ($pkgid > 0) + { + $package = $em + ->getRepository('MixstoreStoreBundle:Package') + ->findById($pkgid); + } + + $formBuilder = $this->createFormBuilder($usecase); + if ($pkgid > 0) + { + $formBuilder + ->add('package', 'entity', array( + 'class' => 'MixstoreStoreBundle:Package', + 'choices' => $package, + 'property' => 'name', + 'read_only' => true)); + } + else + { + $formBuilder + ->add('package', 'entity', array( + 'class' => 'MixstoreStoreBundle:Package', + 'property' => 'name')); + } + $formBuilder + ->add('institution', 'text') + ->add('headline', 'text') + ->add('description', 'textarea') + ->add('contact', 'text') + ->add('grade', 'choice', array('choices' => range(0, 10))); + $form = $formBuilder->getForm(); + + $request = $this->get('request'); + if ($request->getMethod() == 'POST') { + // Link request <-> form ; $usecase contains data entered in the form + $form->bind($request); + if ($form->isValid()) { + $usecase->setUser($this->getUser()); + $usecase->setModified(new \DateTime('now')); + $em->persist($usecase); + $em->flush(); + return $this->redirect($this->generateUrl('mixstore_store_usecase_view', array('id' => $usecase->getId()))); + } + } + + //Email notifications [temporary ??!!] + $users = $em + ->getRepository('MixstoreUserBundle:User') + ->findAll(); + $receivers = array(); + foreach ($users as $user) + { + if ($user->getEmailnotif1() || ($id <= 0 && $user->getEmailNotif0())) + $receivers[] = $user->getEmail(); + } + if (count($receivers) > 0) + { + $message = \Swift_Message::newInstance() + ->setSubject('Usecase '.($id > 0 ? 'update' : 'creation')) + ->setFrom('contact@mixstore.org') + ->setTo($receivers) + ->setBody($this->renderView('MixstoreStoreBundle::upsert-email.txt.twig', array( + 'name' => $this->getUser()->getName(), + 'surname' => $this->getUser()->getSurname(), + 'email' => $this->getUser()->getEmail(), + 'type' => 'Usecase', + 'id' => $usecase->getId(), + ))); + $this->get('mailer')->send($message); + } + + return $this->render('MixstoreStoreBundle::upsert.html.twig', array( + 'title' => ($id > 0 ? 'Edit usecase' : 'New usecase'), + 'form' => $form->createView(), + )); + } + + public function deleteAction($id) + { + $usecase = $this + ->getDoctrine() + ->getManager() + ->getRepository('MixstoreStoreBundle:Usecase') + ->findById($id)[0]; + + $user = $this->getUser(); + if (is_null($user) || ( + !in_array('ROLE_ADMIN', $user->getRoles()) && + $usecase->getUser()->getId() != $this->getUser()->getId())) + { + //TODO: nice error page + return $this->redirect($this->generateUrl('mixstore_static_home')); + } + + $em = $this->getDoctrine()->getManager(); + $em->remove($usecase); + $em->flush(); + return $this->redirect($this->generateUrl('mixstore_user_board')); + } +} diff --git a/src/Mixstore/StoreBundle/DependencyInjection/Configuration.php b/src/Mixstore/StoreBundle/DependencyInjection/Configuration.php new file mode 100644 index 0000000..8e6dc7d --- /dev/null +++ b/src/Mixstore/StoreBundle/DependencyInjection/Configuration.php @@ -0,0 +1,29 @@ +root('mixstore_store'); + + // Here you should define the parameters that are allowed to + // configure your bundle. See the documentation linked above for + // more information on that topic. + + return $treeBuilder; + } +} diff --git a/src/Mixstore/StoreBundle/DependencyInjection/MixstoreStoreExtension.php b/src/Mixstore/StoreBundle/DependencyInjection/MixstoreStoreExtension.php new file mode 100644 index 0000000..36f03cf --- /dev/null +++ b/src/Mixstore/StoreBundle/DependencyInjection/MixstoreStoreExtension.php @@ -0,0 +1,28 @@ +processConfiguration($configuration, $configs); + + $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); + $loader->load('services.yml'); + } +} diff --git a/src/Mixstore/StoreBundle/Entity/Language.php b/src/Mixstore/StoreBundle/Entity/Language.php new file mode 100644 index 0000000..4607953 --- /dev/null +++ b/src/Mixstore/StoreBundle/Entity/Language.php @@ -0,0 +1,75 @@ +name = $name; + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * Set name + * + * @param string $name + * @return Language + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } +} + +/* +* current languages +C, C#, C++, Java, Julia, Python, R, Fortran, Lua, Matlab, Octave, Scilab +* others +Javascript,Objective-C,Perl, PHP,Ruby,Shell,Scala, Go,Groovy,Ada, Android,Boo, Clojure, Common Lisp, Delphi, Eiffel, Erlang, Fantom,Haskell,Node.js, OCaml,Prolog +*/ diff --git a/src/Mixstore/StoreBundle/Entity/Package.php b/src/Mixstore/StoreBundle/Entity/Package.php new file mode 100644 index 0000000..cf05bb5 --- /dev/null +++ b/src/Mixstore/StoreBundle/Entity/Package.php @@ -0,0 +1,397 @@ +user = null; + $this->id = 0; + $this->created = new \DateTime('now'); + $this->modified = new \DateTime('now'); + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + //un package a un "webmaster ID" (masqué sur la page du package, mais permettant de savoir qui a le droit de l'éditer) + + /** + * Set name + * + * @param string $name + * @return Package + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set url + * + * @param string $url + * @return Package + */ + public function setUrl($url) + { + $this->url = $url; + + return $this; + } + + /** + * Get url + * + * @return string + */ + public function getUrl() + { + return $this->url; + } + + /** + * Set description + * + * @param string $description + * @return Package + */ + public function setDescription($description) + { + $this->description = $description; + + return $this; + } + + /** + * Get description + * + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Set authors + * + * @param string $authors + * @return Package + */ + public function setAuthors($authors) + { + $this->authors = $authors; + + return $this; + } + + /** + * Get authors + * + * @return string + */ + public function getAuthors() + { + return $this->authors; + } + + /** + * Set contact + * + * @param string $contact + * @return Package + */ + public function setContact($contact) + { + $this->contact = $contact; + + return $this; + } + + /** + * Get contact + * + * @return string + */ + public function getContact() + { + return $this->contact; + } + + /** + * Set user + * + * @param \Mixstore\UserBundle\Entity\User $user + * @return Package + */ + public function setUser(\Mixstore\UserBundle\Entity\User $user) + { + $this->user = $user; + + return $this; + } + + /** + * Get user + * + * @return \Mixstore\UserBundle\Entity\User + */ + public function getUser() + { + return $this->user; + } + + /** + * Set headline + * + * @param string $headline + * @return Package + */ + public function setHeadline($headline) + { + $this->headline = $headline; + + return $this; + } + + /** + * Get headline + * + * @return string + */ + public function getHeadline() + { + return $this->headline; + } + + /** + * Set bannerpath + * + * @param string $bannerpath + * @return Package + */ + public function setBannerpath($bannerpath) + { + $this->bannerpath = $bannerpath; + + return $this; + } + + /** + * Get bannerpath + * + * @return string + */ + public function getBannerpath() + { + return $this->bannerpath; + } + + /** + * Set modified + * + * @param \DateTime $modified + * @return Package + */ + public function setModified($modified) + { + $this->modified = $modified; + + return $this; + } + + /** + * Get modified + * + * @return \DateTime + */ + public function getModified() + { + return $this->modified; + } + + /** + * Set language + * + * @param \Mixstore\StoreBundle\Entity\Language $language + * @return Package + */ + public function setLanguage(\Mixstore\StoreBundle\Entity\Language $language) + { + $this->language = $language; + + return $this; + } + + /** + * Get language + * + * @return \Mixstore\StoreBundle\Entity\Language + */ + public function getLanguage() + { + return $this->language; + } + + /** + * Set created + * + * @param \DateTime $created + * @return Package + */ + public function setCreated($created) + { + $this->created = $created; + + return $this; + } + + /** + * Get created + * + * @return \DateTime + */ + public function getCreated() + { + return $this->created; + } + + /** + * Set dependencies + * + * @param string $dependencies + * @return Package + */ + public function setDependencies($dependencies) + { + $this->dependencies = $dependencies; + + return $this; + } + + /** + * Get dependencies + * + * @return string + */ + public function getDependencies() + { + return $this->dependencies; + } +} diff --git a/src/Mixstore/StoreBundle/Entity/PackageRepository.php b/src/Mixstore/StoreBundle/Entity/PackageRepository.php new file mode 100644 index 0000000..fc2a332 --- /dev/null +++ b/src/Mixstore/StoreBundle/Entity/PackageRepository.php @@ -0,0 +1,56 @@ + 0) + { + $qb = $this->createQueryBuilder('p'); + $qb->where('p.id = '.$id); + $package = $qb->getQuery()->getResult()[0]; + } + else + $package = new Package(); + + return $package; + } + + function getAllNames() + { + return $this + ->createQueryBuilder('p') + ->select('p.id, p.name') + ->getQuery() + ->getResult(); + } + + function getBannersUrls() + { + $bannersUrls = $this + ->createQueryBuilder('p') + ->select('p.id, p.bannerpath') + ->where('p.bannerpath IS NOT NULL') + ->getQuery() + ->getResult(); + $result = array(); + for ($i=0; $icreateQueryBuilder('p') + ->select('p.id, p.name, p.created') + ->orderBy('p.created', 'DESC') + ->setMaxResults(3) //currently hard-coded + ->getQuery() + ->getResult(); + } +} diff --git a/src/Mixstore/StoreBundle/Entity/Usecase.php b/src/Mixstore/StoreBundle/Entity/Usecase.php new file mode 100644 index 0000000..3f06b4b --- /dev/null +++ b/src/Mixstore/StoreBundle/Entity/Usecase.php @@ -0,0 +1,304 @@ +user = null; + $this->id = 0; + $this->created = new \DateTime("now"); + $this->modified = new \DateTime("now"); + } + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * Set institution + * + * @param string $institution + * @return Usecase + */ + public function setInstitution($institution) + { + $this->institution = $institution; + + return $this; + } + + /** + * Get institution + * + * @return string + */ + public function getInstitution() + { + return $this->institution; + } + + /** + * Set description + * + * @param string $description + * @return Usecase + */ + public function setDescription($description) + { + $this->description = $description; + + return $this; + } + + /** + * Get description + * + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Set contact + * + * @param string $contact + * @return Usecase + */ + public function setContact($contact) + { + $this->contact = $contact; + + return $this; + } + + /** + * Get contact + * + * @return string + */ + public function getContact() + { + return $this->contact; + } + + /** + * Set user + * + * @param \Mixstore\UserBundle\Entity\User $user + * @return Usecase + */ + public function setUser(\Mixstore\UserBundle\Entity\User $user) + { + $this->user = $user; + + return $this; + } + + /** + * Get user + * + * @return \Mixstore\UserBundle\Entity\User + */ + public function getUser() + { + return $this->user; + } + + /** + * Set headline + * + * @param string $headline + * @return Usecase + */ + public function setHeadline($headline) + { + $this->headline = $headline; + + return $this; + } + + /** + * Get headline + * + * @return string + */ + public function getHeadline() + { + return $this->headline; + } + + /** + * Set package + * + * @param \Mixstore\StoreBundle\Entity\Package $package + * @return Usecase + */ + public function setPackage(\Mixstore\StoreBundle\Entity\Package $package) + { + $this->package = $package; + + return $this; + } + + /** + * Get package + * + * @return \Mixstore\StoreBundle\Entity\Package + */ + public function getPackage() + { + return $this->package; + } + + /** + * Set grade + * + * @param boolean $happy + * @return Usecase + */ + public function setGrade($grade) + { + $this->grade = $grade; + + return $this; + } + + /** + * Get grade + * + * @return boolean + */ + public function getGrade() + { + return $this->grade; + } + + /** + * Set created + * + * @param \DateTime $created + * @return Usecase + */ + public function setCreated($created) + { + $this->created = $created; + + return $this; + } + + /** + * Get created + * + * @return \DateTime + */ + public function getCreated() + { + return $this->created; + } + + /** + * Set modified + * + * @param \DateTime $modified + * @return Usecase + */ + public function setModified($modified) + { + $this->modified = $modified; + + return $this; + } + + /** + * Get modified + * + * @return \DateTime + */ + public function getModified() + { + return $this->modified; + } +} diff --git a/src/Mixstore/StoreBundle/Entity/UsecaseRepository.php b/src/Mixstore/StoreBundle/Entity/UsecaseRepository.php new file mode 100644 index 0000000..df339a4 --- /dev/null +++ b/src/Mixstore/StoreBundle/Entity/UsecaseRepository.php @@ -0,0 +1,33 @@ + 0) + { + $qb = $this->createQueryBuilder('u'); + $qb->where('u.id = '.$id); + $usecase = $qb->getQuery()->getResult()[0]; + } + else + $usecase = new Usecase(); + + return $usecase; + } + + function countByPkgId($pkgid) + { + return $this + ->createQueryBuilder('u') + ->select('COUNT(u.id) AS ucscount, AVG(u.grade) AS rating') + ->where('u.package = '.$pkgid) + ->getQuery() + ->getResult()[0]; + //->getSingleScalarResult(); + } +} diff --git a/src/Mixstore/StoreBundle/MixstoreStoreBundle.php b/src/Mixstore/StoreBundle/MixstoreStoreBundle.php new file mode 100644 index 0000000..85b55ef --- /dev/null +++ b/src/Mixstore/StoreBundle/MixstoreStoreBundle.php @@ -0,0 +1,9 @@ + +{% endblock %} + +{% block content %} + +
+

All packages

+ {% include "MixstoreStoreBundle:Package:list_content.html.twig" %} +
+ +{% endblock %} + +{% block javascripts %} +{{ parent() }} + + +{% endblock %} diff --git a/src/Mixstore/StoreBundle/Resources/views/Package/list_content.html.twig b/src/Mixstore/StoreBundle/Resources/views/Package/list_content.html.twig new file mode 100644 index 0000000..fe79a6f --- /dev/null +++ b/src/Mixstore/StoreBundle/Resources/views/Package/list_content.html.twig @@ -0,0 +1,22 @@ + + + + + + + + + {% for pkg in packages %} + + + + + + + {% endfor %} + +
NameHeadlineLanguageGrade/10 – #feedbacks
{{ pkg.name }}{{ pkg.headline }}{{ pkg.language.name }} + + {% if pkg.rating != 'NA' %} {{ pkg.rating | number_format(2, '.', '') }} {% else %} NA {% endif %} – {{ pkg.ucscount }} + +
diff --git a/src/Mixstore/StoreBundle/Resources/views/Package/view.html.twig b/src/Mixstore/StoreBundle/Resources/views/Package/view.html.twig new file mode 100644 index 0000000..497853d --- /dev/null +++ b/src/Mixstore/StoreBundle/Resources/views/Package/view.html.twig @@ -0,0 +1,66 @@ +{% extends "::base.html.twig" %} + +{% block title %}{{ parent() }}package{% endblock %} + +{% block header %} +{{ parent() }} + +{% endblock %} + +{% block content %} + +{% if pkg.bannerpath != '' %} +
+ +
+{% endif %} + + + +{% if pkg.description != '' %} +
+ {{ pkg.description | raw }} +
+{% endif %} + +{% if pkg.dependencies != '' %} +
+ Dependencies: {{ pkg.dependencies }} +
+{% endif %} + +
+

+ Authors: {{ pkg.authors }} +

+

+ Contact +

+
+ + + +{% if owner or is_granted('ROLE_ADMIN') %} +
+
+ +
+
+ +
+
+{% endif %} + +{% endblock %} diff --git a/src/Mixstore/StoreBundle/Resources/views/Usecase/list.html.twig b/src/Mixstore/StoreBundle/Resources/views/Usecase/list.html.twig new file mode 100644 index 0000000..ca76db3 --- /dev/null +++ b/src/Mixstore/StoreBundle/Resources/views/Usecase/list.html.twig @@ -0,0 +1,28 @@ +{% extends "::base.html.twig" %} + +{% block title %}{{ parent() }}usecases{% endblock %} + +{% block header %} +{{ parent() }} + +{% endblock %} + +{% block content %} + +
+

Usecases for package {{ pkgname }}

+ {% include "MixstoreStoreBundle:Usecase:list_content.html.twig" %} +
+ +{% endblock %} + +{% block javascripts %} +{{ parent() }} + + +{% endblock %} diff --git a/src/Mixstore/StoreBundle/Resources/views/Usecase/list_content.html.twig b/src/Mixstore/StoreBundle/Resources/views/Usecase/list_content.html.twig new file mode 100644 index 0000000..bf9b219 --- /dev/null +++ b/src/Mixstore/StoreBundle/Resources/views/Usecase/list_content.html.twig @@ -0,0 +1,16 @@ + + + + + + + + {% for ucs in usecases %} + + + + + + {% endfor %} + +
PackageHeadlineGrade/10
{{ ucs.package.name }}{{ ucs.headline }}{{ ucs.grade }}
diff --git a/src/Mixstore/StoreBundle/Resources/views/Usecase/view.html.twig b/src/Mixstore/StoreBundle/Resources/views/Usecase/view.html.twig new file mode 100644 index 0000000..9fe1f31 --- /dev/null +++ b/src/Mixstore/StoreBundle/Resources/views/Usecase/view.html.twig @@ -0,0 +1,45 @@ +{% extends "::base.html.twig" %} + +{% block title %}{{ parent() }}Usecase{% endblock %} + +{% block header %} +{{ parent() }} + +{% endblock %} + +{% block content %} + + + +
+ {{ ucs.description | raw }} +
+ +
+ Contact +
+ +
+

+ Grade: {{ ucs.grade }} +

+

+ Last updated: {{ ucs.modified | date('Y-m-d / H:i:s') }} +

+
+ +{% if owner or is_granted('ROLE_ADMIN') %} +
+
+ +
+
+ +
+
+{% endif %} + +{% endblock %} diff --git a/src/Mixstore/StoreBundle/Resources/views/upsert-email.txt.twig b/src/Mixstore/StoreBundle/Resources/views/upsert-email.txt.twig new file mode 100644 index 0000000..f11db01 --- /dev/null +++ b/src/Mixstore/StoreBundle/Resources/views/upsert-email.txt.twig @@ -0,0 +1,5 @@ +{% if is_granted('ROLE_ADMIN') %} +By {{ name }} {{ surname }} ({{ email }}). +{% endif %} + +View online : {% if type == 'Package' %} {{ url('mixstore_store_package_view', { id: id }) }} {% else %} {{ url('mixstore_store_usecase_view', { id: id }) }} {% endif %}. diff --git a/src/Mixstore/StoreBundle/Resources/views/upsert.html.twig b/src/Mixstore/StoreBundle/Resources/views/upsert.html.twig new file mode 100644 index 0000000..d8b92d8 --- /dev/null +++ b/src/Mixstore/StoreBundle/Resources/views/upsert.html.twig @@ -0,0 +1,81 @@ +{% extends "::base.html.twig" %} + +{% block title %}{{ parent() }}upsert package{% endblock %} + +{% block header %} +{{ parent() }} + + + + + + + + + + + + +{% endblock %} + +{% block content %} + +{% form_theme form ':Form:fields.html.twig' %} + +
+

{{ title }}

+ {% if 'ackage' in title %}

Please don't forget to add a link to mixstore on your website. Thanks !

{% endif %} +
+ +
+ {{ form_widget(form) }} +
+
+ +
+
+
+ +{% endblock content %} + +{%block javascripts %} +{{ parent() }} + + + + +{% endblock %} diff --git a/src/Mixstore/UserBundle/Controller/BoardController.php b/src/Mixstore/UserBundle/Controller/BoardController.php new file mode 100644 index 0000000..4e36e0e --- /dev/null +++ b/src/Mixstore/UserBundle/Controller/BoardController.php @@ -0,0 +1,48 @@ +getUser())) + //TODO: nice error page + return $this->redirect($this->generateUrl('mixstore_static_home')); + + $em = $this + ->getDoctrine() + ->getManager(); + + $ucsRepository = $em + ->getRepository('MixstoreStoreBundle:Usecase'); + + $usecases = $ucsRepository + ->findByUser($this->getUser()->getId()); + + for ($i=0; $isoftware = $usecases[$i]->getPackage()->getName(); + + $packages = $em + ->getRepository('MixstoreStoreBundle:Package') + ->findByUser($this->getUser()->getId()); + + //TODO: fix code redundancy (see PackageController.php) + for ($i=0; $icountByPkgId($packages[$i]->getId()); + if (is_null($countAndRating['rating']) || $countAndRating['rating'] == '') + $countAndRating['rating'] = 'NA'; + $packages[$i]->ucscount = $countAndRating['ucscount']; + $packages[$i]->rating = $countAndRating['rating']; + } + + return $this->render('MixstoreUserBundle:Board:index.html.twig', array( + 'packages' => $packages, + 'usecases' => $usecases, + )); + } +} diff --git a/src/Mixstore/UserBundle/Controller/MyAdminController.php b/src/Mixstore/UserBundle/Controller/MyAdminController.php new file mode 100644 index 0000000..a025dab --- /dev/null +++ b/src/Mixstore/UserBundle/Controller/MyAdminController.php @@ -0,0 +1,110 @@ +getUser(); + if (is_null($sadmin) || !in_array('ROLE_SUPER_ADMIN', $sadmin->getRoles())) + //TODO: nice error page + return $this->redirect($this->generateUrl('mixstore_static_home')); + } + + //set initial languages + public function setLanguageAction() + { + $this->checkSuperAdmin(); + + $em = $this->getDoctrine()->getManager(); + foreach (array('C', 'C#', 'C++', 'Fortran', 'Java', 'Julia', 'Lua', 'MATLAB', 'Octave', 'Python', 'R', 'Scilab') as $lgName) + $em->persist(new Language($lgName)); + $em->flush(); + + return new Response('OK'); + } + + public function addLanguageAction($lgname) + { + $this->checkSuperAdmin(); + + $em = $this->getDoctrine()->getManager(); + $em->persist(new Language($lgname)); + $em->flush(); + + return new Response('OK'); + } + + public function usersAction() + { + $this->checkSuperAdmin(); + + return $this->render('MixstoreUserBundle:Admin:users.html.twig', array( + 'users' => $this + ->getDoctrine() + ->getManager() + ->getRepository('MixstoreUserBundle:User') + ->findAll(), + )); + } + + public function toggleAction() + { + $this->checkSuperAdmin(); + + //get id of user to toggle + $userId = $this->getRequest()->get('id'); + //get user to toggle + $em = $this->getDoctrine()->getManager(); + $user = $em + ->getRepository('MixstoreUserBundle:User') + ->findById($userId)[0]; + + if (in_array('ROLE_ADMIN', $user->getRoles())) + $user->setRoles(array('ROLE_USER')); + else + $user->setRoles(array('ROLE_ADMIN')); + + //save new state + $em->persist($user); + $em->flush(); + + //dummy unused answer (no error case for the moment) + return new Response('OK'); + } + + public function deleteAction($id) + { + $this->checkSuperAdmin(); + + $em = $this->getDoctrine()->getManager(); + $user = $em + ->getRepository('MixstoreUserBundle:User') + ->findById($id)[0]; + $em->remove($user); + $em->flush(); + + return new Response('OK'); + } + + //unique usage: set super admin + public function setsaAction() + { + $em = $this->getDoctrine()->getManager(); + $sadmin = $em + ->getRepository('MixstoreUserBundle:User') + ->findById(1)[0]; //HACK: hard-coded ID + + $sadmin->setRoles(array('ROLE_ADMIN', 'ROLE_SUPER_ADMIN')); + $em->persist($sadmin); + $em->flush(); + + return new response('OK'); + } +} diff --git a/src/Mixstore/UserBundle/DependencyInjection/Configuration.php b/src/Mixstore/UserBundle/DependencyInjection/Configuration.php new file mode 100644 index 0000000..99c2d0d --- /dev/null +++ b/src/Mixstore/UserBundle/DependencyInjection/Configuration.php @@ -0,0 +1,29 @@ +root('mixstore_user'); + + // Here you should define the parameters that are allowed to + // configure your bundle. See the documentation linked above for + // more information on that topic. + + return $treeBuilder; + } +} diff --git a/src/Mixstore/UserBundle/DependencyInjection/MixstoreUserExtension.php b/src/Mixstore/UserBundle/DependencyInjection/MixstoreUserExtension.php new file mode 100644 index 0000000..0e9711b --- /dev/null +++ b/src/Mixstore/UserBundle/DependencyInjection/MixstoreUserExtension.php @@ -0,0 +1,28 @@ +processConfiguration($configuration, $configs); + + $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); + $loader->load('services.yml'); + } +} diff --git a/src/Mixstore/UserBundle/Entity/User.php b/src/Mixstore/UserBundle/Entity/User.php new file mode 100644 index 0000000..0d8e5f0 --- /dev/null +++ b/src/Mixstore/UserBundle/Entity/User.php @@ -0,0 +1,163 @@ +id; + } + + /** + * Set name + * + * @param string $name + * @return User + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set surname + * + * @param string $surname + * @return User + */ + public function setSurname($surname) + { + $this->surname = $surname; + + return $this; + } + + /** + * Get surname + * + * @return string + */ + public function getSurname() + { + return $this->surname; + } + + /** + * Set email (override base behavior) + * + * @param string $email + * @return User + */ + public function setEmail($email) + { + //http://stackoverflow.com/questions/8832916/remove-replace-the-username-field-with-email-using-fosuserbundle-in-symfony2 + $email = is_null($email) ? '' : $email; + parent::setEmail($email); + $this->setUsername($email); + + return $this; + } + + /** + * Set emailnotif0 + * + * @param boolean $emailnotif0 + * @return User + */ + public function setEmailnotif0($emailnotif0) + { + $this->emailnotif0 = $emailnotif0; + + return $this; + } + + /** + * Get emailnotif0 + * + * @return boolean + */ + public function getEmailnotif0() + { + return $this->emailnotif0; + } + + /** + * Set emailnotif1 + * + * @param boolean $emailnotif1 + * @return User + */ + public function setEmailnotif1($emailnotif1) + { + $this->emailnotif1 = $emailnotif1; + + return $this; + } + + /** + * Get emailnotif1 + * + * @return boolean + */ + public function getEmailnotif1() + { + return $this->emailnotif1; + } +} diff --git a/src/Mixstore/UserBundle/Form/Type/ProfileFormType.php b/src/Mixstore/UserBundle/Form/Type/ProfileFormType.php new file mode 100644 index 0000000..12e4bc2 --- /dev/null +++ b/src/Mixstore/UserBundle/Form/Type/ProfileFormType.php @@ -0,0 +1,31 @@ +remove('username'); // we use email as the username + $builder->add('name'); // first name + $builder->add('surname'); // last name + + //$user = $this->securityContext->getToken()->getUser(); + // email notifications on packages/usecases creation + $builder->add('emailnotif0', 'checkbox', array('label' => 'Email notifications', 'required' => false)); + // ...also on updates + $builder->add('emailnotif1', 'checkbox', array('label' => 'Also on updates', 'required' => false)); + } + + public function getName() + { + return 'mixstore_user_profile'; + } +} diff --git a/src/Mixstore/UserBundle/Form/Type/RegistrationFormType.php b/src/Mixstore/UserBundle/Form/Type/RegistrationFormType.php new file mode 100644 index 0000000..3d2c9f6 --- /dev/null +++ b/src/Mixstore/UserBundle/Form/Type/RegistrationFormType.php @@ -0,0 +1,24 @@ +remove('username'); // we use email as the username + $builder->add('name'); // first name + $builder->add('surname'); // last name + } + + public function getName() + { + return 'mixstore_user_registration'; + } +} diff --git a/src/Mixstore/UserBundle/MixstoreUserBundle.php b/src/Mixstore/UserBundle/MixstoreUserBundle.php new file mode 100644 index 0000000..754248d --- /dev/null +++ b/src/Mixstore/UserBundle/MixstoreUserBundle.php @@ -0,0 +1,13 @@ + +{% endblock %} + +{% block content %} + +{% if is_granted('ROLE_SUPER_ADMIN') %} + +
+

All users

+

Click on a line to toggle privileges. Admins in blue. Super-admin(s) in red

+ + + + + + + + + {% for user in users %} + + + + + + + {% endfor %} + +
First nameLast nameEmail
{{ user.name }}{{ user.surname }}{{ user.email }}Delete
+
+ +{% endif %} + +{% endblock %} + +{% block javascripts %} +{{ parent() }} + +{% endblock %} diff --git a/src/Mixstore/UserBundle/Resources/views/Board/index.html.twig b/src/Mixstore/UserBundle/Resources/views/Board/index.html.twig new file mode 100644 index 0000000..a343f21 --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Board/index.html.twig @@ -0,0 +1,36 @@ +{% extends "::base.html.twig" %} + +{% block title %}{{ parent() }}user board{% endblock %} + +{% block header %} +{{ parent() }} + + +{% endblock %} + +{% block content %} + +
+

My packages

+ {% include "MixstoreStoreBundle:Package:list_content.html.twig" %} + +
+ +
+

My usecases

+ {% include "MixstoreStoreBundle:Usecase:list_content.html.twig" %} + +
+ +{% endblock %} + +{% block javascripts %} +{{ parent() }} + + +{% endblock %} diff --git a/src/Mixstore/UserBundle/Resources/views/ChangePassword/changePassword.html.twig b/src/Mixstore/UserBundle/Resources/views/ChangePassword/changePassword.html.twig new file mode 100644 index 0000000..c0b4e7f --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/ChangePassword/changePassword.html.twig @@ -0,0 +1,18 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}change password{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
+ {# TODO: do not ask for current password (?!) #} + {{ form_widget(form) }} +
+
+ +
+
+
+ +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Profile/edit.html.twig b/src/Mixstore/UserBundle/Resources/views/Profile/edit.html.twig new file mode 100644 index 0000000..66946ba --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Profile/edit.html.twig @@ -0,0 +1,18 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}edit profile{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + + + +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Profile/show.html.twig b/src/Mixstore/UserBundle/Resources/views/Profile/show.html.twig new file mode 100644 index 0000000..442af44 --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Profile/show.html.twig @@ -0,0 +1,21 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}profile{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
+
+

{{ 'profile.show.email'|trans }}: {{ user.email }}

+

First name: {{ user.name }}

+

Last name: {{ user.surname }}

+ {% if user.emailnotif1 %} +

Notifications enabled for any creation or update

+ {% elseif user.emailnotif0 %} +

Notifications enabled on packages/usecases creations

+ {% endif %} +
+
+ +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Registration/checkEmail.html.twig b/src/Mixstore/UserBundle/Resources/views/Registration/checkEmail.html.twig new file mode 100644 index 0000000..f92f0b1 --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Registration/checkEmail.html.twig @@ -0,0 +1,10 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}check email{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
{{ 'registration.check_email'|trans({'%email%': user.email}) }}
+ +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Registration/confirmed.html.twig b/src/Mixstore/UserBundle/Resources/views/Registration/confirmed.html.twig new file mode 100644 index 0000000..b18c00a --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Registration/confirmed.html.twig @@ -0,0 +1,14 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}registration confirmed{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
{{ 'registration.confirmed'|trans({'%username%': user.username}) }}
+ {% if app.session is not empty %} + {% set targetUrl = app.session.get('_security.' ~ app.security.token.providerKey ~ '.target_path') %} + {% if targetUrl is not empty %}{% endif %} + {% endif %} + +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Registration/email.txt.twig b/src/Mixstore/UserBundle/Resources/views/Registration/email.txt.twig new file mode 100644 index 0000000..726f539 --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Registration/email.txt.twig @@ -0,0 +1,12 @@ +{% trans_default_domain 'FOSUserBundle' %} +{% block subject %} +{% autoescape false %} +{{ 'registration.email.subject'|trans({'%username%': user.username, '%confirmationUrl%': confirmationUrl}) }} +{% endautoescape %} +{% endblock %} +{% block body_text %} +{% autoescape false %} +{{ 'registration.email.message'|trans({'%username%': user.username, '%confirmationUrl%': confirmationUrl}) }} +{% endautoescape %} +{% endblock %} +{% block body_html %}{% endblock %} diff --git a/src/Mixstore/UserBundle/Resources/views/Registration/register.html.twig b/src/Mixstore/UserBundle/Resources/views/Registration/register.html.twig new file mode 100644 index 0000000..3514b25 --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Registration/register.html.twig @@ -0,0 +1,17 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}register{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
+ {{ form_widget(form) }} +
+
+ +
+
+
+ +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Resetting/checkEmail.html.twig b/src/Mixstore/UserBundle/Resources/views/Resetting/checkEmail.html.twig new file mode 100644 index 0000000..70e036f --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Resetting/checkEmail.html.twig @@ -0,0 +1,14 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}check email{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
+
+ {{ 'resetting.check_email'|trans({'%email%': email}) }} +
+
+ +{% endblock %} diff --git a/src/Mixstore/UserBundle/Resources/views/Resetting/email.txt.twig b/src/Mixstore/UserBundle/Resources/views/Resetting/email.txt.twig new file mode 100644 index 0000000..409aeeb --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Resetting/email.txt.twig @@ -0,0 +1,12 @@ +{% trans_default_domain 'FOSUserBundle' %} +{% block subject %} +{% autoescape false %} +{{ 'resetting.email.subject'|trans({'%username%': user.username, '%confirmationUrl%': confirmationUrl}) }} +{% endautoescape %} +{% endblock %} +{% block body_text %} +{% autoescape false %} +{{ 'resetting.email.message'|trans({'%username%': user.username, '%confirmationUrl%': confirmationUrl}) }} +{% endautoescape %} +{% endblock %} +{% block body_html %}{% endblock %} diff --git a/src/Mixstore/UserBundle/Resources/views/Resetting/passwordAlreadyRequested.html.twig b/src/Mixstore/UserBundle/Resources/views/Resetting/passwordAlreadyRequested.html.twig new file mode 100644 index 0000000..7e71a0c --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Resetting/passwordAlreadyRequested.html.twig @@ -0,0 +1,12 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}password already requested{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
+
{{ 'resetting.password_already_requested'|trans }}
+
+ +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Resetting/request.html.twig b/src/Mixstore/UserBundle/Resources/views/Resetting/request.html.twig new file mode 100644 index 0000000..2fa5cf5 --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Resetting/request.html.twig @@ -0,0 +1,25 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}request{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
+
+ {% if invalid_username is defined %} +

{{ 'resetting.request.invalid_username'|trans({'%username%': invalid_username}) }}

+ {% endif %} + +
+ +
+
+
+
+ +
+
+
+ +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Resetting/reset.html.twig b/src/Mixstore/UserBundle/Resources/views/Resetting/reset.html.twig new file mode 100644 index 0000000..8c8527c --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Resetting/reset.html.twig @@ -0,0 +1,17 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}reset{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +
+ {{ form_widget(form) }} +
+
+ +
+
+
+ +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/Security/login.html.twig b/src/Mixstore/UserBundle/Resources/views/Security/login.html.twig new file mode 100644 index 0000000..dd985b0 --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/Security/login.html.twig @@ -0,0 +1,54 @@ +{% extends "FOSUserBundle::layout.html.twig" %} + +{% block title %}{{ parent() }}login{% endblock %} + +{% block fos_user_content %} +{% trans_default_domain 'FOSUserBundle' %} + +{% if error %} +
+
{{ error|trans }}
+
+{% endif %} + +
+ + + +
+ +
+ +
+

New user ? Sign up first !

+

I have forgotten my password

+
+ +
+ +{% endblock fos_user_content %} diff --git a/src/Mixstore/UserBundle/Resources/views/layout.html.twig b/src/Mixstore/UserBundle/Resources/views/layout.html.twig new file mode 100644 index 0000000..0bab823 --- /dev/null +++ b/src/Mixstore/UserBundle/Resources/views/layout.html.twig @@ -0,0 +1,39 @@ +{% extends "::base.html.twig" %} + +{% block title %}{{ parent() }}user / {% endblock %} + +{% block header %} +{{ parent() }} + + +{% endblock %} + +{% block content %} + +{% for type, messages in app.session.flashbag.all() %} + {% for key, message in messages %} +
+
+ {{ message|trans({}, 'FOSUserBundle') }} +
+
+ {% endfor %} +{% endfor %} + +{% if form is defined %} + {% form_theme form ':Form:fields.html.twig' %} +{% endif %} + +{% block fos_user_content %} +{% endblock fos_user_content %} + +{% endblock %} + +{% block javascripts %} +{{ parent() }} + +{% endblock %} diff --git a/web/.htaccess b/web/.htaccess new file mode 100644 index 0000000..0c5f37d --- /dev/null +++ b/web/.htaccess @@ -0,0 +1,52 @@ +# Use the front controller as index file. It serves as a fallback solution when +# every other rewrite/redirect fails (e.g. in an aliased environment without +# mod_rewrite). Additionally, this reduces the matching process for the +# start page (path "/") because otherwise Apache will apply the rewriting rules +# to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl). +DirectoryIndex app.php + + + RewriteEngine On + + # Determine the RewriteBase automatically and set it as environment variable. + # If you are using Apache aliases to do mass virtual hosting or installed the + # project in a subdirectory, the base path will be prepended to allow proper + # resolution of the app.php file and to redirect to the correct URI. It will + # work in environments without path prefix as well, providing a safe, one-size + # fits all solution. But as you do not need it in this case, you can comment + # the following 2 lines to eliminate the overhead. + RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ + RewriteRule ^(.*) - [E=BASE:%1] + + # Redirect to URI without front controller to prevent duplicate content + # (with and without `/app.php`). Only do this redirect on the initial + # rewrite by Apache and not on subsequent cycles. Otherwise we would get an + # endless redirect loop (request -> rewrite to front controller -> + # redirect -> request -> ...). + # So in case you get a "too many redirects" error or you always get redirected + # to the start page because your Apache does not expose the REDIRECT_STATUS + # environment variable, you have 2 choices: + # - disable this feature by commenting the following 2 lines or + # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the + # following RewriteCond (best solution) + RewriteCond %{ENV:REDIRECT_STATUS} ^$ + RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] + + # If the requested filename exists, simply serve it. + # We only want to let Apache serve files and not directories. + RewriteCond %{REQUEST_FILENAME} -f + RewriteRule .? - [L] + + # Rewrite all other queries to the front controller. + RewriteRule .? %{ENV:BASE}/app.php [L] + + + + + # When mod_rewrite is not available, we instruct a temporary redirect of + # the start page to the front controller explicitly so that the website + # and the generated links can still be used. + RedirectMatch 302 ^/$ /app.php/ + # RedirectTemp cannot be used instead + + diff --git a/web/app.php b/web/app.php new file mode 100644 index 0000000..4f591c1 --- /dev/null +++ b/web/app.php @@ -0,0 +1,29 @@ +unregister(); +$apcLoader->register(true); +*/ + +require_once __DIR__.'/../app/AppKernel.php'; +//require_once __DIR__.'/../app/AppCache.php'; + +$kernel = new AppKernel('prod', false); +$kernel->loadClassCache(); +//$kernel = new AppCache($kernel); + +// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter +//Request::enableHttpMethodParameterOverride(); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/web/app_dev.php b/web/app_dev.php new file mode 100644 index 0000000..872a882 --- /dev/null +++ b/web/app_dev.php @@ -0,0 +1,30 @@ +loadClassCache(); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/web/apple-touch-icon.png b/web/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..11f17e6d89ee3b416218ede42b66ec1dd81507f2 GIT binary patch literal 10784 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 f!getFailedRequirements(); +$minorProblems = $symfonyRequirements->getFailedRecommendations(); + +?> + + + + + + Symfony Configuration + + + + + +
+
+ + + +
+ +
+
+
+

Welcome!

+

Welcome to your new Symfony project.

+

+ This script will guide you through the basic configuration of your project. + You can also do the same by editing the ‘app/config/parameters.yml’ file directly. +

+ + +

Major problems

+

Major problems have been detected and must be fixed before continuing:

+
    + +
  1. getHelpHtml() ?>
  2. + +
+ + + +

Recommendations

+

+ Additionally, toTo enhance your Symfony experience, + it’s recommended that you fix the following: +

+
    + +
  1. getHelpHtml() ?>
  2. + +
+ + + hasPhpIniConfigIssue()): ?> +

* + getPhpIniConfigPath()): ?> + Changes to the php.ini file must be done in "getPhpIniConfigPath() ?>". + + To change settings, create a "php.ini". + +

+ + + +

Your configuration looks good to run Symfony.

+ + + +
+
+
+
Symfony Standard Edition
+
+ + diff --git a/web/favicon.ico b/web/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..864803618e0888f8463c0b30038633c018f939cc GIT binary patch literal 1150 zcmaizUr1AN6vuy3^oL%AsH~?RBQobI=ccaNk~J)QQD?41%~lUl4?1&O#PTUgotA-9 zsDZB9Dx!CTsTlUUw?V5x4YK5>5M*n+r|-FL<1!X8KKK0Y+4-K|Ip_DgLX_ZFS}O27 zD6VZ4Vy_V55P%DwO+Snf_;2^FO_X=lLt9ZPzz)z@c~ldI{Q@#slCUp96W9qfs%tQ*oXL6(4`+eocJ>~>XTi!Tx6`NE0#k>{2Oo} ztK9}W2EBZ;)|i=(L{i>6UU}sHFa>93DOU?()OGNh>)?K^U==8P)fsB(g!Z`H)Oe2K zAL8V3c}P=UQK;p237iK()-qO$m3q1_)5Uf>)l?g3abZDzzr3uhc^8WX1k|b(vZuwUYd`2nOcXxJ?f6`A^uQ+Js>k0*)1Z4Ms zn^LJ1IeVQ{e)veSS*BUf_2AsdWHfQT>0~mg)MIP0(fZmtg+pPwU~40@=~Q74tpCV* z?ho@%#bU9aI76NxIeHwFNF*?aMWwIcY>?`WCUqU3p`BrU7P-H#KQlGy-*EQ!{qC?| zBHyTwqR}XwX|T}E>o*E#8G_CNzUOjq9hiOEpwp*$E~o3w^mcAenG2uk(7mCIUZ>~% zB=me1mhaCn;Cq#;BX2o}t+|y3?+$Lc6{R^^&pjZF^ literal 0 HcmV?d00001 diff --git a/web/mixstore/css/base.css b/web/mixstore/css/base.css new file mode 100644 index 0000000..8605f5c --- /dev/null +++ b/web/mixstore/css/base.css @@ -0,0 +1,129 @@ +html { + position: relative; + min-height: 100%; +} + +body { + /* Margin bottom by footer height + 15px (??) */ + margin-bottom: 65px; + font-size: 16px; + overflow-x: hidden; /* fix extra margin; +http://stackoverflow.com/questions/23768152/using-container-fluid-within-bootstrap-cause-horizontal-scrollbar */ +} + +/* +div { + font-size: 1.1em; +}*/ + +div.container-fluid { + margin-left: -15px; + margin-right: -15px; +} + +div.row { + margin-left: 0; + margin-right: 0; +} + +footer { + position: absolute; + bottom: 0; + width: 100%; + /* Set the fixed height of the footer here */ + height: 65px; + background-color: #dd4814; + padding-top: 25px; + color: white; + text-align: center; +} + +footer a { + color: black; +} + +footer a:hover { + color: darkgrey; +} + +/* +.navbar-header { + padding-left: 5px; +} +.navbar-right { + padding-right: 5px; +} +*/ + +.navbar { + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; +} + +.navbar-default .navbar-brand { + font-style: italic; + color: #C0C0C0; +} + +@media screen and (min-width: 768px) { +li#storemenu { + display: block; + position: absolute; + top: 0; + left: 46%; +} +} + +@media (min-width: 768px) { +.navbar-nav>li>a {/* middle between dd4814 and 97310e */ +background-color:#ba3c11; +} +} + +li#storemenu > a { + font-family: 'Merienda One', sans-serif; +} + +li#loginmenu > a { + font-family: 'Merienda One', sans-serif; +} + +div.navbar { + margin-bottom: 0; +} + +@media screen and (max-width: 767px) { +div.navbar-collapse { + padding-left: 0; + padding-right: 0; +} +ul.nav { + margin: 0; + padding: 0; +} +} + +.center-txt { + text-align: center; +} + +.justify { + text-align: justify; +} + +.bold { + font-weight: bold; +} + +.red { + color: #ff0000; +} + +.blue { + color: #0000ff; +} + +.top-spaced { + margin-top: 20px; +} diff --git a/web/mixstore/css/form.css b/web/mixstore/css/form.css new file mode 100644 index 0000000..3830495 --- /dev/null +++ b/web/mixstore/css/form.css @@ -0,0 +1,20 @@ +form { + margin-top: 25px; +} + +div#afterform { + margin-top: 20px; +} + +select { + margin-top: 9px; +} + +input[type="checkbox"] { + margin-top: 13px; +} + +input[type="file"] { + margin-top: 5px; + /*height: 48px; doesn't work well - TOFIX */ +} diff --git a/web/mixstore/css/static/about.css b/web/mixstore/css/static/about.css new file mode 100644 index 0000000..2bc4d18 --- /dev/null +++ b/web/mixstore/css/static/about.css @@ -0,0 +1,40 @@ +div#maintext { + padding-left: 5%; + padding-right: 5%; + padding-bottom: 15px; +} + +figure { + text-align: center; +} + +figure img { + width: 75%; +} + +@media screen and (max-width: 500px) { +figure img { + width: 95%; + width: 95%; +} +} + +@media screen and (min-width: 768px) { +figure img { + width: 60%; + width: 60%; +} +} + +@media screen and (min-width: 1024px) { +figure img { + width: 600px; + width: 500px; +} +} + +div.borderbottom { + border-bottom: 1px solid grey; + margin-bottom: 20px; + padding-bottom: 15px; +} diff --git a/web/mixstore/css/static/home.css b/web/mixstore/css/static/home.css new file mode 100644 index 0000000..774987e --- /dev/null +++ b/web/mixstore/css/static/home.css @@ -0,0 +1,114 @@ +div#carousel-example-generic { + border-bottom: 1px solid black; +} + +h2, h3 { + text-align: center; +} + +h2 { + font-size: 48px; +} + +p, table { + font-size: 17px; /*1.3em*/ +} + +table { + margin: 0 auto; + width: 95%; + margin-top: 15px; +} + +td { + border: 1px solid grey; + padding: 5px; +} + +div.column { + text-align: center; + height: 350px; + padding-top: 30px; +} + +@media screen and (max-width: 400px) { +div.column { + padding-top: 15px; +} +} + +@media screen and (max-width: 767px) { +div.column { + background-color: white; + border-bottom: 1px solid black; +} +div.xs-shrink { + height: 200px; +} +h2 { + padding-bottom: 15px; +} +} + +@media screen and (min-width: 768px) { +div.column { + padding-left: 3%; + padding-right: 3%; +} +h2 { + padding-bottom: 24px; +} +} + +@media screen and (min-width: 1024px) { +div.column { + padding-left: 5%; + padding-right: 5%; +} +} + +div.borderbottom { + border-bottom: 1px solid grey; +} + +.grey-bg { + background-color: lightgrey; +} + +div#home-carousel { + margin-top: 0; + width: 100%; +} + +div.carousel-playpause { + position: absolute; + bottom: 1px; + z-index: 15; + width: 100%; + text-align: center; + list-style: none; + margin-bottom: 0; +} + +div.carousel-playpause span { + padding-left: 0; + padding-right: 0; + font-size: 115%; + cursor: pointer; +} + +@media screen and (min-width: 768px) { +div.carousel-playpause span { + font-size: 150%; +} +} + +div.carousel-inner div.item img { + width: 100%; +} + +@media screen and (max-width: 515px) { +div.carousel-inner div.item img { + height: 150px; +} +} diff --git a/web/mixstore/css/static/policy.css b/web/mixstore/css/static/policy.css new file mode 100644 index 0000000..1900030 --- /dev/null +++ b/web/mixstore/css/static/policy.css @@ -0,0 +1,18 @@ +div#maintext { + padding-left: 5%; + padding-right: 5%; +} + +ol.policy li { + padding-top: 10px; + padding-bottom: 10px; +} + +ol.policy li ul { + margin-bottom: 3px; +} + +ol.policy li ul li { + padding-top: 1px; + padding-bottom: 1px; +} diff --git a/web/mixstore/css/store/table.css b/web/mixstore/css/store/table.css new file mode 100644 index 0000000..bb1cca0 --- /dev/null +++ b/web/mixstore/css/store/table.css @@ -0,0 +1,50 @@ +table { + margin-left: auto; + margin-right: auto; + width: 100%; +} + +@media screen and (min-width: 768px) { +table { + width: 95%; +} +} + +table, th, td { + text-align: center; +} + +table > thead > tr > th { + border: 1px solid #ccc; + background-color: #E6FFCC; + padding: 13px 5px 13px 5px; +} + +table > tbody > tr > td { + border: 1px solid #ccc; +} + +tr:nth-of-type(even) { + background: #eee; +} + +tr:nth-of-type(odd) { + background: #fff; +} + +td a { + color: #2C3E50; + text-decoration: none; + display: block; + padding: 13px 5px 13px 5px; +} + +td a:hover { + text-decoration: none; + color: #2C3E50; +} + +th[data-sort]{ + cursor:pointer; + color: #480000; +} diff --git a/web/mixstore/css/store/upsert.css b/web/mixstore/css/store/upsert.css new file mode 100644 index 0000000..278b91b --- /dev/null +++ b/web/mixstore/css/store/upsert.css @@ -0,0 +1,29 @@ +.btn-default { + background-color: #333 +} + +.note-editor { + padding-left: 0; + padding-right: 0; +} + +.note-editor .note-editable { + background-color: #eee; +} + +.note-editor .note-codable { + color: white; + background-color: #333; +} + +/* next 2 rules should be used, but do not work with summernote [TOFIX] */ +/* +.CodeMirror { + border: 1px solid #eee; + height: auto; +} +.CodeMirror-scroll { + overflow-y: hidden; + overflow-x: auto; +} +*/ diff --git a/web/mixstore/css/store/view-package.css b/web/mixstore/css/store/view-package.css new file mode 100644 index 0000000..64f7e8e --- /dev/null +++ b/web/mixstore/css/store/view-package.css @@ -0,0 +1,44 @@ +#pkgimage { + display: block; + width: 100%; +} + +#header { + text-align: center; + padding-top: 15px; + padding-bottom: 15px; + border-bottom: 1px solid #ccc; +} + +#description { + border-bottom: 1px solid #ccc; + padding: 15px 0 15px 15px; +} + +#dependencies { + border-bottom: 1px solid #ccc; + padding: 15px 0 15px 15px; +} + +#contact { + margin-top: 20px; + padding-left: 15px; +} + +#moreinfo { + padding-left: 15px; +} + +.flush-right { + text-align: right; +} + +@media screen and (max-width: 515px) { +img#pkgimage { + height: 150px; +} +} + +#admin { + margin-bottom: 20px; +} diff --git a/web/mixstore/css/store/view-usecase.css b/web/mixstore/css/store/view-usecase.css new file mode 100644 index 0000000..115f433 --- /dev/null +++ b/web/mixstore/css/store/view-usecase.css @@ -0,0 +1,30 @@ +/* TODO: merge with view-package.css */ + +#header { + text-align: center; + padding-top: 15px; + padding-bottom: 15px; + border-bottom: 1px solid #ccc; +} + +#description { + border-bottom: 1px solid #ccc; + padding: 15px 0 15px 15px; + margin-bottom: 20px; +} + +#contact { + padding-left: 15px; +} + +#moreinfo { + padding-left: 15px; +} + +.flush-right { + text-align: right; +} + +#admin { + margin-bottom: 20px; +} diff --git a/web/mixstore/css/summernote.min.css b/web/mixstore/css/summernote.min.css new file mode 100644 index 0000000..4dc3d1b --- /dev/null +++ b/web/mixstore/css/summernote.min.css @@ -0,0 +1 @@ +.note-editor{border:1px solid #a9a9a9}.note-editor .note-dropzone{position:absolute;z-index:1;display:none;color:#87cefa;background-color:white;border:2px dashed #87cefa;opacity:.95;pointer-event:none}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:bold;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf;border:2px dashed #098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%}.note-editor.fullscreen .note-editable{background-color:white}.note-editor.fullscreen .note-resizebar{display:none}.note-editor.codeview .note-editable{display:none}.note-editor.codeview .note-codable{display:block}.note-editor .note-toolbar{padding-bottom:5px;padding-left:5px;margin:0;background-color:#f5f5f5;border-bottom:1px solid #a9a9a9}.note-editor .note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-editor .note-toolbar .note-table .dropdown-menu{min-width:0;padding:5px}.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker{font-size:18px}.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-editor .note-toolbar .note-style h1,.note-editor .note-toolbar .note-style h2,.note-editor .note-toolbar .note-style h3,.note-editor .note-toolbar .note-style h4,.note-editor .note-toolbar .note-style h5,.note-editor .note-toolbar .note-style h6,.note-editor .note-toolbar .note-style blockquote{margin:0}.note-editor .note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-editor .note-toolbar .note-color .dropdown-menu{min-width:290px}.note-editor .note-toolbar .note-color .dropdown-menu .btn-group{margin:0}.note-editor .note-toolbar .note-color .dropdown-menu .btn-group:first-child{margin:0 5px}.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset{padding:0 3px;margin:5px;font-size:12px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover{background:#eee}.note-editor .note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-editor .note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-editor .note-statusbar{background-color:#f5f5f5}.note-editor .note-statusbar .note-resizebar{width:100%;height:8px;cursor:s-resize;border-top:1px solid #a9a9a9}.note-editor .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor .note-popover .popover{max-width:none}.note-editor .note-popover .popover .popover-content{padding:5px}.note-editor .note-popover .popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-editor .note-popover .popover .popover-content .btn-group+.btn-group{margin-left:5px}.note-editor .note-popover .popover .arrow{left:20px}.note-editor .note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-editor .note-handle .note-control-selection>div{position:absolute}.note-editor .note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:black;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-editor .note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-editor .note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-editor .note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-editor .note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-editor .note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-editor .note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-editor .note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-editor .note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:white;background-color:black;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-editor .note-dialog>div{display:none}.note-editor .note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}.note-editor .note-dialog .note-help-dialog{font-size:12px;color:#ccc;background:transparent;background-color:#222!important;border:0;-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9;-ms-filter:alpha(opacity=90);filter:alpha(opacity=90)}.note-editor .note-dialog .note-help-dialog .modal-content{background:transparent;border:1px solid white;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.note-editor .note-dialog .note-help-dialog a{font-size:12px;color:white}.note-editor .note-dialog .note-help-dialog .title{padding-bottom:5px;font-size:14px;font-weight:bold;color:white;border-bottom:white 1px solid}.note-editor .note-dialog .note-help-dialog .modal-close{font-size:14px;color:#dd0;cursor:pointer}.note-editor .note-dialog .note-help-dialog .note-shortcut-layout{width:100%}.note-editor .note-dialog .note-help-dialog .note-shortcut-layout td{vertical-align:top}.note-editor .note-dialog .note-help-dialog .note-shortcut{margin-top:8px}.note-editor .note-dialog .note-help-dialog .note-shortcut th{font-size:13px;color:#dd0;text-align:left}.note-editor .note-dialog .note-help-dialog .note-shortcut td:first-child{min-width:110px;padding-right:10px;font-family:"Courier New";color:#dd0;text-align:right}.note-editor .note-editable{padding:10px;overflow:auto;outline:0}.note-editor .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor .dropdown-menu{min-width:90px}.note-editor .dropdown-menu.right{right:0;left:auto}.note-editor .dropdown-menu.right::before{right:9px;left:auto!important}.note-editor .dropdown-menu.right::after{right:10px;left:auto!important}.note-editor .dropdown-menu li a i{color:deepskyblue;visibility:hidden}.note-editor .dropdown-menu li a.checked i{visibility:visible}.note-editor .note-fontsize-10{font-size:10px}.note-editor .note-color-palette{line-height:1}.note-editor .note-color-palette div .note-color-btn{width:17px;height:17px;padding:0;margin:0;border:1px solid #fff}.note-editor .note-color-palette div .note-color-btn:hover{border:1px solid #000} \ No newline at end of file diff --git a/web/mixstore/css/user/admin.css b/web/mixstore/css/user/admin.css new file mode 100644 index 0000000..2231dd7 --- /dev/null +++ b/web/mixstore/css/user/admin.css @@ -0,0 +1,26 @@ +tr.user { + cursor: pointer; +} + +h2, h4 { + text-align: center; +} + +table { + margin: 0 auto; + width: 75%; + margin-top: 15px; +} + +td { + border: 1px solid grey; + padding: 5px; +} + +tr:nth-child(even) { + background-color: #eee; +} + +tr:nth-child(odd) { + background-color: #fff; +} diff --git a/web/mixstore/css/user/board.css b/web/mixstore/css/user/board.css new file mode 100644 index 0000000..4e8be2e --- /dev/null +++ b/web/mixstore/css/user/board.css @@ -0,0 +1,18 @@ +a.addnew { + display: block; + text-align: center; + margin-top: 10px; +} + +h2 { + text-align: center; +} + +#packages { + border-bottom: 1px solid #ccc; + padding-bottom: 25px; +} + +#usecases { + padding-bottom: 10px; +} diff --git a/web/mixstore/css/user/common.css b/web/mixstore/css/user/common.css new file mode 100644 index 0000000..08137e2 --- /dev/null +++ b/web/mixstore/css/user/common.css @@ -0,0 +1,23 @@ +div.fos_user_user_show { + padding-top: 15px; + margin-bottom: 0; +} + +h1 { + color: grey; + text-align: center; + margin-top: 15px; + margin-bottom: 15px; +} + +div.flash-message { + text-align: center; + margin-top: 20px; + color: blue; +} + +div.error { + text-align: center; + margin-top: 20px; + color: red; +} diff --git a/web/mixstore/fonts/glyphicons-halflings-regular.eot b/web/mixstore/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed GIT binary patch literal 20335 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

!oRptb@n+ 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 literal 0 HcmV?d00001 diff --git a/web/mixstore/fonts/glyphicons-halflings-regular.svg b/web/mixstore/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..e3e2dc7 --- /dev/null +++ b/web/mixstore/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/mixstore/fonts/glyphicons-halflings-regular.ttf b/web/mixstore/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..67fa00bf83801d2fa568546b982c80d27f6ef74e GIT binary patch literal 41280 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

PBK;&Wcg|NX{>QR@W3{K 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 literal 0 HcmV?d00001 diff --git a/web/mixstore/fonts/glyphicons-halflings-regular.woff b/web/mixstore/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c54182aa5d4d1ab3c9171976b615c1dcb1dc187 GIT binary patch literal 23320 zcmY&6mA1(8T6a0V( z7zzkXUYUXEN9+9I!ap!DFOd#1wlTB=0s{G=z_>rwLFyJd-Ppy62nY!Dzg$rNAC#b> zW_IQ_KN{(eU)_(Nsd6JjiMgTUPb}E#|M~#|A(>mdoBe3JKtOVEKtTU^2nd*oEldqf zfPj=PfBaZ}zy@NZ@n!KN0s$!#{qXEt`TP45!w50c8!{TL10RAG)dniu*zrR^LTrn}O+tRb0xd~0E&>H($0brSGJ*iX z8bUAslphEzmTHiWB72`anLv4VuEY~_ za}WVZu^zT;R-~y&T~BYSiJ>00^O~gpl9q$zHI%Y>Lhsr-MaOrb%y%q|(42pX<4bce z&%S(EIYGx}q8~@4pX*EKdS?h=SI&tEv`GGM8)AScL0;U}brn10v;~p2;1NOn2Um$W z*U=i%VuwBRz@Z11qKr(qgO8vr*&X5{?12dd{6*l`Yp`?k3MDcih%qI+g!qV2n61L{ zS-80y9H-NmrN`sSUC*p$lut-w`?nyb*goYXni_zf3okCBA{zrCwXDq^$DQB5U?DQ* z61o2X9r4;yA!5sN`)f6pe9e8pguH(cK5%0-vMf9zrWWth^A{_9wXmH0nW$}wo9hf@Mt&V*5m2_W0Zac{Bwl*3N0W}7D6V5mO|AbT zMePe7b5d1qntWOB)2(kfH3+1h@`qdCj$7%?Ws`6C=E;z?vBmFy(ZuU>?ZKAjdKnE_$3iyZHlp%_ z77-FteGS2x>7s==RC=EgNc20pi}B5ZYP?<*;Yn$7M)<7;<>9ljc|Q@}q1HAXA>?XX z{-<=FYU*8Yx_bmPn*eq|(6}#S=KV{`|BZ*Xn#BSEOxT0n<2%3UJglMVh`FJxT)N*_o6m(8iH0h%=F{CzZaZ8j3d^x{KT0bRC__^79ko z=tr+cA_{hBgbop+gr}pTjdh4lR9OGJYID{f-h7TdFVsTYrJ)sVL)@`Nes|mRJSCBQ z1vY;D{cTS=MKu(Wy%|e~Iy~QIi?KJEB~oXKHbERbMSWb} zZ$4oLo6Q7!JY7E&nSn99sadal3PMV~{548>MpAHY2H1T`ZcmF;%7p*Gd@)Z2X$V%V z$1bYU`a7{N-&8b(7EKxaD_#{2yNI&{t3rygLIQh8i%wdtQ^A4QWPw@AUkIZjStyRy zt6gfVP}$xz$w}4TO!~910gWc?ujr|I`%rxo*~ZRJj0)|c2kf0tbH}jLi*?h7#a}r#3UcIh%=Rq+9Oy<}9gOY2vy$@K}ixTio-4X=M1@9qI z^=K!qz=h?boc7!Dn&OoiZq*aBh4h7*kXhO z>pcXk->0DSLp`H8gAy`9imj3RrTwYMLn%~ax2R;y6z$S#bv?dXh$n!f{I%|F6CUzH zNglJr&iX(OdhO|M-zijiorLRikL!4b&v<-I;cb2U*9AhJqg6Km0|C@3UPi3VuIeHB zEvJkk^d768V;-U<9n39OEzwHebV z^!;=ohVM{+SKmNmc(fHuOajOg)eZg4gP9Z?_0r_5C&wd<_hxoo_+<48kwZJ{Y3kdj z-euRxbNtS4ORoUDw~*0{d?YbybVf*Z&j3f0Df|p6wtg}#){z60vHIVDYyvXYiqtw5fLstI@;wPh+Bd5ldW?|#AJXDCfR%eUYew_;&(+g6-=ThC?S3>8w7??8cY@rx zXANRWBOACbA6cC_l4+aF!&NSKMmjmK4PZoF7UG%C5 zf)X%cLC&;>^$NdUhi>}OaeOh-03Qt>c;rBMl8FXlh6u#+T;)aNQAM7iYm9MwQAwQ$ zauN?iXC->xfF|9A>Yn3rfOkVpm+8&z?LmtUcZTECdVP6@K8N`=NVn%wvgYT?wv(~@ zRQi1syDn_w+iAw6*B2j_C#*4Oa=3>>HsxLFzfc-lqHiBWPsG=v_Rqfna_4v6=XxDj zbWvX=bCj4jf>-mGLa)^qT)yEMN*AOa6}Y=z5r^W#5+eB*=NMYFLlxp|l;Umkrykmm z>1Pb@=d7ZMXh-p<@vNTD{%C%$y%YYN-VTD)5%>5QvQPlpLYJRSmulc?J zubo~#6g|MIS#tM^y?0~C`jU2#a#T$VEGW;6HZHFWLEd6C6gfhTw6Hw56Q8*V+~VWN z4AL!NdF6?QxaUpsR*ZThZ22BrG(+5-Ud8j`|8n^?HPZ7*MH$Y-GdTEy_<}Ip%UH`% zC_ybkuvZT`(*5-7zTSgt1y-AX_=4Vq{_y1PK|t=n8Jsz8N`x^1R#L(Hf(SZ(R}et= z20=K0`i!{GTB{~I3$HZ!fZ7PE0K3mgrlOj^=HLjmlzB{Q!INjU2`4JhvkVArhWI3g z2BFDRMNusx)0QK>n-{_BPLkO*tH?}~b^*t2 zL|B8@3a#it1GzFLG>-jntCpno1TF0OMs-3&ICPgAm$awK{?_0%(W?W=|3Ym<2B399 z6?sOv=odFeFq-4ZH~dK}*A#W0I_F%hOcy3B(B=(oS9N?rZK6R)u8SFgYl67%j$Vzn zT2com)G;k5ej>5&f(ldAjf;DQ6!5hOSn{C{3@HGgJfyHHbCwb;JWINl)t_@@KmMH+bk8Q`tU&fRBnQ(#)4NSadxDOZI(w zdDV`IZHTev{l3e|YJOjG)!*{Qd3Bbc-oK>W2LbR{;`&r7v=uuYN}Q!j?bR6qQf6%Z zD|U^HaP=Duw&<9^4wcHPM`Vo0d8#?cwduvt)W!CY2}SzBBsBVDmS^qNq)C$4z-w!v zu|}GDNU(nCqGP?m2nGh>so7Y#2jSAF;UD3l zTWTJlAQB4XoWDz=q%Vn+jEY#AwT@9A52;uB*W>Xje?f=`^s2DJ+s}6b zZHctO--vJs(vA6u2D!C~MMV%ZF_OWKERqY*L7bn~pu>emnX~};w>xKsx+HmlModD* zRe7jxvS`Tr6uHz_O`!|yld+VyK0FQd$icoJ&6I5J_C@tYl{!GM>wg8ezB^sMFG{SP z+~tO=8DM|68>>8kL{vLa+9stZVE2&^q(j&WrimlxADG12>h3l$)MnnoG~F+Q9%u&_RYNWV-S zu8Zij1T3udO7yF++y7qK8?@Qy;j&>d29gBr(=CZ4lKGZq^?3#ajS1CkdX7~BF>3+> zYZVG#qpmz`T?l5}q@jYe4}&tAuC*{c-?JynbwY*R0wc+;hotR!1CBsHEV}H{pEV_Q zQbs{v@#pEsI<-g|xh#rQJeXH}di`N|kNqjL$UE~3So5Z0bsl-UTxtBvq=J|gu+RPErd8o zq%Cu)1CPBz7A=EEzAUR|YC=IU9%hvt-M5s$vP}yYbrS8_xEfnDFCI~k&{z?w$lx zkHl$$>l6w9E<=%h&m}p0DcU+fGPM`d($iGo+S3fJhaypcIE2yU{5H<0HCgoFK{GLe zCVD+P9e_etX_H9_t6xc?c?>7@pb;TOf6%r&2oND`VL682Y@H zo9cs|v@$?BZbm;;TeI&1a|hDjryghe`LAHHYtRh=V`G;8&hH=u_R(Y1pv%n=LH^3^ zFkvIs>V~3aP^2c9bjt$HI!&KIsHF;<6GGV<&cs3&h&!7&F_0TJrW*V^F`?h4z4b9P z)shrVOIq;gnBtPE8xy|c?B+5Qhe9v=A{q0$_8i?gn>U-#3cMhdDV#r)gg$jBSHuwk zk}gryawT5)H|i8gP1CW0tGr3sKVvSH=C;mKYmExi&<#lKQbxbVfh72pcQ7oRvXB%= zj1OXzBoz0nqSwe)?dUE|N0dA`Jm0((=&k$p`L1c)=>Mo*a}LJx~+>;2tcjSh+G1pg5Y6PO}pj8+;DLXc4La-kzxi{dPSiJ7 z8JC>pyci_t`xsI3_*zD$W!*$<4tXVP|Lyd;LAI{(?h2Cw%dD@_;lH-jHe9S+i*4E z4mm+=yxP3;fjmRcM+tj5WK$Q-9_(!w&4?Zu{~+v=o|o`vvKeY_m&uw>iUOhrn)3ws&_6vxHpM+hCYx}osCc0Y-Tyq0z_HH?lw9s=QM+-Q{gQx~FocK9j!8!mtbNX&zBR0Xt$l zvErya$XNJ@m2B@ie45(Z(19?S0|j@Eej=zw0gE??YVlwp4LSl7VHUHoo|LraFf00W znbw<}e@IUzes(fu}n<{VdSNo|T`)7axnJ2E3 zGN-K>ywjN_qvqSYS+3(Tift}Ac+Th~V)w~#F13j;D~$iUE^?zyrm7R;K!FVAfwf4+ zgEe5#q65&2_@2P9Xi0@IzKKB$Mr=t77zjDw^ry*`L~i%3hjv^6l}?gMTjnmHPNyRD!RE? zVzeC>gkFuW>V5P|ms&5GT4O@NM-mhCx+a!f0)LQsDAs{!i(cE9Ov8j9Ot~S$SX^Tu zbvv@~cen9fE3YI>r2~|YyQVnWpZ-X~m^M6OE$L`m&MG`G=33X8DprYlBgvrAjN>#) zf7F5}TO}Od#i%Pvr08HxB1L|F7Lms;vt;^z`LYoE^HAlcM$*80N!_Nc@Z0C)>z37! zB*8pC&7s#0b$L(fb6zzb_{hxyz+_iYonkQLn|M^r48oOlXXt>e7{zFo03wLhcxL@> zruxmZD;ZM5U?3RR7ni`br#{#)H87#K@FBbE7!;=-Y}c+8!h3d5JExlz2JatQJ+?rH zEiUGqC0jaoW>(Evnh`H^?>C|E?;wdM>7y!8D4dVkC<+|T0zP?LNZT4#$T22k5m50< zzoALNpZ84Yo=WEiK^k;g##y>nq*73%RqJFJOX%P{Sin)USV69lwgt`-QDJjC{IgNf zBW4`*siNB=F5h|FpHc}mY9&H}jGvvlX!|~~dIc_J`?;(WsSic(jU>39iqS|Q7u!DA zY&kA%G@cdsQv^FWgQ+Nx#A;({7tI>&nigS1N0T`xz+mg6@_{zT%;E%P(``j&bsETN zs(q(bWF8KI1M_eY6S%3}4I-pbgJgDL2EYIzPp(Kd(4_CqWI0N zt8t_kb+H2&h#4kT$#q>Ac%Z2bj@0N+O;y@sWv$8hU9Zv@p#uT7sP~{kG6820-K~jc zzx+zAW+=CEi%kufkYzrAXi1hFg5D^8VfWJSQx~1y>x~0bBV$33&FY`a087m+i@@r# zv~L(PphOgimWm81wL^lXk96(eK$#U=hQ}pu<-Srb@X)RzEK4@vVL9cwNBv&D7`P0@ zqV@&7+T19`yV}oc>o1R%dLPHOtgykfkQ$mBKeZU*==5=O;{`t7RV`&nOFus5HWa@{ zXbhx+TZxRv=(Ko|DZe>7Tjhggvxn2ed0umrYSl8cq1^h1GLxv~Ovi$ld?|yHWQbL0 z!Ivh5s&TPz0K^%VfE05%mJqQKs?A%Hu%Xt@^>Aoa$L6|fp<>G;+%>slePPEnR_yRL zj;yc0lCyoP$Ic|g#bX(o<$00nsg*!S33aGHMx(FL1IZKmm2(3;)8v{BEh zq+0};_3dYnO)g&8rn2p~Esgh&5iy4}Tc`s#l(NQVP*B`-s(Tsgb%=E*x!`vNJk-`k z+fm(7Qcae_0=zlj<0~2F)s}a7tknTT`cdo_)g;9@CX6}Sx(tZ-vBXh9eV`-C^l3uT_&kk_ zy!QGr?i9qmGaJ`03`VTK^)eYd43pD#6!NwJr0B=zjQz5pDVIxqPspfGxc527cKuN} zM+02tzw?((Ojfsh0mh)!EsE8yz$@B*zv5LC{@~DSWie_CKtd_%3$Mw8a()p(IDD|g zE`aGjSXm`BggX|S0Iz8=DQwWq7Y>nH=l2gF6&gHY9=4{U@)*&>a5Lg$i6r`O!H}dD zW;VLr?c@ISTZz-X^w-r)NsJz*7Ik*4Ly0i!Bq{Zd;rF?m8fkO1OM@>WW%j&Gv#v`$ zQmZ$kLeIBScr38Jb@l%c_PQ|;xB~H7qh?jaoofQxl!Mou$divTfpW_5t{jt5n6rPK z!vRqg8v?Nc`M^e6lM(@2!!NA&BnKun1vVjc1z9YJv06oEUF=G;UtEZ%aSas1z8-O2 z9BC#xzszD?1bF!myHOXw5=A=9o9-@Lhm!h0YZ-|@A8@Y(+_Z-DK5aN{$p1>cump2t zD5Y<$oDGvcGH&@I&=`_@&z9%lM_#_W8iyXJa<&`Ydn;~#brX*PwN-j%3hf05d z4E%>Bj9t_c-iGDTJ%p5oMe%gVzvc6bd`PTb9cQF~$q=bA787VjPi04Chi`i>W<+{G zV&FRA7KPur^W&w!IseMOaI{i>RU}bnWQwl$BQA-{N7}-t4=-KVk!vbXQ}zLtKK~Vb zh}Ni+HS~8TjiAhC5SP%}5)++t1N`_`^O*%;^P^`Rj#KY=G1%z*MAySF&MiUH~wJ&BDU^kXcQH6%9!xbzqRA z*C;FT!ttCmLLmGAVU95En90d_(qX5~%fa`pstx}K4cq`D|L4WUM|^?pXIDSM7j{_` z3G3~Fb+5YFcta__mAzP+vqYM1(W%@8)d!*dz-)tf@tMWp!rn*|T0x9DwQmg`{~HF^ z(&{06L_~x$VO)QgY!}xSiz9L|mX(gredtzS?t3cy_RjmTIU(u5dB$Pw+b^CLxKo!Kal-ql57+p#JJ3zg*_!Lh#CTQlhLZaSdUpir$y9?7cH^D{5SFz4E4#R}~cZf9Y7m zo;9Cm&MV)C>%p+!bv-*M+$WJVT;|RqRPchoQ_7BbK-|yWM-<~FecpFY< z*+V%yqBEN@TuW|VvPKxu;wzn6PE#vLx(^m2Npl0_=R`(f{eE#>@hhO=C}MNbxWW_v z>i*?56p5poIt)%$`T(F>Fbvwm_u72fIj{*&-QjYl(EG&}&x2XCp-|gm&6LNw(*^~r z(;e^7)q{$HCsydP(lnZ{CMFoZw`Di*O0teoyeuOUSTp1qVs*`Z9<21;EeAe2nsvN~ zRC6*s$3cgHx807}TdF!K-J0iGN^SO{w>QZ;&Y$k3Kg?6j$YHFGxQg*a{%}-aq4xqy z&jBywOH07(H!X%N)*9k*pouLg-u)|*fP*&bSExgq7b56vts%pZKc$!0Wz)kTr{n^c zH0~1dFP!u<3h8{HY$Lt50id%$jqN@8k8{VALlSz2UVh`a-#R#>zHXSNNR|{7e9pN> z7TX5KSq#wFmVO-1xo)>HN)vR#Rlnv;&}%R75X^KT9xE{?m|>iz_BH-9O;l0+ZPl<= zgateSH#Dy&8cL!Z-sT5hq(D<^FoqY@mUzl=C-x$j>?y7nvAexvXwZ#MsHgqBZp zatbN4V_H3K-L2vU@+EGATIm6Ap`GU7lnAV|6g`8C(61y*zDel%2}VNAy1~`blPHN= zu~bPszDZI*Nw!P&qvtzvpA@&tGdJu;DIn1jLdX; z)t`xZwPI`TdB?s+nt}J71mU}hawwEbPnX$OL8-5nO5zHu%kT?MIW=*XjkB-H;p1>i zcVuPz(G&BP?D09Rzm-PH5sJ;n5|jQEen*(AWy!9%8%FrobT2yz?d&1r2KSS&4>U<6 zI`!cdm9dC1Hqn|R>+xX&B?|~3hd5zh)13!mfVsLczdYF0Z^iL|oZ=M%0c8`h0j{;h z%1hkP*~06j7+rI@eA;#HV5_3yPVSKp^*V2eP_Sfgqg3u-*%?R0LP3RyTYh<}z$74T zm;u}KQ$iP(LarIp;*m~l_iNZU>-f~@+~!>SGMv8xF)qs2Y$b}ymmJp+*51+kk=cjL zmrRQpnwbhoGj^9~t(5N((?x;Acs$~9zAnWpC^CsfbL2PPH_JB*;3Rr>5>gypdKu}@ z_u^!zU-oM)A~Rv>w@^Qe=A>t8Iv^I5(_hL|C*0994Dztje1-tP3-Ei}#z%jPDdt{8 zyj~NQD-NaTJp#iw;$eW^b71W?UD@s5BzgyHwZ@1vXRIB(t^Jc6R_Dv)Hs|F8qoLtu zkC$6KPc3aY4^Z{pf-Y8+AhHwBfE}WYF<334Vo!l}AXb%trV`AC8!T6My>xRvk#pm3 zHHM+JX=1+RLngN;k-3IQ<#A5MJ7DB2=>^LqDb1%kc#Q5A6%d%>IN;UIK4n-`2>D{q z6jHM}#0~z-%3!K9@Y#+aN0N<0nV7!}Yjdma*li{=yZCa;H1McT5{GWCXe?F`+{8IZy5ljQQS zrTFrqEl5LQ6y%wNh;`4Sr5J9RFfaH9Na!?n-MFD%$2Vk4(|tbc=g}P52_RgNSWcn3t)I333gCka0q_DoXC$EE|u?la)3Hi z^Oqsl%8F|h!WfxtA3&}E0KOg)%}(*;8p7JP~oIr7x~qr5ZS zt}-eG#D;|kb-q_a=YwMke!SFlTUXIIIyhgBr@r1$`M=v573zGUZ&Z;ovB#T+9BM0n zr7D53GV;cMPnitw@6~l#XLgD-r1|n4y?bO!UcEc(qc7(MCKr0=6j!>Gfu7UOSM}Wr zrxrvQMB^yRGbu2{3OLrjP=6`>V`nK;{YAu2$`B8FPF$7gZq2ZawtwRV0kK!LeuHJz zBRuR2nG8L&T7&sF(BmF^9-`K%l-a6BxnQhEsSCcMv@ca`7C+N|8~^)`NY6R>9&v-F zrSt9am3)7()aGkIp=6JF|$3I0`=vgS2}W>J>gIe0La)`lZ1P z{l;udc}QmIM(7D`(wZl?Lb}i=W9(rVd}caMm3YX@2^XEe7&6ov>SA_Ul!YAv^tDYe z*R}KK;n3W|(DgTksHFp3@6t-fBvNI)YrjgMY^JK*K9SzP;OKf3rVT zZIRx%tWtOEFkX+LaNh*i3kxphn^$o6AR{?)Vf=48wJF#hmJAL{4=%^PHvR5{s~IP{ zw@K5SuH&}_b#waDN@Dr*1#;8 zj3>L`zy2mj!ymgpko;mUZsF9%+di@q6&^JI&CNM|2-W!Zeqx=@JCWw~Na&^Xr+cBx zD~Z_rhQn8JeQezgl~_%EHY<}DHhMelQ2W>38M}*g^5Ct4+hNyYc-PQrKYdKg5LHHH z5W7c4sF^;~J5~Mpel;s1wg&NA+sZYw=yb=+oocgx@pdsA=k7k;S&^0Ye2PKV+jA=J z%kv8!s;L>%L)sb~z5JD`X-KkMJ5d1~ffCHpybzHPuu8Wkh9i;1AKMAU1s;ZClWgMl z9P`0tCm%NxKJ+&MOk+0dFd)syx<+DEDBOC1G?twC@TmJP@Pf+(*wj=;G#0iQZJ(iJ zhG-xA3G|5*R@}e@#7hh_*PQ0J_Ka#hcc~Q+8mb_($57A2Z^ikOt#!vf@PA|k3?1E5 z^UZ$&A+KqZAMh0`O@?fzgWeM%dCVoQ%|~*CFOh+?GLu=z8cs0Doi&=R*WpzS47aux zHba&$jRt-gFb4(L@D#uGjmM|c$++VCtQCqFUas=KKW6lql}beIi}Ay+xI^LtKc@0l zdkQ#o-z()ZN*r?{x*<KqloOmbT5w&V zwbjn3a$Q(Enfrp$2j4p_eha~MoJ&}&iUWxSZ!8q_P97wWkI`RGWaL1RonK|Uak^P; z{w86F#atZuy~}Jq{ejUdkdpr)fS;-)D&h^{m;kRv&q0P&gY>_Wn_t;WSnIeQ`eb z%#)mE*~XX(4i>^EwvF2`&wtc>49nS`qmL5rVz_@uPo?s)>dW#p*sb5eNQ$qmB5fE7 zIKEk*|9H&Y!}-D4T&BI9rH|YQxZHIugY!WQFWiyQn?n9k3;PL8)U< z#A$~V3iae6z(8e(o%*Jz6x-yjLA3G>j@cDD{8TQFa@~$UQzl;@bJcoH%=3~W6|DQs z(HWs+Dv4k7d(U{^^k~iOA&FEyEHm?ov{QGSJr>~ zNBu!tDZKyZ{}g5cj*I*BSypu7bHuIB>1sJ{JNP717@@1r>7Y4r23)bUfoFRm^)9*) zCp9u|gQ?d{lA>+D7QCSr-=sytp!RCmlefdPbI3o?<*$WGQBXkp!Cmif{c*L*AGg&b z?7DWdx+ZbqK6&wh=w7UbYfJvH%6U0zyA-;}t7CBq?(%dq3th6bFl7)PLYI4xVL;II zyHxo?4$HrM`P6?8Tvl|24X-t54n_i-h0-n0Sl27fDZZL8HpAEcQr6*yVHCb~N7E27 zmK=cCh>pD6WTW;ikgkvgiM7ROCf}QC3cT(BH$oGu-0t^8PgZ6MX?z=8Lz0ne4T4^V z-thAcyiPMh&#zu3J_ES$FBkO~$SuMt-s!u@48@57H?*$e8Pwbi2Yrp3CQGtR8@!yj zUk8vkyy#dDr0sf^D6wod7j5Ylf6w`wCmvcUyN^|w?dyUD_KL31 zE~V1>J!2e)z`E#xwN&7d0=DYa2DB6pQ4$wj;@8aSM@4AZA{vjr3qxAHqrY=7T1`94 z_r7;6x{PXo9hdnJ!N8{tBM9uaKE8=KN-T_n=P(rOra}Vi)`j2v%gIZ{7+g3|lAtj* zB}}a4stt3~a*NENyqPR5c(%njgkzR6v4J&RA53RN_zXRj1VRWa@ngnMMCvLZvQ@+s}}=U?P|DLxeem<(Nuv7p63NlkA7!CE10D3wO$!ANw9 zObXX`YL=R6%2TeGd1?xrLK$VEwP`qN7HPlo`MM}dK3I_H9Mzu;W}$)%JINEGUpF90 z#}mTOLB17SWhL}ZMRGTaFgmU`2O4g(>;@kprlF*Cp)kpy38(i>~14$R3s?6^?3 z(HgVQFov4jM7QWqadph`*vm$aIIXJNNcy|m2$G|ntBgb!GwWC48iMztD|o=(>;15q z{$%3Oyvm9@O`4JoB64cJ6IF%XU*;BiuoJW(Z#j^UH$l#9HR{Mm7GhSUp-f9TbS(>+ z=TBhELjbeJW#KE%-tr3Zh`nd{*Z|1O0F`(MTCf5%G2HfRAaIr0SmvO)Tb5xAR`)IS zDJQ*_aT_PknaBS3@{3I7may&O+zm8(y_ea0+%G2M5N-*A7TFy3Ev_pPhhj93^hy2p zsf~STscg0VHv6)-suJJ_HvfhYQrC_Zn#OPKnOTJx| zt$bef1E2v24uA^CoX;uvbNr#<^;$Bn%#1V#=IB2G9-e7lqg49ji0~i?uStqONO;%fa+^ReCL3RZjio@nXo^g1nNPbwp1HNQV$> z1@gTfZyF)87$l6~%5yxJnEQ+ie9+G%;f-}&?6HbOe(kPIzzE$iqX`vfok4&ai`W-d zwC99WD{QBt=6MXVD;D962#XX?i!3ihIshIg{q>fXgAMys=@kLkS%9d+mfwd@#_C~~ zWK@5#ngAyP8WOs%@7M-tVjQG={`OIT#6O?~USMV}Aqz>h#^!wFb!x$Ak5eY`gw_Il z+T)(XzI$10nIxlz0YQ2v4bhDugbSQ_y@s>>rHp1+Svi2@-tSsqlpIzzPTyUJ4&6Wg z8t%*#w>(z0UiMXQELXctsZ9~k5wCOwHVp$8E;=11PHAtA3;??YDwCu|jO0#YA&u$Y zH5r8Whl=eb)AhDqcB?eTs5~8M?tF{1{8~NvkvAAqv1XpE@W8WAi4NlSL<2eyn*gM< z`9H|9_I|T^m{J0!3b3`LzciFAtd2LRu7s*s_Jsb0!7S+S7aJc*lt;`*gA-fKO8ArY zhA?VR7)jaRX;6nU@n|8Tf?%{mBM3tZ{xr8|dm^KZpSP}F*K>^y1+c#*N_x*PnQV4j zHXXs6C)_oV)=7T8wRg}#7y$*Oxzi|WxACj3t`$g+Hqob;^h}z0MYNO*)*)W%TP2K^ z8+E9AzoFgl+*G|4FIloWVp$TG!&6mGHAR&+;NTh5J^p6y6{5nltCkJrWQ|oU6qW*h zPfOY$qZTp;a(A%n4fddVdJyiB=7!MR^#1%L6Aw9d{;jcxYG!qJqe2pMrVyVhg_AWH zCaVB55F%KKa5^A)lmMTPG=x(hh32&U*SA$xDMyd3{ZPxizi!QSz5K)*82;WGBaTay zHDeWU8ME{rnLTO@q8U-xW(Oe4ST5z)w)yoW?X}$W+~i-yIXAq7T_olt03# zG2Gu}eml^<1&ha=qIj=`nCg>Wm_0+Cwd6oS*LRkQkSgAw;gvpLKW`3noP`D1=r5(` zPz>bAt@<5_%*bgTP#IghY!XJ=NFJ98zDt@(K^*}B$ts!PZjYpvq%tq5kYKLcJ@r)h zpjGeWgspjG$}U5I3;E(wFu-T*ttBj99nkVSJy04B*>3M>M=4CJBW{W+wr zmo8Lbm?dVE#ijL><;n9dCt|#Od|9HFF4#}Y<2rV})IKejs~q4`MWlQNc41Kjp$r;F zAUY8dDHmc{hLF%=Kik+j1W{WEZP4aaE0T_9G2k3)50J+n4@!F~;6Mm#3~zA2!(uNW zD?3~9!k5Ezu$*P; z0Z-5cF&^e2ZT=G7;H2(U6=DL_gI^{}SNj?dg8|^Sxt0p`cq^jwVM;7!Xjm8d4}Ns& zKcd#kpeC&YrVPU?^63<(P>{Ui+6jp;gFDhm^1pecu3C8b+kR_Tdy{IMWKB?1fmzJA zRrWbi2iAWJf`OWX5*Mgp>n7+MnqV+8M&DPEmPa?H%ZJ7^zBIqoh9?*U3kCchz3T<( z{o=DphBZPs)&O&+xL<}PTrSUw@BBJF-j`J7B@go*T)LO-j{0ZZpPSq}+fSEg4@}1L zZ8|B8jgb2gyHh2Popw{~EdhN#pk1m(0#ygca8F4f!i2@Brzr~+t!U)sEME!yD(7c} zHIM`C5Sn4OHuPfASSw^KEK{5G&ZKT-udhQ|yIrv`02n2nEE6 zJaaj=cYtkxDp%*vn;v7!mw#(ERHUI8&%?XwWWwd^?J-?@A*9kw-cvd2{8XJT$}8H$!5 z(CR70IjoaC>DD~Sdvbq8(GW$Ab&QVqs>5qM-s&(pM zPqqe9RFj;kYc-8w?^V+V%7{u54k`7Ve?+hh+r~`oRnKXVB3p_X{b-SP*}HtZ{G!PA zYJH&DPN4_-LI0Qq?XoMhMUDvc#~1H5z9hRdmx!A;m8^?6m~Y-#b1hlP<)Eq8U>?U? zbrG~tojEl{f3~|C?x{5NaaOUOJ;yJ2hOz;`4;z|OgBGHrpdB>_F3<8WI*%OHZMd3j zy2oRMzZ)xk)fy^F3L0R20hg0paZ$rdG{I|!)H%|BW%n4OCnFJO{@5hlKEt@{ZF)bo zm3&_P62l@ToZ9vsZl7rqgY|j&J=M}0aCXo$QWJ`uVjhB(*uS+H^UDM}9(ER4+JpW&Q9Bny4m*?YQ~L|5@IZr?xwVdan$7a%9{gv7nROdai@`14 zG+-^|Z})4_OtE~I#aE~AS0(LCtNXU(!?C{8pLWYD$$@TV2HsDljoVJZ)B}69$9)?5 ziNy=R_Yv5a^;THLpxNLO zy{q2MTR&jkfAcY;d3}8rjNG3Cyi-4GYlGzJkoOXtWoKd{@;N{&Tdn@M?Y}BW7UX`* zGLMt1)|BC45~;O zYEbYSZ2{~+yv)QlkAVg?M_pjZ-!GCpjqn>zMaydQ%*lyE0`=2E_1o>1!sJ380i_My zB})!KN8vNL^sR*WbvXhjt`v!TIljZl+nd*r_Ksa?e3=XQf1O-aR2;mzg<{2Bixzj6 z!AsHN?hb=%ahKw5#bL1GFgQgEgBN$VL0hCa#pd##a~|%x_wD3M@@21YV9+3{YvzBcTXYf<5#f zw@nazWj_=%=H(>O2QSy@P=u8`{8`_bk}x;!P%>I-jlqoScuG}=Yua=oBl+#ICF~F+ znS@$6yzx^4vw5R$n+4Gep@PYrOxf{U!b#0SW0W|~0Cd`pgH+d9 zHF2Y}rq%oV6;IeW|n{J_U0dOcSD`AWh!D^dDYCb*c8^ladlx6e8v=7}U zpGCJ-DErivDK7O9PLYZ!KW$fh`Bl7Ghke)_A2^fB_mP3$@dtVOu4PdD;J9^%pt#r7 z9aUCSF@MAA8f69~*msmp;gomRMsbEyIuir9mRT;mS7@#2U>)4Yq%WOoTL5&hULy8K z>kDnMX|3fn-RNuw(0Sen*8dtIY+Cz>5U7I^6VXeO{2jLdd$q><>Xl&1Vu0p7fs&1| z$PbIJ`zdYzEI~m!7&#%G%tX&h5*}N*sl~^UqaR>nhkNBS8AZM}wh=ZX zrjv;)`|w%_y2#qZAId_YsddV+wJ2*du<$W+5t&FUFZk{rEi3ntr&SUnt|%1C=Jd5_ ze_CF4u9zeMdmT+erqTwwyjqRMS zXmyK_a6D!#O9m>R+q5u*q)F~4F&iq;iKuj7YDjg=gR!K0M@3p&cI+#a>do7bc+EFf zp}{hAArKj;X%SHZ6D9Rz4`|SSmahv#VAGy11cXaX)Mt;d8M1&}1|-hAvZVNiXA6o< z6cfy5!JL;QBlt}Ru*oAMLs~|FY5`ga72TPzIc9tZFpU~37kdem-*}k9(J*PIpJJ^J zsSU)i+YsOesy~Wy%t%w6zMqz(_qC;@@v>^vIJuyqXhxU}irkNHR{VlcZHy_J-_{`! z{(i{Z^`o?+;-T}NH3_eik^=@7nJ{&KH>NC>I8$+d06Es1h|Pqo^o{1;)^}_EW(|57 zyJj+53*y)m6e5F~AR#?Ia_O;t0+cCf@_;lqd9@>cWM%$cNkbgsDZ7Cp`OsmBv5a=TQADA0^??l-fO1^j=fqzmv>$Ik zsF<+b%&B*pk!HX9Wifnau{En>S<+**we#g+tIq++C!fFshl@IZ%_AS&j%yNkj=w#j zV1zL4>BCBv?8m!_A8vU5w_+jRJAUa*K$Sh=>u;o)@%gZm(Hl#>>H9yA=VDeWW`zerl}&-1icy~%Cs2WRZT1JiK;)SUZQ>Vwq?HIZ#4y{7%`Ht@uU9-2mT?U8mz zC94OXy-c}dfYYZ@TnK!7OnYwUnU#=S)k-Tj1Py{Y_*g>!$igUn_8Hg?Yd`YAZ|zO)ET;+xY)CD|&4M8hSGJ5rwlLozN)`xJkphmTWhnkH7R zp|GN?86tSl;KdX2OoQGhRYBxMNYX@MpSn5D7F}DSPf1*q`Ib#*a4Jg@qHh z`7qyVkKaMCcRemWNY651aHvi)Dt;N!*0nRH%gv3csv7=?{>O*|2rMzztJ4FC53iHh~I24S*ZN8u3B45qTO2k zV#a%2-hio? zIFEIohf8EYWRDv0QIK6XdRv9JD+t>+-4?eH^&08HLs(EaIj}>ufdPG-&FK`ox(hP) zSX*Zqbos^?mzT7`kU=2R(_sFto#;e1-jS!3{wMk2OMcoJ>~6zIk%mvT-Jh7Kvbt$B z8|rO?J^g2Xr^H3M{Vu`P<)l*|Vr*E1X<+$j`p8kgt6ScMbN952xjmdzc;`UuBmU19zH1 zdQm<7)we%}!ruutZS5wmd;bx?EJ416t*z8Mi{3Jr!!9It;_W3U$&c}W?2NupfPAbz zaEvS>tF=;!K5Ao~-wL{`AaKW`2vX9W!v);+3Ne%UcVx zb;L=lm)%rYtA=x^cwa@f^IsmG_fHBMF!yLCJ+BFOHR>7stJd)?=Nxz%8iP-Ve6eSZD~t{%G|HvhpWj*; za3=~ov&HyCmD2vW$N+mUE$10$G3&6M?QY&iR^o`>Vh|lw=YCxOOE?w`X@(U<9Y7~6 z)Fcq!<`YOUk`P*#e17Azvnu6Onjf2;iYsll!t!`CbngkGOAaC^m4^RW((d+S-n)L~ zTM!mauKzQ?74*h_S1@6)A_2|}RmHj8#A&~vV*Vg@W*Y<^Q_2%(ZD@hdlKyCe zl)xetJ8!pZ#}qf;Cj>*iNq*>30qx?euIoKYV8uSrbVuX;KB~UnQ#KvGL+w`BNcSS1 z;U~2{1T}vKDOh?GjZqA^@8P+OEsh={qVYmQ$vY&4jYp=IpNGGesr;aBWx6o41JoSQ z(}BH4cv2?sB~?BFm6;E1bvk7aC#n*P%Oi?dG5L^1-hlm5(P&r2+cnG+!{_XV`;L8< zl|p)Pedy^d3gl4Zq{eg%;hsN&VW1 z*YjjpggMwY-|~3Adr8jW^cl@Ov{4xMvHHP;dHlW{U@^uuI}B#!zEBT+oebadmu;(T zo?I5REG^zcKLB?tC^&z^j$_l$2Lu>djULQa(#{(k8C0@jcH@Y5plQC>XSdZR<%2Fn zC1CnY9?x1zI@i^uFuX5uMtLaq!#%??TkQR2I!ifI;x}j8 zfr`BP^Q6sA8vDu}yITqBe`9jn(s4p+U@XAi4YXGwT!~ej6K_%!Fo)U1FJx5?IX7s? znI|z&$~=$$T+LNGw@LY9(K6|S?R%;K9(2@!slJPxmJQWG-*CpPI!DGkfnTM3=U`@k zo*N7*koGrw`pli4^pJpjgSMLFVm&}>!aSM4cPn7hzsL14QkK>UK(EW*q=T~B>6G2r z3kc0PU=Gmf_i1!^$IwY;XsZc*z39uQZd1T0?3v{XK|jR#Tw@inoudHrzw!~8x`ZUL zP>9mhb4GJ95$7l35USY0dK*R}JR4u>ysHdTTaV{r`q%*N4gv7}Dp8PMMD8}ve;U>< zz?5tAj*Jp>e1)7Dm#5|^+uIQ)R zX62|+|J^j_h#O};zES66?fadp5IKr-?2tmw=@pHfATcp)iM6Rfhw?q^hF;g%B>Ngy zio;8u$*OB7`R;LZ8jGhZ+?gbNu(sYscLxZv$G)#thMhWlfXW2Q$W_rJ(Q!NDXH0+x zQ3s->rPUy=JY3Vfy|$uMz(uPW}@g0hNlv$ z8ijAn!zVyZm6Y}Z3dOh3D#DU@xDFGReL@V#ku=QZMao^QT&DAIy!9xSy^UP-`SW&!tYS7JG zFuK6m-6-0VSp-+>X2;maXQ{4IlvcA2;7P8*nSegnv|P;nf$F9NvbhM?*;a6o)S^Gb z(#qjN-*PB$lw~&sFU;|DeLP1Jbw(%3@f$Qif%2~O;`X-ZWzTE(*kP+j%s0<2)Gc{o zZK-afhs+SDT!8Ina4zgiAp9*+$_7H7)cTEKJW8+e^gJKxMz$6cypGY^89fs|HazKi z9n3p~+HR|@$_yMOa9sUnF;{1K)uoFj5JlS{O;LE*{bHusUdI3Tf@H8^QTqikAog%~ zKpdW@gb&u4i17=8{|9yEsYL~NCnUb3#Jq@Qp#7zhik~?7U0OP-<_c7yiHiuw$`g5h z4Dk+W4~Sojj=p;}luTuL6Lg+6F>9i|YRt#X8cuo(eUrk>Z>~;aJ7ZEaCnWA`MdBc) zfcc&Z3TO&v%@gFl5^ijq;B^ zvz8RN(2l6Y91W9g(>MrZChD2F_&#rCv~!t_YmXK2dn;Sfp`KiR*b4t{fjQf3Q%`r#62E zj5SJx>6Fh)rVp`o2&;!MR!DuBI_q1wKrBVwev-|v@UfT;AjKp)rCR(I^k*jgDeg(( zdIc?W4ny#lvCc_WrNwMjR|zJNNMLrso)T%|FFxc4pSXieYJ+Job9`0RJB;*H!b0G7 zyjcJul}ATXgRQD@Yuqc@Nx`3oT8^GKT7Y2wB1^J~i?05JS~|{5gv0O!nY8;jhq0iY zVPoNDo!<0;UZgQ{97H7O8$7r_f}$GyC*2ad(Cb5O_SsS6e2xlbCFI@169mKacNBKf zncO?#D0m>Z?KHU#0TyrHUQLXd?I=E6L`*jy4f(hrAVIealGr`&NqObgCPsaV$ z8;05!V_^4BID!xGSMV_+$cnGE^*&HvV`wNmYWa_4B{2+)8oakTZumHz++1AiUv>v2 z#nF>*L#C+#6)*VlrjjSHLTcbM41+%nJ9?1D{^dNxjG)t8k0`ncWIu@OM^XynqfH0G z=WwG`Md9|NH0e)Y7u}|NWi1mh^%BJSW&Nd4yG7L! zA@u}#ogp?Nh4ArWVO%kyr}loh$H1|nzQ_RWz(EfYHvCCq4=quN)z(Gd%sNZ1qRFGv z^hc>BnG`qrT+|>4Uw)fXDcX!5DHZN5M4oHh9*!Q7CqcvjL}A1_)JxPVR25u2+)p?i^lS|4 zjQzB!bd8Ey${wkDsmttcR2Kpl#CSw_%6N}-o^&?yFDaL)RVk|sp31*snxmUTn+rX1 zuLX`#W=*Z`t%|L_j&!B*r;5=rQZLcp$!;nKg+9Uml|yqxGeC1j^F_la5N8H5Q>wdb z2p1WZcd5uoTc?ikYU3_oEdZ)=wYDl{Dm^PsHT{bw%L~eaR3K8cGL})_vJVJrMQa6D zNmp~5gOA&f#-}&RAC)+jT~aqW16dJJ!<{1SBRwNC-+@s#0J0xpc8U*({ev?ecGPiyM}y+{LPI^Pz?Ji3a8#5efn?b(KWc-fBU|^ znzO>c4x)cqC;rQm)MvF;V?w20k|d9a4=;gCLFjI~FAkIXegCKr4lG7?rbLS=Ln@|L z3$L)>=Fje6xLl#+7Nq=-S)MTw-AEsaotO9R?|`NzO}OzLB(ed{M5IYv+ZmE2)-yjn z2;LdNB6l201nn}Usb78XPvsv(=a!oOv=Mt%G*z0SZdP*I7d0QUxQDKO-T~4G=ztAc z@B5-Vu`Zg*ttfNbRp&NiZ?^jV+^pKthCKh^v*imA8R6#*MAthXKqK*C3<_ro+!3&|sV3VO#qfx35<~sF#wVm#wXr zv7ndFub0-Mm+PsQd81c|xtyG^oTa>+{`$UVUrwz(!b9^**P7>RzFx_3TK;;vTtKm$ zGI}yV@QugpOa4lP@k+wRO1RicT=z;;;7ZanAOryr9S->N5fBdngwX{r(}c7_!*5CkfA>g#46{`oCAdW=8fv-O$1Et7)?S0IJTuYb}cw|G&rE{b=#ln zcJ1qS4CYi+WlZDI*ue}(LFN#t^cb$&^Ceg#i;iA!~bT6jrXc!gwoNoab7xphgg zb%h{ti7#=5-h273_iFgwj`wgXy8!hHIC13FsTn2m{qdX#eajU}YW!4kITQvWO?tT;Vf8g(x{~xTU8MmMO%erSx?CP6!SO0-5{u$k4 zCf4#NV_{_?ECrJF}4UgOzZ`I+?ZFg9Uc||hEIS~1iw|&Yk-GO)NhbQ mX4Rts&6+j$k6E+soY`leefCU*x~d#L?kijX0D!L`FRcjxp#22^P(awI&ok>R1RtIc zC~lf^l7Pzb*L%+=m=;QM(txM`Y`N{lNzXGlpXCkQ004sC|LiC~olC5qC$ZcWRAjK$ zFkj%kBUuD`umb?J00n6Y?JrA*?M87-MxN~FF<^*vxl-l#wC`y;KJy(OKCR2C9TY~5 z9`Ug?0Gv>dN#O4N3&MavtiGJz30UI7uOqO~k=Wzl1v4+2ksln#POYt1$HuL-h|`uz zAb6KTIGVDCzOFIG3I)q~Lkp>^yJJ{G50TdOvmAByrAecdjivxw^g)3E>oq255Oh*I zEd)fasp;V9w)56m-%3#$KpZkN3Zqn~2biIAYjH6mn4Cd4fhcg0vUFjZ9U%~)6qy{&id{!)rzj19-~sGt>4E{AvRV68 zeh&u|>wb^jcgP6{v4!G=2|}{qVaV%oL+x>^^*0Y2BAIAG+^h?5YKbB(EzQP6kJ^iu z*(nErEn-992*hx1EhvI@fR+BCjmuQ#s2ljv0ubQskJ@AhDe!2T?OUZ5= zfZoXtG=~tT8^5QQ(FnwzsX$PoU|#PLVc*blPCq6`<^!;+ohVB?Wt3l6o35_Dn>rav z15z!J_l+jshbGS;YIz!tJcTmG@SqsVG4kfaL=j54b)w|;DTDog(( z8X67QA6;7)DjYQZaz*1;f#76X_{WuIFh&!4&jm!$P%CJ~+WahTT0-sDJ)QH1oSi^K zSc)SJQ;p+hGbzrDHL^#Enate0_)vN)?z>pljE=hW3Mm?eZwE(gCl25y61ChUG~M>< z`6a<8!~yfI_YnmRQ{>!23Rtp4a=Jmz>^*laf^SG4-?IJ(d8f0wrl zd;dXZ!*BI|>u112me|Ae_D~Jyt_ef*=UkY50II8JT8t4aPCB?c1@7k0G6`(?A?L@V2rCqwa3Nsq;gA4($YCjx=2J_J8m#Av4dCzvU~ z8%U8~m#PwWnq#{G*Aq|uIS-3ZDC#<7c=T?k0KPG8t|zSHJud6OFd{ihny`@p4WWqA@*GCX^D7LhG|`%qXqUFUgq%V$|p#@=Fa(S#sd+ z@=7D#iz9TL?%dpCR`i0E)N`)hJzju~q^jp#+2>}A7Ss*LjWv7u-;Nr?=q--R*+*f7 zw`v0Mza@UI5{yQ1<_@Acr5hAHmGF9;UP1rb&kImXF7uTVX|Uo_I*}9Z1;tUb(r`D= zL9WL-@cu2)LJ8|x=KMpgqz8FvJSzS^_I;xQK41{=N;;=X#SLS6f9aBo4)__0q@5go!lB=p)Kh0a z3BC!E&qI%LbXfM*9XBX+G$PU(v&XC^LVaULZs7Lzj-A%WWEe?iB8 zR-2am6#NXZtlmhB(HS|bzbB}IwcP{x(o8xog5CKBT0Wn z2sL9%@62A@=A`(wD-q&3=zS+!JAIPf+`j6B{PQ|lFy^BA44<}WhIdhDf1QJ?#ghvv zj(ad+r7j70SVcic4_?Ymw}?l^emQ7gUj5gE1uQO7z5bY-KR2bm8ykM$yFx<4KJpp3 z#{AIiyXVRNt*tYlh+HXr+ppvoW#c6cDd+h=;B60mB;X=jEP6~Wv?WDgl+f}JLkX+B zL+np;GXeLtthVU@!Ip`4$!CB?5cq`{LKGcODtLP{?bYZuhlf_GO!uMYE3PgAJ(mTM z-`%}QOqx4X%s1A}B5`dpI~>#zcmKVpC)Qn+wh_G<2lGz{Pp3Zt96M38%A8z!lOLR| z#AzBR>U80o^^YteX{eAMWo0{cZgU8PkZCuoQi4{7f95*g3X9r`P4iV)r8I$ zCeN{SqOcM)Ea{6@K(*{Eu9?;1(>+-gd8Xd^5XUHjb!tbEE#8S(+xKTorSV)}H~AAn zF+e?RfO+*(j-gFKb#=N3ZlyjV)#S%UYUxfo{kexCd^Psx(n(Vp^btc@xvvj2st|r) zW|8bn+FZ+Osu`beYZoP$r8)*P09}oI$3ujeCaJ1FRlA>n4G&&`Pz{>?6c#eL(EJxm zVd%iSUS!G1%oe_}c{=Q@KzyZRvTiBp)fjU!;|Q1-T?yF&Dt+YJ7 zwsB27kVq2S*q##pYF4_?#xLtejt}zH=ifOn$cIYA&&yF6J1-ekoGa{>f*r4q=w93| zB^}x|b0(&js!rXY4a*q{sucOuK_Gt^B4Fg&Nt#+$?X`#%f{3jJX(<}8_VgUOFU}~- zo54Suez$sKU<0qbiZ)k*VZM`!!xU(B5)nj6bldL8R$yyzy!+JclZAsh{Mx;)^ZbX^ zzI{sh?C?dDn2ept&R$p3t{It??!1SN&O@_7F-T4qY2{2wvn#?nAO6ylEdQ!_EK3m^ zk5?1JoTvgrD}ih(lSP9-xs6YGZsG}6#Aw*&!+IRu{e%$BHkbAv)NgA!h}>^`Ik@)Msc9g!%W+!IV>E(s#Bl2%?(`XdxV65L(8 z1~2%L`O~egjivvuh}mxO{oJ+rPC}?Zm&Yd%cV={7u1-#xg|h@#iMMzkWO!d%E6I&Z zQ){J$x)r8rk}FeQfwrsx0dtT8PGyiNs7*Mk?{cVv7jDn&!?qfARbS_l2jF zQ-jp%#OKLgcjUzw*3oaNmK#AWF4~J-0CocYj*icryeTd!SScIEd{FV$PhLO_ZPdU7 zuK4x0PFd{&(o08Rh}Wp2eTM-HzGNGNXB_nT$L4YL(z-YIdYML`tkB^9B)pNJ2~oei zA@*_h^cIy@%{DKvx-qEbftjx-(T=$AmiS*uh*IyJ;s6|eD>K%9DGf;K?{C zuR_pQ;C-rbx0dPMp%M6s((pi+>~jW1J8AhWhd@|b;q*)Q;rmhHh-k;(4x24IJfCfl z5w;v`)UH%{r70UN!yR4W;|1_{Lf-VtcRyRlqCB-=&BY^tK}w^!DN8k$1#6Ae%n(KT(6SoR|Zf8{SVG4*SyqQj}IFQ>W!kX3Xg5fZ%*G7 ze~0_C_-$|Y`7Kx@)tvP)(hwqi%QbZ2{I5ZBw$;PEk=FVG+SZE$C5UvQs4w5YkDa<* zB>K@cw0@>a78#T&ylX|vnj+fG2fwiWsB9TRY#FF*BU5AOtdWd99$YK@YU+E`+*d9S zE#PC(ys~FC&Z{pK>3g5B1pZUcFv$7}R6> zemVc(!KWE@0@X!qxV(}$>zo2% zggA+C``9-ZRD)K&x{3;;7hH+ZS$`5#ck9$@ml|PkPLpeV|G@Oc14Zz!W-wl2oS@x! zc!oWe?N`rGvFJZsb@4yI^!TFj5#{8K=OMW4i)w74ziTNcjQ4-F1~x&$Xi6u16bL3u z+pwneOurmG^4K(yw3=C?ev+b71x_TKM?P`>D`lL_?5l5y2jX6D<>2bm2sqraChrL8$BCz8E0-&L0d&y^mpd?#$Ii^D->Jqg5-)J zlhbSP_Bu|am5l1zn%&>W_g;B=-#-}8cxQzE-fWcLUzA0sQak|{-mO`Pe$v3yJdNGF z?1}tovu%VgjkV}C(P{hvoyOnKO!mWvrVN+}{u=iQk9e-zKt)!8aSC|ER&IZ$*v3&9 z`PC;Z$AB|f@n z(V_*gflsx*z9boFdTM{I&T`CYHBhdQm*(evBpw`&Ql>h^+H@nbDf_;EP$H7PK8qh( zN(^@(vt8o8Kr^o&-9sG|w|JSb_^qH|?SfC(H4I5L)HB-C`yL}_ z(PNsF`B=qrMq7UJ2o7T^j(JG4>HbESc6$Z*vD9leRLiU3g}T_BBOOVYSsPAx>dtXW zfetG6GDvk+?4vDVc0E$pQ&-@q^0t!Wo(#Nr>1JwnjjPUIvD{bzFI=nR_o-K!I57R~Y4CN*Y^T|ORPo}OM@T;F+cI4~+jpUQ4dz6yv{!bx+j@E9zW zvcg)grfC+E34z9wpX3$WiMxI9L=w@CdOW zFa2Kih0?!7A!_pn_~?s>59Vc5`Vi1nt5<#hr!z9uZ!z5CdG}ELMd?=;1 z1zPmu@oA9Fre{T6?#6FV-8|n8_qgJ44&P$K@E{%-b#E5Ggv=~N126gf|_&P zuo^aoiKQFzzk}hsTd;(!uGj9jYvsM-*~BRlik~B>#!JB^=ar zEHV`)Fnt0dnLwVk^q)lu=MOa}P~RK*8cqSm&Qgslrd2+l(nb!J>fQzu7KJxPynN8P zwP1^aVj?|GWECT^G<|9_-R(y+S8}IUPwLL1tW%T5AB*&Qy|mvPH{W>nCC>Z}b(mdbALhr9{i z4br2M=;oTd7CD#b-=umW{&CPh*)qyjqZ^(vDYM)i^IfA(j(yTW0;RKehOi>M8OL|m z#9gCn_&?1B7eg_`X|uoOtIQo|94sGPtU78rA2=#O99q`P_wVjJo1%`gH4zcds+0~Y zugclZ{_LUa*UQ7^WF4+DeP23k#;@yrwfWf#N3Mf2y-lOSi3-Fk$+NN>qW_bC71ULR z_uL0`inbiuUkq=Fe&lMEpwfCm)xwcMu_mm61!V~K!*P;&R@RJY```)@qi2~P0hzV- zW`W=uj~;uPKCN-YM;39b_Ua!^WAMsZyh{b$;LGeeJIoM(REUd~9yLQ8!Z7EnLKab3uTdd)?D2I@QDQ>XS$Ez3D2w%dAN zrh#DwjZ;I!c(U2NGI(4}bYv3~8$s37hcdx6pEW{ha}9Xewl>bCOIBHCRFvdt2_q!Z zq?&YVOj}G?xc~Xrw2^PViwikvoqu=O$^@|+kW3LqgLz$;L@Z?N_Vp!y9A8s8aNT{E z4(i9$p{#d0=5toASwCbKdpbPb=4d>)ySsA)MxND88|aY9&=DcDDPbd#BelO1&56y4 zmyR1p7Jj^I{nj%AVJ1+P#nb7U@j1E)(zT+|_7F(}Co=0`#Pyc`m&Rhzmx}gUlJM<| zVDHp7%;>YPfB3`x9TLOvtaQ}#_?XONGc7XwPd11P-Ch0tT^|YJhbr=T(U?wmniAP4 z(MK0srYJL56X;L}QbyGY@f<35KEU`|C|0%E>W&=V$PY*aQw_cIkcvs!Wizh&#a~x< zicSb5x;$3|FmAosi#@|fm&AnswoLfIxh9PGBrWi6SdDPCq%i0P<;qd(97moS`tI>^ zZ}w4Z68xyD$IxyFf2%ZG!l|-Tn)#ZssPFYsGA>cwR^`=K!yttfuTvM-qdY}Q=8DS^ z>?W?{-bqKK51M$PlEG18oN%Jj*n-ewpHrsVBAp5T07!#$Yi?g%WwqM5{EEsvdpw24 z@1l1X*(sDWhCnDfKH%Sum64}Doryj5de4(=*Ox?65K{tc*q}o*r!Xg*#)YFYY=ct? zjD25fKl;Uz5g|=doL0ClS6*;>BV#QIi}lpu!3>WzuLKu^<+zVrmuBx*>6O?xdQ9Fy!cuAmpIO-j+ zKvtbNsFri%@Lb~#$GskdlyHEjG9K)I3^tCnGE)*|&+{XFb^Ah4e#?!stg=uK-Ucn6 z(c!!^O{HvR99%J8k>l^~>npdDKxIQyr}<^gFmJTw7lekvLXTYCF*D@#O<>Jg3}br9 zD;yUC+M8^?61z>`DMf)DSe)io0~v~}=Ij&^E?jBZq5?j*hr)(N-}2K{RI@WdDNzbK z;3Ot?dFF}rht>6)io)}Pocr_3<4V@Iv*?;iv~yA?Qy6~uMD>D3g@;ehqSr4D{9N31 zbq2QKYwK0ViWuZ5v?ZhxW@O8J^4;_pSP;8qh=*HUOQ-YYGQ_B%YsbgCVMP;b%Mc8>421GDd(*I ztCZ>eG0%6Sb56QVRqHD&D{am8mp=Lb;vU-ru;fTx0)s=_A{6&&e)Dncyt3z3obizD z-e7;NKEF+o5Hy2Bljrqm=rldZ){Nkhk&9PP_+|S-1veR<%+#L3C{LL+3B*o7{(E5C z&E$)4kP#uo1H)EsE22vs1}waS9^QL_n7EV>2pk!mTVESRDLF;6+&~(ljXz$lO|9Gv zdLw%K;ZvXl96Eq3cmQJbv*hlf1EiFY&-wyF$6SznK?+btTOl4G==eR@bJir4K%MpP zA7dR0gl5D_#CoE7%Pp@EzBoo`P*YXP9)(~XrnN%YdAs`F--ldvo+_D2u<2+}+Abek z5+6LQfm9-Eoeui9{${M->MCCMM~%!ouaU@n=V^|Hx@D$ZT}5EdiG;qk=Hb!i*O`^B ze4&SNcssVe>L1W#vRZyDY2W#H!l6=J2X`EC%}3P4jP@wr&8limA7ANJnRb4CxP9F5 z_VCK#87r>atnv*D8#>&&zAgbVh31zqlF)uOAkz`Z7|YJgp~=Z4n@yG~#UzS#w1-5n z%3f`#p(m;zH(rqRfE>&u6&0y94uoE1qQM4fcTlRp4UP_mJVJ`YL++d&pT}Q;)E@Ty!|Ww8;^PPMapLW4}Qmk+mhsfTeT+_G~HR;!rVoAo}-lJz+fN+ zCTB1mWdc}B8Q~By36}>3$wZ?9LnKl@?vHQ0u0yKs)@Wbt9KdPnvJ1~@j_+BTCtkYV z!q{B-uS(w_$srb+6FfTeFS&_}lV?Cs&Zt(+9Y>TeR0cvLDeROppz0Df${9_?h%Omc zl)}Pf9j0{6x6+?-2?F|l(|l+@ACkb#X>9;qU8M-@f(=6C3CS2&k)BneoxTtIv)=6x zw()G^wx{m!kxdLRNpd1?(YbhA&U<<-Wq>5%rNLT|))psTL(_GAP+lP-xYnf*F+f3s zx7ssG8(KIJRPagy-_{hlyr5h>i-l}ITl1Mn9VuG=2Zd_m{ZjnEpPB!u1eJmaaZgbsG=mAD zA2kxbzR{eM)#7i6WMggX@H^|xafqM0YtViTpDt!$>7UY!jU6svi>zKcGURHIC&Hd| z>LNxZp0B66kA-?mcAexNfTMo`Hf1A;N($GhS47v^O`mcCJ@7T{x{DW_Z^%`5_wG z6|0sU{pvrYzfmbe7>Ww8jpRoF`$98GMn(g-VRWy??Jpr*x0Cg2YwQ9rzv3X+2k13L zRXVUn{kQ|U?`IcX^g&2WsPl`aijvBaFQ1SxyQ-QRb5ewl5}yjO3JakHfhGloY}xGX z?LMS^ZBAt@Y~|znM`L4tjWi4h9d;Ugf#}6Wm<<1^l7J2m7RyZvYKVL&o`R7QIGmw$ zeD^FT;L$>tEMup?^U{7j^UWKu5^ox_igGtcL;0``Qn;e&ieFF9kpaCB{yvH`>pj`e z*{LLAB0&+cy9Q@JH?V0+k}YqV8iYGVyyw^%?SfKs#1ii0hXZ5!<&ggtLNYs(JXz06 z3$?M4;HPF`9MFOmQ21@Pkk*rbh=a=6O4xO{9hSzUtIfcO4Sk;NLW zwIYLP=zXRdT*zDo6k;jKky8?WN{*=!T*Pc56d5%u5pr+0`*K==)(a`IKMzkD4LTKNu!k_#Ls$wq zIPXEXRpB_b(u~HW($b*3PC+SDEy4)I*=7-n#BkK^M91m(xbd89OfBx|#vlWSjPbWW zVU!vNaNEfeg=u(dPUr37gy`3Y9q)F739@Mth9vA4xys7Qua-#|C{H{3#0%EnefdDH zg&xS`-2a)Uq5u`IWRbt)W~}OIvGZegcH0l%8?1nTab!P7lIuaZUh&#mI@!uBGyx9> zQT@-r^7QCg2TalDw>B76i&L8z-yz@abH6;_JG;v6Wn^m@GSpIxgzXBo?3prY)uHq5 zwQ=ZlV{VFb)=H-!#4jpiYe<#guMS=*pltia9Au0g%=4$F@>iKyG!?_yRnSmEX|*HN zfzdzzf3RV}HAKA&F?cN{=^*=6%tZfhkW7<{gR}qn?(P_~LB{^KO0S4YPmbOe?6*B2 z*-zN4Bl;vso0|nJYN{OLh@`rWp~Wo+&5$NZ4@&5Z9KQFGWW5Xtvdb&02de#D1B&wh zzO@V_2M>0qzj5bukQVFQ4}q&nvDuK|bD6ICPL7@`(}-h2LTSq`?D&N4E}ebvX1B{m zMp6$hBGZ_YY@;2q*X}3SH>G<>g#AeRRF)$NHLUx(;GSS z%{%XpL5#Kk9Byn}Z-vsz?w8H@g?cm!G^_p<6Y(k+`8sl{7C!KSU35>eFl1o0%0g?N zw0af!_S2=Ah_vhrDKfK+F6vCPv zGiDm;%mi^zEpPXv}6$ER`FK6&CFSoYpRn1kc zA37s}#Qlx6FbjL|IB&2vZv3mD(8cJ*RSu^A(2S?>-$q{^`A1e)jh7oowrl?m#QnDh zwjPW?q;KJSVwUaJz8f`L>;oTY5Lh_<@$|Z|(?z1$;@9z|F>_fEoyq&;(g(5;rk)9T zd(7T%$OvUjTYv@9Vge<7XOQ)#Rfi6I~M{`|KOY$9`oQ zSsD>@tjU{}DJ&owuq&Kgq}_k|#o&!fDTz#@k&BMs(*!F%QNg!9k*7fdNWz!D;Zln) z{sQl?xKs1YKGXf#w&6fJBO@0#vUVqEAxoG9I@m>n{;i$fZeBiKb*oM&i*pxat2>vM zkUB#n#Xto!bJRRgAvsQ?mKF3(ZLtiH9+{%+ybvmGyNR8k(y4gGC3=fB@5Z4}%nyX-+o{ zl9%6n{yUB=H$-i({()}GllO??T?OM_v_$+S$%ckqc^LPnD54N2Q?OzyCl2zCG1BV) zDy&^x_FVtiVQbF3@G1$cM5?N`eLr;GzWWo|sVD4%#ZoMo(Ril7{l3i3@HI_1VQ9&$ zXZvEg?p21xbiE4gRB|p`|6ypca;OvM_XrWP;^~rqbdqoDCX`R`*op|PYCc3d-ksmy z&j&o{?aC4B@Ge-0-u-^Ky1aALTz2AjHZcvj+z9(<{B`5gGPBK*(}Bdt&xBkZEzP#e zx-cCr)}pu4tJJU6VfsxRobl-&D%{~zs9#$}injVzpH5D3mf?Et)5mR7(SS!^(VPiLU8AGe-C-TY=Frek(sQO#RUMF_ z`i~cYLmHgrQjUYYShf1TErQLx<30Kx5ci;>%M$DRup}AHpc)EV02H4V8N`)Fn&@Ya z&BH>5)KD->}d3YIO&ZFOVrD?yMH03M6$+B>kr4B_fu;AM8h~C!wN-; z61Yl^27>`NruVx!_lGQOOz_k7hme4KpQnH8@{{At9WfgCrSamUVdz$vaml`nz^q5C z(Tz>S+Kc%aK9##g4$*e+uMGxOL&`s3YAj^9yec)NKz!_;JiH3#il(!I{>A?Op~a*< zU*^1cdd@no4Ca01b2M&`Z3BZ8Y86sTSL%->^sjwM7DfapN-1mq_>0be{C>TIW^*+v zG4DT_$%0mb_i=Q0408ALX}U9>7TIxkzH?dWWT$B7)R&}*jY6wox%Cp0?(;uk7Osej zL_^m8Tpfc3#}V2bc>?J|96MzaN%<6>q9X{geC$r$THkc^f^gRex4O$V1a}f2ZY3Xp}qq1Wt{$85h#@}%g^XG>j_McU+ zb$mKupUY8$)~5{-zgzcq6S3FTl>cQ&i31Kt7J6)wjU}SK^sArYJnB|c ztQC5w@B2n;Y(cVQSt<3+0SyMus%q;%6+c#>3xOZkzk(k{9T$)4%eK8AbQ084JiWaQ zT^o$6mRr^wy=olWcTJn_E*jZJhFqIJh>DfMiP<8D9K7AzGRJmh42YtlWNRhSXwiU& zQ4X6TrbDgBl$myWm_gmTwd;#v)tne7bqbKfq7j$ZQN%Uj$kNcdxvZ6AopZ)Ffscp^ z&x3`5Off}9`Ufh%%o!9MG%X1i??ppxLck5?S>7%yR zd;>zYc>09wzpOZx8z#x1MD5u{HHfLff`p&=1YIMsY&obo;kYeEVF-IbIx&W9C@FIV zssS~KiRmsZyi?bu&7-v{a$yRSr~CoRfX;TPH2qjBK6QJcY$f5&RS`SE!K}94J$+V| zq+s?!XDV3@k-s$4x~x;PSW&-b?_gdoO|}g9hUk`$OimV841DI=LSkZfJ53!fu5F=3 zd~+(sS9JLTi^+>!i2CKDlIkP7ivpU5>z`sb?;w99;nTJmL|}VG&@VpT-1H6Sryb|| zjQ`XFG=AsrkR4|;JUuhQ_upgCP$XZ*kUV`eC`WT42g21;`hERLM6p|socz4JZca}x zcLbScVO>5<8L!9UCUQOsi--vb;LL`GCIhu1(gqs!Rq$OzsHGetr zG|peUOQ$YWjf^secL_F&L05e&?~XU!KLdDY5pUCayxUO>fT-L?Hg(fTzU#5U>

zgKkCoN&!2|HeZjMt;2`|w@Astx9Ci>-GPf6pT4@@ck77>3W(Y^wzjM~qJEcYUUX7e zs2_>-SUWO$k$y!iJ^)f2etd>34U|h|O-oop;!l(^rjj5q&g+Bpt}To*zQ*csH$I~JH0nkKq-m+tWt^!3Pyr21KNK4C^_)1TlBsD6W-ybMtI6zur|)8ZOO!n~zGJT+Ukt34tUoy;6NXqeGJc0R~b$&T?8Jt(th~adu|m z7=p)#<+DR6UJz@%0PXgRdSjRy@y|VsmOpI zCZnb*#aDZvBd-fc>-upSH@!<4yEJt&{!{2!^URRe7N{2HsXgO(; z0J*SoE?uP&wOYO_=srr28m~lIBMPAc&2LJ5qD-(CX&o#AUgjt^aO$ zdDW@uBfE`UlsYw45#Wix*RY8n8dX`I^LS6Mqw|JUw2KpWR2t!AY&ojTDTUij7Igz( z)c=+Lmdr*ir{m1w`L%+*3F9J60umRbk44&E+&x`(e)qgk3%E~uwwynSBp0o}dZ}rR zd$%w_f`GuBT{Ye-)p#7n%Q(jTL+DjW*IVzwH36%%OT=geWc{&?SidF<_X z*P=h4PU~n{Q&UJBlQdIX%85}YJwBC&ZF z{3=)5QLcCV{Uo0i0NuvS0VcDh@%Ob0RRI=0esE}Bbz1w%c=7~{2#VfU7k7fEphYh4B8Z>UCNFlocYANq z3Jc%dOq#ZK@mBshqSO4N(yL5=p|ZOpOyYY4tF{jDL8Fssz>RA|i{ogtm|#dgLZUz16G4g%lyr{ZcQ{9on=^={he&_qhu0-AK$FXbXoN==sb zw0eqy4lh#`folt!u=a(928A$I-h5O0! zoylk$X2J`FnqM+nH}9DABAOfUxTm$}V}LNQn4q`kQe|hFurOUaYTMPNtsGK! zW2H;xBod;sJd<&B>(7L90r7EbqGuaqEZTyAc1R(5b*!#QVyyD-FIci#*Z!r?De(5< zqLvv%UqIU1+gB^*GcIl)0{*=$CYQ^3>c6@ayESMrYB=y&s;Y3BUC<=S>!Oz)t+WEu zV>dI)Q5qD_Ie((WhSRFA(GB@nWHJ!c0!D1ePqT;3(1V~6vZbR?EVsXyU3Y(VbdEe* z_uRcbJUl!-$t*us%|8Q_^IDsLn3!pWZqg8A(M;p}zw(2#e6RDx-$5kD=RDir<3;bvFF^^lZzg+m3AQW{e_E6mSkF+PZ_5r z^556q#Jq?YimfzxJXhmZiiiXNDiJ4lUkSmVto6sE^C6ZAW;wCz@%`uiVU}2cOLGY` z+1s48vyuWHwy$M{ed5@!aoOop`%0D{9{s&M+@4a!Od@9b3qJ%1`aP}gm(hHu3D5_{ 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

KqP?F_#&O0IZ-U> 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 AX8-^I literal 0 HcmV?d00001 diff --git a/web/mixstore/images/favicon.png b/web/mixstore/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..4c01f14cc3830c3bfd3aff29e982f6db037c967c GIT binary patch literal 3430 zcmV-s4Vm(ZP)97vdFltC0q0g*`&tq9Z!$J#1N#i91p$5z`@Tc=i!TA?_h;s_R{ zID*WR0xB{S0t6yMNPrMRAmct8``r8M-g~a+to36*&wlpzt@m5sTI+o`0{;(d`MwHN z5-}K9S|Lmm6ACBJb>{N+6{y7z-RoygGbH|y?^rP6aWh;P_ z=J9{-jr^(@|bE3o}Lvz$KYPtb~KKgNTRGq7} zU$LaUYs?r}Naav9#vxjQ>!G0k48X`)K2+A0fv2A@m>IE&P0eq=FM0lS$2*b8SgDu- z4D>)iiNG{sg1e`;F!bZ_lTmr`5j)py$MEpdmD<>8?P@bOZ9Z zK$=(hY*93E2cPtx&GDsp%;!GGg%`*=5(0939-y)uF5OOD?bbFaRE4j#z^k78krC zyQ;cuowd1*F74X`uH7O5{Xy2PrgzeJKmZgpxI0<7!0HX_7hQaLy^1SgiyB(%%;z}! zNH^U7+L0=!ObV{QgoxjhJ`8{*kP%nlVeub*db_fwY?X~ASM%Me6LvyA-~QsSXR8S$ zbaKtkt+%h8$=En9A18+|jJ%&-_K$>ZA-i%bD@zhBOs#a^A3N@=lq;HBTbhvAE9lfmd&L*?@ zK0y@^nsUOEL$(~RF0a^c#A0FVH*XFc8y&452Le0w6r~7SYlG8y+4A%K80j zjZiF9dpplj`i0J4%W}4P!X_|5HLl!yIX(Tvm~0fn!y@xD%g-fz_HjyXWmW0>3>-Xi z#8*A7YVK@nLt-wj`LGN~G6Zn9>L$`H>%-UJmU)MnM;R^8n zAru718qnUJZp4&jicmQW6q`ZlZ(hF0DJ?0A9FYybUpl*(2qfTG*+67W?72=!+paK= zh~1ePXHQQkWZ1&ch=T0uo1fU2bCI;fU0CS375_Vc!E@~(lZ^w3NJO1>1?X!IK7_{R zS76SzggF*|z;t7QrJWVj6qcq`*HmmAkq&bZ1kszDS_&f~qtDN%wK*&{YvI+*-ye1e z+sIr~9_fp((;_AZWhKUR7UKC+$p1VC_($ttqJIo5oj4%s7lQ9c3xFDKhIC}s`tt=H z^X21mO8`tqH>3~v`v%rg&z0+eh+pJZm(-IU4g-=_1^Rl+)7B}(4 zu#SdM2{DV~s>nV@aca44VspScIC}mtxVw14ij>a)9~mf&fxeDa3pOoAfHWT{MG-bx zPp24?U)R=Nefp$ejd*XO=;n!P0Q5gi%G zc>XawH|Xr$VnD!1i7Qt>HsqNt_3@a;ttonbzNEZp@x=H95ySLArc%Jh)@C#;B;pd0 zN&SvOr)X#jGJ+hA+6%$13-;d0y7uenlvLy9;GqkRiTE-iA?}h=BnK*y!o&mU28ITe z6dOaRt18)D|ET(eps$NS0?PZ?YEUDduHG`2h`AnWl@1+i>aVG)ui$Ax3oI}K49BR^ zYhem^HjNEYF|kj)7WgFyq}@7X->Nic>g%b}=B~F^Tys0vv3uW|w!Y>ZCtKIg3v%!6 zm5hiv7=meeT)W<=xVYn!AkUeUPbWUScK4Q8JcJT}s3+kT9UFTp<6-)~9kDy|3kvQp z#|uXr5*#+5WfRjs@(ApH)7%i-*CJTkE^H&v2nM8;Nvkfs9clR-;s5xu=-9CzLgZ6& zGR|I)OB;&gQa(>h%gws+57B5p-sL3F;U}3jduvBXN=`m-=~>pX4`RRKieqRSUz&mi*B)~Q>A}~rsokWc$8On*l!J+8lYx#M2n^Ntq z9I=2k5uwNtzqIM5*KY`h3`0`F>ecc0x*k8Z9%2kN^4~CROl-AWN8X=6CYkczwuFx; zhBdAnH&S?VoOfm4%R#hGE^O;*W!PETX-}TNVDqxL)ZxahtQtAqJ&U5Ej{H`5@p~L- zSMNK4)ynwQ7jIPF*cIos^yfeG{y3n~sP#Kj_tYX^*{z=u3VVs>rsjmy-TPeJ-RJ6d zZrji)kxB>&NvpHEL>>FAJ)LEq2KK+CUplu>qt@t`#KfKZ@$uhxZx7u5y!u7OB94Wv z?wdnD*sIkuCMS>l*oZ46h*%VJD~114a;E!t<%Q3mgj$<%U_CeLy0@ zg64-zAqQQzs`#CqD4WG5uHCdLxRub`$-h%C=@}5{{X7DCQ3Aot-PL_}zM}G$bq7Vt z7q&Cz`v+A$eU%@&CSvocvf|?1Oa>EKxoTC?qyFMQEr#gt>RMi~xn_1?7wmDCORzA> zFUVVq7c+6s{sVz7Uf#X?Q@0KGi~C@K??-Cn>6V+_H?yzWX!TlhY~1qm8P6`HezWFp zmmlQjY#CKZ!Q9XSK3SQ#^>TmSWj7&vti7j=6*w=r_QjjZ;6wX=T9J`{_WqcB6kD_~ zx)iVch{V!poE$C$~n+CSS&VB@RrSqj>)-sBY#vb)h&*W6C)MB zJdMjcb?rv?pn&ON?==$~A05iIuzuCo+Vf>|`2t{j-~%mTr4qR#zSnih9k6L?S)~Jv){q zC2Tlz`&_*vne(EwqG&#gZi0M!^5|hC&3_|=xqh5^FX#3b(^{o2$Uj)(2U~|x3IU7#CJim(=tgjDiuS^ zmlYM2Jn^5^cRW)&;MqIyt*osDg98Ij!rmSiyd|{^lunFWvGO)w+rKtG>=Q7+sOZDj zPxaPXlY9Apal!12M{%E>|5j`cL@!yIYwzQ{ zNhwuKYXp-R#hL+JM*lbh$x7+i-Rn2H-514GShyL^?DsRu+nc|dO zc->SF<0E50BoSu;!1irvK=Cvq43xE@96Jxq^~h($07*qo IM6N<$f`mAyEC2ui literal 0 HcmV?d00001 diff --git a/web/mixstore/images/iris_pca.png b/web/mixstore/images/iris_pca.png new file mode 100644 index 0000000000000000000000000000000000000000..71fe4709b548a9054799e04c3d985d1e02652377 GIT binary patch literal 11366 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 literal 0 HcmV?d00001 diff --git a/web/mixstore/images/pkg_banners/.gitignore b/web/mixstore/images/pkg_banners/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/web/mixstore/images/pkg_banners/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/web/mixstore/js/stupidtable.min.js b/web/mixstore/js/stupidtable.min.js new file mode 100644 index 0000000..f735a65 --- /dev/null +++ b/web/mixstore/js/stupidtable.min.js @@ -0,0 +1 @@ +(function(c){c.fn.stupidtable=function(b){return this.each(function(){var a=c(this);b=b||{};b=c.extend({},c.fn.stupidtable.default_sort_fns,b);a.on("click.stupidtable","th",function(){var d=c(this),f=0,g=c.fn.stupidtable.dir;a.find("th").slice(0,d.index()).each(function(){var a=c(this).attr("colspan")||1;f+=parseInt(a,10)});var e=d.data("sort-default")||g.ASC;d.data("sort-dir")&&(e=d.data("sort-dir")===g.ASC?g.DESC:g.ASC);var l=d.data("sort")||null;null!==l&&(a.trigger("beforetablesort",{column:f, direction:e}),a.css("display"),setTimeout(function(){var h=[],m=b[l],k=a.children("tbody").children("tr");k.each(function(a,b){var d=c(b).children().eq(f),e=d.data("sort-value"),d="undefined"!==typeof e?e:d.text();h.push([d,b])});h.sort(function(a,b){return m(a[0],b[0])});e!=g.ASC&&h.reverse();k=c.map(h,function(a){return a[1]});a.children("tbody").append(k);a.find("th").data("sort-dir",null).removeClass("sorting-desc sorting-asc");d.data("sort-dir",e).addClass("sorting-"+e);a.trigger("aftertablesort", {column:f,direction:e});a.css("display")},10))})})};c.fn.stupidtable.dir={ASC:"asc",DESC:"desc"};c.fn.stupidtable.default_sort_fns={"int":function(b,a){return parseInt(b,10)-parseInt(a,10)},"float":function(b,a){return parseFloat(b)-parseFloat(a)},string:function(b,a){return ba?1:0},"string-ins":function(b,a){b=b.toLowerCase();a=a.toLowerCase();return ba?1:0}}})(jQuery); diff --git a/web/mixstore/js/summernote.min.js b/web/mixstore/js/summernote.min.js new file mode 100644 index 0000000..f7b9287 --- /dev/null +++ b/web/mixstore/js/summernote.min.js @@ -0,0 +1,2 @@ +!function(a){"function"==typeof define&&define.amd?define(["jquery","codemirror"],a):a(window.jQuery,window.CodeMirror)}(function(a,b){"function"!=typeof Array.prototype.reduce&&(Array.prototype.reduce=function(a,b){var c,d,e=this.length>>>0,f=!1;for(1c;++c)this.hasOwnProperty(c)&&(f?d=a(d,this[c],c,this):(d=this[c],f=!0));if(!f)throw new TypeError("Reduce of empty array with no initial value");return d});var c={bMac:navigator.appVersion.indexOf("Mac")>-1,bMSIE:navigator.userAgent.indexOf("MSIE")>-1,bFF:navigator.userAgent.indexOf("Firefox")>-1,jqueryVersion:parseFloat(a.fn.jquery),bCodeMirror:!!b},d=function(){var a=function(a){return function(b){return a===b}},b=function(a,b){return a===b},c=function(){return!0},d=function(){return!1},e=function(a){return function(){return!a.apply(a,arguments)}},f=function(a){return a};return{eq:a,eq2:b,ok:c,fail:d,not:e,self:f}}(),e=function(){var a=function(a){return a[0]},b=function(a){return a[a.length-1]},c=function(a){return a.slice(0,a.length-1)},e=function(a){return a.slice(1)},f=function(a,b){var c=a.indexOf(b);return-1===c?null:a[c+1]},g=function(a,b){var c=a.indexOf(b);return-1===c?null:a[c-1]},h=function(a,b){return b=b||d.self,a.reduce(function(a,c){return a+b(c)},0)},i=function(a){for(var b=[],c=-1,d=a.length;++cc;c++)a[c]&&b.push(a[c]);return b};return{head:a,last:b,initial:c,tail:e,prev:g,next:f,sum:h,from:i,compact:k,clusterBy:j}}(),f=function(){var b=function(b){return b&&a(b).hasClass("note-editable")},g=function(b){return b&&a(b).hasClass("note-control-sizing")},h=function(a){var b=function(b){return function(){return a.find(b)}};return{editor:function(){return a},dropzone:b(".note-dropzone"),toolbar:b(".note-toolbar"),editable:b(".note-editable"),codable:b(".note-codable"),statusbar:b(".note-statusbar"),popover:b(".note-popover"),handle:b(".note-handle"),dialog:b(".note-dialog")}},i=function(a){return function(b){return b&&b.nodeName===a}},j=function(a){return a&&/^DIV|^P|^LI|^H[1-7]/.test(a.nodeName)},k=function(a){return a&&/^UL|^OL/.test(a.nodeName)},l=function(a){return a&&/^TD|^TH/.test(a.nodeName)},m=function(a,c){for(;a;){if(c(a))return a;if(b(a))break;a=a.parentNode}return null},n=function(a,b){b=b||d.fail;var c=[];return m(a,function(a){return c.push(a),b(a)}),c},o=function(b,c){for(var d=n(b),e=c;e;e=e.parentNode)if(a.inArray(e,d)>-1)return e;return null},p=function(a,b){var c=[],d=!1,e=!1;return function f(g){if(g){if(g===a&&(d=!0),d&&!e&&c.push(g),g===b)return void(e=!0);for(var h=0,i=g.childNodes.length;i>h;h++)f(g.childNodes[h])}}(o(a,b)),c},q=function(a,b){b=b||d.fail;for(var c=[];a&&(c.push(a),!b(a));)a=a.previousSibling;return c},r=function(a,b){b=b||d.fail;for(var c=[];a&&(c.push(a),!b(a));)a=a.nextSibling;return c},s=function(a,b){var c=[];return b=b||d.ok,function e(d){a!==d&&b(d)&&c.push(d);for(var f=0,g=d.childNodes.length;g>f;f++)e(d.childNodes[f])}(a),c},t=function(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a},u=function(b,c){return a.each(c,function(a,c){b.appendChild(c)}),b},v=i("#text"),w=function(a){return v(a)?a.nodeValue.length:a.childNodes.length},x=function(a){for(var b=0;a=a.previousSibling;)b+=1;return b},y=function(b,c){var f=e.initial(n(c,d.eq(b)));return a.map(f,x).reverse()},z=function(a,b){for(var c=a,d=0,e=b.length;e>d;d++)c=c.childNodes[b[d]];return c},A=function(a,b){if(0===b)return a;if(b>=w(a))return a.nextSibling;if(v(a))return a.splitText(b);var c=a.childNodes[b];return a=t(a.cloneNode(!1),a),u(a,r(c))},B=function(a,b,c){var e=n(b,d.eq(a));return 1===e.length?A(b,c):e.reduce(function(a,d){var e=d.cloneNode(!1);return t(e,d),a===b&&(a=A(a,c)),u(e,r(a)),e})},C=function(a,b){if(a&&a.parentNode){if(a.removeNode)return a.removeNode(b);var c=a.parentNode;if(!b){var d,e,f=[];for(d=0,e=a.childNodes.length;e>d;d++)f.push(a.childNodes[d]);for(d=0,e=f.length;e>d;d++)c.insertBefore(f[d],a)}c.removeChild(a)}},D=function(a){return f.isTextarea(a[0])?a.val():a.html()};return{blank:c.bMSIE?" ":"
",emptyPara:"


",isEditable:b,isControlSizing:g,buildLayoutInfo:h,isText:v,isPara:j,isList:k,isTable:i("TABLE"),isCell:l,isAnchor:i("A"),isDiv:i("DIV"),isLi:i("LI"),isSpan:i("SPAN"),isB:i("B"),isU:i("U"),isS:i("S"),isI:i("I"),isImg:i("IMG"),isTextarea:i("TEXTAREA"),ancestor:m,listAncestor:n,listNext:r,listPrev:q,listDescendant:s,commonAncestor:o,listBetween:p,insertAfter:t,position:x,makeOffsetPath:y,fromOffsetPath:z,split:B,remove:C,html:D}}(),g={version:"0.5.1",options:{width:null,height:null,focus:!1,tabsize:null,styleWithSpan:!0,disableLinkTarget:!1,disableDragAndDrop:!1,codemirror:null,lang:"en-US",direction:null,toolbar:[["style",["style"]],["font",["bold","italic","underline","clear"]],["fontname",["fontname"]],["color",["color"]],["para",["ul","ol","paragraph"]],["height",["height"]],["table",["table"]],["insert",["link","picture","video"]],["view",["fullscreen","codeview"]],["help",["help"]]],oninit:null,onfocus:null,onblur:null,onenter:null,onkeyup:null,onkeydown:null,onImageUpload:null,onImageUploadError:null,onToolbarClick:null,keyMap:{pc:{"CTRL+Z":"undo","CTRL+Y":"redo",TAB:"tab","SHIFT+TAB":"untab","CTRL+B":"bold","CTRL+I":"italic","CTRL+U":"underline","CTRL+SHIFT+S":"strikethrough","CTRL+BACKSLASH":"removeFormat","CTRL+SHIFT+L":"justifyLeft","CTRL+SHIFT+E":"justifyCenter","CTRL+SHIFT+R":"justifyRight","CTRL+SHIFT+J":"justifyFull","CTRL+SHIFT+NUM7":"insertUnorderedList","CTRL+SHIFT+NUM8":"insertOrderedList","CTRL+LEFTBRACKET":"outdent","CTRL+RIGHTBRACKET":"indent","CTRL+NUM0":"formatPara","CTRL+NUM1":"formatH1","CTRL+NUM2":"formatH2","CTRL+NUM3":"formatH3","CTRL+NUM4":"formatH4","CTRL+NUM5":"formatH5","CTRL+NUM6":"formatH6","CTRL+ENTER":"insertHorizontalRule"},mac:{"CMD+Z":"undo","CMD+SHIFT+Z":"redo",TAB:"tab","SHIFT+TAB":"untab","CMD+B":"bold","CMD+I":"italic","CMD+U":"underline","CMD+SHIFT+S":"strikethrough","CMD+BACKSLASH":"removeFormat","CMD+SHIFT+L":"justifyLeft","CMD+SHIFT+E":"justifyCenter","CMD+SHIFT+R":"justifyRight","CMD+SHIFT+J":"justifyFull","CMD+SHIFT+NUM7":"insertUnorderedList","CMD+SHIFT+NUM8":"insertOrderedList","CMD+LEFTBRACKET":"outdent","CMD+RIGHTBRACKET":"indent","CMD+NUM0":"formatPara","CMD+NUM1":"formatH1","CMD+NUM2":"formatH2","CMD+NUM3":"formatH3","CMD+NUM4":"formatH4","CMD+NUM5":"formatH5","CMD+NUM6":"formatH6","CMD+ENTER":"insertHorizontalRule"}}},lang:{"en-US":{font:{bold:"Bold",italic:"Italic",underline:"Underline",strike:"Strike",clear:"Remove Font Style",height:"Line Height",name:"Font Family",size:"Font Size"},image:{image:"Picture",insert:"Insert Image",resizeFull:"Resize Full",resizeHalf:"Resize Half",resizeQuarter:"Resize Quarter",floatLeft:"Float Left",floatRight:"Float Right",floatNone:"Float None",dragImageHere:"Drag an image here",selectFromFiles:"Select from files",url:"Image URL",remove:"Remove Image"},link:{link:"Link",insert:"Insert Link",unlink:"Unlink",edit:"Edit",textToDisplay:"Text to display",url:"To what URL should this link go?",openInNewWindow:"Open in new window"},video:{video:"Video",videoLink:"Video Link",insert:"Insert Video",url:"Video URL?",providers:"(YouTube, Vimeo, Vine, Instagram, or DailyMotion)"},table:{table:"Table"},hr:{insert:"Insert Horizontal Rule"},style:{style:"Style",normal:"Normal",blockquote:"Quote",pre:"Code",h1:"Header 1",h2:"Header 2",h3:"Header 3",h4:"Header 4",h5:"Header 5",h6:"Header 6"},lists:{unordered:"Unordered list",ordered:"Ordered list"},options:{help:"Help",fullscreen:"Full Screen",codeview:"Code View"},paragraph:{paragraph:"Paragraph",outdent:"Outdent",indent:"Indent",left:"Align left",center:"Align center",right:"Align right",justify:"Justify full"},color:{recent:"Recent Color",more:"More Color",background:"BackColor",foreground:"FontColor",transparent:"Transparent",setTransparent:"Set transparent",reset:"Reset",resetToDefault:"Reset to default"},shortcut:{shortcuts:"Keyboard shortcuts",close:"Close",textFormatting:"Text formatting",action:"Action",paragraphFormatting:"Paragraph formatting",documentStyle:"Document Style"},history:{undo:"Undo",redo:"Redo"}}}},h=function(){var b=function(b){return a.Deferred(function(c){a.extend(new FileReader,{onload:function(a){var b=a.target.result;c.resolve(b)},onerror:function(){c.reject(this)}}).readAsDataURL(b)}).promise()},c=function(b){return a.Deferred(function(c){a("").one("load",function(){c.resolve(a(this))}).one("error abort",function(){c.reject(a(this))}).css({display:"none"}).appendTo(document.body).attr("src",b)}).promise()};return{readFileAsDataURL:b,createImage:c}}(),i={isEdit:function(a){return-1!==[8,9,13,32].indexOf(a)},nameFromCode:{8:"BACKSPACE",9:"TAB",13:"ENTER",32:"SPACE",48:"NUM0",49:"NUM1",50:"NUM2",51:"NUM3",52:"NUM4",53:"NUM5",54:"NUM6",55:"NUM7",56:"NUM8",66:"B",69:"E",73:"I",74:"J",75:"K",76:"L",82:"R",83:"S",85:"U",89:"Y",90:"Z",191:"SLASH",219:"LEFTBRACKET",220:"BACKSLASH",221:"RIGHTBRACKET"}},j=function(){var b=function(b,d){if(c.jqueryVersion<1.9){var e={};return a.each(d,function(a,c){e[c]=b.css(c)}),e}return b.css.call(b,d)};this.stylePara=function(b,c){a.each(b.nodes(f.isPara),function(b,d){a(d).css(c)})},this.current=function(c,d){var e=a(f.isText(c.sc)?c.sc.parentNode:c.sc),g=["font-family","font-size","text-align","list-style-type","line-height"],h=b(e,g)||{};if(h["font-size"]=parseInt(h["font-size"]),h["font-bold"]=document.queryCommandState("bold")?"bold":"normal",h["font-italic"]=document.queryCommandState("italic")?"italic":"normal",h["font-underline"]=document.queryCommandState("underline")?"underline":"normal",c.isOnList()){var i=["circle","disc","disc-leading-zero","square"],j=a.inArray(h["list-style-type"],i)>-1;h["list-style"]=j?"unordered":"ordered"}else h["list-style"]="none";var k=f.ancestor(c.sc,f.isPara);if(k&&k.style["line-height"])h["line-height"]=k.style.lineHeight;else{var l=parseInt(h["line-height"])/parseInt(h["font-size"]);h["line-height"]=l.toFixed(1)}return h.image=f.isImg(d)&&d,h.anchor=c.isOnAnchor()&&f.ancestor(c.sc,f.isAnchor),h.aAncestor=f.listAncestor(c.sc,f.isEditable),h}},k=function(){var b=!!document.createRange,c=function(a,b){var c,d,g=a.parentElement(),h=document.body.createTextRange(),i=e.from(g.childNodes);for(c=0;c=0)break;d=i[c]}if(0!==c&&f.isText(i[c-1])){var j=document.body.createTextRange(),k=null;j.moveToElementText(d||g),j.collapse(!d),k=d?d.nextSibling:g.firstChild;var l=a.duplicate();l.setEndPoint("StartToStart",j);for(var m=l.text.replace(/[\r\n]/g,"").length;m>k.nodeValue.length&&k.nextSibling;)m-=k.nodeValue.length,k=k.nextSibling;{k.nodeValue}b&&k.nextSibling&&f.isText(k.nextSibling)&&m===k.nodeValue.length&&(m-=k.nodeValue.length,k=k.nextSibling),g=k,c=m}return{cont:g,offset:c}},g=function(a){var b=function(a,c){var g,h;if(f.isText(a)){var i=f.listPrev(a,d.not(f.isText)),j=e.last(i).previousSibling;g=j||a.parentNode,c+=e.sum(e.tail(i),f.length),h=!j}else{if(g=a.childNodes[c]||a,f.isText(g))return b(g,c);c=0,h=!1}return{cont:g,collapseToStart:h,offset:c}},c=document.body.createTextRange(),g=b(a.cont,a.offset);return c.moveToElementText(g.cont),c.collapse(g.collapseToStart),c.moveStart("character",g.offset),c},h=function(c,h,i,j){this.sc=c,this.so=h,this.ec=i,this.eo=j;var k=function(){if(b){var a=document.createRange();return a.setStart(c,h),a.setEnd(i,j),a}var d=g({cont:c,offset:h});return d.setEndPoint("EndToEnd",g({cont:i,offset:j})),d};this.select=function(){var a=k();if(b){var c=document.getSelection();c.rangeCount>0&&c.removeAllRanges(),c.addRange(a)}else a.select()},this.nodes=function(b){var g=f.listBetween(c,i),h=e.compact(a.map(g,function(a){return f.ancestor(a,b)}));return a.map(e.clusterBy(h,d.eq2),e.head)},this.commonAncestor=function(){return f.commonAncestor(c,i)};var l=function(a){return function(){var b=f.ancestor(c,a);return!!b&&b===f.ancestor(i,a)}};this.isOnEditable=l(f.isEditable),this.isOnList=l(f.isList),this.isOnAnchor=l(f.isAnchor),this.isOnCell=l(f.isCell),this.isCollapsed=function(){return c===i&&h===j},this.insertNode=function(a){var c=k();b?c.insertNode(a):c.pasteHTML(a.outerHTML)},this.toString=function(){var a=k();return b?a.toString():a.text},this.bookmark=function(a){return{s:{path:f.makeOffsetPath(a,c),offset:h},e:{path:f.makeOffsetPath(a,i),offset:j}}}};return{create:function(a,d,e,f){if(0===arguments.length)if(b){var g=document.getSelection();if(0===g.rangeCount)return null;var i=g.getRangeAt(0);a=i.startContainer,d=i.startOffset,e=i.endContainer,f=i.endOffset}else{var j=document.selection.createRange(),k=j.duplicate();k.collapse(!1);var l=j;l.collapse(!0);var m=c(l,!0),n=c(k,!1);a=m.cont,d=m.offset,e=n.cont,f=n.offset}else 2===arguments.length&&(e=a,f=d);return new h(a,d,e,f)},createFromNode:function(a){return this.create(a,0,a,1)},createFromBookmark:function(a,b){var c=f.fromOffsetPath(a,b.s.path),d=b.s.offset,e=f.fromOffsetPath(a,b.e.path),g=b.e.offset;return new h(c,d,e,g)}}}(),l=function(){this.tab=function(a,b){var c=f.ancestor(a.commonAncestor(),f.isCell),d=f.ancestor(c,f.isTable),g=f.listDescendant(d,f.isCell),h=e[b?"prev":"next"](g,c);h&&k.create(h,0).select()},this.createTable=function(b,c){for(var d,e=[],g=0;b>g;g++)e.push(""+f.blank+"");d=e.join("");for(var h,i=[],j=0;c>j;j++)i.push(""+d+"");h=i.join("");var k=''+h+"
";return a(k)[0]}},m=function(){var b=new j,d=new l;this.saveRange=function(a){a.data("range",k.create())},this.restoreRange=function(a){var b=a.data("range");b&&b.select()},this.currentStyle=function(a){var c=k.create();return c.isOnEditable()&&b.current(c,a)},this.undo=function(a){a.data("NoteHistory").undo(a)},this.redo=function(a){a.data("NoteHistory").redo(a)};for(var e=this.recordUndo=function(a){a.data("NoteHistory").recordUndo(a)},g=["bold","italic","underline","strikethrough","justifyLeft","justifyCenter","justifyRight","justifyFull","insertOrderedList","insertUnorderedList","indent","outdent","formatBlock","removeFormat","backColor","foreColor","insertHorizontalRule","fontName"],i=0,m=g.length;m>i;i++)this[g[i]]=function(a){return function(b,c){e(b),document.execCommand(a,!1,c)}}(g[i]);var n=function(b,c,d){e(b);var g=new Array(d+1).join(" ");c.insertNode(a(''+g+"")[0]);var h=a("#noteTab").removeAttr("id");c=k.create(h[0],1),c.select(),f.remove(h[0])};this.tab=function(a,b){var c=k.create();c.isCollapsed()&&c.isOnCell()?d.tab(c):n(a,c,b.tabsize)},this.untab=function(){var a=k.create();a.isCollapsed()&&a.isOnCell()&&d.tab(a,!0)},this.insertImage=function(a,b){h.createImage(b).then(function(b){e(a),b.css({display:"",width:Math.min(a.width(),b.width())}),k.create().insertNode(b[0])}).fail(function(){var b=a.data("callbacks");b.onImageUploadError&&b.onImageUploadError()})},this.insertVideo=function(b,c){e(b);var d,f=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/,g=c.match(f),h=/\/\/instagram.com\/p\/(.[a-zA-Z0-9]*)/,i=c.match(h),j=/\/\/vine.co\/v\/(.[a-zA-Z0-9]*)/,l=c.match(j),m=/\/\/(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/,n=c.match(m),o=/.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/,p=c.match(o);if(g&&11===g[2].length){var q=g[2];d=a("

Mwra$@bYhdix!`g_--0{PPzp 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