Browse Source

goback to version stable 2.1.7 and install bundles and bundles dependencies

Sevajol Bastien 12 years ago
parent
commit
05bd6e081a
100 changed files with 3468 additions and 462 deletions
  1. 1 0
      app/AppKernel.php
  2. 6 8
      app/bootstrap.php.cache
  3. 7 2
      composer.json
  4. 370 44
      composer.lock
  5. 1 1
      vendor/autoload.php
  6. 1 1
      vendor/cedriclombardot/admingenerator-generator-bundle/Admingenerator/GeneratorBundle
  7. 6 0
      vendor/composer/autoload_namespaces.php
  8. 3 3
      vendor/composer/autoload_real.php
  9. 729 396
      vendor/composer/installed.json
  10. 1 1
      vendor/knplabs/knp-menu
  11. 1 1
      vendor/knplabs/knp-menu-bundle/Knp/Bundle/MenuBundle
  12. 1 1
      vendor/kriswallsmith/assetic
  13. 1 0
      vendor/shtumi/useful-bundle/Shtumi/UsefulBundle
  14. 1 0
      vendor/sonata-project/admin-bundle/Sonata/AdminBundle
  15. 1 0
      vendor/sonata-project/block-bundle/Sonata/BlockBundle
  16. 1 0
      vendor/sonata-project/doctrine-orm-admin-bundle/Sonata/DoctrineORMAdminBundle
  17. 1 0
      vendor/sonata-project/exporter/.gitignore
  18. 7 0
      vendor/sonata-project/exporter/.travis.yml
  19. 32 0
      vendor/sonata-project/exporter/README.md
  20. 31 0
      vendor/sonata-project/exporter/composer.json
  21. 16 0
      vendor/sonata-project/exporter/lib/Exporter/Exception/InvalidDataFormatException.php
  22. 16 0
      vendor/sonata-project/exporter/lib/Exporter/Exception/InvalidMethodCallException.php
  23. 59 0
      vendor/sonata-project/exporter/lib/Exporter/Handler.php
  24. 25 0
      vendor/sonata-project/exporter/lib/Exporter/Source/ArraySourceIterator.php
  25. 91 0
      vendor/sonata-project/exporter/lib/Exporter/Source/ChainSourceIterator.php
  26. 94 0
      vendor/sonata-project/exporter/lib/Exporter/Source/DoctrineDBALConnectionSourceIterator.php
  27. 123 0
      vendor/sonata-project/exporter/lib/Exporter/Source/DoctrineODMQuerySourceIterator.php
  28. 124 0
      vendor/sonata-project/exporter/lib/Exporter/Source/DoctrineORMQuerySourceIterator.php
  29. 76 0
      vendor/sonata-project/exporter/lib/Exporter/Source/IteratorSourceIterator.php
  30. 81 0
      vendor/sonata-project/exporter/lib/Exporter/Source/PDOStatementSourceIterator.php
  31. 17 0
      vendor/sonata-project/exporter/lib/Exporter/Source/SourceIteratorInterface.php
  32. 86 0
      vendor/sonata-project/exporter/lib/Exporter/Source/SymfonySitemapSourceIterator.php
  33. 103 0
      vendor/sonata-project/exporter/lib/Exporter/Writer/CsvWriter.php
  34. 51 0
      vendor/sonata-project/exporter/lib/Exporter/Writer/InMemoryWriter.php
  35. 64 0
      vendor/sonata-project/exporter/lib/Exporter/Writer/JsonWriter.php
  36. 367 0
      vendor/sonata-project/exporter/lib/Exporter/Writer/SitemapWriter.php
  37. 32 0
      vendor/sonata-project/exporter/lib/Exporter/Writer/WriterInterface.php
  38. 97 0
      vendor/sonata-project/exporter/lib/Exporter/Writer/XlsWriter.php
  39. 96 0
      vendor/sonata-project/exporter/lib/Exporter/Writer/XmlWriter.php
  40. 15 0
      vendor/sonata-project/exporter/phpunit.xml.dist
  41. 20 0
      vendor/sonata-project/exporter/test/Exporter/Test/HandlerTest.php
  42. 26 0
      vendor/sonata-project/exporter/test/Exporter/Test/Source/ArraySourceIteratorTest.php
  43. 20 0
      vendor/sonata-project/exporter/test/Exporter/Test/Source/ChainSourceIteratorTest.php
  44. 76 0
      vendor/sonata-project/exporter/test/Exporter/Test/Source/IteratorSourceIteratorTest.php
  45. 53 0
      vendor/sonata-project/exporter/test/Exporter/Test/Source/PDOStatementSourceIteratorTest.php
  46. 77 0
      vendor/sonata-project/exporter/test/Exporter/Test/Writer/CsvWriterTest.php
  47. 47 0
      vendor/sonata-project/exporter/test/Exporter/Test/Writer/JsonWriterTest.php
  48. 185 0
      vendor/sonata-project/exporter/test/Exporter/Test/Writer/SitemapWriterTest.php
  49. 50 0
      vendor/sonata-project/exporter/test/Exporter/Test/Writer/XlsWriterTest.php
  50. 65 0
      vendor/sonata-project/exporter/test/Exporter/Test/Writer/XmlWriterTest.php
  51. 12 0
      vendor/sonata-project/exporter/test/bootstrap.php
  52. 1 0
      vendor/sonata-project/jquery-bundle/Sonata/jQueryBundle
  53. 1 1
      vendor/stof/doctrine-extensions-bundle/Stof/DoctrineExtensionsBundle
  54. 0 0
      vendor/symfony/symfony/.editorconfig
  55. 0 0
      vendor/symfony/symfony/.gitignore
  56. 0 0
      vendor/symfony/symfony/.travis.yml
  57. 0 0
      vendor/symfony/symfony/CHANGELOG-2.0.md
  58. 0 0
      vendor/symfony/symfony/CHANGELOG-2.1.md
  59. 0 0
      vendor/symfony/symfony/CONTRIBUTING.md
  60. 0 0
      vendor/symfony/symfony/CONTRIBUTORS.md
  61. 0 3
      vendor/symfony/symfony/README.md
  62. 0 0
      vendor/symfony/symfony/UPGRADE-2.1.md
  63. 0 0
      vendor/symfony/symfony/autoload.php.dist
  64. 0 0
      vendor/symfony/symfony/composer.json
  65. 0 0
      vendor/symfony/symfony/phpunit.xml.dist
  66. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/CHANGELOG.md
  67. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/CacheWarmer/ProxyCacheWarmer.php
  68. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php
  69. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
  70. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php
  71. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php
  72. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/DoctrineValidationPass.php
  73. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php
  74. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DependencyInjection/Security/UserProvider/EntityFactory.php
  75. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/ChoiceList/EntityChoiceList.php
  76. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/ChoiceList/EntityLoaderInterface.php
  77. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php
  78. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php
  79. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmExtension.php
  80. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php
  81. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/EventListener/MergeDoctrineCollectionListener.php
  82. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php
  83. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php
  84. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/HttpFoundation/DbalSessionHandler.php
  85. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/HttpFoundation/DbalSessionHandlerSchema.php
  86. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
  87. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/ManagerRegistry.php
  88. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/README.md
  89. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/RegistryInterface.php
  90. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php
  91. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php
  92. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorTest.php
  93. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/DataFixtures/ContainerAwareLoaderTest.php
  94. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPassTest.php
  95. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/DoctrineOrmTestCase.php
  96. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity.php
  97. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeIdentEntity.php
  98. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeStringIdentEntity.php
  99. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/ContainerAwareFixture.php
  100. 0 0
      vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleIdentEntity.php

+ 1 - 0
app/AppKernel.php View File

31
             new Admingenerator\GeneratorBundle\AdmingeneratorGeneratorBundle(),
31
             new Admingenerator\GeneratorBundle\AdmingeneratorGeneratorBundle(),
32
             new Knp\Bundle\MenuBundle\KnpMenuBundle(),
32
             new Knp\Bundle\MenuBundle\KnpMenuBundle(),
33
             new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
33
             new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
34
+            new Shtumi\UsefulBundle\ShtumiUsefulBundle(),
34
             
35
             
35
             new Muzich\CoreBundle\MuzichCoreBundle(),
36
             new Muzich\CoreBundle\MuzichCoreBundle(),
36
             new Muzich\UserBundle\MuzichUserBundle(),
37
             new Muzich\UserBundle\MuzichUserBundle(),

+ 6 - 8
app/bootstrap.php.cache View File

265
             unset($this->scopedServices[$name]);
265
             unset($this->scopedServices[$name]);
266
 
266
 
267
             foreach ($this->scopeChildren[$name] as $child) {
267
             foreach ($this->scopeChildren[$name] as $child) {
268
-                if (isset($this->scopedServices[$child])) {
269
-                    $services[$child] = $this->scopedServices[$child];
270
-                    unset($this->scopedServices[$child]);
271
-                }
268
+                $services[$child] = $this->scopedServices[$child];
269
+                unset($this->scopedServices[$child]);
272
             }
270
             }
273
 
271
 
274
                         $this->services = call_user_func_array('array_diff_key', $services);
272
                         $this->services = call_user_func_array('array_diff_key', $services);
511
     protected $classes;
509
     protected $classes;
512
     protected $errorReportingLevel;
510
     protected $errorReportingLevel;
513
 
511
 
514
-    const VERSION         = '2.1.8-DEV';
515
-    const VERSION_ID      = '20108';
512
+    const VERSION         = '2.1.7';
513
+    const VERSION_ID      = '20107';
516
     const MAJOR_VERSION   = '2';
514
     const MAJOR_VERSION   = '2';
517
     const MINOR_VERSION   = '1';
515
     const MINOR_VERSION   = '1';
518
-    const RELEASE_VERSION = '8';
519
-    const EXTRA_VERSION   = 'DEV';
516
+    const RELEASE_VERSION = '7';
517
+    const EXTRA_VERSION   = '';
520
 
518
 
521
     
519
     
522
     public function __construct($environment, $debug)
520
     public function __construct($environment, $debug)

+ 7 - 2
composer.json View File

1
 {
1
 {
2
-    "minimum-stability": "dev",
2
+    "minimum-stability": "stable",
3
     "name": "symfony/framework-standard-edition",
3
     "name": "symfony/framework-standard-edition",
4
     "description": "The \"Symfony Standard Edition\" distribution",
4
     "description": "The \"Symfony Standard Edition\" distribution",
5
     "autoload": {
5
     "autoload": {
26
         "doctrine/doctrine-fixtures-bundle": "dev-master",
26
         "doctrine/doctrine-fixtures-bundle": "dev-master",
27
         "stof/doctrine-extensions-bundle": "dev-master",
27
         "stof/doctrine-extensions-bundle": "dev-master",
28
         "gregwar/image-bundle": "dev-master",
28
         "gregwar/image-bundle": "dev-master",
29
-        "cedriclombardot/admingenerator-generator-bundle": "dev-master"
29
+        "cedriclombardot/admingenerator-generator-bundle": "dev-master",
30
+        "shtumi/useful-bundle": "dev-master",
31
+        "sonata-project/doctrine-orm-admin-bundle": "dev-master",
32
+        "sonata-project/admin-bundle": "dev-master",
33
+        "sonata-project/jquery-bundle": "dev-master",
34
+        "sonata-project/block-bundle": "dev-master"
30
     },
35
     },
31
     "scripts": {
36
     "scripts": {
32
         "post-install-cmd": [
37
         "post-install-cmd": [

+ 370 - 44
composer.lock View File

1
 {
1
 {
2
-    "hash": "cfa67943fb19431c371d189811089b42",
2
+    "hash": "6d2b2527313408838da7e547a6a5bb91",
3
     "packages": [
3
     "packages": [
4
         {
4
         {
5
             "name": "cedriclombardot/admingenerator-generator-bundle",
5
             "name": "cedriclombardot/admingenerator-generator-bundle",
8
             "source": {
8
             "source": {
9
                 "type": "git",
9
                 "type": "git",
10
                 "url": "https://github.com/symfony2admingenerator/AdmingeneratorGeneratorBundle.git",
10
                 "url": "https://github.com/symfony2admingenerator/AdmingeneratorGeneratorBundle.git",
11
-                "reference": "d50c391562cae6560e8d8003d3bd3a855d467490"
11
+                "reference": "bc8c823b758c834c953cdfc50f023e82cebe2321"
12
             },
12
             },
13
             "dist": {
13
             "dist": {
14
                 "type": "zip",
14
                 "type": "zip",
15
-                "url": "https://api.github.com/repos/symfony2admingenerator/AdmingeneratorGeneratorBundle/zipball/d50c391562cae6560e8d8003d3bd3a855d467490",
16
-                "reference": "d50c391562cae6560e8d8003d3bd3a855d467490",
15
+                "url": "https://api.github.com/repos/symfony2admingenerator/AdmingeneratorGeneratorBundle/zipball/bc8c823b758c834c953cdfc50f023e82cebe2321",
16
+                "reference": "bc8c823b758c834c953cdfc50f023e82cebe2321",
17
                 "shasum": ""
17
                 "shasum": ""
18
             },
18
             },
19
             "require": {
19
             "require": {
32
             "suggest": {
32
             "suggest": {
33
                 "cedriclombardot/admingenerator-user-bundle": "Help you to overwrite the base layout of FOSUserBundle or others giving a parameter key of the container"
33
                 "cedriclombardot/admingenerator-user-bundle": "Help you to overwrite the base layout of FOSUserBundle or others giving a parameter key of the container"
34
             },
34
             },
35
-            "time": "2013-02-17 18:17:44",
35
+            "time": "2013-02-22 20:40:09",
36
             "type": "symfony-bundle",
36
             "type": "symfony-bundle",
37
             "extra": {
37
             "extra": {
38
                 "branch-alias": {
38
                 "branch-alias": {
987
         },
987
         },
988
         {
988
         {
989
             "name": "knplabs/knp-menu",
989
             "name": "knplabs/knp-menu",
990
-            "version": "dev-master",
990
+            "version": "v1.1.2",
991
             "source": {
991
             "source": {
992
                 "type": "git",
992
                 "type": "git",
993
-                "url": "https://github.com/KnpLabs/KnpMenu.git",
994
-                "reference": "730bc37232f5f813822acf80edfbd89381ea5971"
993
+                "url": "http://github.com/KnpLabs/KnpMenu.git",
994
+                "reference": "v1.1.2"
995
             },
995
             },
996
             "dist": {
996
             "dist": {
997
                 "type": "zip",
997
                 "type": "zip",
998
-                "url": "https://api.github.com/repos/KnpLabs/KnpMenu/zipball/730bc37232f5f813822acf80edfbd89381ea5971",
999
-                "reference": "730bc37232f5f813822acf80edfbd89381ea5971",
998
+                "url": "https://github.com/KnpLabs/KnpMenu/zipball/v1.1.2",
999
+                "reference": "v1.1.2",
1000
                 "shasum": ""
1000
                 "shasum": ""
1001
             },
1001
             },
1002
             "require": {
1002
             "require": {
1003
                 "php": ">=5.3.0"
1003
                 "php": ">=5.3.0"
1004
             },
1004
             },
1005
             "require-dev": {
1005
             "require-dev": {
1006
-                "pimple/pimple": "1.0.*",
1006
+                "pimple/pimple": "*",
1007
                 "silex/silex": "1.0.*",
1007
                 "silex/silex": "1.0.*",
1008
                 "twig/twig": ">=1.2,<2.0-dev"
1008
                 "twig/twig": ">=1.2,<2.0-dev"
1009
             },
1009
             },
1012
                 "silex/silex": "for the integration with your silex application",
1012
                 "silex/silex": "for the integration with your silex application",
1013
                 "twig/twig": "for the TwigRenderer and the integration with your templates"
1013
                 "twig/twig": "for the TwigRenderer and the integration with your templates"
1014
             },
1014
             },
1015
-            "time": "2012-12-27 13:04:16",
1015
+            "time": "2012-06-10 09:20:40",
1016
             "type": "library",
1016
             "type": "library",
1017
             "extra": {
1017
             "extra": {
1018
                 "branch-alias": {
1018
                 "branch-alias": {
1019
-                    "dev-master": "2.0.x-dev"
1019
+                    "dev-master": "1.1.x-dev"
1020
                 }
1020
                 }
1021
             },
1021
             },
1022
             "autoload": {
1022
             "autoload": {
1051
         },
1051
         },
1052
         {
1052
         {
1053
             "name": "knplabs/knp-menu-bundle",
1053
             "name": "knplabs/knp-menu-bundle",
1054
-            "version": "dev-master",
1054
+            "version": "v1.1.0",
1055
             "target-dir": "Knp/Bundle/MenuBundle",
1055
             "target-dir": "Knp/Bundle/MenuBundle",
1056
             "source": {
1056
             "source": {
1057
                 "type": "git",
1057
                 "type": "git",
1058
-                "url": "https://github.com/KnpLabs/KnpMenuBundle.git",
1059
-                "reference": "bfaa9f1a74ee590c5e6460a3139b268fce1f1885"
1058
+                "url": "http://github.com/KnpLabs/KnpMenuBundle.git",
1059
+                "reference": "v1.1.0"
1060
             },
1060
             },
1061
             "dist": {
1061
             "dist": {
1062
                 "type": "zip",
1062
                 "type": "zip",
1063
-                "url": "https://api.github.com/repos/KnpLabs/KnpMenuBundle/zipball/bfaa9f1a74ee590c5e6460a3139b268fce1f1885",
1064
-                "reference": "bfaa9f1a74ee590c5e6460a3139b268fce1f1885",
1063
+                "url": "https://github.com/KnpLabs/KnpMenuBundle/zipball/v1.1.0",
1064
+                "reference": "v1.1.0",
1065
                 "shasum": ""
1065
                 "shasum": ""
1066
             },
1066
             },
1067
             "require": {
1067
             "require": {
1068
-                "knplabs/knp-menu": "2.0.*",
1069
-                "symfony/framework-bundle": ">=2.0,<2.3-dev"
1068
+                "knplabs/knp-menu": "1.1.*",
1069
+                "symfony/framework-bundle": ">=2.0,<2.2-dev"
1070
             },
1070
             },
1071
-            "time": "2012-12-29 08:47:58",
1071
+            "time": "2012-05-17 04:56:49",
1072
             "type": "symfony-bundle",
1072
             "type": "symfony-bundle",
1073
-            "extra": {
1074
-                "branch-alias": {
1075
-                    "dev-master": "2.0.x-dev"
1076
-                }
1077
-            },
1078
             "autoload": {
1073
             "autoload": {
1079
                 "psr-0": {
1074
                 "psr-0": {
1080
                     "Knp\\Bundle\\MenuBundle": ""
1075
                     "Knp\\Bundle\\MenuBundle": ""
1090
                     "email": "stof@notk.org"
1085
                     "email": "stof@notk.org"
1091
                 },
1086
                 },
1092
                 {
1087
                 {
1093
-                    "name": "Knplabs",
1088
+                    "name": "KnpLabs",
1094
                     "homepage": "http://knplabs.com"
1089
                     "homepage": "http://knplabs.com"
1095
                 },
1090
                 },
1096
                 {
1091
                 {
1108
             "version": "dev-master",
1103
             "version": "dev-master",
1109
             "source": {
1104
             "source": {
1110
                 "type": "git",
1105
                 "type": "git",
1111
-                "url": "http://github.com/kriswallsmith/assetic.git",
1112
-                "reference": "504c9e8a6357583c20c9d9967ec2febea3157324"
1106
+                "url": "https://github.com/kriswallsmith/assetic.git",
1107
+                "reference": "v1.1.0-alpha3"
1113
             },
1108
             },
1114
             "dist": {
1109
             "dist": {
1115
                 "type": "zip",
1110
                 "type": "zip",
1116
-                "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/504c9e8a6357583c20c9d9967ec2febea3157324",
1117
-                "reference": "504c9e8a6357583c20c9d9967ec2febea3157324",
1111
+                "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/v1.1.0-alpha3",
1112
+                "reference": "v1.1.0-alpha3",
1118
                 "shasum": ""
1113
                 "shasum": ""
1119
             },
1114
             },
1120
             "require": {
1115
             "require": {
1140
                 "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris",
1135
                 "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris",
1141
                 "twig/twig": "Assetic provides the integration with the Twig templating engine"
1136
                 "twig/twig": "Assetic provides the integration with the Twig templating engine"
1142
             },
1137
             },
1143
-            "time": "2013-02-11 18:18:06",
1138
+            "time": "2013-02-18 16:17:57",
1144
             "type": "library",
1139
             "type": "library",
1145
             "extra": {
1140
             "extra": {
1146
                 "branch-alias": {
1141
                 "branch-alias": {
1423
             "description": "This bundle generates code for you"
1418
             "description": "This bundle generates code for you"
1424
         },
1419
         },
1425
         {
1420
         {
1421
+            "name": "shtumi/useful-bundle",
1422
+            "version": "dev-master",
1423
+            "target-dir": "Shtumi/UsefulBundle",
1424
+            "source": {
1425
+                "type": "git",
1426
+                "url": "https://github.com/shtumi/ShtumiUsefulBundle.git",
1427
+                "reference": "8f3c99e5dfbcf8e5500779510d0ec2ebea3a2474"
1428
+            },
1429
+            "dist": {
1430
+                "type": "zip",
1431
+                "url": "https://api.github.com/repos/shtumi/ShtumiUsefulBundle/zipball/8f3c99e5dfbcf8e5500779510d0ec2ebea3a2474",
1432
+                "reference": "8f3c99e5dfbcf8e5500779510d0ec2ebea3a2474",
1433
+                "shasum": ""
1434
+            },
1435
+            "require": {
1436
+                "php": ">=5.3.2",
1437
+                "symfony/framework-bundle": ">=2.1.0,<2.1.x-dev"
1438
+            },
1439
+            "suggest": {
1440
+                "sonata-project/admin-bundle": "master-dev",
1441
+                "sonata-project/doctrine-orm-admin-bundle": "master-dev"
1442
+            },
1443
+            "time": "2013-02-06 08:13:55",
1444
+            "type": "symfony-bundle",
1445
+            "autoload": {
1446
+                "psr-0": {
1447
+                    "Shtumi\\UsefulBundle": ""
1448
+                }
1449
+            },
1450
+            "notification-url": "https://packagist.org/downloads/",
1451
+            "license": [
1452
+                "MIT"
1453
+            ],
1454
+            "authors": [
1455
+                {
1456
+                    "name": "Mikhail Shtukin",
1457
+                    "email": "shtumi@tut.by"
1458
+                }
1459
+            ],
1460
+            "description": "Symfony ShtumiUsefulBundle",
1461
+            "keywords": [
1462
+                "Ajax Autocomplete form type",
1463
+                "Dependent filtered form type",
1464
+                "daterange",
1465
+                "shtumi"
1466
+            ]
1467
+        },
1468
+        {
1469
+            "name": "sonata-project/admin-bundle",
1470
+            "version": "dev-master",
1471
+            "target-dir": "Sonata/AdminBundle",
1472
+            "source": {
1473
+                "type": "git",
1474
+                "url": "https://github.com/sonata-project/SonataAdminBundle.git",
1475
+                "reference": "785475567dad895f5ee7434570de0de3c06ea1b6"
1476
+            },
1477
+            "dist": {
1478
+                "type": "zip",
1479
+                "url": "https://api.github.com/repos/sonata-project/SonataAdminBundle/zipball/785475567dad895f5ee7434570de0de3c06ea1b6",
1480
+                "reference": "785475567dad895f5ee7434570de0de3c06ea1b6",
1481
+                "shasum": ""
1482
+            },
1483
+            "require": {
1484
+                "doctrine/common": ">=2.2,<3.0",
1485
+                "knplabs/knp-menu-bundle": ">=1.1.0,<2.0.x-dev",
1486
+                "sonata-project/block-bundle": "dev-master",
1487
+                "sonata-project/exporter": "1.1.*",
1488
+                "sonata-project/jquery-bundle": "dev-master",
1489
+                "symfony/config": ">=2.1,<2.3-dev",
1490
+                "symfony/console": ">=2.1,<2.3-dev",
1491
+                "symfony/form": ">=2.1,<2.3-dev",
1492
+                "symfony/http-foundation": ">=2.1,<2.3-dev",
1493
+                "symfony/routing": ">=2.1,<2.3-dev",
1494
+                "symfony/security-bundle": ">=2.1,<2.3-dev",
1495
+                "symfony/twig-bridge": ">=2.1,<2.3-dev",
1496
+                "symfony/validator": ">=2.1,<2.3-dev",
1497
+                "twig/twig": ">=1.10,<2.0-dev"
1498
+            },
1499
+            "require-dev": {
1500
+                "jms/translation-bundle": "*"
1501
+            },
1502
+            "suggest": {
1503
+                "sonata-project/doctrine-orm-admin-bundle": "dev-master",
1504
+                "sonata-project/intl-bundle": "dev-master"
1505
+            },
1506
+            "time": "2013-02-22 18:37:53",
1507
+            "type": "symfony-bundle",
1508
+            "autoload": {
1509
+                "psr-0": {
1510
+                    "Sonata\\AdminBundle": ""
1511
+                }
1512
+            },
1513
+            "notification-url": "https://packagist.org/downloads/",
1514
+            "license": [
1515
+                "MIT"
1516
+            ],
1517
+            "authors": [
1518
+                {
1519
+                    "name": "Thomas Rabaix",
1520
+                    "email": "thomas.rabaix@sonata-project.org",
1521
+                    "homepage": "http://sonata-project.org"
1522
+                },
1523
+                {
1524
+                    "name": "Sonata Community",
1525
+                    "homepage": "https://github.com/sonata-project/SonataAdminBundle/contributors"
1526
+                }
1527
+            ],
1528
+            "description": "Symfony SonataAdminBundle",
1529
+            "homepage": "http://sonata-project.org/bundles/admin",
1530
+            "keywords": [
1531
+                "Admin Generator",
1532
+                "admin",
1533
+                "bootstrap",
1534
+                "sonata"
1535
+            ]
1536
+        },
1537
+        {
1538
+            "name": "sonata-project/block-bundle",
1539
+            "version": "dev-master",
1540
+            "target-dir": "Sonata/BlockBundle",
1541
+            "source": {
1542
+                "type": "git",
1543
+                "url": "https://github.com/sonata-project/SonataBlockBundle.git",
1544
+                "reference": "23c04147b54ab93432a1ae2a044eca2edbdf27a5"
1545
+            },
1546
+            "dist": {
1547
+                "type": "zip",
1548
+                "url": "https://api.github.com/repos/sonata-project/SonataBlockBundle/zipball/23c04147b54ab93432a1ae2a044eca2edbdf27a5",
1549
+                "reference": "23c04147b54ab93432a1ae2a044eca2edbdf27a5",
1550
+                "shasum": ""
1551
+            },
1552
+            "require": {
1553
+                "symfony/form": ">=2.1,<2.3-dev",
1554
+                "symfony/http-foundation": ">=2.1,<2.3-dev"
1555
+            },
1556
+            "require-dev": {
1557
+                "sonata-project/admin-bundle": "dev-master",
1558
+                "sonata-project/cache-bundle": "dev-master"
1559
+            },
1560
+            "suggest": {
1561
+                "sonata-project/admin-bundle": "dev-master",
1562
+                "sonata-project/cache-bundle": "dev-master"
1563
+            },
1564
+            "time": "2013-02-16 14:05:06",
1565
+            "type": "symfony-bundle",
1566
+            "autoload": {
1567
+                "psr-0": {
1568
+                    "Sonata\\BlockBundle": ""
1569
+                }
1570
+            },
1571
+            "notification-url": "https://packagist.org/downloads/",
1572
+            "license": [
1573
+                "MIT"
1574
+            ],
1575
+            "authors": [
1576
+                {
1577
+                    "name": "Thomas Rabaix",
1578
+                    "email": "thomas.rabaix@sonata-project.org",
1579
+                    "homepage": "http://sonata-project.org"
1580
+                },
1581
+                {
1582
+                    "name": "Sonata Community",
1583
+                    "homepage": "https://github.com/sonata-project/SonataBlockBundle/contributors"
1584
+                }
1585
+            ],
1586
+            "description": "Symfony SonataBlockBundle",
1587
+            "homepage": "http://sonata-project.org/bundles/block",
1588
+            "keywords": [
1589
+                "block",
1590
+                "sonata"
1591
+            ]
1592
+        },
1593
+        {
1594
+            "name": "sonata-project/doctrine-orm-admin-bundle",
1595
+            "version": "dev-master",
1596
+            "target-dir": "Sonata/DoctrineORMAdminBundle",
1597
+            "source": {
1598
+                "type": "git",
1599
+                "url": "https://github.com/sonata-project/SonataDoctrineORMAdminBundle.git",
1600
+                "reference": "344ac471d779d198a858e0c6783990516eef0fe7"
1601
+            },
1602
+            "dist": {
1603
+                "type": "zip",
1604
+                "url": "https://api.github.com/repos/sonata-project/SonataDoctrineORMAdminBundle/zipball/344ac471d779d198a858e0c6783990516eef0fe7",
1605
+                "reference": "344ac471d779d198a858e0c6783990516eef0fe7",
1606
+                "shasum": ""
1607
+            },
1608
+            "require": {
1609
+                "doctrine/orm": ">=2.2,<2.4-dev",
1610
+                "sonata-project/admin-bundle": "dev-master",
1611
+                "symfony/symfony": ">=2.1,<2.3-dev"
1612
+            },
1613
+            "time": "2013-02-22 18:34:33",
1614
+            "type": "symfony-bundle",
1615
+            "autoload": {
1616
+                "psr-0": {
1617
+                    "Sonata\\DoctrineORMAdminBundle": ""
1618
+                }
1619
+            },
1620
+            "notification-url": "https://packagist.org/downloads/",
1621
+            "license": [
1622
+                "MIT"
1623
+            ],
1624
+            "authors": [
1625
+                {
1626
+                    "name": "Thomas Rabaix",
1627
+                    "email": "thomas.rabaix@sonata-project.org",
1628
+                    "homepage": "http://sonata-project.org"
1629
+                },
1630
+                {
1631
+                    "name": "Sonata Community",
1632
+                    "homepage": "https://github.com/sonata-project/SonataDoctrineORMAdminBundle/contributors"
1633
+                }
1634
+            ],
1635
+            "description": "Symfony Sonata / Integrate Doctrine ORM into the SonataAdminBundle",
1636
+            "homepage": "http://sonata-project.org/bundles/admin",
1637
+            "keywords": [
1638
+                "Admin Generator",
1639
+                "admin",
1640
+                "bootstrap",
1641
+                "generator",
1642
+                "sonata"
1643
+            ]
1644
+        },
1645
+        {
1646
+            "name": "sonata-project/exporter",
1647
+            "version": "1.1.0",
1648
+            "source": {
1649
+                "type": "git",
1650
+                "url": "https://github.com/sonata-project/exporter",
1651
+                "reference": "1.1.0"
1652
+            },
1653
+            "dist": {
1654
+                "type": "zip",
1655
+                "url": "https://api.github.com/repos/sonata-project/exporter/zipball/1.1.0",
1656
+                "reference": "1.1.0",
1657
+                "shasum": ""
1658
+            },
1659
+            "require": {
1660
+                "php": ">=5.3.0"
1661
+            },
1662
+            "require-dev": {
1663
+                "php": ">=5.3.0",
1664
+                "symfony/routing": "*"
1665
+            },
1666
+            "suggest": {
1667
+                "ext-curl": "*",
1668
+                "symfony/routing": "*"
1669
+            },
1670
+            "time": "2013-02-09 15:12:27",
1671
+            "type": "library",
1672
+            "autoload": {
1673
+                "psr-0": {
1674
+                    "Exporter": "lib/"
1675
+                }
1676
+            },
1677
+            "notification-url": "https://packagist.org/downloads/",
1678
+            "license": [
1679
+                "MIT"
1680
+            ],
1681
+            "authors": [
1682
+                {
1683
+                    "name": "Thomas Rabaix",
1684
+                    "email": "thomas.rabaix@gmail.com",
1685
+                    "homepage": "http://sonata-project.org/"
1686
+                }
1687
+            ],
1688
+            "description": "Lightweight Exporter library",
1689
+            "homepage": "https://github.com/sonata-project/Exporter",
1690
+            "keywords": [
1691
+                "client",
1692
+                "csv",
1693
+                "data",
1694
+                "export",
1695
+                "xls"
1696
+            ]
1697
+        },
1698
+        {
1699
+            "name": "sonata-project/jquery-bundle",
1700
+            "version": "dev-master",
1701
+            "target-dir": "Sonata/jQueryBundle",
1702
+            "source": {
1703
+                "type": "git",
1704
+                "url": "https://github.com/sonata-project/SonatajQueryBundle.git",
1705
+                "reference": "5f87a761302e6c78304e071416f75d41eb1fb3c2"
1706
+            },
1707
+            "dist": {
1708
+                "type": "zip",
1709
+                "url": "https://api.github.com/repos/sonata-project/SonatajQueryBundle/zipball/5f87a761302e6c78304e071416f75d41eb1fb3c2",
1710
+                "reference": "5f87a761302e6c78304e071416f75d41eb1fb3c2",
1711
+                "shasum": ""
1712
+            },
1713
+            "require": {
1714
+                "php": ">=5.3.2",
1715
+                "symfony/framework-bundle": "2.*"
1716
+            },
1717
+            "time": "2012-08-29 23:34:42",
1718
+            "type": "symfony-bundle",
1719
+            "autoload": {
1720
+                "psr-0": {
1721
+                    "Sonata\\jQueryBundle": ""
1722
+                }
1723
+            },
1724
+            "notification-url": "https://packagist.org/downloads/",
1725
+            "license": [
1726
+                "MIT"
1727
+            ],
1728
+            "authors": [
1729
+                {
1730
+                    "name": "Thomas Rabaix",
1731
+                    "email": "thomas.rabaix@sonata-project.org",
1732
+                    "homepage": "http://sonata-project.org"
1733
+                },
1734
+                {
1735
+                    "name": "Sonata Community",
1736
+                    "homepage": "https://github.com/sonata-project/SonatajQueryBundle/contributors"
1737
+                }
1738
+            ],
1739
+            "description": "Symfony SonatajQueryBundle",
1740
+            "homepage": "http://sonata-project.org/bundles/jquery",
1741
+            "keywords": [
1742
+                "jquery",
1743
+                "sonata"
1744
+            ]
1745
+        },
1746
+        {
1426
             "name": "stof/doctrine-extensions-bundle",
1747
             "name": "stof/doctrine-extensions-bundle",
1427
             "version": "dev-master",
1748
             "version": "dev-master",
1428
             "target-dir": "Stof/DoctrineExtensionsBundle",
1749
             "target-dir": "Stof/DoctrineExtensionsBundle",
1429
             "source": {
1750
             "source": {
1430
                 "type": "git",
1751
                 "type": "git",
1431
                 "url": "https://github.com/stof/StofDoctrineExtensionsBundle.git",
1752
                 "url": "https://github.com/stof/StofDoctrineExtensionsBundle.git",
1432
-                "reference": "4a17550d8b101c5aafc56c9950149aa189b8402d"
1753
+                "reference": "ba84426a47e555fdf346fc9f8434c2a25b3cee9d"
1433
             },
1754
             },
1434
             "dist": {
1755
             "dist": {
1435
                 "type": "zip",
1756
                 "type": "zip",
1436
-                "url": "https://api.github.com/repos/stof/StofDoctrineExtensionsBundle/zipball/4a17550d8b101c5aafc56c9950149aa189b8402d",
1437
-                "reference": "4a17550d8b101c5aafc56c9950149aa189b8402d",
1757
+                "url": "https://api.github.com/repos/stof/StofDoctrineExtensionsBundle/zipball/ba84426a47e555fdf346fc9f8434c2a25b3cee9d",
1758
+                "reference": "ba84426a47e555fdf346fc9f8434c2a25b3cee9d",
1438
                 "shasum": ""
1759
                 "shasum": ""
1439
             },
1760
             },
1440
             "require": {
1761
             "require": {
1446
                 "doctrine/doctrine-bundle": "*",
1767
                 "doctrine/doctrine-bundle": "*",
1447
                 "doctrine/mongodb-odm-bundle": "2.1.*"
1768
                 "doctrine/mongodb-odm-bundle": "2.1.*"
1448
             },
1769
             },
1449
-            "time": "2012-12-13 17:58:07",
1770
+            "time": "2013-02-19 23:30:04",
1450
             "type": "symfony-bundle",
1771
             "type": "symfony-bundle",
1451
             "extra": {
1772
             "extra": {
1452
                 "branch-alias": {
1773
                 "branch-alias": {
1712
         },
2033
         },
1713
         {
2034
         {
1714
             "name": "symfony/symfony",
2035
             "name": "symfony/symfony",
1715
-            "version": "2.1.x-dev",
2036
+            "version": "v2.1.7",
1716
             "source": {
2037
             "source": {
1717
                 "type": "git",
2038
                 "type": "git",
1718
-                "url": "https://github.com/symfony/symfony.git",
1719
-                "reference": "75c61944a3e43b9efb5a195fd79416ff43ca09e7"
2039
+                "url": "git://github.com/symfony/symfony.git",
2040
+                "reference": "v2.1.7"
1720
             },
2041
             },
1721
             "dist": {
2042
             "dist": {
1722
                 "type": "zip",
2043
                 "type": "zip",
1723
-                "url": "https://api.github.com/repos/symfony/symfony/zipball/75c61944a3e43b9efb5a195fd79416ff43ca09e7",
1724
-                "reference": "75c61944a3e43b9efb5a195fd79416ff43ca09e7",
2044
+                "url": "https://github.com/symfony/symfony/archive/v2.1.7.zip",
2045
+                "reference": "v2.1.7",
1725
                 "shasum": ""
2046
                 "shasum": ""
1726
             },
2047
             },
1727
             "require": {
2048
             "require": {
1770
                 "monolog/monolog": ">=1.0,<1.3-dev",
2091
                 "monolog/monolog": ">=1.0,<1.3-dev",
1771
                 "propel/propel1": "dev-master"
2092
                 "propel/propel1": "dev-master"
1772
             },
2093
             },
1773
-            "time": "2013-02-17 12:59:26",
2094
+            "time": "2013-01-17 21:21:51",
1774
             "type": "library",
2095
             "type": "library",
1775
             "autoload": {
2096
             "autoload": {
1776
                 "psr-0": {
2097
                 "psr-0": {
1942
     "aliases": [
2263
     "aliases": [
1943
 
2264
 
1944
     ],
2265
     ],
1945
-    "minimum-stability": "dev",
2266
+    "minimum-stability": "stable",
1946
     "stability-flags": {
2267
     "stability-flags": {
1947
         "twig/extensions": 20,
2268
         "twig/extensions": 20,
1948
         "kriswallsmith/assetic": 20,
2269
         "kriswallsmith/assetic": 20,
1950
         "doctrine/doctrine-fixtures-bundle": 20,
2271
         "doctrine/doctrine-fixtures-bundle": 20,
1951
         "stof/doctrine-extensions-bundle": 20,
2272
         "stof/doctrine-extensions-bundle": 20,
1952
         "gregwar/image-bundle": 20,
2273
         "gregwar/image-bundle": 20,
1953
-        "cedriclombardot/admingenerator-generator-bundle": 20
2274
+        "cedriclombardot/admingenerator-generator-bundle": 20,
2275
+        "shtumi/useful-bundle": 20,
2276
+        "sonata-project/doctrine-orm-admin-bundle": 20,
2277
+        "sonata-project/admin-bundle": 20,
2278
+        "sonata-project/jquery-bundle": 20,
2279
+        "sonata-project/block-bundle": 20
1954
     }
2280
     }
1955
 }
2281
 }

+ 1 - 1
vendor/autoload.php View File

4
 
4
 
5
 require_once __DIR__ . '/composer' . '/autoload_real.php';
5
 require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
6
 
7
-return ComposerAutoloaderInit518f1eb7577bcf5e84791f76034137cd::getLoader();
7
+return ComposerAutoloaderInit6c3b313faf78baf847838c5239806fa1::getLoader();

+ 1 - 1
vendor/cedriclombardot/admingenerator-generator-bundle/Admingenerator/GeneratorBundle

1
-Subproject commit d3c6d81a4ef44d77b4f51ee7d3ba1d3d3a8b50b7
1
+Subproject commit bc8c823b758c834c953cdfc50f023e82cebe2321

+ 6 - 0
vendor/composer/autoload_namespaces.php View File

15
     'Symfony\\Bundle\\AsseticBundle' => $vendorDir . '/symfony/assetic-bundle/',
15
     'Symfony\\Bundle\\AsseticBundle' => $vendorDir . '/symfony/assetic-bundle/',
16
     'Symfony' => $vendorDir . '/symfony/symfony/src/',
16
     'Symfony' => $vendorDir . '/symfony/symfony/src/',
17
     'Stof\\DoctrineExtensionsBundle' => $vendorDir . '/stof/doctrine-extensions-bundle/',
17
     'Stof\\DoctrineExtensionsBundle' => $vendorDir . '/stof/doctrine-extensions-bundle/',
18
+    'Sonata\\jQueryBundle' => $vendorDir . '/sonata-project/jquery-bundle/',
19
+    'Sonata\\DoctrineORMAdminBundle' => $vendorDir . '/sonata-project/doctrine-orm-admin-bundle/',
20
+    'Sonata\\BlockBundle' => $vendorDir . '/sonata-project/block-bundle/',
21
+    'Sonata\\AdminBundle' => $vendorDir . '/sonata-project/admin-bundle/',
22
+    'Shtumi\\UsefulBundle' => $vendorDir . '/shtumi/useful-bundle/',
18
     'SessionHandlerInterface' => $vendorDir . '/symfony/symfony/src/Symfony/Component/HttpFoundation/Resources/stubs',
23
     'SessionHandlerInterface' => $vendorDir . '/symfony/symfony/src/Symfony/Component/HttpFoundation/Resources/stubs',
19
     'Sensio\\Bundle\\GeneratorBundle' => $vendorDir . '/sensio/generator-bundle/',
24
     'Sensio\\Bundle\\GeneratorBundle' => $vendorDir . '/sensio/generator-bundle/',
20
     'Sensio\\Bundle\\FrameworkExtraBundle' => $vendorDir . '/sensio/framework-extra-bundle/',
25
     'Sensio\\Bundle\\FrameworkExtraBundle' => $vendorDir . '/sensio/framework-extra-bundle/',
30
     'Gregwar\\ImageBundle' => $vendorDir . '/gregwar/image-bundle/',
35
     'Gregwar\\ImageBundle' => $vendorDir . '/gregwar/image-bundle/',
31
     'Gedmo' => $vendorDir . '/gedmo/doctrine-extensions/lib/',
36
     'Gedmo' => $vendorDir . '/gedmo/doctrine-extensions/lib/',
32
     'FOS\\UserBundle' => $vendorDir . '/friendsofsymfony/user-bundle/',
37
     'FOS\\UserBundle' => $vendorDir . '/friendsofsymfony/user-bundle/',
38
+    'Exporter' => $vendorDir . '/sonata-project/exporter/lib/',
33
     'Doctrine\\ORM' => $vendorDir . '/doctrine/orm/lib/',
39
     'Doctrine\\ORM' => $vendorDir . '/doctrine/orm/lib/',
34
     'Doctrine\\DBAL' => $vendorDir . '/doctrine/dbal/lib/',
40
     'Doctrine\\DBAL' => $vendorDir . '/doctrine/dbal/lib/',
35
     'Doctrine\\Common\\DataFixtures' => $vendorDir . '/doctrine/data-fixtures/lib/',
41
     'Doctrine\\Common\\DataFixtures' => $vendorDir . '/doctrine/data-fixtures/lib/',

+ 3 - 3
vendor/composer/autoload_real.php View File

2
 
2
 
3
 // autoload_real.php generated by Composer
3
 // autoload_real.php generated by Composer
4
 
4
 
5
-class ComposerAutoloaderInit518f1eb7577bcf5e84791f76034137cd
5
+class ComposerAutoloaderInit6c3b313faf78baf847838c5239806fa1
6
 {
6
 {
7
     private static $loader;
7
     private static $loader;
8
 
8
 
19
             return self::$loader;
19
             return self::$loader;
20
         }
20
         }
21
 
21
 
22
-        spl_autoload_register(array('ComposerAutoloaderInit518f1eb7577bcf5e84791f76034137cd', 'loadClassLoader'));
22
+        spl_autoload_register(array('ComposerAutoloaderInit6c3b313faf78baf847838c5239806fa1', 'loadClassLoader'));
23
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
23
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
-        spl_autoload_unregister(array('ComposerAutoloaderInit518f1eb7577bcf5e84791f76034137cd', 'loadClassLoader'));
24
+        spl_autoload_unregister(array('ComposerAutoloaderInit6c3b313faf78baf847838c5239806fa1', 'loadClassLoader'));
25
 
25
 
26
         $vendorDir = dirname(__DIR__);
26
         $vendorDir = dirname(__DIR__);
27
         $baseDir = dirname($vendorDir);
27
         $baseDir = dirname($vendorDir);

File diff suppressed because it is too large
+ 729 - 396
vendor/composer/installed.json


+ 1 - 1
vendor/knplabs/knp-menu

1
-Subproject commit a93c82d6be653d7a5bb861a0c8a53a2f58695d71
1
+Subproject commit f8e867268f63f561c1adadd6cbb5d8524f921873

+ 1 - 1
vendor/knplabs/knp-menu-bundle/Knp/Bundle/MenuBundle

1
-Subproject commit 5cadbc8958eb3e15aff6e2bec21bcbeec37d7409
1
+Subproject commit f77e97924164b5500a15a209243e4c71fe466306

+ 1 - 1
vendor/kriswallsmith/assetic

1
-Subproject commit 3e49bc05c747d70f6e6e118061608dab13a0e132
1
+Subproject commit 6f580dd1cf03d6d80a3885921ca068b774224161

+ 1 - 0
vendor/shtumi/useful-bundle/Shtumi/UsefulBundle

1
+Subproject commit 8f3c99e5dfbcf8e5500779510d0ec2ebea3a2474

+ 1 - 0
vendor/sonata-project/admin-bundle/Sonata/AdminBundle

1
+Subproject commit 785475567dad895f5ee7434570de0de3c06ea1b6

+ 1 - 0
vendor/sonata-project/block-bundle/Sonata/BlockBundle

1
+Subproject commit 23c04147b54ab93432a1ae2a044eca2edbdf27a5

+ 1 - 0
vendor/sonata-project/doctrine-orm-admin-bundle/Sonata/DoctrineORMAdminBundle

1
+Subproject commit 344ac471d779d198a858e0c6783990516eef0fe7

+ 1 - 0
vendor/sonata-project/exporter/.gitignore View File

1
+phpunit.xml

+ 7 - 0
vendor/sonata-project/exporter/.travis.yml View File

1
+language: php
2
+
3
+php:
4
+  - 5.3
5
+  - 5.4
6
+
7
+script: phpunit --coverage-text

+ 32 - 0
vendor/sonata-project/exporter/README.md View File

1
+Data Exporter
2
+=============
3
+
4
+[![Build Status](https://secure.travis-ci.org/sonata-project/exporter.png)](https://secure.travis-ci.org/#!/sonata-project/exporter)
5
+
6
+
7
+Data Exporter is a lightweight library to export data into different formats.
8
+
9
+
10
+```php
11
+
12
+<?php
13
+// Prepare the data source
14
+$dbh = new \PDO('sqlite:foo.db');
15
+$stm = $dbh->prepare('SELECT id, username, email FROM user');
16
+$stm->execute();
17
+
18
+$source = new PDOStatementSource($stm);
19
+
20
+// Prepare the writer
21
+$writer = new CsvWriter('data.csv');
22
+
23
+// Export the data
24
+Handler::create($source, $writer)->export();
25
+
26
+```
27
+
28
+
29
+**Google Groups**: For questions and proposals you can post on this google groups
30
+
31
+* [Sonata Users](https://groups.google.com/group/sonata-users): Only for user questions
32
+* [Sonata Devs](https://groups.google.com/group/sonata-devs): Only for devs

+ 31 - 0
vendor/sonata-project/exporter/composer.json View File

1
+{
2
+    "name": "sonata-project/exporter",
3
+    "description": "Lightweight Exporter library",
4
+    "keywords": ["export", "csv", "xls", "data", "client"],
5
+    "homepage": "https://github.com/sonata-project/Exporter",
6
+    "type": "library",
7
+    "license": "MIT",
8
+    "authors": [
9
+        {
10
+            "name": "Thomas Rabaix",
11
+            "email": "thomas.rabaix@gmail.com",
12
+            "homepage": "http://sonata-project.org/"
13
+        }
14
+    ],
15
+    "require": {
16
+        "php": ">=5.3.0"
17
+    },
18
+    "require-dev": {
19
+        "php": ">=5.3.0",
20
+        "symfony/routing": "*"
21
+    },
22
+    "suggest": {
23
+        "ext-curl": "*",
24
+        "symfony/routing": "*"
25
+    },
26
+    "autoload": {
27
+        "psr-0": {
28
+            "Exporter": "lib/"
29
+        }
30
+    }
31
+}

+ 16 - 0
vendor/sonata-project/exporter/lib/Exporter/Exception/InvalidDataFormatException.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Exception;
13
+
14
+class InvalidDataFormatException extends \RuntimeException
15
+{
16
+}

+ 16 - 0
vendor/sonata-project/exporter/lib/Exporter/Exception/InvalidMethodCallException.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Exception;
13
+
14
+class InvalidMethodCallException extends \RuntimeException
15
+{
16
+}

+ 59 - 0
vendor/sonata-project/exporter/lib/Exporter/Handler.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter;
13
+
14
+use Exporter\Source\SourceIteratorInterface;
15
+use Exporter\Writer\WriterInterface;
16
+
17
+class Handler
18
+{
19
+    protected $source;
20
+
21
+    protected $writer;
22
+
23
+    /**
24
+     * @param Source\SourceIteratorInterface $source
25
+     * @param Writer\WriterInterface         $writer
26
+     */
27
+    public function __construct(SourceIteratorInterface $source, WriterInterface $writer)
28
+    {
29
+        $this->source = $source;
30
+        $this->writer = $writer;
31
+    }
32
+
33
+    /**
34
+     * @return void
35
+     */
36
+    public function export()
37
+    {
38
+        $this->writer->open();
39
+
40
+        foreach ($this->source as $data) {
41
+            $this->writer->write($data);
42
+        }
43
+
44
+        $this->writer->close();
45
+    }
46
+
47
+    /**
48
+     * @static
49
+     *
50
+     * @param Source\SourceIteratorInterface $source
51
+     * @param Writer\WriterInterface         $writer
52
+     *
53
+     * @return Handler
54
+     */
55
+    public static function create(SourceIteratorInterface $source, WriterInterface $writer)
56
+    {
57
+        return new self($source, $writer);
58
+    }
59
+}

+ 25 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/ArraySourceIterator.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Source;
13
+
14
+class ArraySourceIterator extends IteratorSourceIterator
15
+{
16
+    protected $iterator;
17
+
18
+    /**
19
+     * @param array $data
20
+     */
21
+    public function __construct(array $data)
22
+    {
23
+        parent::__construct(new \ArrayIterator($data));
24
+    }
25
+}

+ 91 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/ChainSourceIterator.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Source;
13
+
14
+use ArrayIterator;
15
+
16
+class ChainSourceIterator implements SourceIteratorInterface
17
+{
18
+    protected $sources;
19
+
20
+    /**
21
+     * @param array $sources
22
+     */
23
+    public function __construct(array $sources = array())
24
+    {
25
+        $this->sources = new ArrayIterator();
26
+
27
+        foreach ($sources as $source) {
28
+            $this->addSource($source);
29
+        }
30
+    }
31
+
32
+    /**
33
+     * @param SourceIteratorInterface $source
34
+     */
35
+    public function addSource(SourceIteratorInterface $source)
36
+    {
37
+        $this->sources->append($source);
38
+    }
39
+
40
+    /**
41
+     * {@inheritdoc}
42
+     */
43
+    public function current()
44
+    {
45
+        return $this->sources->current()->current();
46
+    }
47
+
48
+    /**
49
+     * {@inheritdoc}
50
+     */
51
+    public function next()
52
+    {
53
+        $this->sources->current()->next();
54
+    }
55
+
56
+    /**
57
+     * {@inheritdoc}
58
+     */
59
+    public function key()
60
+    {
61
+        return $this->sources->current()->key();
62
+    }
63
+
64
+    /**
65
+     * {@inheritdoc}
66
+     */
67
+    public function valid()
68
+    {
69
+        if (!$this->sources->current()->valid()) {
70
+            $this->sources->next();
71
+
72
+            if (!$this->sources->valid()) {
73
+                return false;
74
+            }
75
+
76
+            $this->sources->current()->rewind();
77
+        }
78
+
79
+        return true;
80
+    }
81
+
82
+    /**
83
+     * {@inheritdoc}
84
+     */
85
+    public function rewind()
86
+    {
87
+        if ($this->sources->current()) {
88
+            $this->sources->current()->rewind();
89
+        }
90
+    }
91
+}

+ 94 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/DoctrineDBALConnectionSourceIterator.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Source;
13
+
14
+use Exporter\Exception\InvalidMethodCallException;
15
+use Doctrine\DBAL\Driver\Connection;
16
+use Doctrine\DBAL\Driver\Statement;
17
+
18
+class DoctrineDBALConnectionSourceIterator implements SourceIteratorInterface
19
+{
20
+    protected $connection;
21
+
22
+    protected $query;
23
+
24
+    protected $parameters;
25
+
26
+    protected $current;
27
+
28
+    protected $position;
29
+
30
+    /**
31
+     * @var Statement
32
+     */
33
+    protected $statement;
34
+
35
+    /**
36
+     * @param Connection $statement
37
+     */
38
+    public function __construct(Connection $connection, $query, array $parameters = array())
39
+    {
40
+        $this->connection = $connection;
41
+        $this->query      = $query;
42
+        $this->parameters = $parameters;
43
+
44
+        $this->position   = 0;
45
+    }
46
+
47
+    /**
48
+     * {@inheritdoc}
49
+     */
50
+    public function current()
51
+    {
52
+        return $this->current;
53
+    }
54
+
55
+    /**
56
+     * {@inheritdoc}
57
+     */
58
+    public function next()
59
+    {
60
+        $this->current = $this->statement->fetch(\PDO::FETCH_ASSOC);
61
+        $this->position++;
62
+    }
63
+
64
+    /**
65
+     * {@inheritdoc}
66
+     */
67
+    public function key()
68
+    {
69
+        return $this->position;
70
+    }
71
+
72
+    /**
73
+     * {@inheritdoc}
74
+     */
75
+    public function valid()
76
+    {
77
+        return is_array($this->current);
78
+    }
79
+
80
+    /**
81
+     * {@inheritdoc}
82
+     */
83
+    public function rewind()
84
+    {
85
+        if ($this->statement) {
86
+            throw new InvalidMethodCallException('Cannot rewind a PDOStatement');
87
+        }
88
+
89
+        $this->statement = $this->connection->prepare($this->query);
90
+        $this->statement->execute($this->parameters);
91
+
92
+        $this->next();
93
+    }
94
+}

+ 123 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/DoctrineODMQuerySourceIterator.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Source;
13
+
14
+use Exporter\Exception\InvalidMethodCallException;
15
+use Doctrine\ODM\MongoDB\Query\Query;
16
+use Exporter\Source\SourceIteratorInterface;
17
+use Symfony\Component\Form\Util\PropertyPath;
18
+
19
+class DoctrineODMQuerySourceIterator implements SourceIteratorInterface
20
+{
21
+    /**
22
+     * @var \Doctrine\ORM\Query
23
+     */
24
+    protected $query;
25
+
26
+    /**
27
+     * @var \Doctrine\ORM\Internal\Hydration\IterableResult
28
+     */
29
+    protected $iterator;
30
+
31
+    protected $propertyPaths;
32
+
33
+    /**
34
+     * @param \Doctrine\ODM\MongoDB\Query\Query $query  The Doctrine Query
35
+     * @param array               $fields Fields to export
36
+     */
37
+    public function __construct(Query $query, array $fields)
38
+    {
39
+        $this->query = clone $query;
40
+
41
+        $this->propertyPaths = array();
42
+        foreach ($fields as $name => $field) {
43
+            if (is_string($name) && is_string($field)) {
44
+                $this->propertyPaths[$name] = new PropertyPath($field);
45
+            } else {
46
+                $this->propertyPaths[$field] = new PropertyPath($field);
47
+            }
48
+        }
49
+    }
50
+
51
+    /**
52
+     * {@inheritdoc}
53
+     */
54
+    public function current()
55
+    {
56
+        $current = $this->iterator->current();
57
+
58
+        $data = array();
59
+
60
+        foreach ($this->propertyPaths as $name => $propertyPath) {
61
+            $data[$name] = $this->getValue($propertyPath->getValue($current));
62
+        }
63
+
64
+        $this->query->getDocumentManager()->getUnitOfWork()->detach($current);
65
+
66
+        return $data;
67
+    }
68
+
69
+    /**
70
+     * @param $value
71
+     *
72
+     * @return null|string
73
+     */
74
+    protected function getValue($value)
75
+    {
76
+        if (is_array($value) or $value instanceof \Traversable) {
77
+            $value = null;
78
+        } elseif ($value instanceof \DateTime) {
79
+            $value = $value->format('r');
80
+        } elseif (is_object($value)) {
81
+            $value = (string) $value;
82
+        }
83
+
84
+        return $value;
85
+    }
86
+
87
+    /**
88
+     * {@inheritdoc}
89
+     */
90
+    public function next()
91
+    {
92
+        $this->iterator->next();
93
+    }
94
+
95
+    /**
96
+     * {@inheritdoc}
97
+     */
98
+    public function key()
99
+    {
100
+        return $this->iterator->key();
101
+    }
102
+
103
+    /**
104
+     * {@inheritdoc}
105
+     */
106
+    public function valid()
107
+    {
108
+        return $this->iterator->valid();
109
+    }
110
+
111
+    /**
112
+     * {@inheritdoc}
113
+     */
114
+    public function rewind()
115
+    {
116
+        if ($this->iterator) {
117
+            throw new InvalidMethodCallException('Cannot rewind a Doctrine\ODM\Query');
118
+        }
119
+
120
+        $this->iterator = $this->query->iterate();
121
+        $this->iterator->rewind();
122
+    }
123
+}

+ 124 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/DoctrineORMQuerySourceIterator.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Source;
13
+
14
+use Exporter\Exception\InvalidMethodCallException;
15
+use Doctrine\ORM\Query;
16
+use Exporter\Source\SourceIteratorInterface;
17
+use Symfony\Component\Form\Util\PropertyPath;
18
+
19
+class DoctrineORMQuerySourceIterator implements SourceIteratorInterface
20
+{
21
+    /**
22
+     * @var \Doctrine\ORM\Query
23
+     */
24
+    protected $query;
25
+
26
+    /**
27
+     * @var \Doctrine\ORM\Internal\Hydration\IterableResult
28
+     */
29
+    protected $iterator;
30
+
31
+    protected $propertyPaths;
32
+
33
+    /**
34
+     * @param \Doctrine\ORM\Query $query  The Doctrine Query
35
+     * @param array               $fields Fields to export
36
+     */
37
+    public function __construct(Query $query, array $fields)
38
+    {
39
+        $this->query = clone $query;
40
+        $this->query->setParameters($query->getParameters());
41
+
42
+        $this->propertyPaths = array();
43
+        foreach ($fields as $name => $field) {
44
+            if (is_string($name) && is_string($field)) {
45
+                $this->propertyPaths[$name] = new PropertyPath($field);
46
+            } else {
47
+                $this->propertyPaths[$field] = new PropertyPath($field);
48
+            }
49
+        }
50
+    }
51
+
52
+    /**
53
+     * {@inheritdoc}
54
+     */
55
+    public function current()
56
+    {
57
+        $current = $this->iterator->current();
58
+
59
+        $data = array();
60
+
61
+        foreach ($this->propertyPaths as $name => $propertyPath) {
62
+            $data[$name] = $this->getValue($propertyPath->getValue($current[0]));
63
+        }
64
+
65
+        $this->query->getEntityManager()->getUnitOfWork()->detach($current[0]);
66
+
67
+        return $data;
68
+    }
69
+
70
+    /**
71
+     * @param $value
72
+     *
73
+     * @return null|string
74
+     */
75
+    protected function getValue($value)
76
+    {
77
+        if (is_array($value) or $value instanceof \Traversable) {
78
+            $value = null;
79
+        } elseif ($value instanceof \DateTime) {
80
+            $value = $value->format('r');
81
+        } elseif (is_object($value)) {
82
+            $value = (string) $value;
83
+        }
84
+
85
+        return $value;
86
+    }
87
+
88
+    /**
89
+     * {@inheritdoc}
90
+     */
91
+    public function next()
92
+    {
93
+        $this->iterator->next();
94
+    }
95
+
96
+    /**
97
+     * {@inheritdoc}
98
+     */
99
+    public function key()
100
+    {
101
+        return $this->iterator->key();
102
+    }
103
+
104
+    /**
105
+     * {@inheritdoc}
106
+     */
107
+    public function valid()
108
+    {
109
+        return $this->iterator->valid();
110
+    }
111
+
112
+    /**
113
+     * {@inheritdoc}
114
+     */
115
+    public function rewind()
116
+    {
117
+        if ($this->iterator) {
118
+            throw new InvalidMethodCallException('Cannot rewind a Doctrine\ORM\Query');
119
+        }
120
+
121
+        $this->iterator = $this->query->iterate();
122
+        $this->iterator->rewind();
123
+    }
124
+}

+ 76 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/IteratorSourceIterator.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Source;
13
+
14
+/**
15
+ * SourceIterator implementation based on Iterator
16
+ */
17
+class IteratorSourceIterator implements SourceIteratorInterface
18
+{
19
+    protected $iterator;
20
+
21
+    /**
22
+     * @param \Iterator $iterator Iterator with string array elements
23
+     */
24
+    public function __construct(\Iterator $iterator)
25
+    {
26
+        $this->iterator = $iterator;
27
+    }
28
+
29
+    /**
30
+     * @return \Iterator
31
+     */
32
+    public function getIterator()
33
+    {
34
+        return $this->iterator;
35
+    }
36
+
37
+    /**
38
+     * {@inheritdoc}
39
+     */
40
+    public function current()
41
+    {
42
+        return $this->iterator->current();
43
+    }
44
+
45
+    /**
46
+     * {@inheritdoc}
47
+     */
48
+    public function next()
49
+    {
50
+        $this->iterator->next();
51
+    }
52
+
53
+    /**
54
+     * {@inheritdoc}
55
+     */
56
+    public function key()
57
+    {
58
+        return $this->iterator->key();
59
+    }
60
+
61
+    /**
62
+     * {@inheritdoc}
63
+     */
64
+    public function valid()
65
+    {
66
+        return $this->iterator->valid();
67
+    }
68
+
69
+    /**
70
+     * {@inheritdoc}
71
+     */
72
+    public function rewind()
73
+    {
74
+        $this->iterator->rewind();
75
+    }
76
+}

+ 81 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/PDOStatementSourceIterator.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Source;
13
+
14
+use Exporter\Exception\InvalidMethodCallException;
15
+
16
+class PDOStatementSourceIterator implements SourceIteratorInterface
17
+{
18
+    protected $statement;
19
+
20
+    protected $current;
21
+
22
+    protected $position;
23
+
24
+    protected $rewinded;
25
+
26
+    /**
27
+     * @param \PDOStatement $statement
28
+     */
29
+    public function __construct(\PDOStatement $statement)
30
+    {
31
+        $this->statement = $statement;
32
+        $this->position  = 0;
33
+        $this->rewinded  = false;
34
+    }
35
+
36
+    /**
37
+     * {@inheritdoc}
38
+     */
39
+    public function current()
40
+    {
41
+        return $this->current;
42
+    }
43
+
44
+    /**
45
+     * {@inheritdoc}
46
+     */
47
+    public function next()
48
+    {
49
+        $this->current = $this->statement->fetch(\PDO::FETCH_ASSOC);
50
+        $this->position++;
51
+    }
52
+
53
+    /**
54
+     * {@inheritdoc}
55
+     */
56
+    public function key()
57
+    {
58
+        return $this->position;
59
+    }
60
+
61
+    /**
62
+     * {@inheritdoc}
63
+     */
64
+    public function valid()
65
+    {
66
+        return is_array($this->current);
67
+    }
68
+
69
+    /**
70
+     * {@inheritdoc}
71
+     */
72
+    public function rewind()
73
+    {
74
+        if ($this->rewinded) {
75
+            throw new InvalidMethodCallException('Cannot rewind a PDOStatement');
76
+        }
77
+
78
+        $this->current  = $this->statement->fetch(\PDO::FETCH_ASSOC);
79
+        $this->rewinded = true;
80
+    }
81
+}

+ 17 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/SourceIteratorInterface.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Source;
13
+
14
+interface SourceIteratorInterface extends \Iterator
15
+{
16
+
17
+}

+ 86 - 0
vendor/sonata-project/exporter/lib/Exporter/Source/SymfonySitemapSourceIterator.php View File

1
+<?php
2
+/*
3
+ * This file is part of the Sonata project.
4
+ *
5
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
6
+ *
7
+ * For the full copyright and license information, please view the LICENSE
8
+ * file that was distributed with this source code.
9
+ */
10
+
11
+namespace Exporter\Source;
12
+
13
+use Symfony\Component\Routing\RouterInterface;
14
+
15
+class SymfonySitemapSourceIterator implements SourceIteratorInterface
16
+{
17
+    protected $router;
18
+
19
+    protected $source;
20
+
21
+    protected $routeName;
22
+
23
+    protected $parameters;
24
+
25
+    /**
26
+     * @param SourceIteratorInterface $source
27
+     * @param RouterInterface         $router
28
+     * @param string                  $routeName
29
+     * @param array                   $parameters
30
+     */
31
+    public function __construct(SourceIteratorInterface $source, RouterInterface $router, $routeName, array $parameters = array())
32
+    {
33
+        $this->source = $source;
34
+        $this->router = $router;
35
+        $this->routeName = $routeName;
36
+        $this->parameters = $parameters;
37
+    }
38
+
39
+    /**
40
+     * {@inheritdoc}
41
+     */
42
+    public function current()
43
+    {
44
+        $data = $this->source->current();
45
+
46
+        $parameters = array_merge($this->parameters, array_intersect_key($data, $this->parameters));
47
+
48
+        if (!isset($data['url'])) {
49
+            $data['url'] = $this->router->generate($this->routeName, $parameters, true);
50
+        }
51
+
52
+        return $data;
53
+    }
54
+
55
+    /**
56
+     * {@inheritdoc}
57
+     */
58
+    public function next()
59
+    {
60
+        $this->source->next();
61
+    }
62
+
63
+    /**
64
+     * {@inheritdoc}
65
+     */
66
+    public function key()
67
+    {
68
+        return $this->source->key();
69
+    }
70
+
71
+    /**
72
+     * {@inheritdoc}
73
+     */
74
+    public function valid()
75
+    {
76
+        return $this->source->valid();
77
+    }
78
+
79
+    /**
80
+     * {@inheritdoc}
81
+     */
82
+    public function rewind()
83
+    {
84
+        $this->source->rewind();
85
+    }
86
+}

+ 103 - 0
vendor/sonata-project/exporter/lib/Exporter/Writer/CsvWriter.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Writer;
13
+
14
+use Exporter\Exception\InvalidDataFormatException;
15
+
16
+class CsvWriter implements WriterInterface
17
+{
18
+    protected $filename;
19
+
20
+    protected $delimiter;
21
+
22
+    protected $enclosure;
23
+
24
+    protected $escape;
25
+
26
+    protected $file;
27
+
28
+    protected $showHeaders;
29
+
30
+    protected $position;
31
+
32
+    /**
33
+     * @param string $filename
34
+     * @param string $delimiter
35
+     * @param string $enclosure
36
+     * @param string $escape
37
+     * @param bool   $showHeaders
38
+     */
39
+    public function __construct($filename, $delimiter = ",", $enclosure = "\"", $escape = "\\", $showHeaders = true)
40
+    {
41
+        $this->filename    = $filename;
42
+        $this->delimiter   = $delimiter;
43
+        $this->enclosure   = $enclosure;
44
+        $this->escape      = $escape;
45
+        $this->showHeaders = $showHeaders;
46
+        $this->position    = 0;
47
+
48
+        if (is_file($filename)) {
49
+            throw new \RuntimeException(sprintf('The file %s already exist', $filename));
50
+        }
51
+    }
52
+
53
+    /**
54
+     * {@inheritdoc}
55
+     */
56
+    public function open()
57
+    {
58
+        $this->file = fopen($this->filename, 'w', false);
59
+    }
60
+
61
+    /**
62
+     * {@inheritdoc}
63
+     */
64
+    public function close()
65
+    {
66
+        fclose($this->file);
67
+    }
68
+
69
+    /**
70
+     * {@inheritdoc}
71
+     */
72
+    public function write(array $data)
73
+    {
74
+        if ($this->position == 0 && $this->showHeaders) {
75
+            $this->addHeaders($data);
76
+
77
+            $this->position++;
78
+        }
79
+
80
+        $result = @fputcsv($this->file, $data, $this->delimiter, $this->enclosure);
81
+
82
+        if (!$result) {
83
+            throw new InvalidDataFormatException();
84
+        }
85
+
86
+        $this->position++;
87
+    }
88
+
89
+    /**
90
+     * @param array $data
91
+     *
92
+     * @return void
93
+     */
94
+    protected function addHeaders(array $data)
95
+    {
96
+        $headers = array();
97
+        foreach ($data as $header => $value) {
98
+            $headers[] = $header;
99
+        }
100
+
101
+        fputcsv($this->file, $headers, $this->delimiter, $this->enclosure);
102
+    }
103
+}

+ 51 - 0
vendor/sonata-project/exporter/lib/Exporter/Writer/InMemoryWriter.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Writer;
13
+
14
+use Exporter\Exception\InvalidDataFormatException;
15
+
16
+class InMemoryWriter implements WriterInterface
17
+{
18
+    protected $elements;
19
+
20
+    /**
21
+     * {@inheritdoc}
22
+     */
23
+    public function open()
24
+    {
25
+        $this->elements = array();
26
+    }
27
+
28
+    /**
29
+     * {@inheritdoc}
30
+     */
31
+    public function close()
32
+    {
33
+        return $this->elements;
34
+    }
35
+
36
+    /**
37
+     * {@inheritdoc}
38
+     */
39
+    public function write(array $data)
40
+    {
41
+        $this->elements[] = $data;
42
+    }
43
+
44
+    /**
45
+     * @return array
46
+     */
47
+    public function getElements()
48
+    {
49
+        return $this->elements;
50
+    }
51
+}

+ 64 - 0
vendor/sonata-project/exporter/lib/Exporter/Writer/JsonWriter.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Writer;
13
+
14
+class JsonWriter implements WriterInterface
15
+{
16
+    protected $filename;
17
+
18
+    protected $file;
19
+
20
+    protected $position;
21
+
22
+    /**
23
+     * @param string $filename
24
+     */
25
+    public function __construct($filename)
26
+    {
27
+        $this->filename = $filename;
28
+        $this->position = 0;
29
+
30
+        if (is_file($filename)) {
31
+            throw new \RuntimeException(sprintf('The file %s already exist', $filename));
32
+        }
33
+    }
34
+
35
+    /**
36
+     * {@inheritdoc}
37
+     */
38
+    public function open()
39
+    {
40
+        $this->file = fopen($this->filename, 'w', false);
41
+
42
+        fwrite($this->file, '[');
43
+    }
44
+
45
+    /**
46
+     * {@inheritdoc}
47
+     */
48
+    public function close()
49
+    {
50
+        fwrite($this->file, ']');
51
+
52
+        fclose($this->file);
53
+    }
54
+
55
+    /**
56
+     * {@inheritdoc}
57
+     */
58
+    public function write(array $data)
59
+    {
60
+        fwrite($this->file, ($this->position > 0 ? ',' : '') . json_encode($data));
61
+
62
+        $this->position++;
63
+    }
64
+}

+ 367 - 0
vendor/sonata-project/exporter/lib/Exporter/Writer/SitemapWriter.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Writer;
13
+
14
+/**
15
+ * Generates a sitemap site from
16
+ */
17
+class SitemapWriter implements WriterInterface
18
+{
19
+    const LIMIT_SIZE = 10485760;
20
+    const LIMIT_URL  = 50000;
21
+
22
+    /**
23
+     * @var string
24
+     */
25
+    protected $folder;
26
+
27
+    /**
28
+     * @var string
29
+     */
30
+    protected $pattern;
31
+
32
+    /**
33
+     * @var string
34
+     */
35
+    protected $groupName;
36
+
37
+    /**
38
+     * @var boolean
39
+     */
40
+    protected $autoIndex;
41
+
42
+    /**
43
+     * @var resource
44
+     */
45
+    protected $buffer;
46
+
47
+    /**
48
+     * @var array
49
+     */
50
+    protected $headers;
51
+
52
+    /**
53
+     * @var integer
54
+     */
55
+    protected $bufferSize = 0;
56
+
57
+    /**
58
+     * @var integer
59
+     */
60
+    protected $bufferUrlCount = 0;
61
+
62
+    /**
63
+     * @var integer
64
+     */
65
+    protected $bufferPart = 0;
66
+
67
+    /**
68
+     * Constructor.
69
+     *
70
+     * @param string  $folder    The folder to store the sitemap.xml file
71
+     * @param mixed   $groupName Name of sub-sitemap (optional)
72
+     * @param array   $headers   Indicate the need for namespace in the header sitemap
73
+     * @param boolean $autoIndex If you want to generate index of sitemap (optional)
74
+     */
75
+    public function __construct($folder, $groupName = false, array $headers = array(), $autoIndex = true)
76
+    {
77
+        $this->folder    = $folder;
78
+        $this->groupName = is_string($groupName) ? $groupName : '';
79
+        $this->headers   = $headers;
80
+        $this->autoIndex = $autoIndex;
81
+
82
+        $this->pattern = 'sitemap_' . ($this->groupName? $this->groupName . '_' : '') . '%05d.xml';
83
+    }
84
+
85
+    /**
86
+     * Returns the status of auto generation of index site map
87
+     *
88
+     * @return boolean
89
+     */
90
+    public function isAutoIndex()
91
+    {
92
+        return $this->autoIndex;
93
+    }
94
+
95
+    /**
96
+     * Returns folder to store the sitemap.xml file
97
+     *
98
+     * @return string
99
+     */
100
+    public function getFolder()
101
+    {
102
+        return $this->folder;
103
+    }
104
+
105
+    /**
106
+     * {@inheritdoc}
107
+     */
108
+    public function open()
109
+    {
110
+        $this->bufferPart = 0;
111
+        $this->generateNewPart();
112
+    }
113
+
114
+    /**
115
+     * {@inheritdoc}
116
+     */
117
+    public function write(array $data)
118
+    {
119
+        $data = $this->buildData($data);
120
+
121
+        switch ($data['type']) {
122
+            case 'video':
123
+                $line = $this->generateVideoLine($data);
124
+                break;
125
+
126
+            case 'image':
127
+                $line = $this->generateImageLine($data);
128
+                break;
129
+
130
+            case 'default':
131
+            default:
132
+                $line = $this->generateDefaultLine($data);
133
+        }
134
+
135
+        $this->addSitemapLine($line);
136
+    }
137
+
138
+    /**
139
+     * {@inheritdoc}
140
+     */
141
+    public function close()
142
+    {
143
+        if ($this->buffer) {
144
+            $this->closeSitemap();
145
+        }
146
+
147
+        if ($this->autoIndex) {
148
+            self::generateSitemapIndex(
149
+                $this->folder,
150
+                'sitemap_' . ($this->groupName ? $this->groupName . '_' : '') . '*.xml',
151
+                'sitemap' . ($this->groupName ? '_' . $this->groupName : '') . '.xml'
152
+            );
153
+        }
154
+    }
155
+
156
+    /**
157
+     * Generates the sitemap index from the sitemap part avaible in the folder
158
+     *
159
+     * @param string  $folder
160
+     * @param string  $pattern
161
+     * @param string  $filename
162
+     */
163
+    public static function generateSitemapIndex($folder, $pattern = 'sitemap*.xml', $filename = 'sitemap.xml')
164
+    {
165
+        $content = "<?xml version='1.0' encoding='UTF-8'?" . ">\n<sitemapindex xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.sitemaps.org/schemas/sitemap/1.0 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd' xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n";
166
+        foreach (glob(sprintf('%s/%s', $folder, $pattern)) as $file) {
167
+            $stat = stat($file);
168
+            $content .= sprintf("\t" . '<sitemap><loc>%s</loc><lastmod>%s</lastmod></sitemap>' . "\n",
169
+                basename($file),
170
+                date('Y-m-d', $stat['mtime'])
171
+            );
172
+        }
173
+
174
+        $content .= '</sitemapindex>';
175
+
176
+        file_put_contents(sprintf('%s/%s', $folder, $filename), $content);
177
+    }
178
+
179
+    /**
180
+     * Generate a new sitemap part
181
+     *
182
+     * @throws \RuntimeException
183
+     */
184
+    protected function generateNewPart()
185
+    {
186
+        if ($this->buffer) {
187
+            $this->closeSitemap();
188
+        }
189
+
190
+        $this->bufferUrlCount = 0;
191
+        $this->bufferSize     = 0;
192
+        $this->bufferPart++;
193
+
194
+        if (!is_writable($this->folder)) {
195
+            throw new \RuntimeException(sprintf('Unable to write to folder: %s', $this->folder));
196
+        }
197
+
198
+        $filename = sprintf($this->pattern, $this->bufferPart);
199
+
200
+        $this->buffer = fopen($this->folder . '/' . $filename, 'w');
201
+
202
+        $this->bufferSize += fwrite($this->buffer, '<?xml version="1.0" encoding="UTF-8"?>'."\n".'<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"' . $this->getHeaderByFlag() . '>'."\n");
203
+    }
204
+
205
+    /**
206
+     * Add a new line into the sitemap part
207
+     *
208
+     * @param string $line
209
+     */
210
+    protected function addSitemapLine($line)
211
+    {
212
+        if ($this->bufferUrlCount >= self::LIMIT_URL) {
213
+            $this->generateNewPart();
214
+        }
215
+
216
+        if (($this->bufferSize + strlen($line) + 9) > self::LIMIT_SIZE) {
217
+            $this->generateNewPart();
218
+        }
219
+
220
+        $this->bufferUrlCount++;
221
+
222
+        $this->bufferSize += fwrite($this->buffer, $line);
223
+    }
224
+
225
+    /**
226
+     * Build data with default parameters
227
+     *
228
+     * @param array $data List of parameters
229
+     *
230
+     * @return array
231
+     */
232
+    protected function buildData(array $data)
233
+    {
234
+        $default = array(
235
+            'url'        => null,
236
+            'lastmod'    => 'now',
237
+            'changefreq' => 'weekly',
238
+            'priority'   => 0.5,
239
+            'type'       => 'default'
240
+        );
241
+
242
+        $data = array_merge($default, $data);
243
+
244
+        $this->fixDataType($data);
245
+
246
+        return $data;
247
+    }
248
+
249
+    /**
250
+     * Fix type of data, if data type is specific,
251
+     * he must to be defined in data and he must to be a array
252
+     *
253
+     * @param array &$data List of parameters
254
+     *
255
+     * @return void
256
+     */
257
+    protected function fixDataType(array &$data)
258
+    {
259
+        if ('default' === $data['type']) {
260
+            return;
261
+        }
262
+
263
+        $valid_var_name = array(
264
+            'image' => 'images',
265
+            'video' => 'video'
266
+        );
267
+
268
+        if (!isset($valid_var_name[$data['type']], $data[$valid_var_name[$data['type']]]) || !is_array($data[$valid_var_name[$data['type']]])) {
269
+            $data['type'] = 'default';
270
+        }
271
+    }
272
+
273
+    /**
274
+     * Generate standard line of sitemap
275
+     *
276
+     * @param array $data List of parameters
277
+     *
278
+     * @return string
279
+     */
280
+    protected function generateDefaultLine(array $data)
281
+    {
282
+        return sprintf("\t".'<url><loc>%s</loc><lastmod>%s</lastmod><changefreq>%s</changefreq><priority>%s</priority></url>'."\n", $data['url'], date('Y-m-d', strtotime($data['lastmod'])), $data['changefreq'], $data['priority']);
283
+    }
284
+
285
+    /**
286
+     * Generate image line of sitemap
287
+     *
288
+     * @param array $data List of parameters
289
+     *
290
+     * @return string
291
+     */
292
+    protected function generateImageLine(array $data)
293
+    {
294
+        $images = '';
295
+
296
+        if (count($data['images']) > 1000) {
297
+            $data['images'] = array_splice($data['images'], 1000);
298
+        }
299
+
300
+        $builder = array(
301
+            'url'      => 'loc',
302
+            'location' => 'geo_location',
303
+        );
304
+
305
+        foreach ($data['images'] as $image) {
306
+            $images .= '<image:image>';
307
+
308
+            foreach ($image as $key => $element) {
309
+                $images .= sprintf('<image:%1$s>%2$s</image:%1$s>', (isset($builder[$key]) ? $builder[$key] : $key), $element);
310
+            }
311
+
312
+            $images .= '</image:image>';
313
+        }
314
+
315
+        return sprintf("\t".'<url><loc>%s</loc>%s</url>'."\n", $data['url'], $images);
316
+    }
317
+
318
+    /**
319
+     * Generate video line of sitemap
320
+     *
321
+     * @param array $data List of parameters
322
+     *
323
+     * @return string
324
+     */
325
+    protected function generateVideoLine(array $data)
326
+    {
327
+        $videos  = '';
328
+        $builder = array(
329
+            'thumbnail' => 'thumbnail_loc'
330
+        );
331
+
332
+        foreach ($data['video'] as $key => $video) {
333
+            $videos .= sprintf('<video:%1$s>%2$s</video:%1$s>', (isset($builder[$key]) ? $builder[$key] : $key), $video);
334
+        }
335
+
336
+        return sprintf("\t".'<url><loc>%s</loc><video:video>%s</video:video></url>'."\n", $data['url'], $videos);
337
+    }
338
+
339
+    /**
340
+     * Generate additional header with namespace adapted to the content
341
+     *
342
+     * @return string
343
+     */
344
+    protected function getHeaderByFlag()
345
+    {
346
+        $namespaces = array(
347
+            'video' => 'xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"',
348
+            'image' => 'xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"'
349
+        );
350
+
351
+        $result = '';
352
+        foreach ($this->headers as $flag) {
353
+            $result .= ' ' . $namespaces[$flag];
354
+        }
355
+
356
+        return $result;
357
+    }
358
+
359
+    /**
360
+     * Close the sitemap part
361
+     */
362
+    protected function closeSitemap()
363
+    {
364
+        fwrite($this->buffer, '</urlset>');
365
+        fclose($this->buffer);
366
+    }
367
+}

+ 32 - 0
vendor/sonata-project/exporter/lib/Exporter/Writer/WriterInterface.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Writer;
13
+
14
+interface WriterInterface
15
+{
16
+    /**
17
+     * @return void
18
+     */
19
+    function open();
20
+
21
+    /**
22
+     * @param array $data
23
+     *
24
+     * @return void
25
+     */
26
+    function write(array $data);
27
+
28
+    /**
29
+     * @return void
30
+     */
31
+    function close();
32
+}

+ 97 - 0
vendor/sonata-project/exporter/lib/Exporter/Writer/XlsWriter.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Writer;
13
+
14
+use Exporter\Exception\InvalidDataFormatException;
15
+
16
+class XlsWriter implements WriterInterface
17
+{
18
+    protected $filename;
19
+
20
+    protected $file;
21
+
22
+    protected $showHeaders;
23
+
24
+    protected $position;
25
+
26
+    /**
27
+     * @throws \RuntimeException
28
+     *
29
+     * @param      $filename
30
+     * @param bool $showHeaders
31
+     */
32
+    public function __construct($filename, $showHeaders = true)
33
+    {
34
+        $this->filename    = $filename;
35
+        $this->showHeaders = $showHeaders;
36
+        $this->position    = 0;
37
+
38
+        if (is_file($filename)) {
39
+            throw new \RuntimeException(sprintf('The file %s already exist', $filename));
40
+        }
41
+    }
42
+
43
+    /**
44
+     * {@inheritdoc}
45
+     */
46
+    public function open()
47
+    {
48
+        $this->file = fopen($this->filename, 'w', false);
49
+        fwrite($this->file, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><meta name=ProgId content=Excel.Sheet><meta name=Generator content=\"https://github.com/sonata-project/exporter\"></head><body><table>");
50
+    }
51
+
52
+    /**
53
+     * {@inheritdoc}
54
+     */
55
+    public function close()
56
+    {
57
+        fwrite($this->file, "</table></body></html>");
58
+        fclose($this->file);
59
+    }
60
+
61
+    /**
62
+     * {@inheritdoc}
63
+     */
64
+    public function write(array $data)
65
+    {
66
+        $this->init($data);
67
+
68
+        fwrite($this->file, '<tr>');
69
+        foreach ($data as $value) {
70
+            fwrite($this->file, sprintf('<td>%s</td>', $value));
71
+        }
72
+        fwrite($this->file, '</tr>');
73
+
74
+        $this->position++;
75
+    }
76
+
77
+    /**
78
+     * @param $data
79
+     *
80
+     * @return array mixed
81
+     */
82
+    protected function init($data)
83
+    {
84
+        if ($this->position > 0) {
85
+            return;
86
+        }
87
+
88
+        if ($this->showHeaders) {
89
+            fwrite($this->file, '<tr>');
90
+            foreach ($data as $header => $value) {
91
+                fwrite($this->file, sprintf('<th>%s</th>', $header));
92
+            }
93
+            fwrite($this->file, '</tr>');
94
+            $this->position++;
95
+        }
96
+    }
97
+}

+ 96 - 0
vendor/sonata-project/exporter/lib/Exporter/Writer/XmlWriter.php View File

1
+<?php
2
+
3
+/*
4
+ * This file is part of the Sonata package.
5
+ *
6
+ * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+namespace Exporter\Writer;
13
+
14
+use Exporter\Exception\InvalidDataFormatException;
15
+use \SimpleXMLElement as SimpleXMLElement;
16
+
17
+class XmlWriter implements WriterInterface
18
+{
19
+    protected $filename;
20
+
21
+    protected $file;
22
+
23
+    protected $position;
24
+
25
+    protected $mainElement;
26
+
27
+    protected $childElement;
28
+
29
+    /**
30
+     * @param string $filename
31
+     * @param string $mainElement
32
+     * @param string $childElement
33
+     */
34
+    public function __construct($filename, $mainElement = 'datas', $childElement = 'data')
35
+    {
36
+        $this->filename     = $filename;
37
+        $this->position     = 0;
38
+        $this->mainElement  = $mainElement;
39
+        $this->childElement = $childElement;
40
+
41
+        if (is_file($filename)) {
42
+            throw new \RuntimeException(sprintf('The file %s already exist', $filename));
43
+        }
44
+    }
45
+
46
+    /**
47
+     * {@inheritdoc}
48
+     */
49
+    public function open()
50
+    {
51
+        $this->file = fopen($this->filename, 'w', false);
52
+
53
+        fwrite($this->file, sprintf("<?xml version=\"1.0\" ?>\n<%s>\n", $this->mainElement));
54
+    }
55
+
56
+    /**
57
+     * {@inheritdoc}
58
+     */
59
+    public function close()
60
+    {
61
+        fwrite($this->file, sprintf("</%s>", $this->mainElement));
62
+
63
+        fclose($this->file);
64
+    }
65
+
66
+    /**
67
+     * {@inheritdoc}
68
+     */
69
+    public function write(array $data)
70
+    {
71
+        fwrite($this->file, sprintf("<%s>\n", $this->childElement));
72
+
73
+        foreach ($data as $k => $v) {
74
+            $this->generateNode($k, $v);
75
+        }
76
+
77
+        fwrite($this->file, sprintf("</%s>\n", $this->childElement));
78
+    }
79
+
80
+    /**
81
+     * @param string $name
82
+     * @param string $value
83
+     *
84
+     * @return void
85
+     */
86
+    protected function generateNode($name, $value)
87
+    {
88
+        if (is_array($value)) {
89
+            throw new \RuntimeException('Not implemented');
90
+        } else if (is_scalar($value) || is_null($value)) {
91
+            fwrite($this->file, sprintf("<%s><![CDATA[%s]]></%s>\n", $name, $value, $name));
92
+        } else {
93
+            throw new InvalidDataFormatException('Invalid data');
94
+        }
95
+    }
96
+}

+ 15 - 0
vendor/sonata-project/exporter/phpunit.xml.dist View File

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+
3
+<phpunit bootstrap="./test/bootstrap.php" colors="true">
4
+    <testsuites>
5
+        <testsuite name="Exporter Test Suite">
6
+            <directory suffix="Test.php">./test/Exporter/</directory>
7
+        </testsuite>
8
+    </testsuites>
9
+
10
+    <filter>
11
+        <whitelist>
12
+            <directory suffix=".php">./lib/Exporter/</directory>
13
+        </whitelist>
14
+    </filter>
15
+</phpunit>

+ 20 - 0
vendor/sonata-project/exporter/test/Exporter/Test/HandlerTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test;
4
+
5
+use Exporter\Handler;
6
+
7
+class HandlerTest extends \PHPUnit_Framework_TestCase
8
+{
9
+
10
+    public function testHandler()
11
+    {
12
+        $source = $this->getMock('Exporter\Source\SourceIteratorInterface');
13
+        $writer = $this->getMock('Exporter\Writer\WriterInterface');
14
+        $writer->expects($this->once())->method('open');
15
+        $writer->expects($this->once())->method('close');
16
+
17
+        $exporter = new Handler($source, $writer);
18
+        $exporter->export();
19
+    }
20
+}

+ 26 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Source/ArraySourceIteratorTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Source\ArraySourceIterator;
6
+
7
+class ArraySourceIteratorTest extends \PHPUnit_Framework_TestCase
8
+{
9
+
10
+    public function testHandler()
11
+    {
12
+        $data = array(
13
+            array('john 1', 'doe', '1'),
14
+            array('john 2', 'doe', '1'),
15
+            array('john 3', 'doe', '1'),
16
+            array('john 4', 'doe', '1'),
17
+        );
18
+
19
+        $iterator = new ArraySourceIterator($data);
20
+
21
+        foreach ($iterator as $value) {
22
+            $this->assertTrue(is_array($value));
23
+            $this->assertEquals(3, count($value));
24
+        }
25
+    }
26
+}

+ 20 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Source/ChainSourceIteratorTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Source\ChainSourceIterator;
6
+
7
+class ChainSourceIteratorTest extends \PHPUnit_Framework_TestCase
8
+{
9
+
10
+    public function testIterator()
11
+    {
12
+        $source = $this->getMock('Exporter\Source\SourceIteratorInterface');
13
+
14
+        $iterator = new ChainSourceIterator(array($source));
15
+
16
+        foreach ($iterator as $data) {
17
+
18
+        }
19
+    }
20
+}

+ 76 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Source/IteratorSourceIteratorTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Source\IteratorSourceIterator;
6
+
7
+class IteratorSourceIteratorTest extends \PHPUnit_Framework_TestCase
8
+{
9
+    /**
10
+     * @var IteratorSourceIterator
11
+     */
12
+    protected $sourceIterator;
13
+    /**
14
+     * @var \Iterator|\PHPUnit_Framework_MockObject_MockObject
15
+     */
16
+    protected $iterator;
17
+
18
+    protected function setUp()
19
+    {
20
+        $this->iterator = $this->getMock('Iterator');
21
+        $this->sourceIterator = new IteratorSourceIterator($this->iterator);
22
+    }
23
+
24
+    public function testGetIterator()
25
+    {
26
+        self::assertSame($this->iterator, $this->sourceIterator->getIterator());
27
+    }
28
+
29
+    public function testCurrent()
30
+    {
31
+        $this->iterator
32
+            ->expects(self::once())
33
+            ->method('current')
34
+            ->will($this->returnValue(array('current')));
35
+
36
+        self::assertEquals(array('current'), $this->sourceIterator->current());
37
+    }
38
+
39
+    public function testNext()
40
+    {
41
+        $this->iterator
42
+            ->expects(self::once())
43
+            ->method('next');
44
+
45
+        $this->sourceIterator->next();
46
+    }
47
+
48
+    public function testKey()
49
+    {
50
+        $this->iterator
51
+            ->expects(self::once())
52
+            ->method('key')
53
+            ->will($this->returnValue('key'));
54
+
55
+        self::assertEquals('key', $this->sourceIterator->key());
56
+    }
57
+
58
+    public function testValid()
59
+    {
60
+        $this->iterator
61
+            ->expects(self::once())
62
+            ->method('valid')
63
+            ->will($this->returnValue(true));
64
+
65
+        self::assertTrue($this->sourceIterator->valid());
66
+    }
67
+
68
+    public function testRewind()
69
+    {
70
+        $this->iterator
71
+            ->expects(self::once())
72
+            ->method('rewind');
73
+
74
+        $this->sourceIterator->rewind();
75
+    }
76
+}

+ 53 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Source/PDOStatementSourceIteratorTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Source\PDOStatementSourceIterator;
6
+
7
+class PDOStatementSourceIteratorTest extends \PHPUnit_Framework_TestCase
8
+{
9
+
10
+    protected $dbh;
11
+
12
+    public function setUp()
13
+    {
14
+        if (is_file('foo.db')) {
15
+            unlink('foo.db');
16
+        }
17
+
18
+        $this->dbh = new \PDO('sqlite:foo.db');
19
+        $this->dbh->exec('CREATE TABLE `user` (`id` int(11), `username` varchar(255) NOT NULL, `email` varchar(255) NOT NULL )');
20
+
21
+        $data = array(
22
+            array(1, 'john', 'john@foo.bar'),
23
+            array(2, 'john 2', 'john@foo.bar'),
24
+            array(3, 'john 3', 'john@foo.bar'),
25
+        );
26
+
27
+        foreach ($data as $user) {
28
+            $query = $this->dbh->prepare('INSERT INTO user (id, username, email) VALUES(?, ?, ?)');
29
+
30
+            $query->execute($user);
31
+        }
32
+    }
33
+
34
+    public function tearDown()
35
+    {
36
+        unlink('foo.db');
37
+    }
38
+
39
+    public function testHandler()
40
+    {
41
+        $stm = $this->dbh->prepare('SELECT id, username, email FROM user');
42
+        $stm->execute();
43
+
44
+        $iterator = new PDOStatementSourceIterator($stm);
45
+
46
+        $data = array();
47
+        foreach ($iterator as $user) {
48
+            $data[] = $user;
49
+        }
50
+
51
+        $this->assertEquals(3, count($data));
52
+    }
53
+}

+ 77 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Writer/CsvWriterTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Writer\CsvWriter;
6
+
7
+class CsvWriterTest extends \PHPUnit_Framework_TestCase
8
+{
9
+    protected $filename;
10
+
11
+    public function setUp()
12
+    {
13
+        $this->filename = 'foobar.csv';
14
+
15
+        if (is_file($this->filename)) {
16
+            unlink($this->filename);
17
+        }
18
+    }
19
+
20
+    /**
21
+     * @expectedException \Exporter\Exception\InvalidDataFormatException
22
+     */
23
+    public function testInvalidDataFormat()
24
+    {
25
+        $writer = new CsvWriter($this->filename, ',', '', "\\", false);
26
+        $writer->open();
27
+
28
+        $writer->write(array('john "2', 'doe', '1'));
29
+    }
30
+
31
+    public function testEnclosureFormating()
32
+    {
33
+        $writer = new CsvWriter($this->filename, ',', '"', "\\", false);
34
+        $writer->open();
35
+
36
+        $writer->write(array(' john , ""2"', 'doe', '1'));
37
+
38
+        $writer->close();
39
+
40
+        $expected = '" john , """"2""",doe,1';
41
+
42
+        $this->assertEquals($expected, trim(file_get_contents($this->filename)));
43
+    }
44
+
45
+    public function testEnclosureFormatingWithExcel()
46
+    {
47
+        $writer = new CsvWriter($this->filename, ',', '"', "", false);
48
+        $writer->open();
49
+
50
+        $writer->write(array('john , ""2"', 'doe ', '1'));
51
+
52
+        $writer->close();
53
+
54
+        $expected = '"john , """"2""","doe ",1';
55
+
56
+        $this->assertEquals($expected, trim(file_get_contents($this->filename)));
57
+    }
58
+
59
+    public function testWithHeaders()
60
+    {
61
+        $writer = new CsvWriter($this->filename, ',', '"', "", true);
62
+        $writer->open();
63
+
64
+        $writer->write(array('name' => 'john , ""2"', 'surname' => 'doe ', 'year' => '2001'));
65
+
66
+        $writer->close();
67
+
68
+        $expected = 'name,surname,year'."\n".'"john , """"2""","doe ",2001';
69
+
70
+        $this->assertEquals($expected, trim(file_get_contents($this->filename)));
71
+    }
72
+
73
+    public function tearDown()
74
+    {
75
+        unlink($this->filename);
76
+    }
77
+}

+ 47 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Writer/JsonWriterTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Writer\JsonWriter;
6
+
7
+class JsonWriterTest extends \PHPUnit_Framework_TestCase
8
+{
9
+    protected $filename;
10
+
11
+    public function setUp()
12
+    {
13
+        $this->filename = 'foobar.json';
14
+
15
+        if (is_file($this->filename)) {
16
+            unlink($this->filename);
17
+        }
18
+    }
19
+
20
+    public function testWrite()
21
+    {
22
+        $writer = new JsonWriter($this->filename, ',', '');
23
+        $writer->open();
24
+
25
+        $writer->write(array('john "2', 'doe', '1'));
26
+        $writer->write(array('john 3', 'doe', '1'));
27
+
28
+        $writer->close();
29
+
30
+        $expected = '[["john \"2","doe","1"],["john 3","doe","1"]]';
31
+        $content = file_get_contents($this->filename);
32
+
33
+        $this->assertEquals($expected, $content);
34
+
35
+        $expected = array(
36
+            array('john "2', 'doe', '1'),
37
+            array('john 3', 'doe', '1')
38
+        );
39
+
40
+        $this->assertEquals($expected, json_decode($content, false));
41
+    }
42
+
43
+    public function tearDown()
44
+    {
45
+        unlink($this->filename);
46
+    }
47
+}

+ 185 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Writer/SitemapWriterTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Writer\SitemapWriter;
6
+use SimpleXMLElement;
7
+
8
+class SitemapWriterTest extends \PHPUnit_Framework_TestCase
9
+{
10
+    protected $folder;
11
+
12
+    public function setUp()
13
+    {
14
+        $this->folder = sys_get_temp_dir().'/sonata_exporter_test';
15
+
16
+        $this->tearDown();
17
+
18
+        mkdir($this->folder);
19
+    }
20
+
21
+    /**
22
+     * @expectedException RuntimeException
23
+     */
24
+    public function testNonExistentFolder()
25
+    {
26
+        $writer = new SitemapWriter('booo');
27
+        $writer->open();
28
+    }
29
+
30
+    public function testSimpleWrite()
31
+    {
32
+        $writer = new SitemapWriter($this->folder);
33
+        $writer->open();
34
+        $writer->write(array(
35
+            'url'     => 'http://sonata-project.org/bundle/',
36
+            'lastmod' => '2012-12-26',
37
+            'change'  => 'daily',
38
+        ));
39
+        $writer->close();
40
+
41
+        $generatedFiles = $this->getFiles();
42
+
43
+        $this->assertEquals(2, count($generatedFiles));
44
+
45
+        // this will throw an exception if the xml is invalid
46
+        new SimpleXMLElement(file_get_contents($generatedFiles[1]));
47
+
48
+        $expected =<<<XML
49
+<?xml version="1.0" encoding="UTF-8"?>
50
+<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
51
+	<url><loc>http://sonata-project.org/bundle/</loc><lastmod>2012-12-26</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url>
52
+</urlset>
53
+XML;
54
+
55
+        $this->assertEquals(trim($expected), file_get_contents($generatedFiles[1]));
56
+    }
57
+
58
+    public function testSimpleWriteAdvanced()
59
+    {
60
+        $writer = new SitemapWriter($this->folder, 'test', array('image'), false);
61
+        $writer->open();
62
+        $writer->write(array(
63
+            'url'     => 'http://sonata-project.org/bundle/',
64
+            'lastmod' => '2012-12-26',
65
+            'change'  => 'daily',
66
+            'type'    => 'default',
67
+        ));
68
+        $writer->write(array(
69
+            'url'     => 'http://sonata-project.org/bundle/',
70
+            'lastmod' => '2012-12-26',
71
+            'change'  => 'weekly',
72
+            'type'    => 'image',
73
+            'images'  => array(
74
+                array(
75
+                    'url'     => 'http://sonata-project.org/uploads/media/default/0001/01/thumb_1_default_small.jpg',
76
+                    'caption' => 'sonata img'
77
+                )
78
+            )
79
+        ));
80
+        $writer->close();
81
+
82
+        $generatedFiles = $this->getFiles();
83
+
84
+        $this->assertEquals(1, count($generatedFiles));
85
+        $this->assertEquals($this->folder . '/sitemap_test_00001.xml', $generatedFiles[0]);
86
+
87
+        SitemapWriter::generateSitemapIndex($this->folder);
88
+
89
+        $generatedFiles = $this->getFiles();
90
+
91
+        $this->assertEquals(2, count($generatedFiles));
92
+
93
+        // this will throw an exception if the xml is invalid
94
+        new SimpleXMLElement(file_get_contents($generatedFiles[1]));
95
+
96
+        $expected =<<<XML
97
+<?xml version="1.0" encoding="UTF-8"?>
98
+<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
99
+	<url><loc>http://sonata-project.org/bundle/</loc><lastmod>2012-12-26</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url>
100
+	<url><loc>http://sonata-project.org/bundle/</loc><image:image><image:loc>http://sonata-project.org/uploads/media/default/0001/01/thumb_1_default_small.jpg</image:loc><image:caption>sonata img</image:caption></image:image></url>
101
+</urlset>
102
+XML;
103
+
104
+        $this->assertEquals(trim($expected), file_get_contents($generatedFiles[1]));
105
+    }
106
+
107
+    public function testLimitSize()
108
+    {
109
+        $writer = new SitemapWriter($this->folder);
110
+        $writer->open();
111
+
112
+        foreach (range(0, SitemapWriter::LIMIT_SIZE / 8196) as $i) {
113
+            $writer->write(array(
114
+                'url'     => str_repeat('x', 8196),
115
+                'lastmod' => 'now',
116
+                'change'  => 'daily'
117
+            ));
118
+        }
119
+        $writer->close();
120
+
121
+        $generatedFiles = $this->getFiles();
122
+
123
+        $this->assertEquals(3, count($generatedFiles));
124
+
125
+        // this will throw an exception if the xml is invalid
126
+        new SimpleXMLElement(file_get_contents($generatedFiles[1]));
127
+        new SimpleXMLElement(file_get_contents($generatedFiles[2]));
128
+
129
+        $info = stat($generatedFiles[1]);
130
+
131
+        $this->assertLessThan(SitemapWriter::LIMIT_SIZE, $info['size']);
132
+    }
133
+
134
+    public function testLimitUrl()
135
+    {
136
+        $writer = new SitemapWriter($this->folder);
137
+        $writer->open();
138
+
139
+        foreach (range(1, SitemapWriter::LIMIT_URL + 1) as $i) {
140
+            $writer->write(array(
141
+                'url'     => str_repeat('x', 40),
142
+                'lastmod' => 'now',
143
+                'change'  => 'daily'
144
+            ));
145
+        }
146
+        $writer->close();
147
+
148
+        $generatedFiles = $this->getFiles();
149
+
150
+        $this->assertEquals(3, count($generatedFiles));
151
+
152
+        // this will throw an exception if the xml is invalid
153
+        $file1 = new SimpleXMLElement(file_get_contents($generatedFiles[1]));
154
+        $file2 = new SimpleXMLElement(file_get_contents($generatedFiles[2]));
155
+
156
+        $info = stat($generatedFiles[0]);
157
+
158
+        $this->assertLessThan(SitemapWriter::LIMIT_SIZE, $info['size']);
159
+        $this->assertEquals(SitemapWriter::LIMIT_URL, count($file1->children()));
160
+        $this->assertEquals(1, count($file2->children()));
161
+    }
162
+
163
+    /**
164
+     * @return array
165
+     */
166
+    public function getFiles()
167
+    {
168
+        $files = glob($this->folder.'/*.xml');
169
+
170
+        sort($files);
171
+
172
+        return $files;
173
+    }
174
+
175
+    public function tearDown()
176
+    {
177
+        foreach($this->getFiles() as $file) {
178
+            unlink($file);
179
+        }
180
+
181
+        if (is_dir($this->folder)) {
182
+            rmdir($this->folder);
183
+        }
184
+    }
185
+}

+ 50 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Writer/XlsWriterTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Writer\XlsWriter;
6
+
7
+class XlsWriterTest extends \PHPUnit_Framework_TestCase
8
+{
9
+    protected $filename;
10
+
11
+    public function setUp()
12
+    {
13
+        $this->filename = 'foobar.xls';
14
+
15
+        if (is_file($this->filename)) {
16
+            unlink($this->filename);
17
+        }
18
+    }
19
+
20
+    public function testValidDataFormat()
21
+    {
22
+        $writer = new XlsWriter($this->filename, false);
23
+        $writer->open();
24
+
25
+        $writer->write(array('john "2', 'doe', '1'));
26
+        $writer->close();
27
+
28
+        $expected = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name=ProgId content=Excel.Sheet><meta name=Generator content="https://github.com/sonata-project/exporter"></head><body><table><tr><td>john "2</td><td>doe</td><td>1</td></tr></table></body></html>';
29
+
30
+        $this->assertEquals($expected, trim(file_get_contents($this->filename)));
31
+    }
32
+
33
+    public function testWithHeaders()
34
+    {
35
+        $writer = new XlsWriter($this->filename);
36
+        $writer->open();
37
+
38
+        $writer->write(array('firtname' => 'john "2', 'surname' => 'doe', 'year' => '1'));
39
+        $writer->close();
40
+
41
+        $expected = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name=ProgId content=Excel.Sheet><meta name=Generator content="https://github.com/sonata-project/exporter"></head><body><table><tr><th>firtname</th><th>surname</th><th>year</th></tr><tr><td>john "2</td><td>doe</td><td>1</td></tr></table></body></html>';
42
+
43
+        $this->assertEquals($expected, trim(file_get_contents($this->filename)));
44
+    }
45
+
46
+    public function tearDown()
47
+    {
48
+        unlink($this->filename);
49
+    }
50
+}

+ 65 - 0
vendor/sonata-project/exporter/test/Exporter/Test/Writer/XmlWriterTest.php View File

1
+<?php
2
+
3
+namespace Exporter\Test\Source;
4
+
5
+use Exporter\Writer\XmlWriter;
6
+
7
+class XmlWriterTest extends \PHPUnit_Framework_TestCase
8
+{
9
+    protected $filename;
10
+
11
+    public function setUp()
12
+    {
13
+        $this->filename = 'foobar.xml';
14
+
15
+        if (is_file($this->filename)) {
16
+            unlink($this->filename);
17
+        }
18
+    }
19
+
20
+    /**
21
+     * @expectedException \RuntimeException
22
+     */
23
+    public function testArrayDataFormat()
24
+    {
25
+        $writer = new XmlWriter($this->filename);
26
+        $writer->open();
27
+
28
+        $writer->write(array('firstname' => 'john "2', 'lastname' => 'doe', 'id' => '1', 'tags' => array('foo', 'bar')));
29
+        $writer->close();
30
+    }
31
+
32
+    public function testInvalidDataFormat()
33
+    {
34
+        $writer = new XmlWriter($this->filename);
35
+        $writer->open();
36
+
37
+        $writer->write(array('firstname' => 'john 1', 'lastname' => 'doe', 'id' => '1'));
38
+        $writer->write(array('firstname' => 'john 3', 'lastname' => 'doe', 'id' => '1'));
39
+        $writer->close();
40
+
41
+        $expected =<<<XML
42
+<?xml version="1.0" ?>
43
+<datas>
44
+<data>
45
+<firstname><![CDATA[john 1]]></firstname>
46
+<lastname><![CDATA[doe]]></lastname>
47
+<id><![CDATA[1]]></id>
48
+</data>
49
+<data>
50
+<firstname><![CDATA[john 3]]></firstname>
51
+<lastname><![CDATA[doe]]></lastname>
52
+<id><![CDATA[1]]></id>
53
+</data>
54
+</datas>
55
+XML;
56
+
57
+        $this->assertEquals($expected, file_get_contents($this->filename));
58
+
59
+    }
60
+
61
+    public function tearDown()
62
+    {
63
+        unlink($this->filename);
64
+    }
65
+}

+ 12 - 0
vendor/sonata-project/exporter/test/bootstrap.php View File

1
+<?php
2
+
3
+spl_autoload_register(function($class)
4
+{
5
+    if (0 === strpos($class, 'Exporter\\')) {
6
+        $file = __DIR__ . '/../lib/' . str_replace('\\', '/', $class) . '.php';
7
+        if (file_exists($file)) {
8
+            require_once $file;
9
+            return true;
10
+        }
11
+    }
12
+});

+ 1 - 0
vendor/sonata-project/jquery-bundle/Sonata/jQueryBundle

1
+Subproject commit 5f87a761302e6c78304e071416f75d41eb1fb3c2

+ 1 - 1
vendor/stof/doctrine-extensions-bundle/Stof/DoctrineExtensionsBundle

1
-Subproject commit 6b746653afcc6c1748008f374a18f93e870e85f3
1
+Subproject commit ba84426a47e555fdf346fc9f8434c2a25b3cee9d

+ 0 - 0
vendor/symfony/symfony/.editorconfig View File


+ 0 - 0
vendor/symfony/symfony/.gitignore View File


+ 0 - 0
vendor/symfony/symfony/.travis.yml View File


+ 0 - 0
vendor/symfony/symfony/CHANGELOG-2.0.md View File


+ 0 - 0
vendor/symfony/symfony/CHANGELOG-2.1.md View File


+ 0 - 0
vendor/symfony/symfony/CONTRIBUTING.md View File


+ 0 - 0
vendor/symfony/symfony/CONTRIBUTORS.md View File


+ 0 - 3
vendor/symfony/symfony/README.md View File

27
  * before PHP 5.3.8, if you get an error involving annotations, you've hit a
27
  * before PHP 5.3.8, if you get an error involving annotations, you've hit a
28
    known PHP bug (see https://bugs.php.net/bug.php?id=55156).
28
    known PHP bug (see https://bugs.php.net/bug.php?id=55156).
29
 
29
 
30
- * PHP 5.3.16 has a major bug in the Reflection subsystem and is not suitable to
31
-   run Symfony2 (https://bugs.php.net/bug.php?id=62715)
32
-
33
 Installation
30
 Installation
34
 ------------
31
 ------------
35
 
32
 

+ 0 - 0
vendor/symfony/symfony/UPGRADE-2.1.md View File


+ 0 - 0
vendor/symfony/symfony/autoload.php.dist View File


+ 0 - 0
vendor/symfony/symfony/composer.json View File


+ 0 - 0
vendor/symfony/symfony/phpunit.xml.dist View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/CHANGELOG.md View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/CacheWarmer/ProxyCacheWarmer.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/DoctrineValidationPass.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/DependencyInjection/Security/UserProvider/EntityFactory.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/ChoiceList/EntityChoiceList.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/ChoiceList/EntityLoaderInterface.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmExtension.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/EventListener/MergeDoctrineCollectionListener.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/HttpFoundation/DbalSessionHandler.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/HttpFoundation/DbalSessionHandlerSchema.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/ManagerRegistry.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/README.md View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/RegistryInterface.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Security/User/EntityUserProvider.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/DataCollector/DoctrineDataCollectorTest.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/DataFixtures/ContainerAwareLoaderTest.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPassTest.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/DoctrineOrmTestCase.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/AssociationEntity.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeIdentEntity.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/CompositeStringIdentEntity.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/ContainerAwareFixture.php View File


+ 0 - 0
vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Tests/Fixtures/DoubleIdentEntity.php View File


Some files were not shown because too many files changed in this diff