Browse Source

goback to version stable 2.1.7 and install bundles and bundles dependencies

Sevajol Bastien 11 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,6 +31,7 @@ class AppKernel extends Kernel
31 31
             new Admingenerator\GeneratorBundle\AdmingeneratorGeneratorBundle(),
32 32
             new Knp\Bundle\MenuBundle\KnpMenuBundle(),
33 33
             new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
34
+            new Shtumi\UsefulBundle\ShtumiUsefulBundle(),
34 35
             
35 36
             new Muzich\CoreBundle\MuzichCoreBundle(),
36 37
             new Muzich\UserBundle\MuzichUserBundle(),

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

@@ -265,10 +265,8 @@ class Container implements IntrospectableContainerInterface
265 265
             unset($this->scopedServices[$name]);
266 266
 
267 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 272
                         $this->services = call_user_func_array('array_diff_key', $services);
@@ -511,12 +509,12 @@ abstract class Kernel implements KernelInterface, TerminableInterface
511 509
     protected $classes;
512 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 514
     const MAJOR_VERSION   = '2';
517 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 520
     public function __construct($environment, $debug)

+ 7 - 2
composer.json View File

@@ -1,5 +1,5 @@
1 1
 {
2
-    "minimum-stability": "dev",
2
+    "minimum-stability": "stable",
3 3
     "name": "symfony/framework-standard-edition",
4 4
     "description": "The \"Symfony Standard Edition\" distribution",
5 5
     "autoload": {
@@ -26,7 +26,12 @@
26 26
         "doctrine/doctrine-fixtures-bundle": "dev-master",
27 27
         "stof/doctrine-extensions-bundle": "dev-master",
28 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 36
     "scripts": {
32 37
         "post-install-cmd": [

+ 370 - 44
composer.lock View File

@@ -1,5 +1,5 @@
1 1
 {
2
-    "hash": "cfa67943fb19431c371d189811089b42",
2
+    "hash": "6d2b2527313408838da7e547a6a5bb91",
3 3
     "packages": [
4 4
         {
5 5
             "name": "cedriclombardot/admingenerator-generator-bundle",
@@ -8,12 +8,12 @@
8 8
             "source": {
9 9
                 "type": "git",
10 10
                 "url": "https://github.com/symfony2admingenerator/AdmingeneratorGeneratorBundle.git",
11
-                "reference": "d50c391562cae6560e8d8003d3bd3a855d467490"
11
+                "reference": "bc8c823b758c834c953cdfc50f023e82cebe2321"
12 12
             },
13 13
             "dist": {
14 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 17
                 "shasum": ""
18 18
             },
19 19
             "require": {
@@ -32,7 +32,7 @@
32 32
             "suggest": {
33 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 36
             "type": "symfony-bundle",
37 37
             "extra": {
38 38
                 "branch-alias": {
@@ -987,23 +987,23 @@
987 987
         },
988 988
         {
989 989
             "name": "knplabs/knp-menu",
990
-            "version": "dev-master",
990
+            "version": "v1.1.2",
991 991
             "source": {
992 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 996
             "dist": {
997 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 1000
                 "shasum": ""
1001 1001
             },
1002 1002
             "require": {
1003 1003
                 "php": ">=5.3.0"
1004 1004
             },
1005 1005
             "require-dev": {
1006
-                "pimple/pimple": "1.0.*",
1006
+                "pimple/pimple": "*",
1007 1007
                 "silex/silex": "1.0.*",
1008 1008
                 "twig/twig": ">=1.2,<2.0-dev"
1009 1009
             },
@@ -1012,11 +1012,11 @@
1012 1012
                 "silex/silex": "for the integration with your silex application",
1013 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 1016
             "type": "library",
1017 1017
             "extra": {
1018 1018
                 "branch-alias": {
1019
-                    "dev-master": "2.0.x-dev"
1019
+                    "dev-master": "1.1.x-dev"
1020 1020
                 }
1021 1021
             },
1022 1022
             "autoload": {
@@ -1051,30 +1051,25 @@
1051 1051
         },
1052 1052
         {
1053 1053
             "name": "knplabs/knp-menu-bundle",
1054
-            "version": "dev-master",
1054
+            "version": "v1.1.0",
1055 1055
             "target-dir": "Knp/Bundle/MenuBundle",
1056 1056
             "source": {
1057 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 1061
             "dist": {
1062 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 1065
                 "shasum": ""
1066 1066
             },
1067 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 1072
             "type": "symfony-bundle",
1073
-            "extra": {
1074
-                "branch-alias": {
1075
-                    "dev-master": "2.0.x-dev"
1076
-                }
1077
-            },
1078 1073
             "autoload": {
1079 1074
                 "psr-0": {
1080 1075
                     "Knp\\Bundle\\MenuBundle": ""
@@ -1090,7 +1085,7 @@
1090 1085
                     "email": "stof@notk.org"
1091 1086
                 },
1092 1087
                 {
1093
-                    "name": "Knplabs",
1088
+                    "name": "KnpLabs",
1094 1089
                     "homepage": "http://knplabs.com"
1095 1090
                 },
1096 1091
                 {
@@ -1108,13 +1103,13 @@
1108 1103
             "version": "dev-master",
1109 1104
             "source": {
1110 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 1109
             "dist": {
1115 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 1113
                 "shasum": ""
1119 1114
             },
1120 1115
             "require": {
@@ -1140,7 +1135,7 @@
1140 1135
                 "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris",
1141 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 1139
             "type": "library",
1145 1140
             "extra": {
1146 1141
                 "branch-alias": {
@@ -1423,18 +1418,344 @@
1423 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 1747
             "name": "stof/doctrine-extensions-bundle",
1427 1748
             "version": "dev-master",
1428 1749
             "target-dir": "Stof/DoctrineExtensionsBundle",
1429 1750
             "source": {
1430 1751
                 "type": "git",
1431 1752
                 "url": "https://github.com/stof/StofDoctrineExtensionsBundle.git",
1432
-                "reference": "4a17550d8b101c5aafc56c9950149aa189b8402d"
1753
+                "reference": "ba84426a47e555fdf346fc9f8434c2a25b3cee9d"
1433 1754
             },
1434 1755
             "dist": {
1435 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 1759
                 "shasum": ""
1439 1760
             },
1440 1761
             "require": {
@@ -1446,7 +1767,7 @@
1446 1767
                 "doctrine/doctrine-bundle": "*",
1447 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 1771
             "type": "symfony-bundle",
1451 1772
             "extra": {
1452 1773
                 "branch-alias": {
@@ -1712,16 +2033,16 @@
1712 2033
         },
1713 2034
         {
1714 2035
             "name": "symfony/symfony",
1715
-            "version": "2.1.x-dev",
2036
+            "version": "v2.1.7",
1716 2037
             "source": {
1717 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 2042
             "dist": {
1722 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 2046
                 "shasum": ""
1726 2047
             },
1727 2048
             "require": {
@@ -1770,7 +2091,7 @@
1770 2091
                 "monolog/monolog": ">=1.0,<1.3-dev",
1771 2092
                 "propel/propel1": "dev-master"
1772 2093
             },
1773
-            "time": "2013-02-17 12:59:26",
2094
+            "time": "2013-01-17 21:21:51",
1774 2095
             "type": "library",
1775 2096
             "autoload": {
1776 2097
                 "psr-0": {
@@ -1942,7 +2263,7 @@
1942 2263
     "aliases": [
1943 2264
 
1944 2265
     ],
1945
-    "minimum-stability": "dev",
2266
+    "minimum-stability": "stable",
1946 2267
     "stability-flags": {
1947 2268
         "twig/extensions": 20,
1948 2269
         "kriswallsmith/assetic": 20,
@@ -1950,6 +2271,11 @@
1950 2271
         "doctrine/doctrine-fixtures-bundle": 20,
1951 2272
         "stof/doctrine-extensions-bundle": 20,
1952 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 +4,4 @@
4 4
 
5 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 +1 @@
1
-Subproject commit d3c6d81a4ef44d77b4f51ee7d3ba1d3d3a8b50b7
1
+Subproject commit bc8c823b758c834c953cdfc50f023e82cebe2321

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

@@ -15,6 +15,11 @@ return array(
15 15
     'Symfony\\Bundle\\AsseticBundle' => $vendorDir . '/symfony/assetic-bundle/',
16 16
     'Symfony' => $vendorDir . '/symfony/symfony/src/',
17 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 23
     'SessionHandlerInterface' => $vendorDir . '/symfony/symfony/src/Symfony/Component/HttpFoundation/Resources/stubs',
19 24
     'Sensio\\Bundle\\GeneratorBundle' => $vendorDir . '/sensio/generator-bundle/',
20 25
     'Sensio\\Bundle\\FrameworkExtraBundle' => $vendorDir . '/sensio/framework-extra-bundle/',
@@ -30,6 +35,7 @@ return array(
30 35
     'Gregwar\\ImageBundle' => $vendorDir . '/gregwar/image-bundle/',
31 36
     'Gedmo' => $vendorDir . '/gedmo/doctrine-extensions/lib/',
32 37
     'FOS\\UserBundle' => $vendorDir . '/friendsofsymfony/user-bundle/',
38
+    'Exporter' => $vendorDir . '/sonata-project/exporter/lib/',
33 39
     'Doctrine\\ORM' => $vendorDir . '/doctrine/orm/lib/',
34 40
     'Doctrine\\DBAL' => $vendorDir . '/doctrine/dbal/lib/',
35 41
     'Doctrine\\Common\\DataFixtures' => $vendorDir . '/doctrine/data-fixtures/lib/',

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

@@ -2,7 +2,7 @@
2 2
 
3 3
 // autoload_real.php generated by Composer
4 4
 
5
-class ComposerAutoloaderInit518f1eb7577bcf5e84791f76034137cd
5
+class ComposerAutoloaderInit6c3b313faf78baf847838c5239806fa1
6 6
 {
7 7
     private static $loader;
8 8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit518f1eb7577bcf5e84791f76034137cd
19 19
             return self::$loader;
20 20
         }
21 21
 
22
-        spl_autoload_register(array('ComposerAutoloaderInit518f1eb7577bcf5e84791f76034137cd', 'loadClassLoader'));
22
+        spl_autoload_register(array('ComposerAutoloaderInit6c3b313faf78baf847838c5239806fa1', 'loadClassLoader'));
23 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 26
         $vendorDir = dirname(__DIR__);
27 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 +1 @@
1
-Subproject commit a93c82d6be653d7a5bb861a0c8a53a2f58695d71
1
+Subproject commit f8e867268f63f561c1adadd6cbb5d8524f921873

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

@@ -1 +1 @@
1
-Subproject commit 5cadbc8958eb3e15aff6e2bec21bcbeec37d7409
1
+Subproject commit f77e97924164b5500a15a209243e4c71fe466306

+ 1 - 1
vendor/kriswallsmith/assetic

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

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

@@ -0,0 +1 @@
1
+Subproject commit 8f3c99e5dfbcf8e5500779510d0ec2ebea3a2474

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

@@ -0,0 +1 @@
1
+Subproject commit 785475567dad895f5ee7434570de0de3c06ea1b6

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

@@ -0,0 +1 @@
1
+Subproject commit 23c04147b54ab93432a1ae2a044eca2edbdf27a5

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

@@ -0,0 +1 @@
1
+Subproject commit 344ac471d779d198a858e0c6783990516eef0fe7

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

@@ -0,0 +1 @@
1
+phpunit.xml

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

@@ -0,0 +1,7 @@
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

@@ -0,0 +1,32 @@
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

@@ -0,0 +1,31 @@
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

@@ -0,0 +1,16 @@
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

@@ -0,0 +1,16 @@
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

@@ -0,0 +1,59 @@
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

@@ -0,0 +1,25 @@
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

@@ -0,0 +1,91 @@
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

@@ -0,0 +1,94 @@
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

@@ -0,0 +1,123 @@
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

@@ -0,0 +1,124 @@
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

@@ -0,0 +1,76 @@
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

@@ -0,0 +1,81 @@
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

@@ -0,0 +1,17 @@
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

@@ -0,0 +1,86 @@
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

@@ -0,0 +1,103 @@
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

@@ -0,0 +1,51 @@
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

@@ -0,0 +1,64 @@
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

@@ -0,0 +1,367 @@
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

@@ -0,0 +1,32 @@
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

@@ -0,0 +1,97 @@
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

@@ -0,0 +1,96 @@
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

@@ -0,0 +1,15 @@
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

@@ -0,0 +1,20 @@
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

@@ -0,0 +1,26 @@
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

@@ -0,0 +1,20 @@
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

@@ -0,0 +1,76 @@
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

@@ -0,0 +1,53 @@
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

@@ -0,0 +1,77 @@
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

@@ -0,0 +1,47 @@
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

@@ -0,0 +1,185 @@
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

@@ -0,0 +1,50 @@
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

@@ -0,0 +1,65 @@
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

@@ -0,0 +1,12 @@
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

@@ -0,0 +1 @@
1
+Subproject commit 5f87a761302e6c78304e071416f75d41eb1fb3c2

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

@@ -1 +1 @@
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,9 +27,6 @@ work for you:
27 27
  * before PHP 5.3.8, if you get an error involving annotations, you've hit a
28 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 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