diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..590a58b --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: bin/heroku-php-apache2 web/ diff --git a/README.md b/README.md index 0b8211b..3754f7e 100755 --- a/README.md +++ b/README.md @@ -1,170 +1,39 @@ -Symfony Standard Edition -======================== +Image upload +======== -Welcome to the Symfony Standard Edition - a fully-functional Symfony2 -application that you can use as the skeleton for your new applications. -This document contains information on how to download, install, and start -using Symfony. For a more detailed explanation, see the [Installation][1] -chapter of the Symfony Documentation. +scrutinizer: [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/shubaivan/symfony.local/badges/quality-score.png?b=develop)](https://scrutinizer-ci.com/g/shubaivan/symfony.local/?branch=develop) -1) Installing the Standard Edition ----------------------------------- - -When it comes to installing the Symfony Standard Edition, you have the -following options. - -### Use Composer (*recommended*) - -As Symfony uses [Composer][2] to manage its dependencies, the recommended way -to create a new project is to use it. - -If you don't have Composer yet, download it following the instructions on -http://getcomposer.org/ or just run the following command: - - curl -s http://getcomposer.org/installer | php - -Then, use the `create-project` command to generate a new Symfony application: - - php composer.phar create-project symfony/framework-standard-edition path/to/install - -Composer will install Symfony and all its dependencies under the -`path/to/install` directory. - -### Download an Archive File - -To quickly test Symfony, you can also download an [archive][3] of the Standard -Edition and unpack it somewhere under your web server root directory. - -If you downloaded an archive "without vendors", you also need to install all -the necessary dependencies. Download composer (see above) and run the -following command: - - php composer.phar install - -2) Checking your System Configuration -------------------------------------- - -Before starting coding, make sure that your local system is properly -configured for Symfony. - -Execute the `check.php` script from the command line: - - php app/check.php - -The script returns a status code of `0` if all mandatory requirements are met, -`1` otherwise. - -Access the `config.php` script from a browser: - - http://localhost/path-to-project/web/config.php - -If you get any warnings or recommendations, fix them before moving on. - -3) Browsing the Demo Application --------------------------------- - -Congratulations! You're now ready to use Symfony. - -From the `config.php` page, click the "Bypass configuration and go to the -Welcome page" link to load up your first Symfony page. - -You can also use a web-based configurator by clicking on the "Configure your -Symfony Application online" link of the `config.php` page. - -To see a real-live Symfony page in action, access the following page: - - web/app_dev.php/demo/hello/Fabien - -4) Getting started with Symfony -------------------------------- - -This distribution is meant to be the starting point for your Symfony -applications, but it also contains some sample code that you can learn from -and play with. - -A great way to start learning Symfony is via the [Quick Tour][4], which will -take you through all the basic features of Symfony2. - -Once you're feeling good, you can move onto reading the official -[Symfony2 book][5]. - -A default bundle, `AcmeDemoBundle`, shows you Symfony2 in action. After -playing with it, you can remove it by following these steps: - - * delete the `src/Acme` directory; - - * remove the routing entry referencing AcmeDemoBundle in `app/config/routing_dev.yml`; - - * remove the AcmeDemoBundle from the registered bundles in `app/AppKernel.php`; - - * remove the `web/bundles/acmedemo` directory; - - * empty the `security.yml` file or tweak the security configuration to fit - your needs. +Symfony projekt Image upload is simple web application for Image upload. This application developed on Symfony2 Framework. What's inside? ---------------- - -The Symfony Standard Edition is configured with the following defaults: - - * Twig is the only configured template engine; - - * Doctrine ORM/DBAL is configured; +-------------- - * Swiftmailer is configured; +The Image upload is uses with the following libraries and bundles: - * Annotations for everything are enabled. -It comes pre-configured with the following bundles: - * **FrameworkBundle** - The core Symfony framework bundle + * [**StofDoctrineExtensionsBundle, Stof**][2] - This bundle provides integration for DoctrineExtensions + in your Symfony2 Project. - * [**SensioFrameworkExtraBundle**][6] - Adds several enhancements, including - template and routing annotation capability - - * [**DoctrineBundle**][7] - Adds support for the Doctrine ORM - - * [**TwigBundle**][8] - Adds support for the Twig templating engine - - * [**SecurityBundle**][9] - Adds security by integrating Symfony's security - component - - * [**SwiftmailerBundle**][10] - Adds support for Swiftmailer, a library for - sending emails - - * [**MonologBundle**][11] - Adds support for Monolog, a logging library - - * [**AsseticBundle**][12] - Adds support for Assetic, an asset processing - library - - * **WebProfilerBundle** (in dev/test env) - Adds profiling functionality and - the web debug toolbar - - * **SensioDistributionBundle** (in dev/test env) - Adds functionality for - configuring and working with Symfony distributions - - * [**SensioGeneratorBundle**][13] (in dev/test env) - Adds code generation - capabilities - - * **AcmeDemoBundle** (in dev/test env) - A demo bundle with some example - code + * [**IphpFileStoreBundle, vitiko**][9] - The IphpFileStoreBundle is a Symfony2 bundle that automates file uploads that are attached to an entity. + The bundle will automatically name and save the uploaded file according to the configuration specified on a per property basis using a mix of configuration and annotations. + + * [**SonataDoctrineORMAdminBundle, sonata-project**][12] - This bundle integrates the SonataAdminBundle with the Doctrine ORM project. + + +Enjoy! -All libraries and bundles included in the Symfony Standard Edition are -released under the MIT or BSD license. -Enjoy! +[2]: https://github.com/stof/StofDoctrineExtensionsBundle +[3]: https://github.com/doctrine/DoctrineFixturesBundle +[4]: https://github.com/FriendsOfSymfony/FOSUserBundle +[5]: https://github.com/FriendsOfSymfony/FOSRestBundle +[6]: https://github.com/kbsali/php-redmine-api -[1]: http://symfony.com/doc/2.5/book/installation.html -[2]: http://getcomposer.org/ -[3]: http://symfony.com/download -[4]: http://symfony.com/doc/2.5/quick_tour/the_big_picture.html -[5]: http://symfony.com/doc/2.5/index.html -[6]: http://symfony.com/doc/2.5/bundles/SensioFrameworkExtraBundle/index.html -[7]: http://symfony.com/doc/2.5/book/doctrine.html -[8]: http://symfony.com/doc/2.5/book/templating.html -[9]: http://symfony.com/doc/2.5/book/security.html -[10]: http://symfony.com/doc/2.5/cookbook/email.html -[11]: http://symfony.com/doc/2.5/cookbook/logging/monolog.html -[12]: http://symfony.com/doc/2.5/cookbook/assetic/asset_management.html -[13]: http://symfony.com/doc/2.5/bundles/SensioGeneratorBundle/index.html +[7]: https://github.com/schmittjoh/JMSSerializerBundle +[8]: https://github.com/nelmio/NelmioApiDocBundle +[9]: https://github.com/vitiko/IphpFileStoreBundle +[10]: https://github.com/hautelook/AliceBundle +[11]: https://github.com/hwi/HWIOAuthBundle +[12]: https://github.com/sonata-project/SonataDoctrineORMAdminBundle \ No newline at end of file diff --git a/app.json b/app.json new file mode 100644 index 0000000..dad8467 --- /dev/null +++ b/app.json @@ -0,0 +1,8 @@ +{ + "addons": [ + "heroku-postgresql:hobby-dev" + ], + "scripts": { + "postdeploy": "php app/console doctrine:schema:create" + } +} \ No newline at end of file diff --git a/app/AppKernel.php b/app/AppKernel.php index c5c9eb6..1c1444c 100755 --- a/app/AppKernel.php +++ b/app/AppKernel.php @@ -16,10 +16,17 @@ public function registerBundles() new Symfony\Bundle\AsseticBundle\AsseticBundle(), new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), + new App\FirstBundle\AppFirstBundle(), + new Iphpsand\PhotoBundle\IphpsandPhotoBundle(), + new Iphp\FileStoreBundle\IphpFileStoreBundle(), +// new Sonata\AdminBundle\SonataAdminBundle(), +// new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(), +// new Sonata\BlockBundle\SonataBlockBundle(), +// new Knp\Bundle\MenuBundle\KnpMenuBundle(), +// new Sonata\CoreBundle\SonataCoreBundle(), ); if (in_array($this->getEnvironment(), array('dev', 'test'))) { - $bundles[] = new Acme\DemoBundle\AcmeDemoBundle(); $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); diff --git a/app/SymfonyRequirements.php b/app/SymfonyRequirements.php index 56bd35d..caabe40 100755 --- a/app/SymfonyRequirements.php +++ b/app/SymfonyRequirements.php @@ -77,7 +77,7 @@ public function getTestMessage() } /** - * Returns the help text for resolving the problem + * Returns the help text for resolving the problem. * * @return string The help text */ @@ -117,16 +117,16 @@ class PhpIniRequirement extends Requirement /** * Constructor that initializes the requirement. * - * @param string $cfgName The configuration name used for ini_get() - * @param bool|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 string $cfgName The configuration name used for ini_get() + * @param bool|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 bool $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 bool $optional Whether this is only an optional recommendation not a mandatory requirement + * 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 bool $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) { @@ -219,15 +219,15 @@ public function addRecommendation($fulfilled, $testMessage, $helpHtml, $helpText /** * Adds a mandatory requirement in form of a php.ini configuration. * - * @param string $cfgName The configuration name used for ini_get() - * @param bool|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 string $cfgName The configuration name used for ini_get() + * @param bool|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 bool $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) + * 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) { @@ -237,15 +237,15 @@ public function addPhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence = /** * Adds an optional recommendation in form of a php.ini configuration. * - * @param string $cfgName The configuration name used for ini_get() - * @param bool|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 string $cfgName The configuration name used for ini_get() + * @param bool|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 bool $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) + * 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) { @@ -440,8 +440,8 @@ public function __construct() } $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()), + 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.' ); } @@ -530,13 +530,34 @@ function_exists('simplexml_import_dom'), 'Install the PCRE extension (version 8.0+).' ); + if (extension_loaded('mbstring')) { + $this->addPhpIniRequirement( + 'mbstring.func_overload', + create_function('$cfgValue', 'return (int) $cfgValue === 0;'), + true, + 'string functions should not be overloaded', + 'Set "mbstring.func_overload" to 0 in php.ini* to disable function overloading by the mbstring extension.' + ); + } + /* 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.' - ); + if (file_exists(__DIR__.'/../vendor/composer')) { + require_once __DIR__.'/../vendor/autoload.php'; + + try { + $r = new \ReflectionClass('Sensio\Bundle\DistributionBundle\SensioDistributionBundle'); + + $contents = file_get_contents(dirname($r->getFileName()).'/Resources/skeleton/app/SymfonyRequirements.php'); + } catch (\ReflectionException $e) { + $contents = ''; + } + $this->addRecommendation( + file_get_contents(__FILE__) === $contents, + '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', '>='), @@ -580,8 +601,8 @@ function_exists('simplexml_import_dom'), $this->addRecommendation( class_exists('DomDocument'), - 'PHP-XML module should be installed', - 'Install and enable the PHP-XML module.' + 'PHP-DOM and PHP-XML modules should be installed', + 'Install and enable the PHP-DOM and the PHP-XML modules.' ); $this->addRecommendation( @@ -672,10 +693,8 @@ class_exists('Locale'), ); if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { - $this->addPhpIniRecommendation( - 'realpath_cache_size', - create_function('$cfgValue', 'return (int) $cfgValue > 1000;'), - false, + $this->addRecommendation( + $this->getRealpathCacheSize() > 1000, 'realpath_cache_size should be above 1024 in php.ini', 'Set "realpath_cache_size" to e.g. "1024" in php.ini* to improve performance on windows.' ); @@ -704,4 +723,28 @@ class_exists('PDO'), ); } } + + /** + * Loads realpath_cache_size from php.ini and converts it to int. + * + * (e.g. 16k is converted to 16384 int) + * + * @return int + */ + protected function getRealpathCacheSize() + { + $size = ini_get('realpath_cache_size'); + $size = trim($size); + $unit = strtolower(substr($size, -1, 1)); + switch ($unit) { + case 'g': + return $size * 1024 * 1024 * 1024; + case 'm': + return $size * 1024 * 1024; + case 'k': + return $size * 1024; + default: + return (int) $size; + } + } } diff --git a/app/check.php b/app/check.php index bb0a20e..90bad4a 100755 --- a/app/check.php +++ b/app/check.php @@ -110,7 +110,7 @@ function echo_style($style, $message) ); $supports = has_color_support(); - echo ($supports ? $styles[$style] : '').$message.($supports ? $styles['reset'] : ''); + echo($supports ? $styles[$style] : '').$message.($supports ? $styles['reset'] : ''); } function echo_block($style, $title, $message) diff --git a/app/config/config.yml b/app/config/config.yml index 74650dd..1a9d47f 100755 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -45,23 +45,59 @@ assetic: # 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: - # 1. add the path in parameters.yml - # e.g. database_path: "%kernel.root_dir%/data/data.db3" - # 2. Uncomment database_path in parameters.yml.dist - # 3. Uncomment next line: - # path: "%database_path%" + default_connection: default + connections: + # your default MySQL connection + default: + driver: "%database_driver%" + host: "%database_host%" + port: "%database_port%" + dbname: "%database_name%" + user: "%database_user%" + password: "%database_password%" + charset: UTF8 +# +# # how you call your additional connection is up to you +# # for me it is pgsql - you need it in a bit again +# pgsql: +# driver: "%pgsql_database_driver%" +# host: "%pgsql_database_host%" +# port: "%pgsql_database_port%" +# dbname: "%pgsql_database_name%" +# user: "%pgsql_database_user%" +# password: "%pgsql_database_password%" +# charset: UTF8 orm: + auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true + # auto_mapping: true - get's removed + # default entitity manager will be declared +# default_entity_manager: default +# auto_generate_proxy_classes: "%kernel.debug%" +# +# entity_managers: +# default: +# connection: default +# +# # unfortunately you have to list ALL bundles +# # which are using the default connection now +# mappings: +# GenjSocialFeedBundle: ~ +# GenjThumbnailBundle: ~ +# GenjUrlGeneratorBundle: ~ +# AppFirstBundle: ~ +# IphpsandPhotoBundle: ~ +# +# pgsql: +# connection: pgsql # connection name for your additional DB +# +# # bundles which going to use the PostgreSQL DB +# mappings: +# +# AppFirstBundle: ~ +# IphpsandPhotoBundle: ~ # Swiftmailer Configuration swiftmailer: @@ -70,3 +106,14 @@ swiftmailer: username: "%mailer_user%" password: "%mailer_password%" spool: { type: memory } + +# app/config/config.yml +iphp_file_store: + mappings: + photo: + upload_dir: photo + upload_path: /photo + directory_namer: + date: + params: { field : date, depth : month } + namer: ~ diff --git a/app/config/config_prod.yml b/app/config/config_prod.yml index 342837a..e90e297 100755 --- a/app/config/config_prod.yml +++ b/app/config/config_prod.yml @@ -19,7 +19,7 @@ monolog: handler: nested nested: type: stream - path: "%kernel.logs_dir%/%kernel.environment%.log" + path: "php://stderr" level: debug console: type: console diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist index 122c22f..538ef43 100755 --- a/app/config/parameters.yml.dist +++ b/app/config/parameters.yml.dist @@ -1,6 +1,6 @@ # This file is a "template" of what your parameters.yml file should look like parameters: - database_driver: pdo_mysql + database_driver: pdo_pgsql database_host: 127.0.0.1 database_port: ~ database_name: symfony diff --git a/app/config/routing.yml b/app/config/routing.yml index e69de29..2cdd0e9 100755 --- a/app/config/routing.yml +++ b/app/config/routing.yml @@ -0,0 +1,8 @@ +iphpsand_photo: + resource: "@IphpsandPhotoBundle/Resources/config/routing.yml" + prefix: / + +app_first: + resource: "@AppFirstBundle/Resources/config/routing.yml" + prefix: / + diff --git a/app/config/routing_dev.yml b/app/config/routing_dev.yml index 61b7263..6f0fb32 100755 --- a/app/config/routing_dev.yml +++ b/app/config/routing_dev.yml @@ -11,8 +11,4 @@ _configurator: prefix: /_configurator _main: - resource: routing.yml - -# AcmeDemoBundle routes (to be removed) -_acme_demo: - resource: "@AcmeDemoBundle/Resources/config/routing.yml" \ No newline at end of file + resource: routing.yml \ No newline at end of file diff --git a/composer.json b/composer.json index a9feaba..fe75d58 100755 --- a/composer.json +++ b/composer.json @@ -7,6 +7,10 @@ "psr-0": { "": "src/", "SymfonyStandard": "app/" } }, "require": { + "ext-intl": "*", + "ext-mbstring": "*", + "ext-pdo": "*", + "ext-pdo_pgsql": "*", "php": ">=5.3.3", "symfony/symfony": "2.5.*", "doctrine/orm": "~2.2,>=2.2.3", @@ -17,12 +21,17 @@ "symfony/monolog-bundle": "~2.4", "sensio/distribution-bundle": "~3.0", "sensio/framework-extra-bundle": "~3.0", - "incenteev/composer-parameter-handler": "~2.0" + "incenteev/composer-parameter-handler": "~2.0", + "phpunit/phpunit": "4.3.4", + "iphp/filestore-bundle": "dev-master" }, "require-dev": { "sensio/generator-bundle": "~2.3" }, "scripts": { + "pre-install-cmd": [ + "Iphpsand\\PhotoBundle\\HerokuEnvironment::populateEnvironment" + ], "post-root-package-install": [ "SymfonyStandard\\Composer::hookRootPackageInstall" ], @@ -47,10 +56,26 @@ "bin-dir": "bin" }, "extra": { + "heroku": { + "framework": "symfony2", + "document-root": "web", + "php-config": [ + "date.timezone=Europe/Kiev", + "display_errors=off", + "short_open_tag=off" + ] + }, "symfony-app-dir": "app", "symfony-web-dir": "web", "incenteev-parameters": { - "file": "app/config/parameters.yml" + "file": "app/config/parameters.yml", + "env-map": { + "database_host": "DATABASE_HOST", + "database_port": "DATABASE_PORT", + "database_name": "DATABASE_NAME", + "database_user": "DATABASE_USER", + "database_password": "DATABASE_PASSWORD" + } }, "branch-alias": { "dev-master": "2.5-dev" diff --git a/composer.lock b/composer.lock index 310883c..ba981f2 100755 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "0f5bf28fac35560dbdb2e597d32df056", + "hash": "7761c50d03c1032d07cde192c2a0aeee", "packages": [ { "name": "doctrine/annotations", - "version": "v1.2.1", + "version": "v1.2.4", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633" + "reference": "b5202eb9e83f8db52e0e58867e0a46e63be8332e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/6a6bec0670bb6e71a263b08bc1b98ea242928633", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/b5202eb9e83f8db52e0e58867e0a46e63be8332e", + "reference": "b5202eb9e83f8db52e0e58867e0a46e63be8332e", "shasum": "" }, "require": { @@ -72,20 +72,20 @@ "docblock", "parser" ], - "time": "2014-09-25 16:45:30" + "time": "2014-12-23 22:40:37" }, { "name": "doctrine/cache", - "version": "v1.3.1", + "version": "v1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7" + "reference": "c9eadeb743ac6199f7eec423cb9426bc518b7b03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/cf483685798a72c93bf4206e3dd6358ea07d64e7", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7", + "url": "https://api.github.com/repos/doctrine/cache/zipball/c9eadeb743ac6199f7eec423cb9426bc518b7b03", + "reference": "c9eadeb743ac6199f7eec423cb9426bc518b7b03", "shasum": "" }, "require": { @@ -96,12 +96,13 @@ }, "require-dev": { "phpunit/phpunit": ">=3.7", + "predis/predis": "~1.0", "satooshi/php-coveralls": "~0.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "1.5.x-dev" } }, "autoload": { @@ -141,25 +142,28 @@ "cache", "caching" ], - "time": "2014-09-17 14:24:04" + "time": "2015-04-15 00:11:59" }, { "name": "doctrine/collections", - "version": "v1.2", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2" + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/b99c5c46c87126201899afe88ec490a25eedd6a2", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2", + "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", "shasum": "" }, "require": { "php": ">=5.3.2" }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, "type": "library", "extra": { "branch-alias": { @@ -176,17 +180,6 @@ "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" @@ -195,11 +188,17 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Collections Abstraction library", @@ -209,20 +208,20 @@ "collections", "iterator" ], - "time": "2014-02-03 23:07:43" + "time": "2015-04-14 22:21:58" }, { "name": "doctrine/common", - "version": "v2.4.2", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b" + "reference": "cd8daf2501e10c63dced7b8b9b905844316ae9d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/5db6ab40e4c531f14dad4ca96a394dfce5d4255b", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b", + "url": "https://api.github.com/repos/doctrine/common/zipball/cd8daf2501e10c63dced7b8b9b905844316ae9d3", + "reference": "cd8daf2501e10c63dced7b8b9b905844316ae9d3", "shasum": "" }, "require": { @@ -239,7 +238,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4.x-dev" + "dev-master": "2.6.x-dev" } }, "autoload": { @@ -252,17 +251,6 @@ "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" @@ -271,11 +259,17 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Common Library for Doctrine projects", @@ -287,34 +281,42 @@ "persistence", "spl" ], - "time": "2014-05-21 19:28:51" + "time": "2015-04-02 19:55:44" }, { "name": "doctrine/dbal", - "version": "v2.4.3", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "0368bc031976126e5d36d37d2c56155092b6575b" + "reference": "628c2256b646ae2417d44e063bce8aec5199d48d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/0368bc031976126e5d36d37d2c56155092b6575b", - "reference": "0368bc031976126e5d36d37d2c56155092b6575b", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/628c2256b646ae2417d44e063bce8aec5199d48d", + "reference": "628c2256b646ae2417d44e063bce8aec5199d48d", "shasum": "" }, "require": { - "doctrine/common": "~2.4", + "doctrine/common": ">=2.4,<2.6-dev", "php": ">=5.3.2" }, "require-dev": { - "phpunit/phpunit": "3.7.*", - "symfony/console": "~2.0" + "phpunit/phpunit": "4.*", + "symfony/console": "2.*" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." }, + "bin": [ + "bin/doctrine-dbal" + ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5.x-dev" + } + }, "autoload": { "psr-0": { "Doctrine\\DBAL\\": "lib/" @@ -350,34 +352,37 @@ "persistence", "queryobject" ], - "time": "2014-10-16 11:56:49" + "time": "2015-01-12 21:52:47" }, { "name": "doctrine/doctrine-bundle", - "version": "v1.2.0", - "target-dir": "Doctrine/Bundle/DoctrineBundle", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "765b0d87fcc3e839c74817b7211258cbef3a4fb9" + "reference": "1986ff3a945b584c6505d07eae92d77e41131078" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/765b0d87fcc3e839c74817b7211258cbef3a4fb9", - "reference": "765b0d87fcc3e839c74817b7211258cbef3a4fb9", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/1986ff3a945b584c6505d07eae92d77e41131078", + "reference": "1986ff3a945b584c6505d07eae92d77e41131078", "shasum": "" }, "require": { - "doctrine/dbal": ">=2.2,<2.5-dev", + "doctrine/dbal": "~2.3", + "doctrine/doctrine-cache-bundle": "~1.0", "jdorn/sql-formatter": "~1.1", "php": ">=5.3.2", "symfony/doctrine-bridge": "~2.2", - "symfony/framework-bundle": "~2.2" + "symfony/framework-bundle": "~2.3" }, "require-dev": { - "doctrine/orm": ">=2.2,<2.5-dev", + "doctrine/orm": "~2.3", + "phpunit/phpunit": "~4", + "satooshi/php-coveralls": "~0.6.1", "symfony/validator": "~2.2", - "symfony/yaml": "~2.2" + "symfony/yaml": "~2.2", + "twig/twig": "~1.10" }, "suggest": { "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", @@ -386,12 +391,12 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\Bundle\\DoctrineBundle": "" + "psr-4": { + "Doctrine\\Bundle\\DoctrineBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -399,12 +404,6 @@ "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" @@ -412,6 +411,14 @@ { "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org/" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], "description": "Symfony DoctrineBundle", @@ -422,29 +429,52 @@ "orm", "persistence" ], - "time": "2013-03-25 20:13:59" + "time": "2015-02-28 11:04:45" }, { - "name": "doctrine/inflector", - "version": "v1.0", + "name": "doctrine/doctrine-cache-bundle", + "version": "v1.0.1", + "target-dir": "Doctrine/Bundle/DoctrineCacheBundle", "source": { "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08" + "url": "https://github.com/doctrine/DoctrineCacheBundle.git", + "reference": "e4b6f810aa047f9cbfe41c3d6a3d7e83d7477a9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/54b8333d2a5682afdc690060c1cf384ba9f47f08", - "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08", + "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/e4b6f810aa047f9cbfe41c3d6a3d7e83d7477a9d", + "reference": "e4b6f810aa047f9cbfe41c3d6a3d7e83d7477a9d", "shasum": "" }, "require": { - "php": ">=5.3.2" + "doctrine/cache": "~1.3", + "doctrine/inflector": "~1.0", + "php": ">=5.3.2", + "symfony/doctrine-bridge": "~2.2", + "symfony/framework-bundle": "~2.2", + "symfony/security": "~2.2" + }, + "require-dev": { + "instaclick/coding-standard": "~1.1", + "instaclick/object-calisthenics-sniffs": "dev-master", + "instaclick/symfony2-coding-standard": "dev-remaster", + "phpunit/phpunit": "~3.7", + "satooshi/php-coveralls": "~0.6.1", + "squizlabs/php_codesniffer": "dev-master", + "symfony/console": "~2.2", + "symfony/finder": "~2.2", + "symfony/validator": "~2.2", + "symfony/yaml": "~2.2" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } }, - "type": "library", "autoload": { "psr-0": { - "Doctrine\\Common\\Inflector\\": "lib/" + "Doctrine\\Bundle\\DoctrineCacheBundle": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -453,16 +483,74 @@ ], "authors": [ { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Fabio B. Silva", + "email": "fabio.bat.silva@gmail.com" }, { "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" + "email": "guilhermeblanco@hotmail.com" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org/" }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony2 Bundle for Doctrine Cache", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2014-11-28 09:43:36" + }, + { + "name": "doctrine/inflector", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -471,41 +559,106 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Common String Manipulations with regard to casing and singular/plural rules.", "homepage": "http://www.doctrine-project.org", "keywords": [ "inflection", - "pluarlize", - "singuarlize", + "pluralize", + "singularize", "string" ], - "time": "2013-01-10 21:49:15" + "time": "2014-12-20 21:24:13" + }, + { + "name": "doctrine/instantiator", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", + "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "2.0.*@ALPHA" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Instantiator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2014-10-13 12:58:55" }, { "name": "doctrine/lexer", - "version": "v1.0", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb" + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/2f708a85bb3aab5d99dab8be435abd73e0b18acb", - "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { "php": ">=5.3.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { "Doctrine\\Common\\Lexer\\": "lib/" @@ -516,174 +669,958 @@ "MIT" ], "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, { "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" + "email": "guilhermeblanco@gmail.com" }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "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": "2014-09-09 13:34:57" + }, + { + "name": "doctrine/orm", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/doctrine2.git", + "reference": "aa80c7d2c55a372f5f9f825f5c66dbda53a6e3fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/aa80c7d2c55a372f5f9f825f5c66dbda53a6e3fe", + "reference": "aa80c7d2c55a372f5f9f825f5c66dbda53a6e3fe", + "shasum": "" + }, + "require": { + "doctrine/cache": "~1.4", + "doctrine/collections": "~1.2", + "doctrine/common": ">=2.5-dev,<2.6-dev", + "doctrine/dbal": ">=2.5-dev,<2.6-dev", + "doctrine/instantiator": "~1.0.1", + "ext-pdo": "*", + "php": ">=5.4", + "symfony/console": "~2.5" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "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.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\ORM\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { "name": "Roman Borschel", "email": "roman@code-factory.org" }, { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Object-Relational-Mapper for PHP", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "orm" + ], + "time": "2015-04-02 20:40:18" + }, + { + "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": "iphp/filestore-bundle", + "version": "dev-master", + "target-dir": "Iphp/FileStoreBundle", + "source": { + "type": "git", + "url": "https://github.com/vitiko/IphpFileStoreBundle.git", + "reference": "ca1254176096e00061e6d507e0324a8364510d6f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vitiko/IphpFileStoreBundle/zipball/ca1254176096e00061e6d507e0324a8364510d6f", + "reference": "ca1254176096e00061e6d507e0324a8364510d6f", + "shasum": "" + }, + "require": { + "symfony/framework-bundle": "~2.2" + }, + "require-dev": { + "doctrine/doctrine-bundle": "@stable", + "doctrine/orm": "@stable", + "mikey179/vfsstream": "@stable", + "sensio/framework-extra-bundle": "@stable", + "symfony/browser-kit": "@stable", + "symfony/class-loader": "@stable", + "symfony/css-selector": "@stable", + "symfony/finder": "@stable", + "symfony/form": "@stable", + "symfony/process": "@stable", + "symfony/twig-bundle": "@stable", + "symfony/validator": "@stable", + "symfony/yaml": "@stable" + }, + "type": "bundle", + "autoload": { + "psr-0": { + "Iphp\\FileStoreBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Vitiko", + "email": "vitiko@mail.ru" + } + ], + "description": "Upload files for doctrine entities in symfony 2 project", + "homepage": "http://symfonydev.ru", + "keywords": [ + "file upload", + "sonata admin file upload", + "symfony file upload", + "upload" + ], + "time": "2014-12-10 08:01:03" + }, + { + "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.2.1", + "source": { + "type": "git", + "url": "https://github.com/kriswallsmith/assetic.git", + "reference": "b20efe38845d20458702f97f3ff625d80805897b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/b20efe38845d20458702f97f3ff625d80805897b", + "reference": "b20efe38845d20458702f97f3ff625d80805897b", + "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": "*", + "patchwork/jsqueeze": "~1.0", + "phpunit/phpunit": "~4", + "psr/log": "~1.0", + "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", + "patchwork/jsqueeze": "Assetic provides the integration with the JSqueeze JavaScript compressor", + "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.2-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": "2014-12-12 05:04:05" + }, + { + "name": "monolog/monolog", + "version": "1.13.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", + "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "~2.4, >2.4.8", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "phpunit/phpunit": "~4.0", + "raven/raven": "~0.5", + "ruflin/elastica": "0.90.*", + "swiftmailer/swiftmailer": "~5.3", + "videlalvaro/php-amqplib": "~2.4" + }, + "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", + "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.13.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" + } + ], + "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": "2015-03-09 09:58:04" + }, + { + "name": "phpunit/php-code-coverage", + "version": "2.0.17", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "c4e8e7725e351184a76544634855b8a9c405a6e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c4e8e7725e351184a76544634855b8a9c405a6e3", + "reference": "c4e8e7725e351184a76544634855b8a9c405a6e3", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "~1.0", + "sebastian/version": "~1.0" + }, + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2015-05-25 05:11:59" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.3.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb", + "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "File/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "" + ], + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2013-10-10 15:34:57" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", + "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "Text/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "" + ], + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2014-01-30 17:20:04" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", + "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "PHP/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "" + ], + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2013-08-02 07:42:54" + }, + { + "name": "phpunit/php-token-stream", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "eab81d02569310739373308137284e0158424330" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", + "reference": "eab81d02569310739373308137284e0158424330", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2015-04-08 04:46:07" + }, + { + "name": "phpunit/phpunit", + "version": "4.3.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "23e4e0310f037aae873cc81b8658dbbb82878f71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/23e4e0310f037aae873cc81b8658dbbb82878f71", + "reference": "23e4e0310f037aae873cc81b8658dbbb82878f71", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.3.3", + "phpunit/php-code-coverage": "~2.0", + "phpunit/php-file-iterator": "~1.3.2", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "~1.0.2", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.0", + "sebastian/diff": "~1.1", + "sebastian/environment": "~1.0", + "sebastian/exporter": "~1.0", + "sebastian/version": "~1.0", + "symfony/yaml": "~2.0" + }, + "suggest": { + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "", + "../../symfony/yaml/" + ], + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "http://www.phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2014-10-22 11:43:12" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "2.3.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", + "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "~1.0,>=1.0.2", + "php": ">=5.3.3", + "phpunit/php-text-template": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "time": "2015-04-02 05:36:41" + }, + { + "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": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", + "description": "Common interface for logging libraries", "keywords": [ - "lexer", - "parser" + "log", + "psr", + "psr-3" ], - "time": "2013-01-12 18:59:04" + "time": "2012-12-21 11:40:51" }, { - "name": "doctrine/orm", - "version": "v2.4.6", + "name": "sebastian/comparator", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/doctrine/doctrine2.git", - "reference": "bebacf79d8d4dae9168f0f9bc6811e6c2cb6a4d9" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/bebacf79d8d4dae9168f0f9bc6811e6c2cb6a4d9", - "reference": "bebacf79d8d4dae9168f0f9bc6811e6c2cb6a4d9", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", + "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", "shasum": "" }, "require": { - "doctrine/collections": "~1.1", - "doctrine/dbal": "~2.4", - "ext-pdo": "*", - "php": ">=5.3.2", - "symfony/console": "~2.0" + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2" }, "require-dev": { - "satooshi/php-coveralls": "dev-master", - "symfony/yaml": "~2.1" - }, - "suggest": { - "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" + "phpunit/phpunit": "~4.4" }, - "bin": [ - "bin/doctrine", - "bin/doctrine.php" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\ORM\\": "lib/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Roman Borschel", - "email": "roman@code-factory.org" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" }, { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" + "name": "Volker Dusch", + "email": "github@wallbash.com" }, { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" }, { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Object-Relational-Mapper for PHP", - "homepage": "http://www.doctrine-project.org", + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", "keywords": [ - "database", - "orm" + "comparator", + "compare", + "equality" ], - "time": "2014-10-06 13:22:50" + "time": "2015-01-29 16:28:08" }, { - "name": "incenteev/composer-parameter-handler", - "version": "v2.1.0", - "target-dir": "Incenteev/ParameterHandler", + "name": "sebastian/diff", + "version": "1.3.0", "source": { "type": "git", - "url": "https://github.com/Incenteev/ParameterHandler.git", - "reference": "143272a0a09c62616a3c8011fc165a10c6b35241" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/143272a0a09c62616a3c8011fc165a10c6b35241", - "reference": "143272a0a09c62616a3c8011fc165a10c6b35241", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", + "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/yaml": "~2.0" + "php": ">=5.3.3" }, "require-dev": { - "composer/composer": "1.0.*@dev", - "phpspec/prophecy-phpunit": "~1.0", - "symfony/filesystem": "~2.2" + "phpunit/phpunit": "~4.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "1.3-dev" } }, "autoload": { - "psr-0": { - "Incenteev\\ParameterHandler": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Christophe Coevoet", - "email": "stof@notk.org" + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Composer script handling your ignored parameter file", - "homepage": "https://github.com/Incenteev/ParameterHandler", + "description": "Diff implementation", + "homepage": "http://www.github.com/sebastianbergmann/diff", "keywords": [ - "parameters management" + "diff" ], - "time": "2013-12-07 10:10:39" + "time": "2015-02-22 15:13:53" }, { - "name": "jdorn/sql-formatter", - "version": "v1.2.17", + "name": "sebastian/environment", + "version": "1.2.2", "source": { "type": "git", - "url": "https://github.com/jdorn/sql-formatter.git", - "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc", - "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", + "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", "shasum": "" }, "require": { - "php": ">=5.2.4" + "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "3.7.*" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { @@ -693,237 +1630,214 @@ }, "autoload": { "classmap": [ - "lib" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jeremy Dorn", - "email": "jeremy@jeremydorn.com", - "homepage": "http://jeremydorn.com/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "a PHP SQL highlighting library", - "homepage": "https://github.com/jdorn/sql-formatter/", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ - "highlight", - "sql" + "Xdebug", + "environment", + "hhvm" ], - "time": "2014-01-12 16:20:24" + "time": "2015-01-01 10:01:08" }, { - "name": "kriswallsmith/assetic", - "version": "v1.2.0", + "name": "sebastian/exporter", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/kriswallsmith/assetic.git", - "reference": "df991c124a2212371443b586a1be767500036dee" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "84839970d05254c73cde183a721c7af13aede943" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/df991c124a2212371443b586a1be767500036dee", - "reference": "df991c124a2212371443b586a1be767500036dee", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", + "reference": "84839970d05254c73cde183a721c7af13aede943", "shasum": "" }, "require": { - "php": ">=5.3.1", - "symfony/process": "~2.1" + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" }, "require-dev": { - "cssmin/cssmin": "*", - "joliclic/javascript-packer": "*", - "kamicane/packager": "*", - "leafo/lessphp": "*", - "leafo/scssphp": "*", - "leafo/scssphp-compass": "*", - "mrclay/minify": "*", - "patchwork/jsqueeze": "~1.0", - "phpunit/phpunit": "~4", - "psr/log": "~1.0", - "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", - "patchwork/jsqueeze": "Assetic provides the integration with the JSqueeze JavaScript compressor", - "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris", - "twig/twig": "Assetic provides the integration with the Twig templating engine" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { - "psr-0": { - "Assetic": "src/" - }, - "files": [ - "src/functions.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Kris Wallsmith", - "email": "kris.wallsmith@gmail.com", - "homepage": "http://kriswallsmith.net/" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Asset Management for PHP", - "homepage": "https://github.com/kriswallsmith/assetic", + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", "keywords": [ - "assets", - "compression", - "minification" + "export", + "exporter" ], - "time": "2014-10-14 14:45:32" + "time": "2015-01-27 07:23:06" }, { - "name": "monolog/monolog", - "version": "1.11.0", + "name": "sebastian/recursion-context", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "3989662bbb30a29d20d9faa04a846af79b276252" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/ec3961874c43840e96da3a8a1ed20d8c73d7e5aa", - "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", + "reference": "3989662bbb30a29d20d9faa04a846af79b276252", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" + "php": ">=5.3.3" }, "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.*", - "videlalvaro/php-amqplib": "~2.4" - }, - "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", - "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "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-09-30 13:30:58" + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2015-01-24 09:48:32" }, { - "name": "psr/log", - "version": "1.0.0", + "name": "sebastian/version", + "version": "1.0.5", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", + "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", "shasum": "" }, "type": "library", "autoload": { - "psr-0": { - "Psr\\Log\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for logging libraries", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2012-12-21 11:40:51" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2015-02-24 06:35:25" }, { "name": "sensio/distribution-bundle", - "version": "v3.0.8", + "version": "v3.0.24", "target-dir": "Sensio/Bundle/DistributionBundle", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", - "reference": "bc5e96bb4faf6bee7121085951d11b89488952f5" + "reference": "79b820aee1f1daeb2717fa9471ee19275cc1d638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/bc5e96bb4faf6bee7121085951d11b89488952f5", - "reference": "bc5e96bb4faf6bee7121085951d11b89488952f5", + "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/79b820aee1f1daeb2717fa9471ee19275cc1d638", + "reference": "79b820aee1f1daeb2717fa9471ee19275cc1d638", "shasum": "" }, "require": { "php": ">=5.3.3", "sensiolabs/security-checker": "~2.0", "symfony/class-loader": "~2.2", - "symfony/form": "~2.2", "symfony/framework-bundle": "~2.3", - "symfony/process": "~2.2", + "symfony/process": "~2.2" + }, + "require-dev": { + "symfony/form": "~2.2", "symfony/validator": "~2.2", "symfony/yaml": "~2.2" }, + "suggest": { + "symfony/form": "If you want to use the configurator", + "symfony/validator": "If you want to use the configurator", + "symfony/yaml": "If you want to use the configurator" + }, "type": "symfony-bundle", "extra": { "branch-alias": { @@ -950,21 +1864,21 @@ "configuration", "distribution" ], - "time": "2014-11-03 21:16:34" + "time": "2015-05-16 12:57:08" }, { "name": "sensio/framework-extra-bundle", - "version": "v3.0.3", + "version": "v3.0.7", "target-dir": "Sensio/Bundle/FrameworkExtraBundle", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", - "reference": "b829a8097a41ccbd7d35683b1750043b23d682f5" + "reference": "5c37623576ea9e841b87dc0d85414d98fa6f7abb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/b829a8097a41ccbd7d35683b1750043b23d682f5", - "reference": "b829a8097a41ccbd7d35683b1750043b23d682f5", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/5c37623576ea9e841b87dc0d85414d98fa6f7abb", + "reference": "5c37623576ea9e841b87dc0d85414d98fa6f7abb", "shasum": "" }, "require": { @@ -1005,20 +1919,20 @@ "annotations", "controllers" ], - "time": "2014-11-10 14:50:31" + "time": "2015-04-02 12:28:58" }, { "name": "sensiolabs/security-checker", - "version": "v2.0.0", + "version": "v2.0.3", "source": { "type": "git", "url": "https://github.com/sensiolabs/security-checker.git", - "reference": "5b4eb4743ebe68276c911c84101ecdf4a9ae76ee" + "reference": "cde03c48d490d805ef1349e5108f8b3085981ead" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/5b4eb4743ebe68276c911c84101ecdf4a9ae76ee", - "reference": "5b4eb4743ebe68276c911c84101ecdf4a9ae76ee", + "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/cde03c48d490d805ef1349e5108f8b3085981ead", + "reference": "cde03c48d490d805ef1349e5108f8b3085981ead", "shasum": "" }, "require": { @@ -1050,20 +1964,20 @@ } ], "description": "A security checker for your composer.lock", - "time": "2014-07-19 10:52:35" + "time": "2015-05-22 14:21:04" }, { "name": "swiftmailer/swiftmailer", - "version": "v5.3.0", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "b86b927dfefdb56ab0b22d1350033d9a38e9f205" + "reference": "31454f258f10329ae7c48763eb898a75c39e0a9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/b86b927dfefdb56ab0b22d1350033d9a38e9f205", - "reference": "b86b927dfefdb56ab0b22d1350033d9a38e9f205", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/31454f258f10329ae7c48763eb898a75c39e0a9f", + "reference": "31454f258f10329ae7c48763eb898a75c39e0a9f", "shasum": "" }, "require": { @@ -1075,7 +1989,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3-dev" + "dev-master": "5.4-dev" } }, "autoload": { @@ -1102,36 +2016,37 @@ "mail", "mailer" ], - "time": "2014-10-04 05:53:18" + "time": "2015-03-14 06:06:39" }, { "name": "symfony/assetic-bundle", - "version": "v2.5.0", + "version": "v2.6.1", "source": { "type": "git", "url": "https://github.com/symfony/AsseticBundle.git", - "reference": "90ea7fb66d6d5245fd4afc16e4c8070214254fec" + "reference": "422b0add2110f0cf9bc7a873a386ea053f4a89f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/AsseticBundle/zipball/90ea7fb66d6d5245fd4afc16e4c8070214254fec", - "reference": "90ea7fb66d6d5245fd4afc16e4c8070214254fec", + "url": "https://api.github.com/repos/symfony/AsseticBundle/zipball/422b0add2110f0cf9bc7a873a386ea053f4a89f0", + "reference": "422b0add2110f0cf9bc7a873a386ea053f4a89f0", "shasum": "" }, "require": { "kriswallsmith/assetic": "~1.2", "php": ">=5.3.0", - "symfony/console": "~2.1", - "symfony/framework-bundle": "~2.1", - "symfony/yaml": "~2.1" + "symfony/console": "~2.3", + "symfony/dependency-injection": "~2.3", + "symfony/framework-bundle": "~2.3", + "symfony/yaml": "~2.3" }, "require-dev": { "kriswallsmith/spork": "~0.2", "patchwork/jsqueeze": "~1.0", - "symfony/class-loader": "~2.1", - "symfony/css-selector": "~2.1", - "symfony/dom-crawler": "~2.1", - "symfony/twig-bundle": "~2.1" + "symfony/class-loader": "~2.3", + "symfony/css-selector": "~2.3", + "symfony/dom-crawler": "~2.3", + "symfony/twig-bundle": "~2.3" }, "suggest": { "kriswallsmith/spork": "to be able to dump assets in parallel", @@ -1166,20 +2081,20 @@ "compression", "minification" ], - "time": "2014-10-15 12:03:38" + "time": "2015-01-27 12:45:16" }, { "name": "symfony/monolog-bundle", - "version": "v2.6.1", + "version": "v2.7.1", "source": { "type": "git", "url": "https://github.com/symfony/MonologBundle.git", - "reference": "227bbeefe30f2d95e3fe5fbd1ccda414287a957a" + "reference": "9320b6863404c70ebe111e9040dab96f251de7ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/MonologBundle/zipball/227bbeefe30f2d95e3fe5fbd1ccda414287a957a", - "reference": "227bbeefe30f2d95e3fe5fbd1ccda414287a957a", + "url": "https://api.github.com/repos/symfony/MonologBundle/zipball/9320b6863404c70ebe111e9040dab96f251de7ac", + "reference": "9320b6863404c70ebe111e9040dab96f251de7ac", "shasum": "" }, "require": { @@ -1197,7 +2112,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.6.x-dev" + "dev-master": "2.7.x-dev" } }, "autoload": { @@ -1225,21 +2140,20 @@ "log", "logging" ], - "time": "2014-07-21 00:36:06" + "time": "2015-01-04 20:21:17" }, { "name": "symfony/swiftmailer-bundle", - "version": "v2.3.7", - "target-dir": "Symfony/Bundle/SwiftmailerBundle", + "version": "v2.3.8", "source": { "type": "git", "url": "https://github.com/symfony/SwiftmailerBundle.git", - "reference": "e98defd402f72e8b54a029ba4d3ac4cb51dc3577" + "reference": "970b13d01871207e81d17b17ddda025e7e21e797" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/SwiftmailerBundle/zipball/e98defd402f72e8b54a029ba4d3ac4cb51dc3577", - "reference": "e98defd402f72e8b54a029ba4d3ac4cb51dc3577", + "url": "https://api.github.com/repos/symfony/SwiftmailerBundle/zipball/970b13d01871207e81d17b17ddda025e7e21e797", + "reference": "970b13d01871207e81d17b17ddda025e7e21e797", "shasum": "" }, "require": { @@ -1253,6 +2167,9 @@ "symfony/http-kernel": "~2.1", "symfony/yaml": "~2.1" }, + "suggest": { + "psr/log": "Allows logging" + }, "type": "symfony-bundle", "extra": { "branch-alias": { @@ -1260,8 +2177,8 @@ } }, "autoload": { - "psr-0": { - "Symfony\\Bundle\\SwiftmailerBundle": "" + "psr-4": { + "Symfony\\Bundle\\SwiftmailerBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1269,40 +2186,38 @@ "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": "Fabien Potencier", + "email": "fabien@symfony.com" } ], "description": "Symfony SwiftmailerBundle", "homepage": "http://symfony.com", - "time": "2014-04-05 17:15:52" + "time": "2014-12-01 17:44:50" }, { "name": "symfony/symfony", - "version": "v2.5.6", + "version": "v2.5.11", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "1a1b1e528935f15dd76169f8b1dc3ef97f0d6210" + "reference": "bb96c155fb677c0139e36dccb84e765066879c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/1a1b1e528935f15dd76169f8b1dc3ef97f0d6210", - "reference": "1a1b1e528935f15dd76169f8b1dc3ef97f0d6210", + "url": "https://api.github.com/repos/symfony/symfony/zipball/bb96c155fb677c0139e36dccb84e765066879c28", + "reference": "bb96c155fb677c0139e36dccb84e765066879c28", "shasum": "" }, "require": { - "doctrine/common": "~2.2", + "doctrine/common": "~2.3", "php": ">=5.3.3", "psr/log": "~1.0", - "twig/twig": "~1.12" + "twig/twig": "~1.12,>=1.12.3" }, "replace": { "symfony/browser-kit": "self.version", @@ -1353,10 +2268,10 @@ "doctrine/dbal": "~2.2", "doctrine/orm": "~2.2,>=2.2.3", "egulias/email-validator": "~1.2", - "ircmaxell/password-compat": "1.0.*", + "ircmaxell/password-compat": "~1.0", "monolog/monolog": "~1.3", - "ocramius/proxy-manager": ">=0.3.1,<0.6-dev", - "propel/propel1": "1.6.*" + "ocramius/proxy-manager": "~0.4|~1.0", + "propel/propel1": "~1.6" }, "type": "library", "extra": { @@ -1395,7 +2310,7 @@ "keywords": [ "framework" ], - "time": "2014-10-24 06:55:39" + "time": "2015-04-01 16:00:43" }, { "name": "twig/extensions", @@ -1451,25 +2366,25 @@ }, { "name": "twig/twig", - "version": "v1.16.2", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "42f758d9fe2146d1f0470604fc05ee43580873fc" + "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/42f758d9fe2146d1f0470604fc05ee43580873fc", - "reference": "42f758d9fe2146d1f0470604fc05ee43580873fc", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f", + "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f", "shasum": "" }, "require": { - "php": ">=5.2.4" + "php": ">=5.2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.16-dev" + "dev-master": "1.18-dev" } }, "autoload": { @@ -1495,7 +2410,7 @@ }, { "name": "Twig Team", - "homepage": "https://github.com/fabpot/Twig/graphs/contributors", + "homepage": "http://twig.sensiolabs.org/contributors", "role": "Contributors" } ], @@ -1504,27 +2419,27 @@ "keywords": [ "templating" ], - "time": "2014-10-17 12:53:44" + "time": "2015-04-19 08:30:27" } ], "packages-dev": [ { "name": "sensio/generator-bundle", - "version": "v2.4.0", + "version": "v2.5.3", "target-dir": "Sensio/Bundle/GeneratorBundle", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", - "reference": "d5c0b996a46276d50943a80f95a46b59215a0e68" + "reference": "e50108c2133ee5c9c484555faed50c17a61221d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/d5c0b996a46276d50943a80f95a46b59215a0e68", - "reference": "d5c0b996a46276d50943a80f95a46b59215a0e68", + "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/e50108c2133ee5c9c484555faed50c17a61221d3", + "reference": "e50108c2133ee5c9c484555faed50c17a61221d3", "shasum": "" }, "require": { - "symfony/console": "~2.0", + "symfony/console": "~2.5", "symfony/framework-bundle": "~2.2" }, "require-dev": { @@ -1535,7 +2450,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "2.5.x-dev" } }, "autoload": { @@ -1554,14 +2469,20 @@ } ], "description": "This bundle generates code for you", - "time": "2014-09-22 14:56:14" + "time": "2015-03-17 06:36:52" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "iphp/filestore-bundle": 20 + }, "prefer-stable": false, "platform": { + "ext-intl": "*", + "ext-mbstring": "*", + "ext-pdo": "*", + "ext-pdo_pgsql": "*", "php": ">=5.3.3" }, "platform-dev": [] diff --git a/src/Acme/DemoBundle/AcmeDemoBundle.php b/src/Acme/DemoBundle/AcmeDemoBundle.php deleted file mode 100755 index 269fc1e..0000000 --- a/src/Acme/DemoBundle/AcmeDemoBundle.php +++ /dev/null @@ -1,9 +0,0 @@ -getContainer(). - * - * @author Tobias Schultze - */ -class HelloWorldCommand extends Command -{ - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setName('acme:hello') - ->setDescription('Hello World example command') - ->addArgument('who', InputArgument::OPTIONAL, 'Who to greet.', 'World') - ->setHelp(<<%command.name% command greets somebody or everybody: - -php %command.full_name% - -The optional argument specifies who to greet: - -php %command.full_name% Fabien -EOF - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $output->writeln(sprintf('Hello %s!', $input->getArgument('who'))); - } -} diff --git a/src/Acme/DemoBundle/Controller/DemoController.php b/src/Acme/DemoBundle/Controller/DemoController.php deleted file mode 100755 index a99de89..0000000 --- a/src/Acme/DemoBundle/Controller/DemoController.php +++ /dev/null @@ -1,56 +0,0 @@ - $name); - } - - /** - * @Route("/contact", name="_demo_contact") - * @Template() - */ - public function contactAction(Request $request) - { - $form = $this->createForm(new ContactType()); - $form->handleRequest($request); - - if ($form->isValid()) { - $mailer = $this->get('mailer'); - - // .. setup a message and send it - // http://symfony.com/doc/current/cookbook/email.html - - $request->getSession()->getFlashBag()->set('notice', 'Message sent!'); - - return new RedirectResponse($this->generateUrl('_demo')); - } - - return array('form' => $form->createView()); - } -} diff --git a/src/Acme/DemoBundle/Controller/SecuredController.php b/src/Acme/DemoBundle/Controller/SecuredController.php deleted file mode 100755 index d1499e3..0000000 --- a/src/Acme/DemoBundle/Controller/SecuredController.php +++ /dev/null @@ -1,70 +0,0 @@ -attributes->has(SecurityContext::AUTHENTICATION_ERROR)) { - $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR); - } else { - $error = $request->getSession()->get(SecurityContext::AUTHENTICATION_ERROR); - } - - return array( - 'last_username' => $request->getSession()->get(SecurityContext::LAST_USERNAME), - 'error' => $error, - ); - } - - /** - * @Route("/login_check", name="_demo_security_check") - */ - public function securityCheckAction() - { - // The security layer will intercept this request - } - - /** - * @Route("/logout", name="_demo_logout") - */ - public function logoutAction() - { - // The security layer will intercept this request - } - - /** - * @Route("/hello", defaults={"name"="World"}), - * @Route("/hello/{name}", name="_demo_secured_hello") - * @Template() - */ - public function helloAction($name) - { - return array('name' => $name); - } - - /** - * @Route("/hello/admin/{name}", name="_demo_secured_hello_admin") - * @Security("is_granted('ROLE_ADMIN')") - * @Template() - */ - public function helloadminAction($name) - { - return array('name' => $name); - } -} diff --git a/src/Acme/DemoBundle/Controller/WelcomeController.php b/src/Acme/DemoBundle/Controller/WelcomeController.php deleted file mode 100755 index 884f95b..0000000 --- a/src/Acme/DemoBundle/Controller/WelcomeController.php +++ /dev/null @@ -1,19 +0,0 @@ -render('AcmeDemoBundle:Welcome:index.html.twig'); - } -} diff --git a/src/Acme/DemoBundle/DependencyInjection/AcmeDemoExtension.php b/src/Acme/DemoBundle/DependencyInjection/AcmeDemoExtension.php deleted file mode 100755 index 6dfcc82..0000000 --- a/src/Acme/DemoBundle/DependencyInjection/AcmeDemoExtension.php +++ /dev/null @@ -1,22 +0,0 @@ -load('services.xml'); - } - - public function getAlias() - { - return 'acme_demo'; - } -} diff --git a/src/Acme/DemoBundle/EventListener/ControllerListener.php b/src/Acme/DemoBundle/EventListener/ControllerListener.php deleted file mode 100755 index aa117d7..0000000 --- a/src/Acme/DemoBundle/EventListener/ControllerListener.php +++ /dev/null @@ -1,24 +0,0 @@ -extension = $extension; - } - - public function onKernelController(FilterControllerEvent $event) - { - if (HttpKernelInterface::MASTER_REQUEST === $event->getRequestType()) { - $this->extension->setController($event->getController()); - } - } -} diff --git a/src/Acme/DemoBundle/Form/ContactType.php b/src/Acme/DemoBundle/Form/ContactType.php deleted file mode 100755 index 2c76cdb..0000000 --- a/src/Acme/DemoBundle/Form/ContactType.php +++ /dev/null @@ -1,20 +0,0 @@ -add('email', 'email'); - $builder->add('message', 'textarea'); - } - - public function getName() - { - return 'contact'; - } -} diff --git a/src/Acme/DemoBundle/Resources/config/routing.yml b/src/Acme/DemoBundle/Resources/config/routing.yml deleted file mode 100755 index 06291a2..0000000 --- a/src/Acme/DemoBundle/Resources/config/routing.yml +++ /dev/null @@ -1,12 +0,0 @@ -_welcome: - path: / - defaults: { _controller: AcmeDemoBundle:Welcome:index } - -_demo_secured: - resource: "@AcmeDemoBundle/Controller/SecuredController.php" - type: annotation - -_demo: - resource: "@AcmeDemoBundle/Controller/DemoController.php" - type: annotation - prefix: /demo diff --git a/src/Acme/DemoBundle/Resources/config/services.xml b/src/Acme/DemoBundle/Resources/config/services.xml deleted file mode 100755 index d6274ce..0000000 --- a/src/Acme/DemoBundle/Resources/config/services.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/Acme/DemoBundle/Resources/public/css/demo.css b/src/Acme/DemoBundle/Resources/public/css/demo.css deleted file mode 100755 index 4dd2f16..0000000 --- a/src/Acme/DemoBundle/Resources/public/css/demo.css +++ /dev/null @@ -1,101 +0,0 @@ -body { - font-size: 14px; - font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; -} -h1.title { - font-size: 45px; - padding-bottom: 30px; -} -.sf-reset h2 { - font-weight: bold; - color: #FFFFFF; - /* Font is duplicated of body (sans-serif) */ - font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; - - margin-bottom: 10px; - background-color: #aacd4e; - padding: 2px 4px; - display: inline-block; - text-transform: uppercase; - -} -p { - line-height: 20px; - padding-bottom: 20px; -} -ul#demo-list a { - background: url(../images/blue-arrow.png) no-repeat right 6px; - padding-right: 10px; - margin-right: 30px; -} -#symfony-header { - position: relative; - padding: 30px 30px 20px 30px; -} -.sf-reset .symfony-blocks-welcome { - overflow: hidden; -} -.sf-reset .symfony-blocks-welcome > div { - background-color: whitesmoke; - float: left; - width: 240px; - margin-right: 14px; - text-align: center; - padding: 26px 20px; -} -.sf-reset .symfony-blocks-welcome > div.block-demo { - margin-right: 0; -} -.sf-reset .symfony-blocks-welcome .illustration { - padding-bottom: 20px; -} -.sf-reset .symfony-blocks-help { - overflow: hidden; -} -.sf-reset .symfony-blocks-help { - margin-top: 30px; - padding: 18px; - border: 1px solid #E6E6E6; -} -.sf-reset .symfony-blocks-help > div { - width: 254px; - float: left; -} -.flash-message { - padding: 10px; - margin: 5px; - margin-top: 15px; - background-color: #ffe; -} -.sf-reset .error { - color: red; -} -#login label, #contact_form label { - display: block; - float: left; - width: 90px; -} -.sf-reset ul#menu { - float: right; - margin-bottom: 20px; - padding-left: 0; -} -.sf-reset #menu li { - padding-left: 0; - margin-right: 10px; - display: inline; -} -.sf-reset a, -.sf-reset li a { - color: #08C; - text-decoration: none; -} -.sf-reset a:hover, -.sf-reset li a:hover { - color: #08C; - text-decoration: underline; -} -.sf-reset .symfony-content pre { - white-space: pre; - font-family: monospace; -} diff --git a/src/Acme/DemoBundle/Resources/public/images/blue-arrow.png b/src/Acme/DemoBundle/Resources/public/images/blue-arrow.png deleted file mode 100755 index fa82d4b..0000000 Binary files a/src/Acme/DemoBundle/Resources/public/images/blue-arrow.png and /dev/null differ diff --git a/src/Acme/DemoBundle/Resources/public/images/field-background.gif b/src/Acme/DemoBundle/Resources/public/images/field-background.gif deleted file mode 100755 index 7c0efc1..0000000 Binary files a/src/Acme/DemoBundle/Resources/public/images/field-background.gif and /dev/null differ diff --git a/src/Acme/DemoBundle/Resources/public/images/logo.gif b/src/Acme/DemoBundle/Resources/public/images/logo.gif deleted file mode 100755 index 703cf45..0000000 Binary files a/src/Acme/DemoBundle/Resources/public/images/logo.gif and /dev/null differ diff --git a/src/Acme/DemoBundle/Resources/public/images/search.png b/src/Acme/DemoBundle/Resources/public/images/search.png deleted file mode 100755 index 3c88b6a..0000000 Binary files a/src/Acme/DemoBundle/Resources/public/images/search.png and /dev/null differ diff --git a/src/Acme/DemoBundle/Resources/public/images/welcome-configure.gif b/src/Acme/DemoBundle/Resources/public/images/welcome-configure.gif deleted file mode 100755 index 931179a..0000000 Binary files a/src/Acme/DemoBundle/Resources/public/images/welcome-configure.gif and /dev/null differ diff --git a/src/Acme/DemoBundle/Resources/public/images/welcome-demo.gif b/src/Acme/DemoBundle/Resources/public/images/welcome-demo.gif deleted file mode 100755 index 0623de5..0000000 Binary files a/src/Acme/DemoBundle/Resources/public/images/welcome-demo.gif and /dev/null differ diff --git a/src/Acme/DemoBundle/Resources/public/images/welcome-quick-tour.gif b/src/Acme/DemoBundle/Resources/public/images/welcome-quick-tour.gif deleted file mode 100755 index b9018b1..0000000 Binary files a/src/Acme/DemoBundle/Resources/public/images/welcome-quick-tour.gif and /dev/null differ diff --git a/src/Acme/DemoBundle/Resources/views/Demo/contact.html.twig b/src/Acme/DemoBundle/Resources/views/Demo/contact.html.twig deleted file mode 100755 index e5b7523..0000000 --- a/src/Acme/DemoBundle/Resources/views/Demo/contact.html.twig +++ /dev/null @@ -1,15 +0,0 @@ -{% extends "AcmeDemoBundle::layout.html.twig" %} - -{% block title "Symfony - Contact form" %} - -{% block content %} -
- {{ form_errors(form) }} - - {{ form_row(form.email) }} - {{ form_row(form.message) }} - - {{ form_rest(form) }} - -
-{% endblock %} diff --git a/src/Acme/DemoBundle/Resources/views/Demo/hello.html.twig b/src/Acme/DemoBundle/Resources/views/Demo/hello.html.twig deleted file mode 100755 index 3997ff6..0000000 --- a/src/Acme/DemoBundle/Resources/views/Demo/hello.html.twig +++ /dev/null @@ -1,9 +0,0 @@ -{% extends "AcmeDemoBundle::layout.html.twig" %} - -{% block title "Hello " ~ name %} - -{% block content %} -

Hello {{ name }}!

-{% endblock %} - -{% set code = code(_self) %} diff --git a/src/Acme/DemoBundle/Resources/views/Demo/index.html.twig b/src/Acme/DemoBundle/Resources/views/Demo/index.html.twig deleted file mode 100755 index 454a320..0000000 --- a/src/Acme/DemoBundle/Resources/views/Demo/index.html.twig +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "AcmeDemoBundle::layout.html.twig" %} - -{% block title "Symfony - Demos" %} - -{% block content_header '' %} - -{% block content %} -

Available demos

- -{% endblock %} diff --git a/src/Acme/DemoBundle/Resources/views/Secured/hello.html.twig b/src/Acme/DemoBundle/Resources/views/Secured/hello.html.twig deleted file mode 100755 index faf95cf..0000000 --- a/src/Acme/DemoBundle/Resources/views/Secured/hello.html.twig +++ /dev/null @@ -1,11 +0,0 @@ -{% extends "AcmeDemoBundle:Secured:layout.html.twig" %} - -{% block title "Hello " ~ name %} - -{% block content %} -

Hello {{ name }}!

- - Hello resource secured for admin only. -{% endblock %} - -{% set code = code(_self) %} diff --git a/src/Acme/DemoBundle/Resources/views/Secured/helloadmin.html.twig b/src/Acme/DemoBundle/Resources/views/Secured/helloadmin.html.twig deleted file mode 100755 index 4e3649f..0000000 --- a/src/Acme/DemoBundle/Resources/views/Secured/helloadmin.html.twig +++ /dev/null @@ -1,9 +0,0 @@ -{% extends "AcmeDemoBundle:Secured:layout.html.twig" %} - -{% block title "Hello " ~ name %} - -{% block content %} -

Hello {{ name }} secured for Admins only!

-{% endblock %} - -{% set code = code(_self) %} diff --git a/src/Acme/DemoBundle/Resources/views/Secured/layout.html.twig b/src/Acme/DemoBundle/Resources/views/Secured/layout.html.twig deleted file mode 100755 index aeea55c..0000000 --- a/src/Acme/DemoBundle/Resources/views/Secured/layout.html.twig +++ /dev/null @@ -1,6 +0,0 @@ -{% extends "AcmeDemoBundle::layout.html.twig" %} - -{% block content_header_more %} - {{ parent() }} -
  • logged in as {{ app.user ? app.user.username : 'Anonymous' }} - Logout
  • -{% endblock %} diff --git a/src/Acme/DemoBundle/Resources/views/Secured/login.html.twig b/src/Acme/DemoBundle/Resources/views/Secured/login.html.twig deleted file mode 100755 index 3e76d1d..0000000 --- a/src/Acme/DemoBundle/Resources/views/Secured/login.html.twig +++ /dev/null @@ -1,35 +0,0 @@ -{% extends 'AcmeDemoBundle::layout.html.twig' %} - -{% block content %} -

    Login

    - -

    - Choose between two default users: user/userpass (ROLE_USER) or admin/adminpass (ROLE_ADMIN) -

    - - {% if error %} -
    {{ error.message }}
    - {% endif %} - -
    -
    - - -
    - -
    - - -
    - - -
    -{% endblock %} - -{% set code = code(_self) %} diff --git a/src/Acme/DemoBundle/Resources/views/Welcome/index.html.twig b/src/Acme/DemoBundle/Resources/views/Welcome/index.html.twig deleted file mode 100755 index ea3a729..0000000 --- a/src/Acme/DemoBundle/Resources/views/Welcome/index.html.twig +++ /dev/null @@ -1,83 +0,0 @@ -{% extends 'AcmeDemoBundle::layout.html.twig' %} - -{% block title %}Symfony - Welcome{% endblock %} - -{% block content_header '' %} - -{% block content %} - {% set version = constant('Symfony\\Component\\HttpKernel\\Kernel::MAJOR_VERSION') ~ '.' ~ constant('Symfony\\Component\\HttpKernel\\Kernel::MINOR_VERSION')%} - -

    Welcome!

    - -

    Congratulations! You have successfully installed a new Symfony application.

    - -
    - - {% if app.environment == 'dev' %} - - {% endif %} - -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -{% endblock %} diff --git a/src/Acme/DemoBundle/Resources/views/layout.html.twig b/src/Acme/DemoBundle/Resources/views/layout.html.twig deleted file mode 100755 index d7e97d5..0000000 --- a/src/Acme/DemoBundle/Resources/views/layout.html.twig +++ /dev/null @@ -1,37 +0,0 @@ -{% extends "TwigBundle::layout.html.twig" %} - -{% block head %} - - -{% endblock %} - -{% block title 'Demo Bundle' %} - -{% block body %} - {% for flashMessage in app.session.flashbag.get('notice') %} -
    - Notice: {{ flashMessage }} -
    - {% endfor %} - - {% block content_header %} - - -
    - {% endblock %} - -
    - {% block content %}{% endblock %} -
    - - {% if code is defined %} -

    Code behind this page

    -
    -
    {{ code|raw }}
    -
    - {% endif %} -{% endblock %} diff --git a/src/Acme/DemoBundle/Tests/Controller/DemoControllerTest.php b/src/Acme/DemoBundle/Tests/Controller/DemoControllerTest.php deleted file mode 100755 index d217689..0000000 --- a/src/Acme/DemoBundle/Tests/Controller/DemoControllerTest.php +++ /dev/null @@ -1,45 +0,0 @@ -request('GET', '/demo/hello/Fabien'); - - $this->assertGreaterThan(0, $crawler->filter('html:contains("Hello Fabien")')->count()); - } - - public function testSecureSection() - { - $client = static::createClient(); - - // goes to the secure page - $crawler = $client->request('GET', '/demo/secured/hello/World'); - - // redirects to the login page - $crawler = $client->followRedirect(); - - // submits the login form - $form = $crawler->selectButton('Login')->form(array('_username' => 'admin', '_password' => 'adminpass')); - $client->submit($form); - - // redirect to the original page (but now authenticated) - $crawler = $client->followRedirect(); - - // check that the page is the right one - $this->assertCount(1, $crawler->filter('h1.title:contains("Hello World!")')); - - // click on the secure link - $link = $crawler->selectLink('Hello resource secured')->link(); - $crawler = $client->click($link); - - // check that the page is the right one - $this->assertCount(1, $crawler->filter('h1.title:contains("secured for Admins only!")')); - } -} diff --git a/src/Acme/DemoBundle/Twig/Extension/DemoExtension.php b/src/Acme/DemoBundle/Twig/Extension/DemoExtension.php deleted file mode 100755 index def0757..0000000 --- a/src/Acme/DemoBundle/Twig/Extension/DemoExtension.php +++ /dev/null @@ -1,81 +0,0 @@ -loader = $loader; - } - - public function setController($controller) - { - $this->controller = $controller; - } - - /** - * {@inheritdoc} - */ - public function getFunctions() - { - return array( - new \Twig_SimpleFunction('code', array($this, 'getCode'), array('is_safe' => array('html'))), - ); - } - - public function getCode($template) - { - // highlight_string highlights php code only if 'getControllerCode(), true); - $controller = str_replace('<?php    ', '    ', $controller); - - $template = htmlspecialchars($this->getTemplateCode($template), ENT_QUOTES, 'UTF-8'); - - // remove the code block - $template = str_replace('{% set code = code(_self) %}', '', $template); - - return <<Controller Code

    -
    $controller
    - -

    Template Code

    -
    $template
    -EOF; - } - - protected function getControllerCode() - { - $class = get_class($this->controller[0]); - if (class_exists('CG\Core\ClassUtils')) { - $class = ClassUtils::getUserClass($class); - } - - $r = new \ReflectionClass($class); - $m = $r->getMethod($this->controller[1]); - - $code = file($r->getFilename()); - - return ' '.$m->getDocComment()."\n".implode('', array_slice($code, $m->getStartline() - 1, $m->getEndLine() - $m->getStartline() + 1)); - } - - protected function getTemplateCode($template) - { - return $this->loader->getSource($template->getTemplateName()); - } - - /** - * Returns the name of the extension. - * - * @return string The extension name - */ - public function getName() - { - return 'demo'; - } -} diff --git a/src/App/FirstBundle/AppFirstBundle.php b/src/App/FirstBundle/AppFirstBundle.php new file mode 100644 index 0000000..1d873f3 --- /dev/null +++ b/src/App/FirstBundle/AppFirstBundle.php @@ -0,0 +1,9 @@ +render('AppFirstBundle:Default:index.html.twig', array('name' => $name)); + } + public function createAction() + { +// $product = new Product(); +// $product->setName('A Foo Bar'); +// $product->setPrice('19.99'); +// $product->setDescription('Lorem ipsum dolor'); +// +// $em = $this->getDoctrine()->getManager(); +// $em->persist($product); +// $em->flush(); +// +// return new Response('Created product id '.$product->getId()); + + $category = new Category(); + $category->setName('Main Products'); + + $product = new Product(); + $product->setName('Foo'); + $product->setPrice('19.99'); + $product->setDescription('Lorem ipsum dolor'); + // relate this product to the category + $product->setCategory($category); + + $em = $this->getDoctrine()->getManager(); + $em->persist($category); + $em->persist($product); + $em->flush(); + + return new Response( + 'Created product id: '.$product->getId() + .' and category id: '.$category->getId() + ); + } + + public function showAction($id) + { + $product = $this->getDoctrine() + ->getRepository('AppFirstBundle:Product') + ->find($id); + $categoryName = $product->getCategory()->getName(); + + + if (!$product) { + throw $this->createNotFoundException( + 'No product found for id ' . $id + ); + } + + return $this->render('AppFirstBundle:Default:db.html.twig', array('product' => $product, 'categoryName' => $categoryName)); + + } + + + +// public function errorAction() +// { +// return new $this->render('AppFirstBundle:Default:error404.html.twig'); +// } +} diff --git a/src/App/FirstBundle/Controller/TimController.php b/src/App/FirstBundle/Controller/TimController.php new file mode 100644 index 0000000..20b2549 --- /dev/null +++ b/src/App/FirstBundle/Controller/TimController.php @@ -0,0 +1,81 @@ +twig = $twig; +// } + /** + * @return Response + */ + public function TimsAction() + { + return $this->render('AppFirstBundle:Default:tims.html.twig'); + } + + public function ErrorAction() + { + return $this->render('AppFirstBundle:Default:error404.html.twig'); + } + + /** + * @param string $id + * @return Response + */ + public function TimAction($name) + { + switch ($name) { + case 'barsa': + $Barcelona = new Barcelona('Luis Enrique', 'Camp Nou', 'Xavier '); + $checkb = $Barcelona->show(); + break; + case 'real': + $RealMadrid = new RealMadrid('Carlo Ancelotti', 'Santiago Bernabeu', 'Casillas'); + $checkb = $RealMadrid->show(); + + $lc = $RealMadrid->LC(); + break; + default: + return $this->render('AppFirstBundle:Default:error404.html.twig', array('name' => $name)); + } + + return $this->render('AppFirstBundle:Default:tim.html.twig', array('name' => $name, 'checkb'=>$checkb, + 'lc' => empty($lc) ? '' : $lc)); + + } +} +// /** +// * @param string $id +// * @return Response +// */ +// public function putArticleAction($id) +// { +// return new Response($this->twig->render('article.html.twig', ['method' => 'Put', 'articleId' => $id])); +// } +// /** +// * @param string $id +// * @return Response +// */ +// public function postArticleAction($id) +// { +// return new Response($this->twig->render('article.html.twig', ['method' => 'Post', 'articleId' => $id])); +// } +// /** +// * @param string $id +// * @return Response +// */ +// public function deleteArticleAction($id) +// { +// return new Response($this->twig->render('article.html.twig', ['method' => 'Delete', 'articleId' => $id])); +// } +//} diff --git a/src/App/FirstBundle/DependencyInjection/AppFirstExtension.php b/src/App/FirstBundle/DependencyInjection/AppFirstExtension.php new file mode 100644 index 0000000..3fccec2 --- /dev/null +++ b/src/App/FirstBundle/DependencyInjection/AppFirstExtension.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/App/FirstBundle/DependencyInjection/Configuration.php b/src/App/FirstBundle/DependencyInjection/Configuration.php new file mode 100644 index 0000000..316a48c --- /dev/null +++ b/src/App/FirstBundle/DependencyInjection/Configuration.php @@ -0,0 +1,29 @@ +root('app_first'); + + // 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/App/FirstBundle/Entity/Category.php b/src/App/FirstBundle/Entity/Category.php new file mode 100644 index 0000000..09af63b --- /dev/null +++ b/src/App/FirstBundle/Entity/Category.php @@ -0,0 +1,100 @@ +id; + } + + /** + * Set name + * + * @param string $name + * @return Category + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + /** + * @var \Doctrine\Common\Collections\Collection + */ + private $products; + + /** + * Constructor + */ + public function __construct() + { + $this->products = new \Doctrine\Common\Collections\ArrayCollection(); + } + + /** + * Add products + * + * @param \App\FirstBundle\Entity\Product $products + * @return Category + */ + public function addProduct(\App\FirstBundle\Entity\Product $products) + { + $this->products[] = $products; + + return $this; + } + + /** + * Remove products + * + * @param \App\FirstBundle\Entity\Product $products + */ + public function removeProduct(\App\FirstBundle\Entity\Product $products) + { + $this->products->removeElement($products); + } + + /** + * Get products + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getProducts() + { + return $this->products; + } +} diff --git a/src/App/FirstBundle/Entity/Product.php b/src/App/FirstBundle/Entity/Product.php new file mode 100644 index 0000000..a70039c --- /dev/null +++ b/src/App/FirstBundle/Entity/Product.php @@ -0,0 +1,129 @@ +id; + } + + /** + * Set name + * + * @param string $name + * @return Product + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Get name + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set price + * + * @param string $price + * @return Product + */ + public function setPrice($price) + { + $this->price = $price; + + return $this; + } + + /** + * Get price + * + * @return string + */ + public function getPrice() + { + return $this->price; + } + + /** + * Set description + * + * @param string $description + * @return Product + */ + public function setDescription($description) + { + $this->description = $description; + + return $this; + } + + /** + * Get description + * + * @return string + */ + public function getDescription() + { + return $this->description; + } + /** + * @var \App\FirstBundle\Entity\Category + */ + private $category; + + + /** + * Set category + * + * @param \App\FirstBundle\Entity\Category $category + * @return Product + */ + public function setCategory(\App\FirstBundle\Entity\Category $category = null) + { + $this->category = $category; + + return $this; + } + + /** + * Get category + * + * @return \App\FirstBundle\Entity\Category + */ + public function getCategory() + { + return $this->category; + } +} diff --git a/src/App/FirstBundle/Entity/ProductRepository.php b/src/App/FirstBundle/Entity/ProductRepository.php new file mode 100644 index 0000000..c8b08d3 --- /dev/null +++ b/src/App/FirstBundle/Entity/ProductRepository.php @@ -0,0 +1,38 @@ +getEntityManager() + ->createQuery( + 'SELECT p FROM AppFirstBundle:Product p ORDER BY p.name ASC' + ) + ->getResult(); + } + public function findOneByIdJoinedToCategory($id) + { + $query = $this->getEntityManager() + ->createQuery(' + SELECT p, c FROM AppFirstBundle:Product p + JOIN p.category c + WHERE p.id = :id' + )->setParameter('id', $id); + + try { + return $query->getSingleResult(); + } catch (\Doctrine\ORM\NoResultException $e) { + return null; + } + } +} diff --git a/src/App/FirstBundle/Models/AbstractFootballTim.php b/src/App/FirstBundle/Models/AbstractFootballTim.php new file mode 100644 index 0000000..7727d53 --- /dev/null +++ b/src/App/FirstBundle/Models/AbstractFootballTim.php @@ -0,0 +1,53 @@ +setTrainer($trainer); + $this->setStadium($stadium); + $this->setCaptain($captain); + } + + abstract public function show(); + + /*================Set Values==================*/ + public function setTrainer($trainer) + { + $this->trainer = $trainer; + } + public function setStadium($stadium) + { + $this->stadium = $stadium; + } + public function setCaptain($captain) + { + $this->captain = $captain; + } + /*================Get Values===================*/ + public function getTrainer() + { + return $this->trainer; + } + public function getStadium() + { + return $this->stadium; + } + public function getCaptain() + { + return $this->captain; + } + +} diff --git a/src/App/FirstBundle/Models/Article.php b/src/App/FirstBundle/Models/Article.php new file mode 100644 index 0000000..8928a2c --- /dev/null +++ b/src/App/FirstBundle/Models/Article.php @@ -0,0 +1,18 @@ +title = $title; + } + + public function getTitle() + { + return $this->title; + } +} diff --git a/src/App/FirstBundle/Models/Barcelona.php b/src/App/FirstBundle/Models/Barcelona.php new file mode 100644 index 0000000..7925b87 --- /dev/null +++ b/src/App/FirstBundle/Models/Barcelona.php @@ -0,0 +1,22 @@ +getTrainer(), $this->getStadium(), $this->getCaptain()); + } + +} diff --git a/src/App/FirstBundle/Models/LCInterface.php b/src/App/FirstBundle/Models/LCInterface.php new file mode 100644 index 0000000..9dc331f --- /dev/null +++ b/src/App/FirstBundle/Models/LCInterface.php @@ -0,0 +1,13 @@ +getTrainer(), $this->getStadium(), $this->getCaptain()); + } + public function LC() + { + return "Chempion"; + } + +} diff --git a/src/App/FirstBundle/Resources/config/doctrine/Category.orm.yml b/src/App/FirstBundle/Resources/config/doctrine/Category.orm.yml new file mode 100644 index 0000000..23b1416 --- /dev/null +++ b/src/App/FirstBundle/Resources/config/doctrine/Category.orm.yml @@ -0,0 +1,19 @@ +App\FirstBundle\Entity\Category: + type: entity + table: null + + id: + id: + type: integer + id: true + generator: + strategy: AUTO + fields: + name: + type: string + length: '255' + lifecycleCallbacks: { } + oneToMany: + products: + targetEntity: Product + mappedBy: category \ No newline at end of file diff --git a/src/App/FirstBundle/Resources/config/doctrine/Product.orm.yml b/src/App/FirstBundle/Resources/config/doctrine/Product.orm.yml new file mode 100644 index 0000000..416cd58 --- /dev/null +++ b/src/App/FirstBundle/Resources/config/doctrine/Product.orm.yml @@ -0,0 +1,24 @@ +App\FirstBundle\Entity\Product: + type: entity + table: product + repositoryClass: App\FirstBundle\Entity\ProductRepository + id: + id: + type: integer + generator: { strategy: AUTO } + fields: + name: + type: string + length: 100 + price: + type: decimal + scale: 2 + description: + type: text + manyToOne: + category: + targetEntity: Category + inversedBy: products + joinColumn: + name: category_id + referencedColumnName: id \ No newline at end of file diff --git a/src/App/FirstBundle/Resources/config/routing.yml b/src/App/FirstBundle/Resources/config/routing.yml new file mode 100644 index 0000000..b178812 --- /dev/null +++ b/src/App/FirstBundle/Resources/config/routing.yml @@ -0,0 +1,15 @@ +#app_first_homepage: +# path: /hello/{name} +# defaults: { _controller: AppFirstBundle:Default:index } +app_dbset_homepage: + path: /db + defaults: { _controller: AppFirstBundle:Default:create } +app_dbshow_homepage: + path: /db/{id} + defaults: { _controller: AppFirstBundle:Default:show } +app_tims_homepage: + path: /tims + defaults: { _controller: AppFirstBundle:Tim:Tims } +app_tim_homepage: + path: /tims/{name} + defaults: { _controller: AppFirstBundle:Tim:Tim } diff --git a/src/App/FirstBundle/Resources/config/services.yml b/src/App/FirstBundle/Resources/config/services.yml new file mode 100644 index 0000000..ff7aa72 --- /dev/null +++ b/src/App/FirstBundle/Resources/config/services.yml @@ -0,0 +1,4 @@ +services: +# app_first.example: +# class: App\FirstBundle\Example +# arguments: [@service_id, "plain_value", %parameter%] diff --git a/src/App/FirstBundle/Resources/doc/index.rst b/src/App/FirstBundle/Resources/doc/index.rst new file mode 100644 index 0000000..e69de29 diff --git a/src/App/FirstBundle/Resources/public/css/db.css b/src/App/FirstBundle/Resources/public/css/db.css new file mode 100644 index 0000000..99c1168 --- /dev/null +++ b/src/App/FirstBundle/Resources/public/css/db.css @@ -0,0 +1,17 @@ +table{ + border-collapse:collapse; + border:2px solid black; + margin: 0 auto; + background-color:#FFFFCC; +} + +td{ + padding:5px; + padding-right:30px; + border:1px solid black; + background-color:#F0FFF0; +} +th{ + padding:10px; + border:1px solid black; +} diff --git a/src/App/FirstBundle/Resources/translations/messages.fr.xlf b/src/App/FirstBundle/Resources/translations/messages.fr.xlf new file mode 100644 index 0000000..fd59e6c --- /dev/null +++ b/src/App/FirstBundle/Resources/translations/messages.fr.xlf @@ -0,0 +1,11 @@ + + + + + + Symfony2 is great + J'aime Symfony2 + + + + diff --git a/src/App/FirstBundle/Resources/views/Default/article.html.twig b/src/App/FirstBundle/Resources/views/Default/article.html.twig new file mode 100644 index 0000000..154c80d --- /dev/null +++ b/src/App/FirstBundle/Resources/views/Default/article.html.twig @@ -0,0 +1 @@ +{{ method|upper }} Article with "{{ articleId }}" id action diff --git a/src/App/FirstBundle/Resources/views/Default/db.html.twig b/src/App/FirstBundle/Resources/views/Default/db.html.twig new file mode 100644 index 0000000..e4799e4 --- /dev/null +++ b/src/App/FirstBundle/Resources/views/Default/db.html.twig @@ -0,0 +1,43 @@ + + + {% block stylesheets %} + + {% endblock %} + + + + + + + + + + + + + + + + + + + + +
    id{{ product.id }}
    price{{ product.price }}
    description{{ product.description }}
    name{{ product.name }}
    +
    + +{##} + {##} + {##} +{##} +{##} + {##} + {##} +{##} + + + + +
    {{ category.name }}{{ category.id }}
    {{ category.name }}{{ products }}
    name{{ categoryName }}
    + + \ No newline at end of file diff --git a/src/App/FirstBundle/Resources/views/Default/error404.html.twig b/src/App/FirstBundle/Resources/views/Default/error404.html.twig new file mode 100644 index 0000000..8c25ff4 --- /dev/null +++ b/src/App/FirstBundle/Resources/views/Default/error404.html.twig @@ -0,0 +1,11 @@ + + + + + Base MVC Application - Page not found + + +

    404:

    +

    Page not found on this server

    + + diff --git a/src/App/FirstBundle/Resources/views/Default/index.html.twig b/src/App/FirstBundle/Resources/views/Default/index.html.twig new file mode 100644 index 0000000..f9745a5 --- /dev/null +++ b/src/App/FirstBundle/Resources/views/Default/index.html.twig @@ -0,0 +1,2 @@ +{#Hello {{ name }}!#} +Hello {{ product }}! \ No newline at end of file diff --git a/src/App/FirstBundle/Resources/views/Default/tim.html.twig b/src/App/FirstBundle/Resources/views/Default/tim.html.twig new file mode 100644 index 0000000..db6005d --- /dev/null +++ b/src/App/FirstBundle/Resources/views/Default/tim.html.twig @@ -0,0 +1,15 @@ + + + + + Base MVC Application - Football Tim + + +

    +

    + {{ checkb }} + {#Hello {{ name }}!#} + {{ lc }} +

    + + diff --git a/src/App/FirstBundle/Resources/views/Default/tims.html.twig b/src/App/FirstBundle/Resources/views/Default/tims.html.twig new file mode 100644 index 0000000..1506c65 --- /dev/null +++ b/src/App/FirstBundle/Resources/views/Default/tims.html.twig @@ -0,0 +1,15 @@ + + + + + Base MVC Application - Football Tim + + +

    Tims

    +

    + Tims Champoin + and new Champoin + +

    + + diff --git a/src/App/FirstBundle/Tests/Controller/DefaultControllerTest.php b/src/App/FirstBundle/Tests/Controller/DefaultControllerTest.php new file mode 100644 index 0000000..9ca006c --- /dev/null +++ b/src/App/FirstBundle/Tests/Controller/DefaultControllerTest.php @@ -0,0 +1,17 @@ +request('GET', '/hello/Fabien'); + + $this->assertTrue($crawler->filter('html:contains("Hello Fabien")')->count() > 0); + } +} diff --git a/src/App/FirstBundle/Tests/Controller/TimControllerTest.php b/src/App/FirstBundle/Tests/Controller/TimControllerTest.php new file mode 100644 index 0000000..cc0366d --- /dev/null +++ b/src/App/FirstBundle/Tests/Controller/TimControllerTest.php @@ -0,0 +1,28 @@ +request('GET', '/tims/barsa'); +// $crawlerr = $client->request('GET', '/tims/real'); + + + $this->assertTrue + ($crawlerb->filter('html:contains("trainer Luis Enrique stadium in Camp Nou captain Xavier ")')->count() > 0); +// $this->assertTrue +// ($crawlerr->filter('html:contains(" trainer Carlo Ancelotti stadium in Santiago Bernabeu captain Casillas Chempion ")')->count() > 0); + } + +} \ No newline at end of file diff --git a/src/Iphpsand/PhotoBundle/Admin/PhotoAdmin.php b/src/Iphpsand/PhotoBundle/Admin/PhotoAdmin.php new file mode 100644 index 0000000..7bbb083 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Admin/PhotoAdmin.php @@ -0,0 +1,27 @@ +addIdentifier('title')->add ('date'); + } + + protected function configureFormFields(FormMapper $formMapper) + { + return $formMapper->add('title')->add ('date')->add('photo', 'iphp_file'); + } +} + diff --git a/src/Iphpsand/PhotoBundle/Controller/DefaultController.php b/src/Iphpsand/PhotoBundle/Controller/DefaultController.php new file mode 100644 index 0000000..26e5c28 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Controller/DefaultController.php @@ -0,0 +1,13 @@ +render('IphpsandPhotoBundle:Default:index.html.twig', array('name' => $name)); + } +} diff --git a/src/Iphpsand/PhotoBundle/Controller/PhotoController.php b/src/Iphpsand/PhotoBundle/Controller/PhotoController.php new file mode 100644 index 0000000..69fc9c1 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Controller/PhotoController.php @@ -0,0 +1,47 @@ +getDoctrine()->getManager(); + + $photo = new Photo(); + $uploadForm = $this->createFormBuilder($photo) + ->add('title') + ->add('date','date') + + //Using standart field type + ->add ('photo','file') + ->getForm(); + + + if ($request->isMethod('POST')) { + $uploadForm->bind($request); + + if ($uploadForm->isValid()) { + $em->persist($photo); + $em->flush(); + return $this->redirect($this->generateUrl('iphpsand_photo')); + } + } + + return $this->render('IphpsandPhotoBundle:Default:index.html.twig', array( + 'uploadForm' => $uploadForm->createView(), + 'photos' => $em->getRepository ('IphpsandPhotoBundle:Photo')->findAll() + )); + } +} + diff --git a/src/Iphpsand/PhotoBundle/DependencyInjection/Configuration.php b/src/Iphpsand/PhotoBundle/DependencyInjection/Configuration.php new file mode 100644 index 0000000..f34cce9 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/DependencyInjection/Configuration.php @@ -0,0 +1,29 @@ +root('iphpsand_photo'); + + // 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/Iphpsand/PhotoBundle/DependencyInjection/IphpsandPhotoExtension.php b/src/Iphpsand/PhotoBundle/DependencyInjection/IphpsandPhotoExtension.php new file mode 100644 index 0000000..1edd6fa --- /dev/null +++ b/src/Iphpsand/PhotoBundle/DependencyInjection/IphpsandPhotoExtension.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/Iphpsand/PhotoBundle/Entity/Photo.php b/src/Iphpsand/PhotoBundle/Entity/Photo.php new file mode 100644 index 0000000..d3c0f81 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Entity/Photo.php @@ -0,0 +1,100 @@ +id; + } + + /** + * @param string $title + * @return Photo + */ + public function setTitle($title) + { + $this->title = $title; + return $this; + } + + /** + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * @param array $photo + * @return Photo + */ + public function setPhoto($photo) + { + $this->photo = $photo; + return $this; + } + + /** + * @return array + */ + public function getPhoto() + { + return $this->photo; + } + + /** + * @param \Datetime $date + */ + public function setDate($date) + { + $this->date = $date; + return $this; + } + + /** + * @return \Datetime + */ + public function getDate() + { + return $this->date; + } +} \ No newline at end of file diff --git a/src/Iphpsand/PhotoBundle/HerokuEnvironment.php b/src/Iphpsand/PhotoBundle/HerokuEnvironment.php new file mode 100644 index 0000000..07ce491 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/HerokuEnvironment.php @@ -0,0 +1,32 @@ +getIO(); + $io->write('CLEARDB_DATABASE_URL=' . getenv('CLEARDB_DATABASE_URL')); + } +} \ No newline at end of file diff --git a/src/Iphpsand/PhotoBundle/IphpsandPhotoBundle.php b/src/Iphpsand/PhotoBundle/IphpsandPhotoBundle.php new file mode 100644 index 0000000..40deea6 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/IphpsandPhotoBundle.php @@ -0,0 +1,9 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Iphpsand/PhotoBundle/Resources/config/routing.yml b/src/Iphpsand/PhotoBundle/Resources/config/routing.yml new file mode 100644 index 0000000..a6f4c37 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Resources/config/routing.yml @@ -0,0 +1,6 @@ +iphpsand_photo_homepage: + path: /hello/{name} + defaults: { _controller: IphpsandPhotoBundle:Default:index } +iphpsand_photo: + pattern: / + defaults: { _controller: IphpsandPhotoBundle:Photo:index } diff --git a/src/Iphpsand/PhotoBundle/Resources/config/service.xml b/src/Iphpsand/PhotoBundle/Resources/config/service.xml new file mode 100644 index 0000000..593d9ba --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Resources/config/service.xml @@ -0,0 +1,14 @@ + + + + + + + + Iphpsandbox\PhotoBundle\Entity\Photo + SonataAdminBundle:CRUD + + + \ No newline at end of file diff --git a/src/Iphpsand/PhotoBundle/Resources/config/services.yml b/src/Iphpsand/PhotoBundle/Resources/config/services.yml new file mode 100644 index 0000000..067af9d --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Resources/config/services.yml @@ -0,0 +1,4 @@ +services: +# iphpsand_photo.example: +# class: Iphpsand\PhotoBundle\Example +# arguments: [@service_id, "plain_value", %parameter%] diff --git a/src/Iphpsand/PhotoBundle/Resources/doc/index.rst b/src/Iphpsand/PhotoBundle/Resources/doc/index.rst new file mode 100644 index 0000000..e69de29 diff --git a/src/Iphpsand/PhotoBundle/Resources/translations/messages.fr.xlf b/src/Iphpsand/PhotoBundle/Resources/translations/messages.fr.xlf new file mode 100644 index 0000000..fd59e6c --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Resources/translations/messages.fr.xlf @@ -0,0 +1,11 @@ + + + + + + Symfony2 is great + J'aime Symfony2 + + + + diff --git a/src/Iphpsand/PhotoBundle/Resources/views/Default/index.html.twig b/src/Iphpsand/PhotoBundle/Resources/views/Default/index.html.twig new file mode 100644 index 0000000..f60b702 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Resources/views/Default/index.html.twig @@ -0,0 +1,19 @@ +

    Фотографии

    + +

    Загруженные фотографии

    + +{% for photo in photos %} +
    +

    {{ photo.title }}

    +
    {{ photo.date | date ('Y.m.d') }}
    + 150 ? 'height="150"':''}}/> +
    +{% endfor%} + +

    Загрузить фото

    + +
    + + {{ form_widget(uploadForm) }} + +
    \ No newline at end of file diff --git a/src/Iphpsand/PhotoBundle/Tests/Controller/DefaultControllerTest.php b/src/Iphpsand/PhotoBundle/Tests/Controller/DefaultControllerTest.php new file mode 100644 index 0000000..5b064e4 --- /dev/null +++ b/src/Iphpsand/PhotoBundle/Tests/Controller/DefaultControllerTest.php @@ -0,0 +1,17 @@ +request('GET', '/hello/Fabien'); + + $this->assertTrue($crawler->filter('html:contains("Hello Fabien")')->count() > 0); + } +} diff --git a/web/.htaccess b/web/.htaccess old mode 100755 new mode 100644 index b52e3ae..57abd2c --- a/web/.htaccess +++ b/web/.htaccess @@ -11,7 +11,7 @@ DirectoryIndex app.php # 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 + # resolution of the app_dev.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. @@ -23,7 +23,7 @@ DirectoryIndex app.php RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect to URI without front controller to prevent duplicate content - # (with and without `/app.php`). Only do this redirect on the initial + # (with and without `/app_dev.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 -> ...). diff --git a/web/app_dev.php b/web/app_dev.php index e0279c2..0bca51b 100755 --- a/web/app_dev.php +++ b/web/app_dev.php @@ -9,13 +9,6 @@ // This check prevents access to debug front controllers that are deployed by accident to production servers. // Feel free to remove this, extend it, or make something more sophisticated. -if (isset($_SERVER['HTTP_CLIENT_IP']) - || isset($_SERVER['HTTP_X_FORWARDED_FOR']) - || !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server') -) { - header('HTTP/1.0 403 Forbidden'); - exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); -} $loader = require_once __DIR__.'/../app/bootstrap.php.cache'; Debug::enable(); diff --git a/web/photo/2009/01/x-14845a0e.jpg b/web/photo/2009/01/x-14845a0e.jpg new file mode 100644 index 0000000..0ad9db6 Binary files /dev/null and b/web/photo/2009/01/x-14845a0e.jpg differ diff --git a/web/photo/2009/01/x-14845a0e_1.jpg b/web/photo/2009/01/x-14845a0e_1.jpg new file mode 100644 index 0000000..0ad9db6 Binary files /dev/null and b/web/photo/2009/01/x-14845a0e_1.jpg differ diff --git a/web/photo/2010/01/lets-hug.jpg b/web/photo/2010/01/lets-hug.jpg new file mode 100644 index 0000000..c08c9bd Binary files /dev/null and b/web/photo/2010/01/lets-hug.jpg differ diff --git a/web/photo/2010/01/proavtora.jpg b/web/photo/2010/01/proavtora.jpg new file mode 100644 index 0000000..f2ec392 Binary files /dev/null and b/web/photo/2010/01/proavtora.jpg differ diff --git a/web/photo/2010/01/proavtora_1.jpg b/web/photo/2010/01/proavtora_1.jpg new file mode 100644 index 0000000..f2ec392 Binary files /dev/null and b/web/photo/2010/01/proavtora_1.jpg differ