From 929ca0664edba8cc305d0b0033febd3fa06a7e73 Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Thu, 5 Feb 2015 11:57:31 +0100 Subject: [PATCH] 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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 ?OR>2Ueqc9z#}o55r&(^|9X2_Aeb&P7@h z=Vll>FXhr|R&BBHb1^A>6|&n;(@{LRr|#$J_)jy9(?3OSPP=%dQ#jS2>-LuOH+IIe zDIDcw^l7nonm&`=clT935r>YdudiH>9zE*fvS;B!M^~06!;sL>!1MELqYuwN&}lyD z$G`h-YKePG`2Q??5OuYFZRi|s3Fe9SbN*j&=1=_b;o*ZhhaZ1r+0%UFJ;Q|Av%627 zIwdgnUR_BjL&0-J9D~w4`}#U>i&?jBu1+{Qm-B!nLwP3q zoyE>9mqljWIJ4UI{NxTt`=}Wc`{!s*FWi0i!_OLqh8;UBrcImH7P#0g@ym;gYwG|1 z^YHU?tEsV>HEY(2Rjat{|9%lJdw;JtfB)ZUQ>RT^v}lo1z`EOS)#jgHF1}YMA|;Um!0`-Tb?{gDLD7A?DxfDC854Xh65JQw-i73+x@ShOtxx9^UT~U^Q+FAXvI9> zW5}N^D!{G~eP~|v)xg7#KVDd0|2Mnp^I7v!-BO`jVo&C5OgP9SWm%NsQ99QoQ^?fR z^d*z!rm%pJ5S2Iow*7K%niP6JdPRNf+2{8e++GTHM|9*h*)Lf=Z|Mft>CJ(Q-7ZS! z?@`17=N5DHUI-YOKce#s` zIaytGCh-XDQPm8cCt3Xboanm9R}&|sCC0|e)_%F@z9s1>*S?aMK~*o8PJeOP-=25P z+R3Zv%MV_d%Qdm<;4#-6dvX^54gTA)^pS6 z;O%*LGrqjIXj1(x=hvIf=bO?#%recc2nw3CvTH}tQ!nQjht*2|o|*68__W9_<%Gbg zbLYYY1Du_iZU1~Yth-i;>vfW4!^KUz8y0kI{NVm|o3PosNR6-g^}lCx`Cos`5E&Uc zWx|An$hx2)p}Tdz-+p;IJ${wiSMm6o#2tOhmn>l^R9KtpUo&mmv`ePfW0G$!Te3uD zU+wR*s}H)j&9$qYb*x|he$e05vX|{ooN6qPsT8<&`^2nX;X6gAbs1mJ)R|IvZs&_F zZ*On^d~U8a_i?|XoiR)|9`+a(?TmTywd&;CGWJuRUS5k>xy3%rnl9^o-%*v}=dl)v! zBryvL^H`U^JM;a`&BMGlITnH+fBmYOWtJOtLORIU*!btYz17UAQ>IQW%oHnHfBp3S zU$3+eTXpz5vYei-zx}Fuzs;wPKYo=nAG)}(va&KdEwXR|pOhfFLa-}`9RPL5ukF7a7%T%je-#0ep;gnaeUj4|g z{~gVA;OWxiEAGctJY;n?-jdXq)BCi6;m>j(7UMS_JI^|@T#u{P4Gj%tEuBzi3kqC0 z+bWkM4Of4hobZp$XvF7Tk z&{alX*0g;3@8ody+_`5bPo7j^30htE`qEPF+P`0~JGy-PcwBz+_190$Iu%6b^R3?a zgX77lWJxVZc6?fKznOKcy8lrj809se)sX4&-9plDt8d|q|meCu*O zj)P}ToXE(mXIh-@RwZ(J(wp9_l+4T4!W}%HX8v7YRbN}Xcb;#&=*1&%%Y>iLsoWd4 zt>$OZsx@nl9G9=xx&5_QX|{oEwtA;g2ZyqIpUZr^+8Is~tF$`43s3CObDC3pZD(=% zwbkMJUA?`jy}i9G408SLM~@y=)YRl$xpJjR;UgEb%1Ng!L9Ert}*{VI4R7JD?@Mjq(6UZ z=2#Z9adL7l>l2B(W|MQnU`_OPzU_C*q~}@|AM3m9`rz`@qJz&rUu)y3t0&1c_et~5zazYmkSe<_|{b4_lB$DT87 zQ&v^iUtHvR;^fJTc}#}7!IgcC2W-FJY4)6~b}+@3XUUZ-A!;j`&a|=gHM8>{N_v~B zn0GBvOp1ludGUr*uZuLxQZqsv)u(6ftNZ)w;rIRjZQt$v9yiM%kx6BP%hcmfi!RPI zPJi+5_xt60tG}OOUQ;#CaM`XY&p8cT~6Qqhl0|oHEXuqQMpeHa$7V+u`8KvHea__e!4& z%l+k7ty)#2B7EiQ)swR$Z%y{uz|JtQ+hl3k>ubHAK7Z!5E$i$s%e#}YQ#$?6kB=dN zfr+W%7gm*jIU?*o<67yZC7#RPU)dcV80aW#Rg%#^C!yW@W}!&nOa)!t-b{@1+vaHwEt@6;YctskMk&Php2U%YXHx}CLVu$@WMjpwITk?0{tTc11CS+LA{{IH$_#^Usp_(9F)iXwRNIe1Z#>En~~yzjpuZsKeVB8SdBr-}`X4kg)K@ z<^J;*l)re$|LOhFqenB`J@X27a{t?4qOPPVEMr$QLrY65WPf*Q7)PU}rKN_xzBy-!EMX%DKHwx8vxq8oM1adSO99O}*0QhaBWCq;@L>wB)?J z?D*@$yWQ_Mefm^%xYS5jxA*9gBP*tfw$47WsjbUeL`-bau3c7>j2xHz<$SZK`PMHp z#uWvO7TgcoJq{j|>u>*AW4EpFvD=kv*Nhk%JCx=6>)*d_oJQb zaXv|PGvr;oXpxh^^u*;nayAhza*1qqU5@{sKYhBf`1v{4Ahitb4Ik?iCFZsNPspCJ zK`&y%<^#41nVvm;>ezXmfBS9TbCwJXcI}edUH)E;nbE)e@2i`e)tC9rT@}4d$ghnd z;p8OMs7i$nRz7JnpSCVm!-;Nk6GHvo+}zyGb1h`k#r(4C8Ag%2PcAv17`QC*UhN0@ zMXU@z`VG#WTxG*#>f_<@Ab;;yv6F%aJ3ID&IK68uCljY z>-YcL#Z|j{{rcrgy{B^p9RJYO*|{)%e(g1_B#!#$bIUzg<{Nagnq*v1(6ed!8sM|{ z%O!99iPvA}`X150)Uoi7U8u_DIEJzohqv42cqJt#XC7=~O%nD@SSBhe`q8yp>|;+) zkHZ`J>8Fnd2M530_xqi&o7_5aE5Df4VQU|Cc6NUHW^&l-Zsqg2f8N~O9HYKvPnYnC zwhnf=3Ws|Yx8y7ucdTNJSsg1M7Ma3za-~aKi@MJYhv@Bjs%wp3b_%Pn*s)^<7Z=xx z4I3tSd3inYP>nhN_Vs~A<{}xTyaS9Or8TcsF5l63R`EoGic)8fw0Yly`%U+*`FZe` zJHIMR{q(!F>}hdYaiv(M^Y+w~lnG;I`SP*GJ4e1C7Rq)9bbO0UC}(3WXuPoH+q&0Q-K z5xjn{TkR2^UlS#7WS)6r9(Mb0&neUD@B63tuaD8xZ#c_g_h!}6M-o*wa`!f;``aZP zV34vXP>3zP8Y&_!oo(*3_T|3j!pFxxI=Az!{HFWjO%a#HIyuWC7ai6m7tI!hs!dot zy_P*;gVDRZgPbk1Z~Fc4w=Qg7@xE>9tXZ=Po}8GNR{8zG!RFRdVKz5i$?^l{_iLJ) znwk#mEt|B%=vuty9C?NsJznpVtOXtq`St}QCU^gzn-kI4YZLZDnz^BoncZmn?cQa} z)Rrw_h)_)uWlo4&Kb_IR&(DwH<(6d2UZxu}yg$Y7`}C6Q&%}-d^@b$P$;me)5-X%{ zo9wnSU3%#8#|>AmgiO5}xKVUPjjW57re@;%{r~GMSni4?COclduQ|&x;m+5l*Y%5P zj?IYJb%sTWOZeFqA(!0!{uQ$PvQ|@meSfe2ZY7K3&)pArEG;cV!ot$N{mW?XO>H!g zcUT#^FNI;Z440E`)xE~pg8?@?kEEZSb@Z#*=ByAGKbJk5Hcg7Je!Den`4acp2^#}cXgwx)1C9@&ZV`sw)#z5woOm?#M3(N z2i(>!3=Gl?E#=F+wbc)P)8GH+Q^V7MZ}Jm-FDaRtm^?Tt9`9o9t#XoOz2(_IQc>sL z?u_I+(@t(q31-{%zgIyydnlG3=V?aKPwwZKVsZ(>~(!z zZ0Pw@b)8MZSFT@AzPTw?H*CMy8T}x!KXEC2m&K&-EI2FICn+wz+%&m(FGHw{i+1?B z9PajVH>3S?^6jT2h%8*fDHe9rtXA*Q0>|bZMM7NHJ0o@G#H?7erf2!GWmc9VHc~tu zpZ2yNPE}r=8@2S%sx309SDqFHPS=a|u)OWSXZ^f`!s&~$yDp_yI=eLZd7)< ziE!h$nKcZaY0PgnIy1C-<8D!XNr8?l$3nPHgh!Krn2tNQegqA8QT=bU25jZ}N^<7RvV zgUz)VtDizF)*3BKnR?~z=bf8pE4^fsq)db3=Vxaxb4_x5svYBS-g&05pyqGIsMyxt zg1VU;b_dV1C%gYS@cA6WzLuT$7b^RG_;T6*_9sJ;d8fF=^-P|!TwdGB9c z!TXz1xsM(>65)B};u=|*qvwx5u!{QpcG>2xbCo(lA!SdehO;Twep>4K<4Bo-HC}%$D#akOSdiht-tYGgzqz^j;)M$hWwR{)BzFD3D%5(H`}gjtKCFko zzP>(tZnaO)0WYhvH!}=Avn{Di)bsQ4S>kW^(?#^K2Up)o^Za{fCQq8AbKa{j=wLui z{KZQl+fOZW+}82n<8k@xo4>NR?pnWM#RARXWfE*_ra52vRb!{uz9)8Xm8rjn$Az|? z`TQ;l_5bZX`7$<6>6m{$%f3fBLkeC@vsidD*Kgo~5UD z`goLFPsK|a+O}MiDiOWXp4FzpdHT6R=67i`Q`3vQ=64p%)>l?; z{`BcniMgmwiW!%~Ot;b!7O|yEmVC(H|JN*I z`-TPG_J3dcH$JzO23+93x5wbv$MNOin;^@2Rq-qd2>tY>o8CsW!1WMd`=?%bFEw>BO_Is zQn;EYw=oyYcAK6NAZXcOnV3;^c9I%{M*HT!g{x}23JVLryja{H6c{+s=0Z$<{Gvs= z0eN|P^`B0vZ(WwKTkL#>B9pGf6^4YoB^C_XY)&^?=9ll5dfThKd6TfPaN*-#b0u3_ z+1lUVmadE4y=le_i61p~tJbYc6BQNx@$tBPU_bza>YqJ<(O2WjNa>Y@1TY zsBnJ4L7B4;a%EVX7XF#1_VVBUhyB7A^@4@|^l3hKo}>9T(E7r&n@kA`dQBz9SI%jc zS#PuzXuMdwltHfNnW_DhE39?;&y@Mtw%Weoy|V3XQ_{5e{oOhzuh_Xb?q8!2yeZ)5 zn-v{bxU?2YivJcku)aW0eeJI_z$xr`Zie9p+rAGuK<{AjSTFS*Mrp z@vE;hL~?m`CaM0dI$NE^P{a0s@9cwkFSSgGhUbiLu1QWfCg8aIS2H$4apS{vV=0e>+^C z<1@3VP$sO!VYOA9Qd8QB?cP6gF8#D+{HI&|=(AU=$1bKFJas>;#QrU~7ngcKYRW+y z?*A({E`PB7;r}Hy_RIf-Ee@V1ZQstcEaUZ=|LprFJh#8dkl@b1z`)??>gTe~DWM4f D22Fs4 literal 0 HcmV?d00001 diff --git a/web/config.php b/web/config.php new file mode 100644 index 0000000..162acfc --- /dev/null +++ b/web/config.php @@ -0,0 +1,124 @@ +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 zcmZQzU}Ruq5D);-3Je)63=Con3=A3!3=9Gc3=9ek5OD?&U}0bo=7wMp7a1Gr8!{N_ z8*&)w8+se+8LTqWH+*8GZ}=CApBm{Kt})U#^fS^omRJ6_v$n-% z#y=x{!;MDzhEhl%(YUF;UU~tu3tnA3k*G-^mjvz-*A&AT?+h6sGq<=0`_F{a>+c`TxYYg#X8m z9{pccQTcE7tl9tGy?ggREF=_{8$faN3#30OA@Tpr88iQ6aX`QqjO1@jmDtE#B_ z|LfPU|E0yH|8=!=u!ZFxBYnePAU7Es82xv!a{#&b&(o(*|AX8U9vc4t33dW`f9LFo!4j)FmEgolLvZ)$A%QBzg@Zq>?_A3)|C8yHP;c5nivA5gv#HPSa+ zjmr#B*jSjE|8cZ)_zp_rM*4>9jr0vAKfuVsBE<}(4QVY@p G(hC5xhM-sg 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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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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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 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 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

9DJF9tTwZ=%KiHY8f)cNiH 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 +}bC3Y|5?AEmKl6w|wbZ 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

4k` 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

k5kurgi*Q?N=W->XmfCOkEr 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�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 VPkhZ7%fP_E;OXk;vd$@?2>`G#(`Ntx 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 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 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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: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("