Browse code
init
fiddlerwoaroof authored on 15/07/2015 20:35:01
Showing 44 changed files
Showing 44 changed files
- .gitignore
- README.md
- app/.htaccess
- app/AppCache.php
- app/AppKernel.php
- app/Resources/views/base.html.twig
- app/Resources/views/default/index.html.twig
- app/SymfonyRequirements.php
- app/autoload.php
- app/cache/.gitkeep
- app/check.php
- app/config/config.yml
- app/config/config_dev.yml
- app/config/config_prod.yml
- app/config/config_test.yml
- app/config/parameters.yml.dist
- app/config/routing.yml
- app/config/routing_dev.yml
- app/config/security.yml
- app/config/services.yml
- app/console
- app/logs/.gitkeep
- app/phpunit.xml.dist
- composer.json
- composer.lock
- src/.htaccess
- src/AppBundle/AppBundle.php
- src/AppBundle/Controller/DefaultController.php
- src/AppBundle/Tests/Controller/DefaultControllerTest.php
- src/Blogger/BlogBundle/BloggerBlogBundle.php
- src/Blogger/BlogBundle/Controller/DefaultController.php
- src/Blogger/BlogBundle/DependencyInjection/BloggerBlogExtension.php
- src/Blogger/BlogBundle/DependencyInjection/Configuration.php
- src/Blogger/BlogBundle/Resources/config/routing.yml
- src/Blogger/BlogBundle/Resources/config/services.yml
- src/Blogger/BlogBundle/Resources/views/Default/index.html.twig
- src/Blogger/BlogBundle/Tests/Controller/DefaultControllerTest.php
- web/.htaccess
- web/app.php
- web/app_dev.php
- web/apple-touch-icon.png
- web/config.php
- web/favicon.ico
- web/robots.txt
0 | 10 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,37 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+use Symfony\Component\HttpKernel\Kernel; |
|
4 |
+use Symfony\Component\Config\Loader\LoaderInterface; |
|
5 |
+ |
|
6 |
+class AppKernel extends Kernel |
|
7 |
+{ |
|
8 |
+ public function registerBundles() |
|
9 |
+ { |
|
10 |
+ $bundles = array( |
|
11 |
+ new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), |
|
12 |
+ new Symfony\Bundle\SecurityBundle\SecurityBundle(), |
|
13 |
+ new Symfony\Bundle\TwigBundle\TwigBundle(), |
|
14 |
+ new Symfony\Bundle\MonologBundle\MonologBundle(), |
|
15 |
+ new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), |
|
16 |
+ new Symfony\Bundle\AsseticBundle\AsseticBundle(), |
|
17 |
+ new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), |
|
18 |
+ new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), |
|
19 |
+ new AppBundle\AppBundle(), |
|
20 |
+ new Blogger\BlogBundle\BloggerBlogBundle(), |
|
21 |
+ ); |
|
22 |
+ |
|
23 |
+ if (in_array($this->getEnvironment(), array('dev', 'test'))) { |
|
24 |
+ $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); |
|
25 |
+ $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); |
|
26 |
+ $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); |
|
27 |
+ $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); |
|
28 |
+ } |
|
29 |
+ |
|
30 |
+ return $bundles; |
|
31 |
+ } |
|
32 |
+ |
|
33 |
+ public function registerContainerConfiguration(LoaderInterface $loader) |
|
34 |
+ { |
|
35 |
+ $loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml'); |
|
36 |
+ } |
|
37 |
+} |
0 | 38 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,13 @@ |
1 |
+<!DOCTYPE html> |
|
2 |
+<html> |
|
3 |
+ <head> |
|
4 |
+ <meta charset="UTF-8" /> |
|
5 |
+ <title>{% block title %}Welcome!{% endblock %}</title> |
|
6 |
+ {% block stylesheets %}{% endblock %} |
|
7 |
+ <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" /> |
|
8 |
+ </head> |
|
9 |
+ <body> |
|
10 |
+ {% block body %}{% endblock %} |
|
11 |
+ {% block javascripts %}{% endblock %} |
|
12 |
+ </body> |
|
13 |
+</html> |
0 | 6 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,758 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+/* |
|
4 |
+ * This file is part of the Symfony package. |
|
5 |
+ * |
|
6 |
+ * (c) Fabien Potencier <fabien@symfony.com> |
|
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 |
+/* |
|
13 |
+ * Users of PHP 5.2 should be able to run the requirements checks. |
|
14 |
+ * This is why the file and all classes must be compatible with PHP 5.2+ |
|
15 |
+ * (e.g. not using namespaces and closures). |
|
16 |
+ * |
|
17 |
+ * ************** CAUTION ************** |
|
18 |
+ * |
|
19 |
+ * DO NOT EDIT THIS FILE as it will be overridden by Composer as part of |
|
20 |
+ * the installation/update process. The original file resides in the |
|
21 |
+ * SensioDistributionBundle. |
|
22 |
+ * |
|
23 |
+ * ************** CAUTION ************** |
|
24 |
+ */ |
|
25 |
+ |
|
26 |
+/** |
|
27 |
+ * Represents a single PHP requirement, e.g. an installed extension. |
|
28 |
+ * It can be a mandatory requirement or an optional recommendation. |
|
29 |
+ * There is a special subclass, named PhpIniRequirement, to check a php.ini configuration. |
|
30 |
+ * |
|
31 |
+ * @author Tobias Schultze <http://tobion.de> |
|
32 |
+ */ |
|
33 |
+class Requirement |
|
34 |
+{ |
|
35 |
+ private $fulfilled; |
|
36 |
+ private $testMessage; |
|
37 |
+ private $helpText; |
|
38 |
+ private $helpHtml; |
|
39 |
+ private $optional; |
|
40 |
+ |
|
41 |
+ /** |
|
42 |
+ * Constructor that initializes the requirement. |
|
43 |
+ * |
|
44 |
+ * @param bool $fulfilled Whether the requirement is fulfilled |
|
45 |
+ * @param string $testMessage The message for testing the requirement |
|
46 |
+ * @param string $helpHtml The help text formatted in HTML for resolving the problem |
|
47 |
+ * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) |
|
48 |
+ * @param bool $optional Whether this is only an optional recommendation not a mandatory requirement |
|
49 |
+ */ |
|
50 |
+ public function __construct($fulfilled, $testMessage, $helpHtml, $helpText = null, $optional = false) |
|
51 |
+ { |
|
52 |
+ $this->fulfilled = (bool) $fulfilled; |
|
53 |
+ $this->testMessage = (string) $testMessage; |
|
54 |
+ $this->helpHtml = (string) $helpHtml; |
|
55 |
+ $this->helpText = null === $helpText ? strip_tags($this->helpHtml) : (string) $helpText; |
|
56 |
+ $this->optional = (bool) $optional; |
|
57 |
+ } |
|
58 |
+ |
|
59 |
+ /** |
|
60 |
+ * Returns whether the requirement is fulfilled. |
|
61 |
+ * |
|
62 |
+ * @return bool true if fulfilled, otherwise false |
|
63 |
+ */ |
|
64 |
+ public function isFulfilled() |
|
65 |
+ { |
|
66 |
+ return $this->fulfilled; |
|
67 |
+ } |
|
68 |
+ |
|
69 |
+ /** |
|
70 |
+ * Returns the message for testing the requirement. |
|
71 |
+ * |
|
72 |
+ * @return string The test message |
|
73 |
+ */ |
|
74 |
+ public function getTestMessage() |
|
75 |
+ { |
|
76 |
+ return $this->testMessage; |
|
77 |
+ } |
|
78 |
+ |
|
79 |
+ /** |
|
80 |
+ * Returns the help text for resolving the problem. |
|
81 |
+ * |
|
82 |
+ * @return string The help text |
|
83 |
+ */ |
|
84 |
+ public function getHelpText() |
|
85 |
+ { |
|
86 |
+ return $this->helpText; |
|
87 |
+ } |
|
88 |
+ |
|
89 |
+ /** |
|
90 |
+ * Returns the help text formatted in HTML. |
|
91 |
+ * |
|
92 |
+ * @return string The HTML help |
|
93 |
+ */ |
|
94 |
+ public function getHelpHtml() |
|
95 |
+ { |
|
96 |
+ return $this->helpHtml; |
|
97 |
+ } |
|
98 |
+ |
|
99 |
+ /** |
|
100 |
+ * Returns whether this is only an optional recommendation and not a mandatory requirement. |
|
101 |
+ * |
|
102 |
+ * @return bool true if optional, false if mandatory |
|
103 |
+ */ |
|
104 |
+ public function isOptional() |
|
105 |
+ { |
|
106 |
+ return $this->optional; |
|
107 |
+ } |
|
108 |
+} |
|
109 |
+ |
|
110 |
+/** |
|
111 |
+ * Represents a PHP requirement in form of a php.ini configuration. |
|
112 |
+ * |
|
113 |
+ * @author Tobias Schultze <http://tobion.de> |
|
114 |
+ */ |
|
115 |
+class PhpIniRequirement extends Requirement |
|
116 |
+{ |
|
117 |
+ /** |
|
118 |
+ * Constructor that initializes the requirement. |
|
119 |
+ * |
|
120 |
+ * @param string $cfgName The configuration name used for ini_get() |
|
121 |
+ * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false, |
|
122 |
+ * or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement |
|
123 |
+ * @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. |
|
124 |
+ * This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. |
|
125 |
+ * Example: You require a config to be true but PHP later removes this config and defaults it to true internally. |
|
126 |
+ * @param string|null $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived) |
|
127 |
+ * @param string|null $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived) |
|
128 |
+ * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) |
|
129 |
+ * @param bool $optional Whether this is only an optional recommendation not a mandatory requirement |
|
130 |
+ */ |
|
131 |
+ public function __construct($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null, $optional = false) |
|
132 |
+ { |
|
133 |
+ $cfgValue = ini_get($cfgName); |
|
134 |
+ |
|
135 |
+ if (is_callable($evaluation)) { |
|
136 |
+ if (null === $testMessage || null === $helpHtml) { |
|
137 |
+ throw new InvalidArgumentException('You must provide the parameters testMessage and helpHtml for a callback evaluation.'); |
|
138 |
+ } |
|
139 |
+ |
|
140 |
+ $fulfilled = call_user_func($evaluation, $cfgValue); |
|
141 |
+ } else { |
|
142 |
+ if (null === $testMessage) { |
|
143 |
+ $testMessage = sprintf('%s %s be %s in php.ini', |
|
144 |
+ $cfgName, |
|
145 |
+ $optional ? 'should' : 'must', |
|
146 |
+ $evaluation ? 'enabled' : 'disabled' |
|
147 |
+ ); |
|
148 |
+ } |
|
149 |
+ |
|
150 |
+ if (null === $helpHtml) { |
|
151 |
+ $helpHtml = sprintf('Set <strong>%s</strong> to <strong>%s</strong> in php.ini<a href="#phpini">*</a>.', |
|
152 |
+ $cfgName, |
|
153 |
+ $evaluation ? 'on' : 'off' |
|
154 |
+ ); |
|
155 |
+ } |
|
156 |
+ |
|
157 |
+ $fulfilled = $evaluation == $cfgValue; |
|
158 |
+ } |
|
159 |
+ |
|
160 |
+ parent::__construct($fulfilled || ($approveCfgAbsence && false === $cfgValue), $testMessage, $helpHtml, $helpText, $optional); |
|
161 |
+ } |
|
162 |
+} |
|
163 |
+ |
|
164 |
+/** |
|
165 |
+ * A RequirementCollection represents a set of Requirement instances. |
|
166 |
+ * |
|
167 |
+ * @author Tobias Schultze <http://tobion.de> |
|
168 |
+ */ |
|
169 |
+class RequirementCollection implements IteratorAggregate |
|
170 |
+{ |
|
171 |
+ private $requirements = array(); |
|
172 |
+ |
|
173 |
+ /** |
|
174 |
+ * Gets the current RequirementCollection as an Iterator. |
|
175 |
+ * |
|
176 |
+ * @return Traversable A Traversable interface |
|
177 |
+ */ |
|
178 |
+ public function getIterator() |
|
179 |
+ { |
|
180 |
+ return new ArrayIterator($this->requirements); |
|
181 |
+ } |
|
182 |
+ |
|
183 |
+ /** |
|
184 |
+ * Adds a Requirement. |
|
185 |
+ * |
|
186 |
+ * @param Requirement $requirement A Requirement instance |
|
187 |
+ */ |
|
188 |
+ public function add(Requirement $requirement) |
|
189 |
+ { |
|
190 |
+ $this->requirements[] = $requirement; |
|
191 |
+ } |
|
192 |
+ |
|
193 |
+ /** |
|
194 |
+ * Adds a mandatory requirement. |
|
195 |
+ * |
|
196 |
+ * @param bool $fulfilled Whether the requirement is fulfilled |
|
197 |
+ * @param string $testMessage The message for testing the requirement |
|
198 |
+ * @param string $helpHtml The help text formatted in HTML for resolving the problem |
|
199 |
+ * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) |
|
200 |
+ */ |
|
201 |
+ public function addRequirement($fulfilled, $testMessage, $helpHtml, $helpText = null) |
|
202 |
+ { |
|
203 |
+ $this->add(new Requirement($fulfilled, $testMessage, $helpHtml, $helpText, false)); |
|
204 |
+ } |
|
205 |
+ |
|
206 |
+ /** |
|
207 |
+ * Adds an optional recommendation. |
|
208 |
+ * |
|
209 |
+ * @param bool $fulfilled Whether the recommendation is fulfilled |
|
210 |
+ * @param string $testMessage The message for testing the recommendation |
|
211 |
+ * @param string $helpHtml The help text formatted in HTML for resolving the problem |
|
212 |
+ * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) |
|
213 |
+ */ |
|
214 |
+ public function addRecommendation($fulfilled, $testMessage, $helpHtml, $helpText = null) |
|
215 |
+ { |
|
216 |
+ $this->add(new Requirement($fulfilled, $testMessage, $helpHtml, $helpText, true)); |
|
217 |
+ } |
|
218 |
+ |
|
219 |
+ /** |
|
220 |
+ * Adds a mandatory requirement in form of a php.ini configuration. |
|
221 |
+ * |
|
222 |
+ * @param string $cfgName The configuration name used for ini_get() |
|
223 |
+ * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false, |
|
224 |
+ * or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement |
|
225 |
+ * @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. |
|
226 |
+ * This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. |
|
227 |
+ * Example: You require a config to be true but PHP later removes this config and defaults it to true internally. |
|
228 |
+ * @param string $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived) |
|
229 |
+ * @param string $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived) |
|
230 |
+ * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) |
|
231 |
+ */ |
|
232 |
+ public function addPhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null) |
|
233 |
+ { |
|
234 |
+ $this->add(new PhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence, $testMessage, $helpHtml, $helpText, false)); |
|
235 |
+ } |
|
236 |
+ |
|
237 |
+ /** |
|
238 |
+ * Adds an optional recommendation in form of a php.ini configuration. |
|
239 |
+ * |
|
240 |
+ * @param string $cfgName The configuration name used for ini_get() |
|
241 |
+ * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false, |
|
242 |
+ * or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement |
|
243 |
+ * @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. |
|
244 |
+ * This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. |
|
245 |
+ * Example: You require a config to be true but PHP later removes this config and defaults it to true internally. |
|
246 |
+ * @param string $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived) |
|
247 |
+ * @param string $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived) |
|
248 |
+ * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) |
|
249 |
+ */ |
|
250 |
+ public function addPhpIniRecommendation($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null) |
|
251 |
+ { |
|
252 |
+ $this->add(new PhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence, $testMessage, $helpHtml, $helpText, true)); |
|
253 |
+ } |
|
254 |
+ |
|
255 |
+ /** |
|
256 |
+ * Adds a requirement collection to the current set of requirements. |
|
257 |
+ * |
|
258 |
+ * @param RequirementCollection $collection A RequirementCollection instance |
|
259 |
+ */ |
|
260 |
+ public function addCollection(RequirementCollection $collection) |
|
261 |
+ { |
|
262 |
+ $this->requirements = array_merge($this->requirements, $collection->all()); |
|
263 |
+ } |
|
264 |
+ |
|
265 |
+ /** |
|
266 |
+ * Returns both requirements and recommendations. |
|
267 |
+ * |
|
268 |
+ * @return array Array of Requirement instances |
|
269 |
+ */ |
|
270 |
+ public function all() |
|
271 |
+ { |
|
272 |
+ return $this->requirements; |
|
273 |
+ } |
|
274 |
+ |
|
275 |
+ /** |
|
276 |
+ * Returns all mandatory requirements. |
|
277 |
+ * |
|
278 |
+ * @return array Array of Requirement instances |
|
279 |
+ */ |
|
280 |
+ public function getRequirements() |
|
281 |
+ { |
|
282 |
+ $array = array(); |
|
283 |
+ foreach ($this->requirements as $req) { |
|
284 |
+ if (!$req->isOptional()) { |
|
285 |
+ $array[] = $req; |
|
286 |
+ } |
|
287 |
+ } |
|
288 |
+ |
|
289 |
+ return $array; |
|
290 |
+ } |
|
291 |
+ |
|
292 |
+ /** |
|
293 |
+ * Returns the mandatory requirements that were not met. |
|
294 |
+ * |
|
295 |
+ * @return array Array of Requirement instances |
|
296 |
+ */ |
|
297 |
+ public function getFailedRequirements() |
|
298 |
+ { |
|
299 |
+ $array = array(); |
|
300 |
+ foreach ($this->requirements as $req) { |
|
301 |
+ if (!$req->isFulfilled() && !$req->isOptional()) { |
|
302 |
+ $array[] = $req; |
|
303 |
+ } |
|
304 |
+ } |
|
305 |
+ |
|
306 |
+ return $array; |
|
307 |
+ } |
|
308 |
+ |
|
309 |
+ /** |
|
310 |
+ * Returns all optional recommendations. |
|
311 |
+ * |
|
312 |
+ * @return array Array of Requirement instances |
|
313 |
+ */ |
|
314 |
+ public function getRecommendations() |
|
315 |
+ { |
|
316 |
+ $array = array(); |
|
317 |
+ foreach ($this->requirements as $req) { |
|
318 |
+ if ($req->isOptional()) { |
|
319 |
+ $array[] = $req; |
|
320 |
+ } |
|
321 |
+ } |
|
322 |
+ |
|
323 |
+ return $array; |
|
324 |
+ } |
|
325 |
+ |
|
326 |
+ /** |
|
327 |
+ * Returns the recommendations that were not met. |
|
328 |
+ * |
|
329 |
+ * @return array Array of Requirement instances |
|
330 |
+ */ |
|
331 |
+ public function getFailedRecommendations() |
|
332 |
+ { |
|
333 |
+ $array = array(); |
|
334 |
+ foreach ($this->requirements as $req) { |
|
335 |
+ if (!$req->isFulfilled() && $req->isOptional()) { |
|
336 |
+ $array[] = $req; |
|
337 |
+ } |
|
338 |
+ } |
|
339 |
+ |
|
340 |
+ return $array; |
|
341 |
+ } |
|
342 |
+ |
|
343 |
+ /** |
|
344 |
+ * Returns whether a php.ini configuration is not correct. |
|
345 |
+ * |
|
346 |
+ * @return bool php.ini configuration problem? |
|
347 |
+ */ |
|
348 |
+ public function hasPhpIniConfigIssue() |
|
349 |
+ { |
|
350 |
+ foreach ($this->requirements as $req) { |
|
351 |
+ if (!$req->isFulfilled() && $req instanceof PhpIniRequirement) { |
|
352 |
+ return true; |
|
353 |
+ } |
|
354 |
+ } |
|
355 |
+ |
|
356 |
+ return false; |
|
357 |
+ } |
|
358 |
+ |
|
359 |
+ /** |
|
360 |
+ * Returns the PHP configuration file (php.ini) path. |
|
361 |
+ * |
|
362 |
+ * @return string|false php.ini file path |
|
363 |
+ */ |
|
364 |
+ public function getPhpIniConfigPath() |
|
365 |
+ { |
|
366 |
+ return get_cfg_var('cfg_file_path'); |
|
367 |
+ } |
|
368 |
+} |
|
369 |
+ |
|
370 |
+/** |
|
371 |
+ * This class specifies all requirements and optional recommendations that |
|
372 |
+ * are necessary to run the Symfony Standard Edition. |
|
373 |
+ * |
|
374 |
+ * @author Tobias Schultze <http://tobion.de> |
|
375 |
+ * @author Fabien Potencier <fabien@symfony.com> |
|
376 |
+ */ |
|
377 |
+class SymfonyRequirements extends RequirementCollection |
|
378 |
+{ |
|
379 |
+ const REQUIRED_PHP_VERSION = '5.3.3'; |
|
380 |
+ |
|
381 |
+ /** |
|
382 |
+ * Constructor that initializes the requirements. |
|
383 |
+ */ |
|
384 |
+ public function __construct() |
|
385 |
+ { |
|
386 |
+ /* mandatory requirements follow */ |
|
387 |
+ |
|
388 |
+ $installedPhpVersion = phpversion(); |
|
389 |
+ |
|
390 |
+ $this->addRequirement( |
|
391 |
+ version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>='), |
|
392 |
+ sprintf('PHP version must be at least %s (%s installed)', self::REQUIRED_PHP_VERSION, $installedPhpVersion), |
|
393 |
+ sprintf('You are running PHP version "<strong>%s</strong>", but Symfony needs at least PHP "<strong>%s</strong>" to run. |
|
394 |
+ Before using Symfony, upgrade your PHP installation, preferably to the latest version.', |
|
395 |
+ $installedPhpVersion, self::REQUIRED_PHP_VERSION), |
|
396 |
+ sprintf('Install PHP %s or newer (installed version is %s)', self::REQUIRED_PHP_VERSION, $installedPhpVersion) |
|
397 |
+ ); |
|
398 |
+ |
|
399 |
+ $this->addRequirement( |
|
400 |
+ version_compare($installedPhpVersion, '5.3.16', '!='), |
|
401 |
+ 'PHP version must not be 5.3.16 as Symfony won\'t work properly with it', |
|
402 |
+ 'Install PHP 5.3.17 or newer (or downgrade to an earlier PHP version)' |
|
403 |
+ ); |
|
404 |
+ |
|
405 |
+ $this->addRequirement( |
|
406 |
+ is_dir(__DIR__.'/../vendor/composer'), |
|
407 |
+ 'Vendor libraries must be installed', |
|
408 |
+ 'Vendor libraries are missing. Install composer following instructions from <a href="http://getcomposer.org/">http://getcomposer.org/</a>. '. |
|
409 |
+ 'Then run "<strong>php composer.phar install</strong>" to install them.' |
|
410 |
+ ); |
|
411 |
+ |
|
412 |
+ $cacheDir = is_dir(__DIR__.'/../var/cache') ? __DIR__.'/../var/cache' : __DIR__.'/cache'; |
|
413 |
+ |
|
414 |
+ $this->addRequirement( |
|
415 |
+ is_writable($cacheDir), |
|
416 |
+ 'app/cache/ or var/cache/ directory must be writable', |
|
417 |
+ 'Change the permissions of either "<strong>app/cache/</strong>" or "<strong>var/cache/</strong>" directory so that the web server can write into it.' |
|
418 |
+ ); |
|
419 |
+ |
|
420 |
+ $logsDir = is_dir(__DIR__.'/../var/logs') ? __DIR__.'/../var/logs' : __DIR__.'/logs'; |
|
421 |
+ |
|
422 |
+ $this->addRequirement( |
|
423 |
+ is_writable($logsDir), |
|
424 |
+ 'app/logs/ or var/logs/ directory must be writable', |
|
425 |
+ 'Change the permissions of either "<strong>app/logs/</strong>" or "<strong>var/logs/</strong>" directory so that the web server can write into it.' |
|
426 |
+ ); |
|
427 |
+ |
|
428 |
+ $this->addPhpIniRequirement( |
|
429 |
+ 'date.timezone', true, false, |
|
430 |
+ 'date.timezone setting must be set', |
|
431 |
+ 'Set the "<strong>date.timezone</strong>" setting in php.ini<a href="#phpini">*</a> (like Europe/Paris).' |
|
432 |
+ ); |
|
433 |
+ |
|
434 |
+ if (version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>=')) { |
|
435 |
+ $timezones = array(); |
|
436 |
+ foreach (DateTimeZone::listAbbreviations() as $abbreviations) { |
|
437 |
+ foreach ($abbreviations as $abbreviation) { |
|
438 |
+ $timezones[$abbreviation['timezone_id']] = true; |
|
439 |
+ } |
|
440 |
+ } |
|
441 |
+ |
|
442 |
+ $this->addRequirement( |
|
443 |
+ isset($timezones[@date_default_timezone_get()]), |
|
444 |
+ sprintf('Configured default timezone "%s" must be supported by your installation of PHP', @date_default_timezone_get()), |
|
445 |
+ 'Your default timezone is not supported by PHP. Check for typos in your <strong>php.ini</strong> file and have a look at the list of deprecated timezones at <a href="http://php.net/manual/en/timezones.others.php">http://php.net/manual/en/timezones.others.php</a>.' |
|
446 |
+ ); |
|
447 |
+ } |
|
448 |
+ |
|
449 |
+ $this->addRequirement( |
|
450 |
+ function_exists('json_encode'), |
|
451 |
+ 'json_encode() must be available', |
|
452 |
+ 'Install and enable the <strong>JSON</strong> extension.' |
|
453 |
+ ); |
|
454 |
+ |
|
455 |
+ $this->addRequirement( |
|
456 |
+ function_exists('session_start'), |
|
457 |
+ 'session_start() must be available', |
|
458 |
+ 'Install and enable the <strong>session</strong> extension.' |
|
459 |
+ ); |
|
460 |
+ |
|
461 |
+ $this->addRequirement( |
|
462 |
+ function_exists('ctype_alpha'), |
|
463 |
+ 'ctype_alpha() must be available', |
|
464 |
+ 'Install and enable the <strong>ctype</strong> extension.' |
|
465 |
+ ); |
|
466 |
+ |
|
467 |
+ $this->addRequirement( |
|
468 |
+ function_exists('token_get_all'), |
|
469 |
+ 'token_get_all() must be available', |
|
470 |
+ 'Install and enable the <strong>Tokenizer</strong> extension.' |
|
471 |
+ ); |
|
472 |
+ |
|
473 |
+ $this->addRequirement( |
|
474 |
+ function_exists('simplexml_import_dom'), |
|
475 |
+ 'simplexml_import_dom() must be available', |
|
476 |
+ 'Install and enable the <strong>SimpleXML</strong> extension.' |
|
477 |
+ ); |
|
478 |
+ |
|
479 |
+ if (function_exists('apc_store') && ini_get('apc.enabled')) { |
|
480 |
+ if (version_compare($installedPhpVersion, '5.4.0', '>=')) { |
|
481 |
+ $this->addRequirement( |
|
482 |
+ version_compare(phpversion('apc'), '3.1.13', '>='), |
|
483 |
+ 'APC version must be at least 3.1.13 when using PHP 5.4', |
|
484 |
+ 'Upgrade your <strong>APC</strong> extension (3.1.13+).' |
|
485 |
+ ); |
|
486 |
+ } else { |
|
487 |
+ $this->addRequirement( |
|
488 |
+ version_compare(phpversion('apc'), '3.0.17', '>='), |
|
489 |
+ 'APC version must be at least 3.0.17', |
|
490 |
+ 'Upgrade your <strong>APC</strong> extension (3.0.17+).' |
|
491 |
+ ); |
|
492 |
+ } |
|
493 |
+ } |
|
494 |
+ |
|
495 |
+ $this->addPhpIniRequirement('detect_unicode', false); |
|
496 |
+ |
|
497 |
+ if (extension_loaded('suhosin')) { |
|
498 |
+ $this->addPhpIniRequirement( |
|
499 |
+ 'suhosin.executor.include.whitelist', |
|
500 |
+ create_function('$cfgValue', 'return false !== stripos($cfgValue, "phar");'), |
|
501 |
+ false, |
|
502 |
+ 'suhosin.executor.include.whitelist must be configured correctly in php.ini', |
|
503 |
+ 'Add "<strong>phar</strong>" to <strong>suhosin.executor.include.whitelist</strong> in php.ini<a href="#phpini">*</a>.' |
|
504 |
+ ); |
|
505 |
+ } |
|
506 |
+ |
|
507 |
+ if (extension_loaded('xdebug')) { |
|
508 |
+ $this->addPhpIniRequirement( |
|
509 |
+ 'xdebug.show_exception_trace', false, true |
|
510 |
+ ); |
|
511 |
+ |
|
512 |
+ $this->addPhpIniRequirement( |
|
513 |
+ 'xdebug.scream', false, true |
|
514 |
+ ); |
|
515 |
+ |
|
516 |
+ $this->addPhpIniRecommendation( |
|
517 |
+ 'xdebug.max_nesting_level', |
|
518 |
+ create_function('$cfgValue', 'return $cfgValue > 100;'), |
|
519 |
+ true, |
|
520 |
+ 'xdebug.max_nesting_level should be above 100 in php.ini', |
|
521 |
+ 'Set "<strong>xdebug.max_nesting_level</strong>" to e.g. "<strong>250</strong>" in php.ini<a href="#phpini">*</a> to stop Xdebug\'s infinite recursion protection erroneously throwing a fatal error in your project.' |
|
522 |
+ ); |
|
523 |
+ } |
|
524 |
+ |
|
525 |
+ $pcreVersion = defined('PCRE_VERSION') ? (float) PCRE_VERSION : null; |
|
526 |
+ |
|
527 |
+ $this->addRequirement( |
|
528 |
+ null !== $pcreVersion, |
|
529 |
+ 'PCRE extension must be available', |
|
530 |
+ 'Install the <strong>PCRE</strong> extension (version 8.0+).' |
|
531 |
+ ); |
|
532 |
+ |
|
533 |
+ if (extension_loaded('mbstring')) { |
|
534 |
+ $this->addPhpIniRequirement( |
|
535 |
+ 'mbstring.func_overload', |
|
536 |
+ create_function('$cfgValue', 'return (int) $cfgValue === 0;'), |
|
537 |
+ true, |
|
538 |
+ 'string functions should not be overloaded', |
|
539 |
+ 'Set "<strong>mbstring.func_overload</strong>" to <strong>0</strong> in php.ini<a href="#phpini">*</a> to disable function overloading by the mbstring extension.' |
|
540 |
+ ); |
|
541 |
+ } |
|
542 |
+ |
|
543 |
+ /* optional recommendations follow */ |
|
544 |
+ |
|
545 |
+ if (file_exists(__DIR__.'/../vendor/composer')) { |
|
546 |
+ require_once __DIR__.'/../vendor/autoload.php'; |
|
547 |
+ |
|
548 |
+ try { |
|
549 |
+ $r = new \ReflectionClass('Sensio\Bundle\DistributionBundle\SensioDistributionBundle'); |
|
550 |
+ |
|
551 |
+ $contents = file_get_contents(dirname($r->getFileName()).'/Resources/skeleton/app/SymfonyRequirements.php'); |
|
552 |
+ } catch (\ReflectionException $e) { |
|
553 |
+ $contents = ''; |
|
554 |
+ } |
|
555 |
+ $this->addRecommendation( |
|
556 |
+ file_get_contents(__FILE__) === $contents, |
|
557 |
+ 'Requirements file should be up-to-date', |
|
558 |
+ 'Your requirements file is outdated. Run composer install and re-check your configuration.' |
|
559 |
+ ); |
|
560 |
+ } |
|
561 |
+ |
|
562 |
+ $this->addRecommendation( |
|
563 |
+ version_compare($installedPhpVersion, '5.3.4', '>='), |
|
564 |
+ 'You should use at least PHP 5.3.4 due to PHP bug #52083 in earlier versions', |
|
565 |
+ 'Your project might malfunction randomly due to PHP bug #52083 ("Notice: Trying to get property of non-object"). Install PHP 5.3.4 or newer.' |
|
566 |
+ ); |
|
567 |
+ |
|
568 |
+ $this->addRecommendation( |
|
569 |
+ version_compare($installedPhpVersion, '5.3.8', '>='), |
|
570 |
+ 'When using annotations you should have at least PHP 5.3.8 due to PHP bug #55156', |
|
571 |
+ 'Install PHP 5.3.8 or newer if your project uses annotations.' |
|
572 |
+ ); |
|
573 |
+ |
|
574 |
+ $this->addRecommendation( |
|
575 |
+ version_compare($installedPhpVersion, '5.4.0', '!='), |
|
576 |
+ 'You should not use PHP 5.4.0 due to the PHP bug #61453', |
|
577 |
+ 'Your project might not work properly due to the PHP bug #61453 ("Cannot dump definitions which have method calls"). Install PHP 5.4.1 or newer.' |
|
578 |
+ ); |
|
579 |
+ |
|
580 |
+ $this->addRecommendation( |
|
581 |
+ version_compare($installedPhpVersion, '5.4.11', '>='), |
|
582 |
+ 'When using the logout handler from the Symfony Security Component, you should have at least PHP 5.4.11 due to PHP bug #63379 (as a workaround, you can also set invalidate_session to false in the security logout handler configuration)', |
|
583 |
+ 'Install PHP 5.4.11 or newer if your project uses the logout handler from the Symfony Security Component.' |
|
584 |
+ ); |
|
585 |
+ |
|
586 |
+ $this->addRecommendation( |
|
587 |
+ (version_compare($installedPhpVersion, '5.3.18', '>=') && version_compare($installedPhpVersion, '5.4.0', '<')) |
|
588 |
+ || |
|
589 |
+ version_compare($installedPhpVersion, '5.4.8', '>='), |
|
590 |
+ 'You should use PHP 5.3.18+ or PHP 5.4.8+ to always get nice error messages for fatal errors in the development environment due to PHP bug #61767/#60909', |
|
591 |
+ 'Install PHP 5.3.18+ or PHP 5.4.8+ if you want nice error messages for all fatal errors in the development environment.' |
|
592 |
+ ); |
|
593 |
+ |
|
594 |
+ if (null !== $pcreVersion) { |
|
595 |
+ $this->addRecommendation( |
|
596 |
+ $pcreVersion >= 8.0, |
|
597 |
+ sprintf('PCRE extension should be at least version 8.0 (%s installed)', $pcreVersion), |
|
598 |
+ '<strong>PCRE 8.0+</strong> is preconfigured in PHP since 5.3.2 but you are using an outdated version of it. Symfony probably works anyway but it is recommended to upgrade your PCRE extension.' |
|
599 |
+ ); |
|
600 |
+ } |
|
601 |
+ |
|
602 |
+ $this->addRecommendation( |
|
603 |
+ class_exists('DomDocument'), |
|
604 |
+ 'PHP-DOM and PHP-XML modules should be installed', |
|
605 |
+ 'Install and enable the <strong>PHP-DOM</strong> and the <strong>PHP-XML</strong> modules.' |
|
606 |
+ ); |
|
607 |
+ |
|
608 |
+ $this->addRecommendation( |
|
609 |
+ function_exists('mb_strlen'), |
|
610 |
+ 'mb_strlen() should be available', |
|
611 |
+ 'Install and enable the <strong>mbstring</strong> extension.' |
|
612 |
+ ); |
|
613 |
+ |
|
614 |
+ $this->addRecommendation( |
|
615 |
+ function_exists('iconv'), |
|
616 |
+ 'iconv() should be available', |
|
617 |
+ 'Install and enable the <strong>iconv</strong> extension.' |
|
618 |
+ ); |
|
619 |
+ |
|
620 |
+ $this->addRecommendation( |
|
621 |
+ function_exists('utf8_decode'), |
|
622 |
+ 'utf8_decode() should be available', |
|
623 |
+ 'Install and enable the <strong>XML</strong> extension.' |
|
624 |
+ ); |
|
625 |
+ |
|
626 |
+ $this->addRecommendation( |
|
627 |
+ function_exists('filter_var'), |
|
628 |
+ 'filter_var() should be available', |
|
629 |
+ 'Install and enable the <strong>filter</strong> extension.' |
|
630 |
+ ); |
|
631 |
+ |
|
632 |
+ if (!defined('PHP_WINDOWS_VERSION_BUILD')) { |
|
633 |
+ $this->addRecommendation( |
|
634 |
+ function_exists('posix_isatty'), |
|
635 |
+ 'posix_isatty() should be available', |
|
636 |
+ 'Install and enable the <strong>php_posix</strong> extension (used to colorize the CLI output).' |
|
637 |
+ ); |
|
638 |
+ } |
|
639 |
+ |
|
640 |
+ $this->addRecommendation( |
|
641 |
+ class_exists('Locale'), |
|
642 |
+ 'intl extension should be available', |
|
643 |
+ 'Install and enable the <strong>intl</strong> extension (used for validators).' |
|
644 |
+ ); |
|
645 |
+ |
|
646 |
+ if (extension_loaded('intl')) { |
|
647 |
+ // in some WAMP server installations, new Collator() returns null |
|
648 |
+ $this->addRecommendation( |
|
649 |
+ null !== new Collator('fr_FR'), |
|
650 |
+ 'intl extension should be correctly configured', |
|
651 |
+ 'The intl extension does not behave properly. This problem is typical on PHP 5.3.X x64 WIN builds.' |
|
652 |
+ ); |
|
653 |
+ |
|
654 |
+ // check for compatible ICU versions (only done when you have the intl extension) |
|
655 |
+ if (defined('INTL_ICU_VERSION')) { |
|
656 |
+ $version = INTL_ICU_VERSION; |
|
657 |
+ } else { |
|
658 |
+ $reflector = new ReflectionExtension('intl'); |
|
659 |
+ |
|
660 |
+ ob_start(); |
|
661 |
+ $reflector->info(); |
|
662 |
+ $output = strip_tags(ob_get_clean()); |
|
663 |
+ |
|
664 |
+ preg_match('/^ICU version +(?:=> )?(.*)$/m', $output, $matches); |
|
665 |
+ $version = $matches[1]; |
|
666 |
+ } |
|
667 |
+ |
|
668 |
+ $this->addRecommendation( |
|
669 |
+ version_compare($version, '4.0', '>='), |
|
670 |
+ 'intl ICU version should be at least 4+', |
|
671 |
+ 'Upgrade your <strong>intl</strong> extension with a newer ICU version (4+).' |
|
672 |
+ ); |
|
673 |
+ |
|
674 |
+ $this->addPhpIniRecommendation( |
|
675 |
+ 'intl.error_level', |
|
676 |
+ create_function('$cfgValue', 'return (int) $cfgValue === 0;'), |
|
677 |
+ true, |
|
678 |
+ 'intl.error_level should be 0 in php.ini', |
|
679 |
+ 'Set "<strong>intl.error_level</strong>" to "<strong>0</strong>" in php.ini<a href="#phpini">*</a> to inhibit the messages when an error occurs in ICU functions.' |
|
680 |
+ ); |
|
681 |
+ } |
|
682 |
+ |
|
683 |
+ $accelerator = |
|
684 |
+ (extension_loaded('eaccelerator') && ini_get('eaccelerator.enable')) |
|
685 |
+ || |
|
686 |
+ (extension_loaded('apc') && ini_get('apc.enabled')) |
|
687 |
+ || |
|
688 |
+ (extension_loaded('Zend Optimizer+') && ini_get('zend_optimizerplus.enable')) |
|
689 |
+ || |
|
690 |
+ (extension_loaded('Zend OPcache') && ini_get('opcache.enable')) |
|
691 |
+ || |
|
692 |
+ (extension_loaded('xcache') && ini_get('xcache.cacher')) |
|
693 |
+ || |
|
694 |
+ (extension_loaded('wincache') && ini_get('wincache.ocenabled')) |
|
695 |
+ ; |
|
696 |
+ |
|
697 |
+ $this->addRecommendation( |
|
698 |
+ $accelerator, |
|
699 |
+ 'a PHP accelerator should be installed', |
|
700 |
+ 'Install and/or enable a <strong>PHP accelerator</strong> (highly recommended).' |
|
701 |
+ ); |
|
702 |
+ |
|
703 |
+ if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { |
|
704 |
+ $this->addRecommendation( |
|
705 |
+ $this->getRealpathCacheSize() > 1000, |
|
706 |
+ 'realpath_cache_size should be above 1024 in php.ini', |
|
707 |
+ 'Set "<strong>realpath_cache_size</strong>" to e.g. "<strong>1024</strong>" in php.ini<a href="#phpini">*</a> to improve performance on windows.' |
|
708 |
+ ); |
|
709 |
+ } |
|
710 |
+ |
|
711 |
+ $this->addPhpIniRecommendation('short_open_tag', false); |
|
712 |
+ |
|
713 |
+ $this->addPhpIniRecommendation('magic_quotes_gpc', false, true); |
|
714 |
+ |
|
715 |
+ $this->addPhpIniRecommendation('register_globals', false, true); |
|
716 |
+ |
|
717 |
+ $this->addPhpIniRecommendation('session.auto_start', false); |
|
718 |
+ |
|
719 |
+ $this->addRecommendation( |
|
720 |
+ class_exists('PDO'), |
|
721 |
+ 'PDO should be installed', |
|
722 |
+ 'Install <strong>PDO</strong> (mandatory for Doctrine).' |
|
723 |
+ ); |
|
724 |
+ |
|
725 |
+ if (class_exists('PDO')) { |
|
726 |
+ $drivers = PDO::getAvailableDrivers(); |
|
727 |
+ $this->addRecommendation( |
|
728 |
+ count($drivers) > 0, |
|
729 |
+ sprintf('PDO should have some drivers installed (currently available: %s)', count($drivers) ? implode(', ', $drivers) : 'none'), |
|
730 |
+ 'Install <strong>PDO drivers</strong> (mandatory for Doctrine).' |
|
731 |
+ ); |
|
732 |
+ } |
|
733 |
+ } |
|
734 |
+ |
|
735 |
+ /** |
|
736 |
+ * Loads realpath_cache_size from php.ini and converts it to int. |
|
737 |
+ * |
|
738 |
+ * (e.g. 16k is converted to 16384 int) |
|
739 |
+ * |
|
740 |
+ * @return int |
|
741 |
+ */ |
|
742 |
+ protected function getRealpathCacheSize() |
|
743 |
+ { |
|
744 |
+ $size = ini_get('realpath_cache_size'); |
|
745 |
+ $size = trim($size); |
|
746 |
+ $unit = strtolower(substr($size, -1, 1)); |
|
747 |
+ switch ($unit) { |
|
748 |
+ case 'g': |
|
749 |
+ return $size * 1024 * 1024 * 1024; |
|
750 |
+ case 'm': |
|
751 |
+ return $size * 1024 * 1024; |
|
752 |
+ case 'k': |
|
753 |
+ return $size * 1024; |
|
754 |
+ default: |
|
755 |
+ return (int) $size; |
|
756 |
+ } |
|
757 |
+ } |
|
758 |
+} |
0 | 759 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,13 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+use Doctrine\Common\Annotations\AnnotationRegistry; |
|
4 |
+use Composer\Autoload\ClassLoader; |
|
5 |
+ |
|
6 |
+/** |
|
7 |
+ * @var ClassLoader $loader |
|
8 |
+ */ |
|
9 |
+$loader = require __DIR__.'/../vendor/autoload.php'; |
|
10 |
+ |
|
11 |
+AnnotationRegistry::registerLoader(array($loader, 'loadClass')); |
|
12 |
+ |
|
13 |
+return $loader; |
1 | 15 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,142 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+require_once dirname(__FILE__).'/SymfonyRequirements.php'; |
|
4 |
+ |
|
5 |
+$lineSize = 70; |
|
6 |
+$symfonyRequirements = new SymfonyRequirements(); |
|
7 |
+$iniPath = $symfonyRequirements->getPhpIniConfigPath(); |
|
8 |
+ |
|
9 |
+echo_title('Symfony2 Requirements Checker'); |
|
10 |
+ |
|
11 |
+echo '> PHP is using the following php.ini file:'.PHP_EOL; |
|
12 |
+if ($iniPath) { |
|
13 |
+ echo_style('green', ' '.$iniPath); |
|
14 |
+} else { |
|
15 |
+ echo_style('warning', ' WARNING: No configuration file (php.ini) used by PHP!'); |
|
16 |
+} |
|
17 |
+ |
|
18 |
+echo PHP_EOL.PHP_EOL; |
|
19 |
+ |
|
20 |
+echo '> Checking Symfony requirements:'.PHP_EOL.' '; |
|
21 |
+ |
|
22 |
+$messages = array(); |
|
23 |
+foreach ($symfonyRequirements->getRequirements() as $req) { |
|
24 |
+ /** @var $req Requirement */ |
|
25 |
+ if ($helpText = get_error_message($req, $lineSize)) { |
|
26 |
+ echo_style('red', 'E'); |
|
27 |
+ $messages['error'][] = $helpText; |
|
28 |
+ } else { |
|
29 |
+ echo_style('green', '.'); |
|
30 |
+ } |
|
31 |
+} |
|
32 |
+ |
|
33 |
+$checkPassed = empty($messages['error']); |
|
34 |
+ |
|
35 |
+foreach ($symfonyRequirements->getRecommendations() as $req) { |
|
36 |
+ if ($helpText = get_error_message($req, $lineSize)) { |
|
37 |
+ echo_style('yellow', 'W'); |
|
38 |
+ $messages['warning'][] = $helpText; |
|
39 |
+ } else { |
|
40 |
+ echo_style('green', '.'); |
|
41 |
+ } |
|
42 |
+} |
|
43 |
+ |
|
44 |
+if ($checkPassed) { |
|
45 |
+ echo_block('success', 'OK', 'Your system is ready to run Symfony2 projects', true); |
|
46 |
+} else { |
|
47 |
+ echo_block('error', 'ERROR', 'Your system is not ready to run Symfony2 projects', true); |
|
48 |
+ |
|
49 |
+ echo_title('Fix the following mandatory requirements', 'red'); |
|
50 |
+ |
|
51 |
+ foreach ($messages['error'] as $helpText) { |
|
52 |
+ echo ' * '.$helpText.PHP_EOL; |
|
53 |
+ } |
|
54 |
+} |
|
55 |
+ |
|
56 |
+if (!empty($messages['warning'])) { |
|
57 |
+ echo_title('Optional recommendations to improve your setup', 'yellow'); |
|
58 |
+ |
|
59 |
+ foreach ($messages['warning'] as $helpText) { |
|
60 |
+ echo ' * '.$helpText.PHP_EOL; |
|
61 |
+ } |
|
62 |
+} |
|
63 |
+ |
|
64 |
+echo PHP_EOL; |
|
65 |
+echo_style('title', 'Note'); |
|
66 |
+echo ' The command console could use a different php.ini file'.PHP_EOL; |
|
67 |
+echo_style('title', '~~~~'); |
|
68 |
+echo ' than the one used with your web server. To be on the'.PHP_EOL; |
|
69 |
+echo ' safe side, please check the requirements from your web'.PHP_EOL; |
|
70 |
+echo ' server using the '; |
|
71 |
+echo_style('yellow', 'web/config.php'); |
|
72 |
+echo ' script.'.PHP_EOL; |
|
73 |
+echo PHP_EOL; |
|
74 |
+ |
|
75 |
+exit($checkPassed ? 0 : 1); |
|
76 |
+ |
|
77 |
+function get_error_message(Requirement $requirement, $lineSize) |
|
78 |
+{ |
|
79 |
+ if ($requirement->isFulfilled()) { |
|
80 |
+ return; |
|
81 |
+ } |
|
82 |
+ |
|
83 |
+ $errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL; |
|
84 |
+ $errorMessage .= ' > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.' > ').PHP_EOL; |
|
85 |
+ |
|
86 |
+ return $errorMessage; |
|
87 |
+} |
|
88 |
+ |
|
89 |
+function echo_title($title, $style = null) |
|
90 |
+{ |
|
91 |
+ $style = $style ?: 'title'; |
|
92 |
+ |
|
93 |
+ echo PHP_EOL; |
|
94 |
+ echo_style($style, $title.PHP_EOL); |
|
95 |
+ echo_style($style, str_repeat('~', strlen($title)).PHP_EOL); |
|
96 |
+ echo PHP_EOL; |
|
97 |
+} |
|
98 |
+ |
|
99 |
+function echo_style($style, $message) |
|
100 |
+{ |
|
101 |
+ // ANSI color codes |
|
102 |
+ $styles = array( |
|
103 |
+ 'reset' => "\033[0m", |
|
104 |
+ 'red' => "\033[31m", |
|
105 |
+ 'green' => "\033[32m", |
|
106 |
+ 'yellow' => "\033[33m", |
|
107 |
+ 'error' => "\033[37;41m", |
|
108 |
+ 'success' => "\033[37;42m", |
|
109 |
+ 'title' => "\033[34m", |
|
110 |
+ ); |
|
111 |
+ $supports = has_color_support(); |
|
112 |
+ |
|
113 |
+ echo($supports ? $styles[$style] : '').$message.($supports ? $styles['reset'] : ''); |
|
114 |
+} |
|
115 |
+ |
|
116 |
+function echo_block($style, $title, $message) |
|
117 |
+{ |
|
118 |
+ $message = ' '.trim($message).' '; |
|
119 |
+ $width = strlen($message); |
|
120 |
+ |
|
121 |
+ echo PHP_EOL.PHP_EOL; |
|
122 |
+ |
|
123 |
+ echo_style($style, str_repeat(' ', $width).PHP_EOL); |
|
124 |
+ echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL); |
|
125 |
+ echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL); |
|
126 |
+ echo_style($style, str_repeat(' ', $width).PHP_EOL); |
|
127 |
+} |
|
128 |
+ |
|
129 |
+function has_color_support() |
|
130 |
+{ |
|
131 |
+ static $support; |
|
132 |
+ |
|
133 |
+ if (null === $support) { |
|
134 |
+ if (DIRECTORY_SEPARATOR == '\\') { |
|
135 |
+ $support = false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI'); |
|
136 |
+ } else { |
|
137 |
+ $support = function_exists('posix_isatty') && @posix_isatty(STDOUT); |
|
138 |
+ } |
|
139 |
+ } |
|
140 |
+ |
|
141 |
+ return $support; |
|
142 |
+} |
0 | 143 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,80 @@ |
1 |
+imports: |
|
2 |
+ - { resource: parameters.yml } |
|
3 |
+ - { resource: security.yml } |
|
4 |
+ - { resource: services.yml } |
|
5 |
+ |
|
6 |
+# Put parameters here that don't need to change on each machine where the app is deployed |
|
7 |
+# http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration |
|
8 |
+parameters: |
|
9 |
+ locale: en |
|
10 |
+ |
|
11 |
+framework: |
|
12 |
+ #esi: ~ |
|
13 |
+ #translator: { fallbacks: ["%locale%"] } |
|
14 |
+ secret: "%secret%" |
|
15 |
+ router: |
|
16 |
+ resource: "%kernel.root_dir%/config/routing.yml" |
|
17 |
+ strict_requirements: ~ |
|
18 |
+ form: ~ |
|
19 |
+ csrf_protection: ~ |
|
20 |
+ validation: { enable_annotations: true } |
|
21 |
+ #serializer: { enable_annotations: true } |
|
22 |
+ templating: |
|
23 |
+ engines: ['twig'] |
|
24 |
+ #assets_version: SomeVersionScheme |
|
25 |
+ default_locale: "%locale%" |
|
26 |
+ trusted_hosts: ~ |
|
27 |
+ trusted_proxies: ~ |
|
28 |
+ session: |
|
29 |
+ # handler_id set to null will use default session handler from php.ini |
|
30 |
+ handler_id: ~ |
|
31 |
+ fragments: ~ |
|
32 |
+ http_method_override: true |
|
33 |
+ |
|
34 |
+# Twig Configuration |
|
35 |
+twig: |
|
36 |
+ debug: "%kernel.debug%" |
|
37 |
+ strict_variables: "%kernel.debug%" |
|
38 |
+ |
|
39 |
+# Assetic Configuration |
|
40 |
+assetic: |
|
41 |
+ debug: "%kernel.debug%" |
|
42 |
+ use_controller: false |
|
43 |
+ bundles: [ ] |
|
44 |
+ #java: /usr/bin/java |
|
45 |
+ filters: |
|
46 |
+ cssrewrite: ~ |
|
47 |
+ #closure: |
|
48 |
+ # jar: "%kernel.root_dir%/Resources/java/compiler.jar" |
|
49 |
+ #yui_css: |
|
50 |
+ # jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar" |
|
51 |
+ |
|
52 |
+# Doctrine Configuration |
|
53 |
+doctrine: |
|
54 |
+ dbal: |
|
55 |
+ driver: pdo_mysql |
|
56 |
+ host: "%database_host%" |
|
57 |
+ port: "%database_port%" |
|
58 |
+ dbname: "%database_name%" |
|
59 |
+ user: "%database_user%" |
|
60 |
+ password: "%database_password%" |
|
61 |
+ charset: UTF8 |
|
62 |
+ # if using pdo_sqlite as your database driver: |
|
63 |
+ # 1. add the path in parameters.yml |
|
64 |
+ # e.g. database_path: "%kernel.root_dir%/data/data.db3" |
|
65 |
+ # 2. Uncomment database_path in parameters.yml.dist |
|
66 |
+ # 3. Uncomment next line: |
|
67 |
+ # path: "%database_path%" |
|
68 |
+ |
|
69 |
+ orm: |
|
70 |
+ auto_generate_proxy_classes: "%kernel.debug%" |
|
71 |
+ naming_strategy: doctrine.orm.naming_strategy.underscore |
|
72 |
+ auto_mapping: true |
|
73 |
+ |
|
74 |
+# Swiftmailer Configuration |
|
75 |
+swiftmailer: |
|
76 |
+ transport: "%mailer_transport%" |
|
77 |
+ host: "%mailer_host%" |
|
78 |
+ username: "%mailer_user%" |
|
79 |
+ password: "%mailer_password%" |
|
80 |
+ spool: { type: memory } |
0 | 81 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,48 @@ |
1 |
+imports: |
|
2 |
+ - { resource: config.yml } |
|
3 |
+ |
|
4 |
+framework: |
|
5 |
+ router: |
|
6 |
+ resource: "%kernel.root_dir%/config/routing_dev.yml" |
|
7 |
+ strict_requirements: true |
|
8 |
+ profiler: { only_exceptions: false } |
|
9 |
+ |
|
10 |
+web_profiler: |
|
11 |
+ toolbar: true |
|
12 |
+ intercept_redirects: false |
|
13 |
+ |
|
14 |
+monolog: |
|
15 |
+ handlers: |
|
16 |
+ main: |
|
17 |
+ type: stream |
|
18 |
+ path: "%kernel.logs_dir%/%kernel.environment%.log" |
|
19 |
+ level: debug |
|
20 |
+ console: |
|
21 |
+ type: console |
|
22 |
+ bubble: false |
|
23 |
+ verbosity_levels: |
|
24 |
+ VERBOSITY_VERBOSE: INFO |
|
25 |
+ VERBOSITY_VERY_VERBOSE: DEBUG |
|
26 |
+ channels: ["!doctrine"] |
|
27 |
+ console_very_verbose: |
|
28 |
+ type: console |
|
29 |
+ bubble: false |
|
30 |
+ verbosity_levels: |
|
31 |
+ VERBOSITY_VERBOSE: NOTICE |
|
32 |
+ VERBOSITY_VERY_VERBOSE: NOTICE |
|
33 |
+ VERBOSITY_DEBUG: DEBUG |
|
34 |
+ channels: ["doctrine"] |
|
35 |
+ # uncomment to get logging in your browser |
|
36 |
+ # you may have to allow bigger header sizes in your Web server configuration |
|
37 |
+ #firephp: |
|
38 |
+ # type: firephp |
|
39 |
+ # level: info |
|
40 |
+ #chromephp: |
|
41 |
+ # type: chromephp |
|
42 |
+ # level: info |
|
43 |
+ |
|
44 |
+assetic: |
|
45 |
+ use_controller: true |
|
46 |
+ |
|
47 |
+#swiftmailer: |
|
48 |
+# delivery_address: me@example.com |
0 | 49 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,27 @@ |
1 |
+imports: |
|
2 |
+ - { resource: config.yml } |
|
3 |
+ |
|
4 |
+#framework: |
|
5 |
+# validation: |
|
6 |
+# cache: validator.mapping.cache.apc |
|
7 |
+# serializer: |
|
8 |
+# cache: serializer.mapping.cache.apc |
|
9 |
+ |
|
10 |
+#doctrine: |
|
11 |
+# orm: |
|
12 |
+# metadata_cache_driver: apc |
|
13 |
+# result_cache_driver: apc |
|
14 |
+# query_cache_driver: apc |
|
15 |
+ |
|
16 |
+monolog: |
|
17 |
+ handlers: |
|
18 |
+ main: |
|
19 |
+ type: fingers_crossed |
|
20 |
+ action_level: error |
|
21 |
+ handler: nested |
|
22 |
+ nested: |
|
23 |
+ type: stream |
|
24 |
+ path: "%kernel.logs_dir%/%kernel.environment%.log" |
|
25 |
+ level: debug |
|
26 |
+ console: |
|
27 |
+ type: console |
0 | 28 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,16 @@ |
1 |
+imports: |
|
2 |
+ - { resource: config_dev.yml } |
|
3 |
+ |
|
4 |
+framework: |
|
5 |
+ test: ~ |
|
6 |
+ session: |
|
7 |
+ storage_id: session.storage.mock_file |
|
8 |
+ profiler: |
|
9 |
+ collect: false |
|
10 |
+ |
|
11 |
+web_profiler: |
|
12 |
+ toolbar: false |
|
13 |
+ intercept_redirects: false |
|
14 |
+ |
|
15 |
+swiftmailer: |
|
16 |
+ disable_delivery: true |
0 | 17 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,19 @@ |
1 |
+# This file is a "template" of what your parameters.yml file should look like |
|
2 |
+# Set parameters here that may be different on each deployment target of the app, e.g. development, staging, production. |
|
3 |
+# http://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration |
|
4 |
+parameters: |
|
5 |
+ database_host: 127.0.0.1 |
|
6 |
+ database_port: ~ |
|
7 |
+ database_name: symfony |
|
8 |
+ database_user: root |
|
9 |
+ database_password: ~ |
|
10 |
+ # You should uncomment this if you want use pdo_sqlite |
|
11 |
+ # database_path: "%kernel.root_dir%/data.db3" |
|
12 |
+ |
|
13 |
+ mailer_transport: smtp |
|
14 |
+ mailer_host: 127.0.0.1 |
|
15 |
+ mailer_user: ~ |
|
16 |
+ mailer_password: ~ |
|
17 |
+ |
|
18 |
+ # A secret key that's used to generate certain security-related tokens |
|
19 |
+ secret: ThisTokenIsNotSoSecretChangeIt |
0 | 8 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,18 @@ |
1 |
+_wdt: |
|
2 |
+ resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml" |
|
3 |
+ prefix: /_wdt |
|
4 |
+ |
|
5 |
+_profiler: |
|
6 |
+ resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" |
|
7 |
+ prefix: /_profiler |
|
8 |
+ |
|
9 |
+_configurator: |
|
10 |
+ resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml" |
|
11 |
+ prefix: /_configurator |
|
12 |
+ |
|
13 |
+_errors: |
|
14 |
+ resource: "@TwigBundle/Resources/config/routing/errors.xml" |
|
15 |
+ prefix: /_error |
|
16 |
+ |
|
17 |
+_main: |
|
18 |
+ resource: routing.yml |
0 | 19 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,24 @@ |
1 |
+# To get started with security, check out the documentation: |
|
2 |
+# http://symfony.com/doc/current/book/security.html |
|
3 |
+security: |
|
4 |
+ |
|
5 |
+ # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers |
|
6 |
+ providers: |
|
7 |
+ in_memory: |
|
8 |
+ memory: ~ |
|
9 |
+ |
|
10 |
+ firewalls: |
|
11 |
+ # disables authentication for assets and the profiler, adapt it according to your needs |
|
12 |
+ dev: |
|
13 |
+ pattern: ^/(_(profiler|wdt)|css|images|js)/ |
|
14 |
+ security: false |
|
15 |
+ |
|
16 |
+ main: |
|
17 |
+ anonymous: ~ |
|
18 |
+ # activate different ways to authenticate |
|
19 |
+ |
|
20 |
+ # http_basic: ~ |
|
21 |
+ # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate |
|
22 |
+ |
|
23 |
+ # form_login: ~ |
|
24 |
+ # http://symfony.com/doc/current/cookbook/security/form_login_setup.html |
0 | 25 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,9 @@ |
1 |
+# Learn more about services, parameters and containers at |
|
2 |
+# http://symfony.com/doc/current/book/service_container.html |
|
3 |
+parameters: |
|
4 |
+# parameter_name: value |
|
5 |
+ |
|
6 |
+services: |
|
7 |
+# service_name: |
|
8 |
+# class: AppBundle\Directory\ClassName |
|
9 |
+# arguments: ["@another_service_name", "plain_value", "%parameter_name%"] |
0 | 10 |
new file mode 100755 |
... | ... |
@@ -0,0 +1,27 @@ |
1 |
+#!/usr/bin/env php |
|
2 |
+<?php |
|
3 |
+ |
|
4 |
+// if you don't want to setup permissions the proper way, just uncomment the following PHP line |
|
5 |
+// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information |
|
6 |
+//umask(0000); |
|
7 |
+ |
|
8 |
+set_time_limit(0); |
|
9 |
+ |
|
10 |
+require_once __DIR__.'/bootstrap.php.cache'; |
|
11 |
+require_once __DIR__.'/AppKernel.php'; |
|
12 |
+ |
|
13 |
+use Symfony\Bundle\FrameworkBundle\Console\Application; |
|
14 |
+use Symfony\Component\Console\Input\ArgvInput; |
|
15 |
+use Symfony\Component\Debug\Debug; |
|
16 |
+ |
|
17 |
+$input = new ArgvInput(); |
|
18 |
+$env = $input->getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); |
|
19 |
+$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod'; |
|
20 |
+ |
|
21 |
+if ($debug) { |
|
22 |
+ Debug::enable(); |
|
23 |
+} |
|
24 |
+ |
|
25 |
+$kernel = new AppKernel($env, $debug); |
|
26 |
+$application = new Application($kernel); |
|
27 |
+$application->run($input); |
1 | 29 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,37 @@ |
1 |
+<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
+ |
|
3 |
+<!-- http://phpunit.de/manual/4.1/en/appendixes.configuration.html --> |
|
4 |
+<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
5 |
+ xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" |
|
6 |
+ backupGlobals="false" |
|
7 |
+ colors="true" |
|
8 |
+ bootstrap="bootstrap.php.cache" |
|
9 |
+> |
|
10 |
+ <testsuites> |
|
11 |
+ <testsuite name="Project Test Suite"> |
|
12 |
+ <directory>../src/*/*Bundle/Tests</directory> |
|
13 |
+ <directory>../src/*/Bundle/*Bundle/Tests</directory> |
|
14 |
+ <directory>../src/*Bundle/Tests</directory> |
|
15 |
+ </testsuite> |
|
16 |
+ </testsuites> |
|
17 |
+ |
|
18 |
+ <!-- |
|
19 |
+ <php> |
|
20 |
+ <server name="KERNEL_DIR" value="/path/to/your/app/" /> |
|
21 |
+ </php> |
|
22 |
+ --> |
|
23 |
+ |
|
24 |
+ <filter> |
|
25 |
+ <whitelist> |
|
26 |
+ <directory>../src</directory> |
|
27 |
+ <exclude> |
|
28 |
+ <directory>../src/*Bundle/Resources</directory> |
|
29 |
+ <directory>../src/*Bundle/Tests</directory> |
|
30 |
+ <directory>../src/*/*Bundle/Resources</directory> |
|
31 |
+ <directory>../src/*/*Bundle/Tests</directory> |
|
32 |
+ <directory>../src/*/Bundle/*Bundle/Resources</directory> |
|
33 |
+ <directory>../src/*/Bundle/*Bundle/Tests</directory> |
|
34 |
+ </exclude> |
|
35 |
+ </whitelist> |
|
36 |
+ </filter> |
|
37 |
+</phpunit> |
0 | 38 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,61 @@ |
1 |
+{ |
|
2 |
+ "name": "edwlan/blog", |
|
3 |
+ "license": "proprietary", |
|
4 |
+ "type": "project", |
|
5 |
+ "autoload": { |
|
6 |
+ "psr-4": { |
|
7 |
+ "": "src/", |
|
8 |
+ "SymfonyStandard\\": "app/SymfonyStandard/" |
|
9 |
+ } |
|
10 |
+ }, |
|
11 |
+ "require": { |
|
12 |
+ "php": ">=5.3.9", |
|
13 |
+ "symfony/symfony": "2.7.*", |
|
14 |
+ "doctrine/orm": "~2.2,>=2.2.3,<2.5", |
|
15 |
+ "doctrine/dbal": "<2.5", |
|
16 |
+ "doctrine/doctrine-bundle": "~1.4", |
|
17 |
+ "symfony/assetic-bundle": "~2.3", |
|
18 |
+ "symfony/swiftmailer-bundle": "~2.3", |
|
19 |
+ "symfony/monolog-bundle": "~2.4", |
|
20 |
+ "sensio/distribution-bundle": "~4.0", |
|
21 |
+ "sensio/framework-extra-bundle": "~3.0,>=3.0.2", |
|
22 |
+ "incenteev/composer-parameter-handler": "~2.0" |
|
23 |
+ }, |
|
24 |
+ "require-dev": { |
|
25 |
+ "sensio/generator-bundle": "~2.3" |
|
26 |
+ }, |
|
27 |
+ "scripts": { |
|
28 |
+ "post-root-package-install": [ |
|
29 |
+ "SymfonyStandard\\Composer::hookRootPackageInstall" |
|
30 |
+ ], |
|
31 |
+ "post-install-cmd": [ |
|
32 |
+ "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", |
|
33 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", |
|
34 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", |
|
35 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", |
|
36 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", |
|
37 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles", |
|
38 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" |
|
39 |
+ ], |
|
40 |
+ "post-update-cmd": [ |
|
41 |
+ "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", |
|
42 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", |
|
43 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", |
|
44 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", |
|
45 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", |
|
46 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles", |
|
47 |
+ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" |
|
48 |
+ ] |
|
49 |
+ }, |
|
50 |
+ "config": { |
|
51 |
+ "bin-dir": "bin" |
|
52 |
+ }, |
|
53 |
+ "extra": { |
|
54 |
+ "symfony-app-dir": "app", |
|
55 |
+ "symfony-web-dir": "web", |
|
56 |
+ "symfony-assets-install": "relative", |
|
57 |
+ "incenteev-parameters": { |
|
58 |
+ "file": "app/config/parameters.yml" |
|
59 |
+ } |
|
60 |
+ } |
|
61 |
+} |
0 | 62 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,1627 @@ |
1 |
+{ |
|
2 |
+ "_readme": [ |
|
3 |
+ "This file locks the dependencies of your project to a known state", |
|
4 |
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", |
|
5 |
+ "This file is @generated automatically" |
|
6 |
+ ], |
|
7 |
+ "hash": "b37a6884b9afa9cb54c7be83906c39ef", |
|
8 |
+ "packages": [ |
|
9 |
+ { |
|
10 |
+ "name": "doctrine/annotations", |
|
11 |
+ "version": "v1.2.6", |
|
12 |
+ "source": { |
|
13 |
+ "type": "git", |
|
14 |
+ "url": "https://github.com/doctrine/annotations.git", |
|
15 |
+ "reference": "f4a91702ca3cd2e568c3736aa031ed00c3752af4" |
|
16 |
+ }, |
|
17 |
+ "dist": { |
|
18 |
+ "type": "zip", |
|
19 |
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/f4a91702ca3cd2e568c3736aa031ed00c3752af4", |
|
20 |
+ "reference": "f4a91702ca3cd2e568c3736aa031ed00c3752af4", |
|
21 |
+ "shasum": "" |
|
22 |
+ }, |
|
23 |
+ "require": { |
|
24 |
+ "doctrine/lexer": "1.*", |
|
25 |
+ "php": ">=5.3.2" |
|
26 |
+ }, |
|
27 |
+ "require-dev": { |
|
28 |
+ "doctrine/cache": "1.*", |
|
29 |
+ "phpunit/phpunit": "4.*" |
|
30 |
+ }, |
|
31 |
+ "type": "library", |
|
32 |
+ "extra": { |
|
33 |
+ "branch-alias": { |
|
34 |
+ "dev-master": "1.3.x-dev" |
|
35 |
+ } |
|
36 |
+ }, |
|
37 |
+ "autoload": { |
|
38 |
+ "psr-0": { |
|
39 |
+ "Doctrine\\Common\\Annotations\\": "lib/" |
|
40 |
+ } |
|
41 |
+ }, |
|
42 |
+ "notification-url": "https://packagist.org/downloads/", |
|
43 |
+ "license": [ |
|
44 |
+ "MIT" |
|
45 |
+ ], |
|
46 |
+ "authors": [ |
|
47 |
+ { |
|
48 |
+ "name": "Roman Borschel", |
|
49 |
+ "email": "roman@code-factory.org" |
|
50 |
+ }, |
|
51 |
+ { |
|
52 |
+ "name": "Benjamin Eberlei", |
|
53 |
+ "email": "kontakt@beberlei.de" |
|
54 |
+ }, |
|
55 |
+ { |
|
56 |
+ "name": "Guilherme Blanco", |
|
57 |
+ "email": "guilhermeblanco@gmail.com" |
|
58 |
+ }, |
|
59 |
+ { |
|
60 |
+ "name": "Jonathan Wage", |
|
61 |
+ "email": "jonwage@gmail.com" |
|
62 |
+ }, |
|
63 |
+ { |
|
64 |
+ "name": "Johannes Schmitt", |
|
65 |
+ "email": "schmittjoh@gmail.com" |
|
66 |
+ } |
|
67 |
+ ], |
|
68 |
+ "description": "Docblock Annotations Parser", |
|
69 |
+ "homepage": "http://www.doctrine-project.org", |
|
70 |
+ "keywords": [ |
|
71 |
+ "annotations", |
|
72 |
+ "docblock", |
|
73 |
+ "parser" |
|
74 |
+ ], |
|
75 |
+ "time": "2015-06-17 12:21:22" |
|
76 |
+ }, |
|
77 |
+ { |
|
78 |
+ "name": "doctrine/cache", |
|
79 |
+ "version": "v1.4.1", |
|
80 |
+ "source": { |
|
81 |
+ "type": "git", |
|
82 |
+ "url": "https://github.com/doctrine/cache.git", |
|
83 |
+ "reference": "c9eadeb743ac6199f7eec423cb9426bc518b7b03" |
|
84 |
+ }, |
|
85 |
+ "dist": { |
|
86 |
+ "type": "zip", |
|
87 |
+ "url": "https://api.github.com/repos/doctrine/cache/zipball/c9eadeb743ac6199f7eec423cb9426bc518b7b03", |
|
88 |
+ "reference": "c9eadeb743ac6199f7eec423cb9426bc518b7b03", |
|
89 |
+ "shasum": "" |
|
90 |
+ }, |
|
91 |
+ "require": { |
|
92 |
+ "php": ">=5.3.2" |
|
93 |
+ }, |
|
94 |
+ "conflict": { |
|
95 |
+ "doctrine/common": ">2.2,<2.4" |
|
96 |
+ }, |
|
97 |
+ "require-dev": { |
|
98 |
+ "phpunit/phpunit": ">=3.7", |
|
99 |
+ "predis/predis": "~1.0", |
|
100 |
+ "satooshi/php-coveralls": "~0.6" |
|
101 |
+ }, |
|
102 |
+ "type": "library", |
|
103 |
+ "extra": { |
|
104 |
+ "branch-alias": { |
|
105 |
+ "dev-master": "1.5.x-dev" |
|
106 |
+ } |
|
107 |
+ }, |
|
108 |
+ "autoload": { |
|
109 |
+ "psr-0": { |
|
110 |
+ "Doctrine\\Common\\Cache\\": "lib/" |
|
111 |
+ } |
|
112 |
+ }, |
|
113 |
+ "notification-url": "https://packagist.org/downloads/", |
|
114 |
+ "license": [ |
|
115 |
+ "MIT" |
|
116 |
+ ], |
|
117 |
+ "authors": [ |
|
118 |
+ { |
|
119 |
+ "name": "Roman Borschel", |
|
120 |
+ "email": "roman@code-factory.org" |
|
121 |
+ }, |
|
122 |
+ { |
|
123 |
+ "name": "Benjamin Eberlei", |
|
124 |
+ "email": "kontakt@beberlei.de" |
|
125 |
+ }, |
|
126 |
+ { |
|
127 |
+ "name": "Guilherme Blanco", |
|
128 |
+ "email": "guilhermeblanco@gmail.com" |
|
129 |
+ }, |
|
130 |
+ { |
|
131 |
+ "name": "Jonathan Wage", |
|
132 |
+ "email": "jonwage@gmail.com" |
|
133 |
+ }, |
|
134 |
+ { |
|
135 |
+ "name": "Johannes Schmitt", |
|
136 |
+ "email": "schmittjoh@gmail.com" |
|
137 |
+ } |
|
138 |
+ ], |
|
139 |
+ "description": "Caching library offering an object-oriented API for many cache backends", |
|
140 |
+ "homepage": "http://www.doctrine-project.org", |
|
141 |
+ "keywords": [ |
|
142 |
+ "cache", |
|
143 |
+ "caching" |
|
144 |
+ ], |
|
145 |
+ "time": "2015-04-15 00:11:59" |
|
146 |
+ }, |
|
147 |
+ { |
|
148 |
+ "name": "doctrine/collections", |
|
149 |
+ "version": "v1.3.0", |
|
150 |
+ "source": { |
|
151 |
+ "type": "git", |
|
152 |
+ "url": "https://github.com/doctrine/collections.git", |
|
153 |
+ "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" |
|
154 |
+ }, |
|
155 |
+ "dist": { |
|
156 |
+ "type": "zip", |
|
157 |
+ "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", |
|
158 |
+ "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", |
|
159 |
+ "shasum": "" |
|
160 |
+ }, |
|
161 |
+ "require": { |
|
162 |
+ "php": ">=5.3.2" |
|
163 |
+ }, |
|
164 |
+ "require-dev": { |
|
165 |
+ "phpunit/phpunit": "~4.0" |
|
166 |
+ }, |
|
167 |
+ "type": "library", |
|
168 |
+ "extra": { |
|
169 |
+ "branch-alias": { |
|
170 |
+ "dev-master": "1.2.x-dev" |
|
171 |
+ } |
|
172 |
+ }, |
|
173 |
+ "autoload": { |
|
174 |
+ "psr-0": { |
|
175 |
+ "Doctrine\\Common\\Collections\\": "lib/" |
|
176 |
+ } |
|
177 |
+ }, |
|
178 |
+ "notification-url": "https://packagist.org/downloads/", |
|
179 |
+ "license": [ |
|
180 |
+ "MIT" |
|
181 |
+ ], |
|
182 |
+ "authors": [ |
|
183 |
+ { |
|
184 |
+ "name": "Roman Borschel", |
|
185 |
+ "email": "roman@code-factory.org" |
|
186 |
+ }, |
|
187 |
+ { |
|
188 |
+ "name": "Benjamin Eberlei", |
|
189 |
+ "email": "kontakt@beberlei.de" |
|
190 |
+ }, |
|
191 |
+ { |
|
192 |
+ "name": "Guilherme Blanco", |
|
193 |
+ "email": "guilhermeblanco@gmail.com" |
|
194 |
+ }, |
|
195 |
+ { |
|
196 |
+ "name": "Jonathan Wage", |
|
197 |
+ "email": "jonwage@gmail.com" |
|
198 |
+ }, |
|
199 |
+ { |
|
200 |
+ "name": "Johannes Schmitt", |
|
201 |
+ "email": "schmittjoh@gmail.com" |
|
202 |
+ } |
|
203 |
+ ], |
|
204 |
+ "description": "Collections Abstraction library", |
|
205 |
+ "homepage": "http://www.doctrine-project.org", |
|
206 |
+ "keywords": [ |
|
207 |
+ "array", |
|
208 |
+ "collections", |
|
209 |
+ "iterator" |
|
210 |
+ ], |
|
211 |
+ "time": "2015-04-14 22:21:58" |
|
212 |
+ }, |
|
213 |
+ { |
|
214 |
+ "name": "doctrine/common", |
|
215 |
+ "version": "v2.5.0", |
|
216 |
+ "source": { |
|
217 |
+ "type": "git", |
|
218 |
+ "url": "https://github.com/doctrine/common.git", |
|
219 |
+ "reference": "cd8daf2501e10c63dced7b8b9b905844316ae9d3" |
|
220 |
+ }, |
|
221 |
+ "dist": { |
|
222 |
+ "type": "zip", |
|
223 |
+ "url": "https://api.github.com/repos/doctrine/common/zipball/cd8daf2501e10c63dced7b8b9b905844316ae9d3", |
|
224 |
+ "reference": "cd8daf2501e10c63dced7b8b9b905844316ae9d3", |
|
225 |
+ "shasum": "" |
|
226 |
+ }, |
|
227 |
+ "require": { |
|
228 |
+ "doctrine/annotations": "1.*", |
|
229 |
+ "doctrine/cache": "1.*", |
|
230 |
+ "doctrine/collections": "1.*", |
|
231 |
+ "doctrine/inflector": "1.*", |
|
232 |
+ "doctrine/lexer": "1.*", |
|
233 |
+ "php": ">=5.3.2" |
|
234 |
+ }, |
|
235 |
+ "require-dev": { |
|
236 |
+ "phpunit/phpunit": "~3.7" |
|
237 |
+ }, |
|
238 |
+ "type": "library", |
|
239 |
+ "extra": { |
|
240 |
+ "branch-alias": { |
|
241 |
+ "dev-master": "2.6.x-dev" |
|
242 |
+ } |
|
243 |
+ }, |
|
244 |
+ "autoload": { |
|
245 |
+ "psr-0": { |
|
246 |
+ "Doctrine\\Common\\": "lib/" |
|
247 |
+ } |
|
248 |
+ }, |
|
249 |
+ "notification-url": "https://packagist.org/downloads/", |
|
250 |
+ "license": [ |
|
251 |
+ "MIT" |
|
252 |
+ ], |
|
253 |
+ "authors": [ |
|
254 |
+ { |
|
255 |
+ "name": "Roman Borschel", |
|
256 |
+ "email": "roman@code-factory.org" |
|
257 |
+ }, |
|
258 |
+ { |
|
259 |
+ "name": "Benjamin Eberlei", |
|
260 |
+ "email": "kontakt@beberlei.de" |
|
261 |
+ }, |
|
262 |
+ { |
|
263 |
+ "name": "Guilherme Blanco", |
|
264 |
+ "email": "guilhermeblanco@gmail.com" |
|
265 |
+ }, |
|
266 |
+ { |
|
267 |
+ "name": "Jonathan Wage", |
|
268 |
+ "email": "jonwage@gmail.com" |
|
269 |
+ }, |
|
270 |
+ { |
|
271 |
+ "name": "Johannes Schmitt", |
|
272 |
+ "email": "schmittjoh@gmail.com" |
|
273 |
+ } |
|
274 |
+ ], |
|
275 |
+ "description": "Common Library for Doctrine projects", |
|
276 |
+ "homepage": "http://www.doctrine-project.org", |
|
277 |
+ "keywords": [ |
|
278 |
+ "annotations", |
|
279 |
+ "collections", |
|
280 |
+ "eventmanager", |
|
281 |
+ "persistence", |
|
282 |
+ "spl" |
|
283 |
+ ], |
|
284 |
+ "time": "2015-04-02 19:55:44" |
|
285 |
+ }, |
|
286 |
+ { |
|
287 |
+ "name": "doctrine/dbal", |
|
288 |
+ "version": "v2.4.4", |
|
289 |
+ "source": { |
|
290 |
+ "type": "git", |
|
291 |
+ "url": "https://github.com/doctrine/dbal.git", |
|
292 |
+ "reference": "a370e5b95e509a7809d11f3d280acfc9310d464b" |
|
293 |
+ }, |
|
294 |
+ "dist": { |
|
295 |
+ "type": "zip", |
|
296 |
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/a370e5b95e509a7809d11f3d280acfc9310d464b", |
|
297 |
+ "reference": "a370e5b95e509a7809d11f3d280acfc9310d464b", |
|
298 |
+ "shasum": "" |
|
299 |
+ }, |
|
300 |
+ "require": { |
|
301 |
+ "doctrine/common": "~2.4", |
|
302 |
+ "php": ">=5.3.2" |
|
303 |
+ }, |
|
304 |
+ "require-dev": { |
|
305 |
+ "phpunit/phpunit": "3.7.*", |
|
306 |
+ "symfony/console": "~2.0" |
|
307 |
+ }, |
|
308 |
+ "suggest": { |
|
309 |
+ "symfony/console": "For helpful console commands such as SQL execution and import of files." |
|
310 |
+ }, |
|
311 |
+ "type": "library", |
|
312 |
+ "autoload": { |
|
313 |
+ "psr-0": { |
|
314 |
+ "Doctrine\\DBAL\\": "lib/" |
|
315 |
+ } |
|
316 |
+ }, |
|
317 |
+ "notification-url": "https://packagist.org/downloads/", |
|
318 |
+ "license": [ |
|
319 |
+ "MIT" |
|
320 |
+ ], |
|
321 |
+ "authors": [ |
|
322 |
+ { |
|
323 |
+ "name": "Roman Borschel", |
|
324 |
+ "email": "roman@code-factory.org" |
|
325 |
+ }, |
|
326 |
+ { |
|
327 |
+ "name": "Benjamin Eberlei", |
|
328 |
+ "email": "kontakt@beberlei.de" |
|
329 |
+ }, |
|
330 |
+ { |
|
331 |
+ "name": "Guilherme Blanco", |
|
332 |
+ "email": "guilhermeblanco@gmail.com" |
|
333 |
+ }, |
|
334 |
+ { |
|
335 |
+ "name": "Jonathan Wage", |
|
336 |
+ "email": "jonwage@gmail.com" |
|
337 |
+ } |
|
338 |
+ ], |
|
339 |
+ "description": "Database Abstraction Layer", |
|
340 |
+ "homepage": "http://www.doctrine-project.org", |
|
341 |
+ "keywords": [ |
|
342 |
+ "database", |
|
343 |
+ "dbal", |
|
344 |
+ "persistence", |
|
345 |
+ "queryobject" |
|
346 |
+ ], |
|
347 |
+ "time": "2015-01-12 21:57:01" |
|
348 |
+ }, |
|
349 |
+ { |
|
350 |
+ "name": "doctrine/doctrine-bundle", |
|
351 |
+ "version": "v1.5.0", |
|
352 |
+ "source": { |
|
353 |
+ "type": "git", |
|
354 |
+ "url": "https://github.com/doctrine/DoctrineBundle.git", |
|
355 |
+ "reference": "0b9e27037c4fdbad515ee5ec89842e9091a6480f" |
|
356 |
+ }, |
|
357 |
+ "dist": { |
|
358 |
+ "type": "zip", |
|
359 |
+ "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/0b9e27037c4fdbad515ee5ec89842e9091a6480f", |
|
360 |
+ "reference": "0b9e27037c4fdbad515ee5ec89842e9091a6480f", |
|
361 |
+ "shasum": "" |
|
362 |
+ }, |
|
363 |
+ "require": { |
|
364 |
+ "doctrine/dbal": "~2.3", |
|
365 |
+ "doctrine/doctrine-cache-bundle": "~1.0", |
|
366 |
+ "jdorn/sql-formatter": "~1.1", |
|
367 |
+ "php": ">=5.3.2", |
|
368 |
+ "symfony/console": "~2.3", |
|
369 |
+ "symfony/doctrine-bridge": "~2.2", |
|
370 |
+ "symfony/framework-bundle": "~2.3" |
|
371 |
+ }, |
|
372 |
+ "require-dev": { |
|
373 |
+ "doctrine/orm": "~2.3", |
|
374 |
+ "phpunit/phpunit": "~4", |
|
375 |
+ "satooshi/php-coveralls": "~0.6.1", |
|
376 |
+ "symfony/validator": "~2.2", |
|
377 |
+ "symfony/yaml": "~2.2", |
|
378 |
+ "twig/twig": "~1.10" |
|
379 |
+ }, |
|
380 |
+ "suggest": { |
|
381 |
+ "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", |
|
382 |
+ "symfony/web-profiler-bundle": "to use the data collector" |
|
383 |
+ }, |
|
384 |
+ "type": "symfony-bundle", |
|
385 |
+ "extra": { |
|
386 |
+ "branch-alias": { |
|
387 |
+ "dev-master": "1.5.x-dev" |
|
388 |
+ } |
|
389 |
+ }, |
|
390 |
+ "autoload": { |
|
391 |
+ "psr-4": { |
|
392 |
+ "Doctrine\\Bundle\\DoctrineBundle\\": "" |
|
393 |
+ } |
|
394 |
+ }, |
|
395 |
+ "notification-url": "https://packagist.org/downloads/", |
|
396 |
+ "license": [ |
|
397 |
+ "MIT" |
|
398 |
+ ], |
|
399 |
+ "authors": [ |
|
400 |
+ { |
|
401 |
+ "name": "Symfony Community", |
|
402 |
+ "homepage": "http://symfony.com/contributors" |
|
403 |
+ }, |
|
404 |
+ { |
|
405 |
+ "name": "Benjamin Eberlei", |
|
406 |
+ "email": "kontakt@beberlei.de" |
|
407 |
+ }, |
|
408 |
+ { |
|
409 |
+ "name": "Doctrine Project", |
|
410 |
+ "homepage": "http://www.doctrine-project.org/" |
|
411 |
+ }, |
|
412 |
+ { |
|
413 |
+ "name": "Fabien Potencier", |
|
414 |
+ "email": "fabien@symfony.com" |
|
415 |
+ } |
|
416 |
+ ], |
|
417 |
+ "description": "Symfony DoctrineBundle", |
|
418 |
+ "homepage": "http://www.doctrine-project.org", |
|
419 |
+ "keywords": [ |
|
420 |
+ "database", |
|
421 |
+ "dbal", |
|
422 |
+ "orm", |
|
423 |
+ "persistence" |
|
424 |
+ ], |
|
425 |
+ "time": "2015-05-28 12:27:15" |
|
426 |
+ }, |
|
427 |
+ { |
|
428 |
+ "name": "doctrine/doctrine-cache-bundle", |
|
429 |
+ "version": "v1.0.1", |
|
430 |
+ "target-dir": "Doctrine/Bundle/DoctrineCacheBundle", |
|
431 |
+ "source": { |
|
432 |
+ "type": "git", |
|
433 |
+ "url": "https://github.com/doctrine/DoctrineCacheBundle.git", |
|
434 |
+ "reference": "e4b6f810aa047f9cbfe41c3d6a3d7e83d7477a9d" |
|
435 |
+ }, |
|
436 |
+ "dist": { |
|
437 |
+ "type": "zip", |
|
438 |
+ "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/e4b6f810aa047f9cbfe41c3d6a3d7e83d7477a9d", |
|
439 |
+ "reference": "e4b6f810aa047f9cbfe41c3d6a3d7e83d7477a9d", |
|
440 |
+ "shasum": "" |
|
441 |
+ }, |
|
442 |
+ "require": { |
|
443 |
+ "doctrine/cache": "~1.3", |
|
444 |
+ "doctrine/inflector": "~1.0", |
|
445 |
+ "php": ">=5.3.2", |
|
446 |
+ "symfony/doctrine-bridge": "~2.2", |
|
447 |
+ "symfony/framework-bundle": "~2.2", |
|
448 |
+ "symfony/security": "~2.2" |
|
449 |
+ }, |
|
450 |
+ "require-dev": { |
|
451 |
+ "instaclick/coding-standard": "~1.1", |
|
452 |
+ "instaclick/object-calisthenics-sniffs": "dev-master", |
|
453 |
+ "instaclick/symfony2-coding-standard": "dev-remaster", |
|
454 |
+ "phpunit/phpunit": "~3.7", |
|
455 |
+ "satooshi/php-coveralls": "~0.6.1", |
|
456 |
+ "squizlabs/php_codesniffer": "dev-master", |
|
457 |
+ "symfony/console": "~2.2", |
|
458 |
+ "symfony/finder": "~2.2", |
|
459 |
+ "symfony/validator": "~2.2", |
|
460 |
+ "symfony/yaml": "~2.2" |
|
461 |
+ }, |
|
462 |
+ "type": "symfony-bundle", |
|
463 |
+ "extra": { |
|
464 |
+ "branch-alias": { |
|
465 |
+ "dev-master": "1.0.x-dev" |
|
466 |
+ } |
|
467 |
+ }, |
|
468 |
+ "autoload": { |
|
469 |
+ "psr-0": { |
|
470 |
+ "Doctrine\\Bundle\\DoctrineCacheBundle": "" |
|
471 |
+ } |
|
472 |
+ }, |
|
473 |
+ "notification-url": "https://packagist.org/downloads/", |
|
474 |
+ "license": [ |
|
475 |
+ "MIT" |
|
476 |
+ ], |
|
477 |
+ "authors": [ |
|
478 |
+ { |
|
479 |
+ "name": "Symfony Community", |
|
480 |
+ "homepage": "http://symfony.com/contributors" |
|
481 |
+ }, |
|
482 |
+ { |
|
483 |
+ "name": "Benjamin Eberlei", |
|
484 |
+ "email": "kontakt@beberlei.de" |
|
485 |
+ }, |
|
486 |
+ { |
|
487 |
+ "name": "Fabio B. Silva", |
|
488 |
+ "email": "fabio.bat.silva@gmail.com" |
|
489 |
+ }, |
|
490 |
+ { |
|
491 |
+ "name": "Guilherme Blanco", |
|
492 |
+ "email": "guilhermeblanco@hotmail.com" |
|
493 |
+ }, |
|
494 |
+ { |
|
495 |
+ "name": "Doctrine Project", |
|
496 |
+ "homepage": "http://www.doctrine-project.org/" |
|
497 |
+ }, |
|
498 |
+ { |
|
499 |
+ "name": "Fabien Potencier", |
|
500 |
+ "email": "fabien@symfony.com" |
|
501 |
+ } |
|
502 |
+ ], |
|
503 |
+ "description": "Symfony2 Bundle for Doctrine Cache", |
|
504 |
+ "homepage": "http://www.doctrine-project.org", |
|
505 |
+ "keywords": [ |
|
506 |
+ "cache", |
|
507 |
+ "caching" |
|
508 |
+ ], |
|
509 |
+ "time": "2014-11-28 09:43:36" |
|
510 |
+ }, |
|
511 |
+ { |
|
512 |
+ "name": "doctrine/inflector", |
|
513 |
+ "version": "v1.0.1", |
|
514 |
+ "source": { |
|
515 |
+ "type": "git", |
|
516 |
+ "url": "https://github.com/doctrine/inflector.git", |
|
517 |
+ "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" |
|
518 |
+ }, |
|
519 |
+ "dist": { |
|
520 |
+ "type": "zip", |
|
521 |
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", |
|
522 |
+ "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", |
|
523 |
+ "shasum": "" |
|
524 |
+ }, |
|
525 |
+ "require": { |
|
526 |
+ "php": ">=5.3.2" |
|
527 |
+ }, |
|
528 |
+ "require-dev": { |
|
529 |
+ "phpunit/phpunit": "4.*" |
|
530 |
+ }, |
|
531 |
+ "type": "library", |
|
532 |
+ "extra": { |
|
533 |
+ "branch-alias": { |
|
534 |
+ "dev-master": "1.0.x-dev" |
|
535 |
+ } |
|
536 |
+ }, |
|
537 |
+ "autoload": { |
|
538 |
+ "psr-0": { |
|
539 |
+ "Doctrine\\Common\\Inflector\\": "lib/" |
|
540 |
+ } |
|
541 |
+ }, |
|
542 |
+ "notification-url": "https://packagist.org/downloads/", |
|
543 |
+ "license": [ |
|
544 |
+ "MIT" |
|
545 |
+ ], |
|
546 |
+ "authors": [ |
|
547 |
+ { |
|
548 |
+ "name": "Roman Borschel", |
|
549 |
+ "email": "roman@code-factory.org" |
|
550 |
+ }, |
|
551 |
+ { |
|
552 |
+ "name": "Benjamin Eberlei", |
|
553 |
+ "email": "kontakt@beberlei.de" |
|
554 |
+ }, |
|
555 |
+ { |
|
556 |
+ "name": "Guilherme Blanco", |
|
557 |
+ "email": "guilhermeblanco@gmail.com" |
|
558 |
+ }, |
|
559 |
+ { |
|
560 |
+ "name": "Jonathan Wage", |
|
561 |
+ "email": "jonwage@gmail.com" |
|
562 |
+ }, |
|
563 |
+ { |
|
564 |
+ "name": "Johannes Schmitt", |
|
565 |
+ "email": "schmittjoh@gmail.com" |
|
566 |
+ } |
|
567 |
+ ], |
|
568 |
+ "description": "Common String Manipulations with regard to casing and singular/plural rules.", |
|
569 |
+ "homepage": "http://www.doctrine-project.org", |
|
570 |
+ "keywords": [ |
|
571 |
+ "inflection", |
|
572 |
+ "pluralize", |
|
573 |
+ "singularize", |
|
574 |
+ "string" |
|
575 |
+ ], |
|
576 |
+ "time": "2014-12-20 21:24:13" |
|
577 |
+ }, |
|
578 |
+ { |
|
579 |
+ "name": "doctrine/lexer", |
|
580 |
+ "version": "v1.0.1", |
|
581 |
+ "source": { |
|
582 |
+ "type": "git", |
|
583 |
+ "url": "https://github.com/doctrine/lexer.git", |
|
584 |
+ "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" |
|
585 |
+ }, |
|
586 |
+ "dist": { |
|
587 |
+ "type": "zip", |
|
588 |
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", |
|
589 |
+ "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", |
|
590 |
+ "shasum": "" |
|
591 |
+ }, |
|
592 |
+ "require": { |
|
593 |
+ "php": ">=5.3.2" |
|
594 |
+ }, |
|
595 |
+ "type": "library", |
|
596 |
+ "extra": { |
|
597 |
+ "branch-alias": { |
|
598 |
+ "dev-master": "1.0.x-dev" |
|
599 |
+ } |
|
600 |
+ }, |
|
601 |
+ "autoload": { |
|
602 |
+ "psr-0": { |
|
603 |
+ "Doctrine\\Common\\Lexer\\": "lib/" |
|
604 |
+ } |
|
605 |
+ }, |
|
606 |
+ "notification-url": "https://packagist.org/downloads/", |
|
607 |
+ "license": [ |
|
608 |
+ "MIT" |
|
609 |
+ ], |
|
610 |
+ "authors": [ |
|
611 |
+ { |
|
612 |
+ "name": "Roman Borschel", |
|
613 |
+ "email": "roman@code-factory.org" |
|
614 |
+ }, |
|
615 |
+ { |
|
616 |
+ "name": "Guilherme Blanco", |
|
617 |
+ "email": "guilhermeblanco@gmail.com" |
|
618 |
+ }, |
|
619 |
+ { |
|
620 |
+ "name": "Johannes Schmitt", |
|
621 |
+ "email": "schmittjoh@gmail.com" |
|
622 |
+ } |
|
623 |
+ ], |
|
624 |
+ "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", |
|
625 |
+ "homepage": "http://www.doctrine-project.org", |
|
626 |
+ "keywords": [ |
|
627 |
+ "lexer", |
|
628 |
+ "parser" |
|
629 |
+ ], |
|
630 |
+ "time": "2014-09-09 13:34:57" |
|
631 |
+ }, |
|
632 |
+ { |
|
633 |
+ "name": "doctrine/orm", |
|
634 |
+ "version": "v2.4.7", |
|
635 |
+ "source": { |
|
636 |
+ "type": "git", |
|
637 |
+ "url": "https://github.com/doctrine/doctrine2.git", |
|
638 |
+ "reference": "2bc4ff3cab2ae297bcd05f2e619d42e6a7ca9e68" |
|
639 |
+ }, |
|
640 |
+ "dist": { |
|
641 |
+ "type": "zip", |
|
642 |
+ "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/2bc4ff3cab2ae297bcd05f2e619d42e6a7ca9e68", |
|
643 |
+ "reference": "2bc4ff3cab2ae297bcd05f2e619d42e6a7ca9e68", |
|
644 |
+ "shasum": "" |
|
645 |
+ }, |
|
646 |
+ "require": { |
|
647 |
+ "doctrine/collections": "~1.1", |
|
648 |
+ "doctrine/dbal": "~2.4", |
|
649 |
+ "ext-pdo": "*", |
|
650 |
+ "php": ">=5.3.2", |
|
651 |
+ "symfony/console": "~2.0" |
|
652 |
+ }, |
|
653 |
+ "require-dev": { |
|
654 |
+ "satooshi/php-coveralls": "dev-master", |
|
655 |
+ "symfony/yaml": "~2.1" |
|
656 |
+ }, |
|
657 |
+ "suggest": { |
|
658 |
+ "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" |
|
659 |
+ }, |
|
660 |
+ "bin": [ |
|
661 |
+ "bin/doctrine", |
|
662 |
+ "bin/doctrine.php" |
|
663 |
+ ], |
|
664 |
+ "type": "library", |
|
665 |
+ "extra": { |
|
666 |
+ "branch-alias": { |
|
667 |
+ "dev-master": "2.4.x-dev" |
|
668 |
+ } |
|
669 |
+ }, |
|
670 |
+ "autoload": { |
|
671 |
+ "psr-0": { |
|
672 |
+ "Doctrine\\ORM\\": "lib/" |
|
673 |
+ } |
|
674 |
+ }, |
|
675 |
+ "notification-url": "https://packagist.org/downloads/", |
|
676 |
+ "license": [ |
|
677 |
+ "MIT" |
|
678 |
+ ], |
|
679 |
+ "authors": [ |
|
680 |
+ { |
|
681 |
+ "name": "Roman Borschel", |
|
682 |
+ "email": "roman@code-factory.org" |
|
683 |
+ }, |
|
684 |
+ { |
|
685 |
+ "name": "Benjamin Eberlei", |
|
686 |
+ "email": "kontakt@beberlei.de" |
|
687 |
+ }, |
|
688 |
+ { |
|
689 |
+ "name": "Guilherme Blanco", |
|
690 |
+ "email": "guilhermeblanco@gmail.com" |
|
691 |
+ }, |
|
692 |
+ { |
|
693 |
+ "name": "Jonathan Wage", |
|
694 |
+ "email": "jonwage@gmail.com" |
|
695 |
+ } |
|
696 |
+ ], |
|
697 |
+ "description": "Object-Relational-Mapper for PHP", |
|
698 |
+ "homepage": "http://www.doctrine-project.org", |
|
699 |
+ "keywords": [ |
|
700 |
+ "database", |
|
701 |
+ "orm" |
|
702 |
+ ], |
|
703 |
+ "time": "2014-12-16 13:45:01" |
|
704 |
+ }, |
|
705 |
+ { |
|
706 |
+ "name": "incenteev/composer-parameter-handler", |
|
707 |
+ "version": "v2.1.1", |
|
708 |
+ "source": { |
|
709 |
+ "type": "git", |
|
710 |
+ "url": "https://github.com/Incenteev/ParameterHandler.git", |
|
711 |
+ "reference": "84a205fe80a46101607bafbc423019527893ddd0" |
|
712 |
+ }, |
|
713 |
+ "dist": { |
|
714 |
+ "type": "zip", |
|
715 |
+ "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/84a205fe80a46101607bafbc423019527893ddd0", |
|
716 |
+ "reference": "84a205fe80a46101607bafbc423019527893ddd0", |
|
717 |
+ "shasum": "" |
|
718 |
+ }, |
|
719 |
+ "require": { |
|
720 |
+ "php": ">=5.3.3", |
|
721 |
+ "symfony/yaml": "~2.0" |
|
722 |
+ }, |
|
723 |
+ "require-dev": { |
|
724 |
+ "composer/composer": "1.0.*@dev", |
|
725 |
+ "phpspec/prophecy-phpunit": "~1.0", |
|
726 |
+ "symfony/filesystem": "~2.2" |
|
727 |
+ }, |
|
728 |
+ "type": "library", |
|
729 |
+ "extra": { |
|
730 |
+ "branch-alias": { |
|
731 |
+ "dev-master": "2.1.x-dev" |
|
732 |
+ } |
|
733 |
+ }, |
|
734 |
+ "autoload": { |
|
735 |
+ "psr-4": { |
|
736 |
+ "Incenteev\\ParameterHandler\\": "" |
|
737 |
+ } |
|
738 |
+ }, |
|
739 |
+ "notification-url": "https://packagist.org/downloads/", |
|
740 |
+ "license": [ |
|
741 |
+ "MIT" |
|
742 |
+ ], |
|
743 |
+ "authors": [ |
|
744 |
+ { |
|
745 |
+ "name": "Christophe Coevoet", |
|
746 |
+ "email": "stof@notk.org" |
|
747 |
+ } |
|
748 |
+ ], |
|
749 |
+ "description": "Composer script handling your ignored parameter file", |
|
750 |
+ "homepage": "https://github.com/Incenteev/ParameterHandler", |
|
751 |
+ "keywords": [ |
|
752 |
+ "parameters management" |
|
753 |
+ ], |
|
754 |
+ "time": "2015-06-03 08:27:03" |
|
755 |
+ }, |
|
756 |
+ { |
|
757 |
+ "name": "jdorn/sql-formatter", |
|
758 |
+ "version": "v1.2.17", |
|
759 |
+ "source": { |
|
760 |
+ "type": "git", |
|
761 |
+ "url": "https://github.com/jdorn/sql-formatter.git", |
|
762 |
+ "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc" |
|
763 |
+ }, |
|
764 |
+ "dist": { |
|
765 |
+ "type": "zip", |
|
766 |
+ "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc", |
|
767 |
+ "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc", |
|
768 |
+ "shasum": "" |
|
769 |
+ }, |
|
770 |
+ "require": { |
|
771 |
+ "php": ">=5.2.4" |
|
772 |
+ }, |
|
773 |
+ "require-dev": { |
|
774 |
+ "phpunit/phpunit": "3.7.*" |
|
775 |
+ }, |
|
776 |
+ "type": "library", |
|
777 |
+ "extra": { |
|
778 |
+ "branch-alias": { |
|
779 |
+ "dev-master": "1.3.x-dev" |
|
780 |
+ } |
|
781 |
+ }, |
|
782 |
+ "autoload": { |
|
783 |
+ "classmap": [ |
|
784 |
+ "lib" |
|
785 |
+ ] |
|
786 |
+ }, |
|
787 |
+ "notification-url": "https://packagist.org/downloads/", |
|
788 |
+ "license": [ |
|
789 |
+ "MIT" |
|
790 |
+ ], |
|
791 |
+ "authors": [ |
|
792 |
+ { |
|
793 |
+ "name": "Jeremy Dorn", |
|
794 |
+ "email": "jeremy@jeremydorn.com", |
|
795 |
+ "homepage": "http://jeremydorn.com/" |
|
796 |
+ } |
|
797 |
+ ], |
|
798 |
+ "description": "a PHP SQL highlighting library", |
|
799 |
+ "homepage": "https://github.com/jdorn/sql-formatter/", |
|
800 |
+ "keywords": [ |
|
801 |
+ "highlight", |
|
802 |
+ "sql" |
|
803 |
+ ], |
|
804 |
+ "time": "2014-01-12 16:20:24" |
|
805 |
+ }, |
|
806 |
+ { |
|
807 |
+ "name": "kriswallsmith/assetic", |
|
808 |
+ "version": "v1.2.1", |
|
809 |
+ "source": { |
|
810 |
+ "type": "git", |
|
811 |
+ "url": "https://github.com/kriswallsmith/assetic.git", |
|
812 |
+ "reference": "b20efe38845d20458702f97f3ff625d80805897b" |
|
813 |
+ }, |
|
814 |
+ "dist": { |
|
815 |
+ "type": "zip", |
|
816 |
+ "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/b20efe38845d20458702f97f3ff625d80805897b", |
|
817 |
+ "reference": "b20efe38845d20458702f97f3ff625d80805897b", |
|
818 |
+ "shasum": "" |
|
819 |
+ }, |
|
820 |
+ "require": { |
|
821 |
+ "php": ">=5.3.1", |
|
822 |
+ "symfony/process": "~2.1" |
|
823 |
+ }, |
|
824 |
+ "require-dev": { |
|
825 |
+ "cssmin/cssmin": "*", |
|
826 |
+ "joliclic/javascript-packer": "*", |
|
827 |
+ "kamicane/packager": "*", |
|
828 |
+ "leafo/lessphp": "*", |
|
829 |
+ "leafo/scssphp": "*", |
|
830 |
+ "leafo/scssphp-compass": "*", |
|
831 |
+ "mrclay/minify": "*", |
|
832 |
+ "patchwork/jsqueeze": "~1.0", |
|
833 |
+ "phpunit/phpunit": "~4", |
|
834 |
+ "psr/log": "~1.0", |
|
835 |
+ "ptachoire/cssembed": "*", |
|
836 |
+ "twig/twig": "~1.6" |
|
837 |
+ }, |
|
838 |
+ "suggest": { |
|
839 |
+ "leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler", |
|
840 |
+ "leafo/scssphp": "Assetic provides the integration with the scssphp SCSS compiler", |
|
841 |
+ "leafo/scssphp-compass": "Assetic provides the integration with the SCSS compass plugin", |
|
842 |
+ "patchwork/jsqueeze": "Assetic provides the integration with the JSqueeze JavaScript compressor", |
|
843 |
+ "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris", |
|
844 |
+ "twig/twig": "Assetic provides the integration with the Twig templating engine" |
|
845 |
+ }, |
|
846 |
+ "type": "library", |
|
847 |
+ "extra": { |
|
848 |
+ "branch-alias": { |
|
849 |
+ "dev-master": "1.2-dev" |
|
850 |
+ } |
|
851 |
+ }, |
|
852 |
+ "autoload": { |
|
853 |
+ "psr-0": { |
|
854 |
+ "Assetic": "src/" |
|
855 |
+ }, |
|
856 |
+ "files": [ |
|
857 |
+ "src/functions.php" |
|
858 |
+ ] |
|
859 |
+ }, |
|
860 |
+ "notification-url": "https://packagist.org/downloads/", |
|
861 |
+ "license": [ |
|
862 |
+ "MIT" |
|
863 |
+ ], |
|
864 |
+ "authors": [ |
|
865 |
+ { |
|
866 |
+ "name": "Kris Wallsmith", |
|
867 |
+ "email": "kris.wallsmith@gmail.com", |
|
868 |
+ "homepage": "http://kriswallsmith.net/" |
|
869 |
+ } |
|
870 |
+ ], |
|
871 |
+ "description": "Asset Management for PHP", |
|
872 |
+ "homepage": "https://github.com/kriswallsmith/assetic", |
|
873 |
+ "keywords": [ |
|
874 |
+ "assets", |
|
875 |
+ "compression", |
|
876 |
+ "minification" |
|
877 |
+ ], |
|
878 |
+ "time": "2014-12-12 05:04:05" |
|
879 |
+ }, |
|
880 |
+ { |
|
881 |
+ "name": "monolog/monolog", |
|
882 |
+ "version": "1.15.0", |
|
883 |
+ "source": { |
|
884 |
+ "type": "git", |
|
885 |
+ "url": "https://github.com/Seldaek/monolog.git", |
|
886 |
+ "reference": "dc5150cc608f2334c72c3b6a553ec9668a4156b0" |
|
887 |
+ }, |
|
888 |
+ "dist": { |
|
889 |
+ "type": "zip", |
|
890 |
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/dc5150cc608f2334c72c3b6a553ec9668a4156b0", |
|
891 |
+ "reference": "dc5150cc608f2334c72c3b6a553ec9668a4156b0", |
|
892 |
+ "shasum": "" |
|
893 |
+ }, |
|
894 |
+ "require": { |
|
895 |
+ "php": ">=5.3.0", |
|
896 |
+ "psr/log": "~1.0" |
|
897 |
+ }, |
|
898 |
+ "provide": { |
|
899 |
+ "psr/log-implementation": "1.0.0" |
|
900 |
+ }, |
|
901 |
+ "require-dev": { |
|
902 |
+ "aws/aws-sdk-php": "^2.4.9", |
|
903 |
+ "doctrine/couchdb": "~1.0@dev", |
|
904 |
+ "graylog2/gelf-php": "~1.0", |
|
905 |
+ "php-console/php-console": "^3.1.3", |
|
906 |
+ "phpunit/phpunit": "~4.5", |
|
907 |
+ "phpunit/phpunit-mock-objects": "2.3.0", |
|
908 |
+ "raven/raven": "~0.8", |
|
909 |
+ "ruflin/elastica": ">=0.90 <3.0", |
|
910 |
+ "swiftmailer/swiftmailer": "~5.3", |
|
911 |
+ "videlalvaro/php-amqplib": "~2.4" |
|
912 |
+ }, |
|
913 |
+ "suggest": { |
|
914 |
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", |
|
915 |
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server", |
|
916 |
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", |
|
917 |
+ "ext-mongo": "Allow sending log messages to a MongoDB server", |
|
918 |
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", |
|
919 |
+ "php-console/php-console": "Allow sending log messages to Google Chrome", |
|
920 |
+ "raven/raven": "Allow sending log messages to a Sentry server", |
|
921 |
+ "rollbar/rollbar": "Allow sending log messages to Rollbar", |
|
922 |
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server", |
|
923 |
+ "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib" |
|
924 |
+ }, |
|
925 |
+ "type": "library", |
|
926 |
+ "extra": { |
|
927 |
+ "branch-alias": { |
|
928 |
+ "dev-master": "1.15.x-dev" |
|
929 |
+ } |
|
930 |
+ }, |
|
931 |
+ "autoload": { |
|
932 |
+ "psr-4": { |
|
933 |
+ "Monolog\\": "src/Monolog" |
|
934 |
+ } |
|
935 |
+ }, |
|
936 |
+ "notification-url": "https://packagist.org/downloads/", |
|
937 |
+ "license": [ |
|
938 |
+ "MIT" |
|
939 |
+ ], |
|
940 |
+ "authors": [ |
|
941 |
+ { |
|
942 |
+ "name": "Jordi Boggiano", |
|
943 |
+ "email": "j.boggiano@seld.be", |
|
944 |
+ "homepage": "http://seld.be" |
|
945 |
+ } |
|
946 |
+ ], |
|
947 |
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services", |
|
948 |
+ "homepage": "http://github.com/Seldaek/monolog", |
|
949 |
+ "keywords": [ |
|
950 |
+ "log", |
|
951 |
+ "logging", |
|
952 |
+ "psr-3" |
|
953 |
+ ], |
|
954 |
+ "time": "2015-07-12 13:54:09" |
|
955 |
+ }, |
|
956 |
+ { |
|
957 |
+ "name": "psr/log", |
|
958 |
+ "version": "1.0.0", |
|
959 |
+ "source": { |
|
960 |
+ "type": "git", |
|
961 |
+ "url": "https://github.com/php-fig/log.git", |
|
962 |
+ "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" |
|
963 |
+ }, |
|
964 |
+ "dist": { |
|
965 |
+ "type": "zip", |
|
966 |
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", |
|
967 |
+ "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", |
|
968 |
+ "shasum": "" |
|
969 |
+ }, |
|
970 |
+ "type": "library", |
|
971 |
+ "autoload": { |
|
972 |
+ "psr-0": { |
|
973 |
+ "Psr\\Log\\": "" |
|
974 |
+ } |
|
975 |
+ }, |
|
976 |
+ "notification-url": "https://packagist.org/downloads/", |
|
977 |
+ "license": [ |
|
978 |
+ "MIT" |
|
979 |
+ ], |
|
980 |
+ "authors": [ |
|
981 |
+ { |
|
982 |
+ "name": "PHP-FIG", |
|
983 |
+ "homepage": "http://www.php-fig.org/" |
|
984 |
+ } |
|
985 |
+ ], |
|
986 |
+ "description": "Common interface for logging libraries", |
|
987 |
+ "keywords": [ |
|
988 |
+ "log", |
|
989 |
+ "psr", |
|
990 |
+ "psr-3" |
|
991 |
+ ], |
|
992 |
+ "time": "2012-12-21 11:40:51" |
|
993 |
+ }, |
|
994 |
+ { |
|
995 |
+ "name": "sensio/distribution-bundle", |
|
996 |
+ "version": "v4.0.0", |
|
997 |
+ "target-dir": "Sensio/Bundle/DistributionBundle", |
|
998 |
+ "source": { |
|
999 |
+ "type": "git", |
|
1000 |
+ "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", |
|
1001 |
+ "reference": "97929c0a642977acead3d911b2c5c1a944739d40" |
|
1002 |
+ }, |
|
1003 |
+ "dist": { |
|
1004 |
+ "type": "zip", |
|
1005 |
+ "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/97929c0a642977acead3d911b2c5c1a944739d40", |
|
1006 |
+ "reference": "97929c0a642977acead3d911b2c5c1a944739d40", |
|
1007 |
+ "shasum": "" |
|
1008 |
+ }, |
|
1009 |
+ "require": { |
|
1010 |
+ "php": ">=5.3.9", |
|
1011 |
+ "sensiolabs/security-checker": "~2.0", |
|
1012 |
+ "symfony/class-loader": "~2.2", |
|
1013 |
+ "symfony/framework-bundle": "~2.3", |
|
1014 |
+ "symfony/process": "~2.2" |
|
1015 |
+ }, |
|
1016 |
+ "require-dev": { |
|
1017 |
+ "symfony/form": "~2.2", |
|
1018 |
+ "symfony/validator": "~2.2", |
|
1019 |
+ "symfony/yaml": "~2.2" |
|
1020 |
+ }, |
|
1021 |
+ "suggest": { |
|
1022 |
+ "symfony/form": "If you want to use the configurator", |
|
1023 |
+ "symfony/validator": "If you want to use the configurator", |
|
1024 |
+ "symfony/yaml": "If you want to use the configurator" |
|
1025 |
+ }, |
|
1026 |
+ "type": "symfony-bundle", |
|
1027 |
+ "extra": { |
|
1028 |
+ "branch-alias": { |
|
1029 |
+ "dev-master": "4.0.x-dev" |
|
1030 |
+ } |
|
1031 |
+ }, |
|
1032 |
+ "autoload": { |
|
1033 |
+ "psr-0": { |
|
1034 |
+ "Sensio\\Bundle\\DistributionBundle": "" |
|
1035 |
+ } |
|
1036 |
+ }, |
|
1037 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1038 |
+ "license": [ |
|
1039 |
+ "MIT" |
|
1040 |
+ ], |
|
1041 |
+ "authors": [ |
|
1042 |
+ { |
|
1043 |
+ "name": "Fabien Potencier", |
|
1044 |
+ "email": "fabien@symfony.com" |
|
1045 |
+ } |
|
1046 |
+ ], |
|
1047 |
+ "description": "Base bundle for Symfony Distributions", |
|
1048 |
+ "keywords": [ |
|
1049 |
+ "configuration", |
|
1050 |
+ "distribution" |
|
1051 |
+ ], |
|
1052 |
+ "time": "2015-06-11 20:55:01" |
|
1053 |
+ }, |
|
1054 |
+ { |
|
1055 |
+ "name": "sensio/framework-extra-bundle", |
|
1056 |
+ "version": "v3.0.9", |
|
1057 |
+ "source": { |
|
1058 |
+ "type": "git", |
|
1059 |
+ "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", |
|
1060 |
+ "reference": "0616fd568da051adc19ca63006cc808531ba2da4" |
|
1061 |
+ }, |
|
1062 |
+ "dist": { |
|
1063 |
+ "type": "zip", |
|
1064 |
+ "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/0616fd568da051adc19ca63006cc808531ba2da4", |
|
1065 |
+ "reference": "0616fd568da051adc19ca63006cc808531ba2da4", |
|
1066 |
+ "shasum": "" |
|
1067 |
+ }, |
|
1068 |
+ "require": { |
|
1069 |
+ "doctrine/common": "~2.2", |
|
1070 |
+ "symfony/framework-bundle": "~2.3" |
|
1071 |
+ }, |
|
1072 |
+ "require-dev": { |
|
1073 |
+ "symfony/expression-language": "~2.4", |
|
1074 |
+ "symfony/security-bundle": "~2.4" |
|
1075 |
+ }, |
|
1076 |
+ "suggest": { |
|
1077 |
+ "symfony/expression-language": "", |
|
1078 |
+ "symfony/psr-http-message-bridge": "To use the PSR-7 converters", |
|
1079 |
+ "symfony/security-bundle": "" |
|
1080 |
+ }, |
|
1081 |
+ "type": "symfony-bundle", |
|
1082 |
+ "extra": { |
|
1083 |
+ "branch-alias": { |
|
1084 |
+ "dev-master": "3.0.x-dev" |
|
1085 |
+ } |
|
1086 |
+ }, |
|
1087 |
+ "autoload": { |
|
1088 |
+ "psr-4": { |
|
1089 |
+ "Sensio\\Bundle\\FrameworkExtraBundle\\": "" |
|
1090 |
+ } |
|
1091 |
+ }, |
|
1092 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1093 |
+ "license": [ |
|
1094 |
+ "MIT" |
|
1095 |
+ ], |
|
1096 |
+ "authors": [ |
|
1097 |
+ { |
|
1098 |
+ "name": "Fabien Potencier", |
|
1099 |
+ "email": "fabien@symfony.com" |
|
1100 |
+ } |
|
1101 |
+ ], |
|
1102 |
+ "description": "This bundle provides a way to configure your controllers with annotations", |
|
1103 |
+ "keywords": [ |
|
1104 |
+ "annotations", |
|
1105 |
+ "controllers" |
|
1106 |
+ ], |
|
1107 |
+ "time": "2015-06-05 13:59:21" |
|
1108 |
+ }, |
|
1109 |
+ { |
|
1110 |
+ "name": "sensiolabs/security-checker", |
|
1111 |
+ "version": "v2.0.5", |
|
1112 |
+ "source": { |
|
1113 |
+ "type": "git", |
|
1114 |
+ "url": "https://github.com/sensiolabs/security-checker.git", |
|
1115 |
+ "reference": "2c2a71f1c77d9765c12638c4724d9ca23658a810" |
|
1116 |
+ }, |
|
1117 |
+ "dist": { |
|
1118 |
+ "type": "zip", |
|
1119 |
+ "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/2c2a71f1c77d9765c12638c4724d9ca23658a810", |
|
1120 |
+ "reference": "2c2a71f1c77d9765c12638c4724d9ca23658a810", |
|
1121 |
+ "shasum": "" |
|
1122 |
+ }, |
|
1123 |
+ "require": { |
|
1124 |
+ "ext-curl": "*", |
|
1125 |
+ "symfony/console": "~2.0" |
|
1126 |
+ }, |
|
1127 |
+ "bin": [ |
|
1128 |
+ "security-checker" |
|
1129 |
+ ], |
|
1130 |
+ "type": "library", |
|
1131 |
+ "extra": { |
|
1132 |
+ "branch-alias": { |
|
1133 |
+ "dev-master": "2.0-dev" |
|
1134 |
+ } |
|
1135 |
+ }, |
|
1136 |
+ "autoload": { |
|
1137 |
+ "psr-0": { |
|
1138 |
+ "SensioLabs\\Security": "" |
|
1139 |
+ } |
|
1140 |
+ }, |
|
1141 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1142 |
+ "license": [ |
|
1143 |
+ "MIT" |
|
1144 |
+ ], |
|
1145 |
+ "authors": [ |
|
1146 |
+ { |
|
1147 |
+ "name": "Fabien Potencier", |
|
1148 |
+ "email": "fabien.potencier@gmail.com" |
|
1149 |
+ } |
|
1150 |
+ ], |
|
1151 |
+ "description": "A security checker for your composer.lock", |
|
1152 |
+ "time": "2015-05-28 14:22:40" |
|
1153 |
+ }, |
|
1154 |
+ { |
|
1155 |
+ "name": "swiftmailer/swiftmailer", |
|
1156 |
+ "version": "v5.4.1", |
|
1157 |
+ "source": { |
|
1158 |
+ "type": "git", |
|
1159 |
+ "url": "https://github.com/swiftmailer/swiftmailer.git", |
|
1160 |
+ "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421" |
|
1161 |
+ }, |
|
1162 |
+ "dist": { |
|
1163 |
+ "type": "zip", |
|
1164 |
+ "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/0697e6aa65c83edf97bb0f23d8763f94e3f11421", |
|
1165 |
+ "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421", |
|
1166 |
+ "shasum": "" |
|
1167 |
+ }, |
|
1168 |
+ "require": { |
|
1169 |
+ "php": ">=5.3.3" |
|
1170 |
+ }, |
|
1171 |
+ "require-dev": { |
|
1172 |
+ "mockery/mockery": "~0.9.1,<0.9.4" |
|
1173 |
+ }, |
|
1174 |
+ "type": "library", |
|
1175 |
+ "extra": { |
|
1176 |
+ "branch-alias": { |
|
1177 |
+ "dev-master": "5.4-dev" |
|
1178 |
+ } |
|
1179 |
+ }, |
|
1180 |
+ "autoload": { |
|
1181 |
+ "files": [ |
|
1182 |
+ "lib/swift_required.php" |
|
1183 |
+ ] |
|
1184 |
+ }, |
|
1185 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1186 |
+ "license": [ |
|
1187 |
+ "MIT" |
|
1188 |
+ ], |
|
1189 |
+ "authors": [ |
|
1190 |
+ { |
|
1191 |
+ "name": "Chris Corbyn" |
|
1192 |
+ }, |
|
1193 |
+ { |
|
1194 |
+ "name": "Fabien Potencier", |
|
1195 |
+ "email": "fabien@symfony.com" |
|
1196 |
+ } |
|
1197 |
+ ], |
|
1198 |
+ "description": "Swiftmailer, free feature-rich PHP mailer", |
|
1199 |
+ "homepage": "http://swiftmailer.org", |
|
1200 |
+ "keywords": [ |
|
1201 |
+ "email", |
|
1202 |
+ "mail", |
|
1203 |
+ "mailer" |
|
1204 |
+ ], |
|
1205 |
+ "time": "2015-06-06 14:19:39" |
|
1206 |
+ }, |
|
1207 |
+ { |
|
1208 |
+ "name": "symfony/assetic-bundle", |
|
1209 |
+ "version": "v2.6.1", |
|
1210 |
+ "source": { |
|
1211 |
+ "type": "git", |
|
1212 |
+ "url": "https://github.com/symfony/AsseticBundle.git", |
|
1213 |
+ "reference": "422b0add2110f0cf9bc7a873a386ea053f4a89f0" |
|
1214 |
+ }, |
|
1215 |
+ "dist": { |
|
1216 |
+ "type": "zip", |
|
1217 |
+ "url": "https://api.github.com/repos/symfony/AsseticBundle/zipball/422b0add2110f0cf9bc7a873a386ea053f4a89f0", |
|
1218 |
+ "reference": "422b0add2110f0cf9bc7a873a386ea053f4a89f0", |
|
1219 |
+ "shasum": "" |
|
1220 |
+ }, |
|
1221 |
+ "require": { |
|
1222 |
+ "kriswallsmith/assetic": "~1.2", |
|
1223 |
+ "php": ">=5.3.0", |
|
1224 |
+ "symfony/console": "~2.3", |
|
1225 |
+ "symfony/dependency-injection": "~2.3", |
|
1226 |
+ "symfony/framework-bundle": "~2.3", |
|
1227 |
+ "symfony/yaml": "~2.3" |
|
1228 |
+ }, |
|
1229 |
+ "require-dev": { |
|
1230 |
+ "kriswallsmith/spork": "~0.2", |
|
1231 |
+ "patchwork/jsqueeze": "~1.0", |
|
1232 |
+ "symfony/class-loader": "~2.3", |
|
1233 |
+ "symfony/css-selector": "~2.3", |
|
1234 |
+ "symfony/dom-crawler": "~2.3", |
|
1235 |
+ "symfony/twig-bundle": "~2.3" |
|
1236 |
+ }, |
|
1237 |
+ "suggest": { |
|
1238 |
+ "kriswallsmith/spork": "to be able to dump assets in parallel", |
|
1239 |
+ "symfony/twig-bundle": "to use the Twig integration" |
|
1240 |
+ }, |
|
1241 |
+ "type": "symfony-bundle", |
|
1242 |
+ "extra": { |
|
1243 |
+ "branch-alias": { |
|
1244 |
+ "dev-master": "2.5-dev" |
|
1245 |
+ } |
|
1246 |
+ }, |
|
1247 |
+ "autoload": { |
|
1248 |
+ "psr-4": { |
|
1249 |
+ "Symfony\\Bundle\\AsseticBundle\\": "" |
|
1250 |
+ } |
|
1251 |
+ }, |
|
1252 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1253 |
+ "license": [ |
|
1254 |
+ "MIT" |
|
1255 |
+ ], |
|
1256 |
+ "authors": [ |
|
1257 |
+ { |
|
1258 |
+ "name": "Kris Wallsmith", |
|
1259 |
+ "email": "kris.wallsmith@gmail.com", |
|
1260 |
+ "homepage": "http://kriswallsmith.net/" |
|
1261 |
+ } |
|
1262 |
+ ], |
|
1263 |
+ "description": "Integrates Assetic into Symfony2", |
|
1264 |
+ "homepage": "https://github.com/symfony/AsseticBundle", |
|
1265 |
+ "keywords": [ |
|
1266 |
+ "assets", |
|
1267 |
+ "compression", |
|
1268 |
+ "minification" |
|
1269 |
+ ], |
|
1270 |
+ "time": "2015-01-27 12:45:16" |
|
1271 |
+ }, |
|
1272 |
+ { |
|
1273 |
+ "name": "symfony/monolog-bundle", |
|
1274 |
+ "version": "v2.7.1", |
|
1275 |
+ "source": { |
|
1276 |
+ "type": "git", |
|
1277 |
+ "url": "https://github.com/symfony/MonologBundle.git", |
|
1278 |
+ "reference": "9320b6863404c70ebe111e9040dab96f251de7ac" |
|
1279 |
+ }, |
|
1280 |
+ "dist": { |
|
1281 |
+ "type": "zip", |
|
1282 |
+ "url": "https://api.github.com/repos/symfony/MonologBundle/zipball/9320b6863404c70ebe111e9040dab96f251de7ac", |
|
1283 |
+ "reference": "9320b6863404c70ebe111e9040dab96f251de7ac", |
|
1284 |
+ "shasum": "" |
|
1285 |
+ }, |
|
1286 |
+ "require": { |
|
1287 |
+ "monolog/monolog": "~1.8", |
|
1288 |
+ "php": ">=5.3.2", |
|
1289 |
+ "symfony/config": "~2.3", |
|
1290 |
+ "symfony/dependency-injection": "~2.3", |
|
1291 |
+ "symfony/http-kernel": "~2.3", |
|
1292 |
+ "symfony/monolog-bridge": "~2.3" |
|
1293 |
+ }, |
|
1294 |
+ "require-dev": { |
|
1295 |
+ "symfony/console": "~2.3", |
|
1296 |
+ "symfony/yaml": "~2.3" |
|
1297 |
+ }, |
|
1298 |
+ "type": "symfony-bundle", |
|
1299 |
+ "extra": { |
|
1300 |
+ "branch-alias": { |
|
1301 |
+ "dev-master": "2.7.x-dev" |
|
1302 |
+ } |
|
1303 |
+ }, |
|
1304 |
+ "autoload": { |
|
1305 |
+ "psr-4": { |
|
1306 |
+ "Symfony\\Bundle\\MonologBundle\\": "" |
|
1307 |
+ } |
|
1308 |
+ }, |
|
1309 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1310 |
+ "license": [ |
|
1311 |
+ "MIT" |
|
1312 |
+ ], |
|
1313 |
+ "authors": [ |
|
1314 |
+ { |
|
1315 |
+ "name": "Symfony Community", |
|
1316 |
+ "homepage": "http://symfony.com/contributors" |
|
1317 |
+ }, |
|
1318 |
+ { |
|
1319 |
+ "name": "Fabien Potencier", |
|
1320 |
+ "email": "fabien@symfony.com" |
|
1321 |
+ } |
|
1322 |
+ ], |
|
1323 |
+ "description": "Symfony MonologBundle", |
|
1324 |
+ "homepage": "http://symfony.com", |
|
1325 |
+ "keywords": [ |
|
1326 |
+ "log", |
|
1327 |
+ "logging" |
|
1328 |
+ ], |
|
1329 |
+ "time": "2015-01-04 20:21:17" |
|
1330 |
+ }, |
|
1331 |
+ { |
|
1332 |
+ "name": "symfony/swiftmailer-bundle", |
|
1333 |
+ "version": "v2.3.8", |
|
1334 |
+ "source": { |
|
1335 |
+ "type": "git", |
|
1336 |
+ "url": "https://github.com/symfony/SwiftmailerBundle.git", |
|
1337 |
+ "reference": "970b13d01871207e81d17b17ddda025e7e21e797" |
|
1338 |
+ }, |
|
1339 |
+ "dist": { |
|
1340 |
+ "type": "zip", |
|
1341 |
+ "url": "https://api.github.com/repos/symfony/SwiftmailerBundle/zipball/970b13d01871207e81d17b17ddda025e7e21e797", |
|
1342 |
+ "reference": "970b13d01871207e81d17b17ddda025e7e21e797", |
|
1343 |
+ "shasum": "" |
|
1344 |
+ }, |
|
1345 |
+ "require": { |
|
1346 |
+ "php": ">=5.3.2", |
|
1347 |
+ "swiftmailer/swiftmailer": ">=4.2.0,~5.0", |
|
1348 |
+ "symfony/swiftmailer-bridge": "~2.1" |
|
1349 |
+ }, |
|
1350 |
+ "require-dev": { |
|
1351 |
+ "symfony/config": "~2.1", |
|
1352 |
+ "symfony/dependency-injection": "~2.1", |
|
1353 |
+ "symfony/http-kernel": "~2.1", |
|
1354 |
+ "symfony/yaml": "~2.1" |
|
1355 |
+ }, |
|
1356 |
+ "suggest": { |
|
1357 |
+ "psr/log": "Allows logging" |
|
1358 |
+ }, |
|
1359 |
+ "type": "symfony-bundle", |
|
1360 |
+ "extra": { |
|
1361 |
+ "branch-alias": { |
|
1362 |
+ "dev-master": "2.3-dev" |
|
1363 |
+ } |
|
1364 |
+ }, |
|
1365 |
+ "autoload": { |
|
1366 |
+ "psr-4": { |
|
1367 |
+ "Symfony\\Bundle\\SwiftmailerBundle\\": "" |
|
1368 |
+ } |
|
1369 |
+ }, |
|
1370 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1371 |
+ "license": [ |
|
1372 |
+ "MIT" |
|
1373 |
+ ], |
|
1374 |
+ "authors": [ |
|
1375 |
+ { |
|
1376 |
+ "name": "Symfony Community", |
|
1377 |
+ "homepage": "http://symfony.com/contributors" |
|
1378 |
+ }, |
|
1379 |
+ { |
|
1380 |
+ "name": "Fabien Potencier", |
|
1381 |
+ "email": "fabien@symfony.com" |
|
1382 |
+ } |
|
1383 |
+ ], |
|
1384 |
+ "description": "Symfony SwiftmailerBundle", |
|
1385 |
+ "homepage": "http://symfony.com", |
|
1386 |
+ "time": "2014-12-01 17:44:50" |
|
1387 |
+ }, |
|
1388 |
+ { |
|
1389 |
+ "name": "symfony/symfony", |
|
1390 |
+ "version": "v2.7.2", |
|
1391 |
+ "source": { |
|
1392 |
+ "type": "git", |
|
1393 |
+ "url": "https://github.com/symfony/symfony.git", |
|
1394 |
+ "reference": "969d709ad428076bf1084e386dc26dd904d9fb84" |
|
1395 |
+ }, |
|
1396 |
+ "dist": { |
|
1397 |
+ "type": "zip", |
|
1398 |
+ "url": "https://api.github.com/repos/symfony/symfony/zipball/969d709ad428076bf1084e386dc26dd904d9fb84", |
|
1399 |
+ "reference": "969d709ad428076bf1084e386dc26dd904d9fb84", |
|
1400 |
+ "shasum": "" |
|
1401 |
+ }, |
|
1402 |
+ "require": { |
|
1403 |
+ "doctrine/common": "~2.3", |
|
1404 |
+ "php": ">=5.3.9", |
|
1405 |
+ "psr/log": "~1.0", |
|
1406 |
+ "twig/twig": "~1.18" |
|
1407 |
+ }, |
|
1408 |
+ "replace": { |
|
1409 |
+ "symfony/asset": "self.version", |
|
1410 |
+ "symfony/browser-kit": "self.version", |
|
1411 |
+ "symfony/class-loader": "self.version", |
|
1412 |
+ "symfony/config": "self.version", |
|
1413 |
+ "symfony/console": "self.version", |
|
1414 |
+ "symfony/css-selector": "self.version", |
|
1415 |
+ "symfony/debug": "self.version", |
|
1416 |
+ "symfony/debug-bundle": "self.version", |
|
1417 |
+ "symfony/dependency-injection": "self.version", |
|
1418 |
+ "symfony/doctrine-bridge": "self.version", |
|
1419 |
+ "symfony/dom-crawler": "self.version", |
|
1420 |
+ "symfony/event-dispatcher": "self.version", |
|
1421 |
+ "symfony/expression-language": "self.version", |
|
1422 |
+ "symfony/filesystem": "self.version", |
|
1423 |
+ "symfony/finder": "self.version", |
|
1424 |
+ "symfony/form": "self.version", |
|
1425 |
+ "symfony/framework-bundle": "self.version", |
|
1426 |
+ "symfony/http-foundation": "self.version", |
|
1427 |
+ "symfony/http-kernel": "self.version", |
|
1428 |
+ "symfony/intl": "self.version", |
|
1429 |
+ "symfony/locale": "self.version", |
|
1430 |
+ "symfony/monolog-bridge": "self.version", |
|
1431 |
+ "symfony/options-resolver": "self.version", |
|
1432 |
+ "symfony/process": "self.version", |
|
1433 |
+ "symfony/property-access": "self.version", |
|
1434 |
+ "symfony/proxy-manager-bridge": "self.version", |
|
1435 |
+ "symfony/routing": "self.version", |
|
1436 |
+ "symfony/security": "self.version", |
|
1437 |
+ "symfony/security-acl": "self.version", |
|
1438 |
+ "symfony/security-bundle": "self.version", |
|
1439 |
+ "symfony/security-core": "self.version", |
|
1440 |
+ "symfony/security-csrf": "self.version", |
|
1441 |
+ "symfony/security-http": "self.version", |
|
1442 |
+ "symfony/serializer": "self.version", |
|
1443 |
+ "symfony/stopwatch": "self.version", |
|
1444 |
+ "symfony/swiftmailer-bridge": "self.version", |
|
1445 |
+ "symfony/templating": "self.version", |
|
1446 |
+ "symfony/translation": "self.version", |
|
1447 |
+ "symfony/twig-bridge": "self.version", |
|
1448 |
+ "symfony/twig-bundle": "self.version", |
|
1449 |
+ "symfony/validator": "self.version", |
|
1450 |
+ "symfony/var-dumper": "self.version", |
|
1451 |
+ "symfony/web-profiler-bundle": "self.version", |
|
1452 |
+ "symfony/yaml": "self.version" |
|
1453 |
+ }, |
|
1454 |
+ "require-dev": { |
|
1455 |
+ "doctrine/data-fixtures": "1.0.*", |
|
1456 |
+ "doctrine/dbal": "~2.2", |
|
1457 |
+ "doctrine/doctrine-bundle": "~1.2", |
|
1458 |
+ "doctrine/orm": "~2.2,>=2.2.3", |
|
1459 |
+ "egulias/email-validator": "~1.2", |
|
1460 |
+ "ircmaxell/password-compat": "~1.0", |
|
1461 |
+ "monolog/monolog": "~1.11", |
|
1462 |
+ "ocramius/proxy-manager": "~0.4|~1.0", |
|
1463 |
+ "symfony/phpunit-bridge": "self.version" |
|
1464 |
+ }, |
|
1465 |
+ "type": "library", |
|
1466 |
+ "extra": { |
|
1467 |
+ "branch-alias": { |
|
1468 |
+ "dev-master": "2.7-dev" |
|
1469 |
+ } |
|
1470 |
+ }, |
|
1471 |
+ "autoload": { |
|
1472 |
+ "psr-4": { |
|
1473 |
+ "Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/", |
|
1474 |
+ "Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/", |
|
1475 |
+ "Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/", |
|
1476 |
+ "Symfony\\Bridge\\Swiftmailer\\": "src/Symfony/Bridge/Swiftmailer/", |
|
1477 |
+ "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/", |
|
1478 |
+ "Symfony\\Bundle\\": "src/Symfony/Bundle/", |
|
1479 |
+ "Symfony\\Component\\": "src/Symfony/Component/" |
|
1480 |
+ }, |
|
1481 |
+ "classmap": [ |
|
1482 |
+ "src/Symfony/Component/HttpFoundation/Resources/stubs", |
|
1483 |
+ "src/Symfony/Component/Intl/Resources/stubs" |
|
1484 |
+ ], |
|
1485 |
+ "files": [ |
|
1486 |
+ "src/Symfony/Component/Intl/Resources/stubs/functions.php" |
|
1487 |
+ ] |
|
1488 |
+ }, |
|
1489 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1490 |
+ "license": [ |
|
1491 |
+ "MIT" |
|
1492 |
+ ], |
|
1493 |
+ "authors": [ |
|
1494 |
+ { |
|
1495 |
+ "name": "Fabien Potencier", |
|
1496 |
+ "email": "fabien@symfony.com" |
|
1497 |
+ }, |
|
1498 |
+ { |
|
1499 |
+ "name": "Symfony Community", |
|
1500 |
+ "homepage": "https://symfony.com/contributors" |
|
1501 |
+ } |
|
1502 |
+ ], |
|
1503 |
+ "description": "The Symfony PHP framework", |
|
1504 |
+ "homepage": "https://symfony.com", |
|
1505 |
+ "keywords": [ |
|
1506 |
+ "framework" |
|
1507 |
+ ], |
|
1508 |
+ "time": "2015-07-13 19:27:49" |
|
1509 |
+ }, |
|
1510 |
+ { |
|
1511 |
+ "name": "twig/twig", |
|
1512 |
+ "version": "v1.18.2", |
|
1513 |
+ "source": { |
|
1514 |
+ "type": "git", |
|
1515 |
+ "url": "https://github.com/twigphp/Twig.git", |
|
1516 |
+ "reference": "e8e6575abf6102af53ec283f7f14b89e304fa602" |
|
1517 |
+ }, |
|
1518 |
+ "dist": { |
|
1519 |
+ "type": "zip", |
|
1520 |
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/e8e6575abf6102af53ec283f7f14b89e304fa602", |
|
1521 |
+ "reference": "e8e6575abf6102af53ec283f7f14b89e304fa602", |
|
1522 |
+ "shasum": "" |
|
1523 |
+ }, |
|
1524 |
+ "require": { |
|
1525 |
+ "php": ">=5.2.7" |
|
1526 |
+ }, |
|
1527 |
+ "type": "library", |
|
1528 |
+ "extra": { |
|
1529 |
+ "branch-alias": { |
|
1530 |
+ "dev-master": "1.18-dev" |
|
1531 |
+ } |
|
1532 |
+ }, |
|
1533 |
+ "autoload": { |
|
1534 |
+ "psr-0": { |
|
1535 |
+ "Twig_": "lib/" |
|
1536 |
+ } |
|
1537 |
+ }, |
|
1538 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1539 |
+ "license": [ |
|
1540 |
+ "BSD-3-Clause" |
|
1541 |
+ ], |
|
1542 |
+ "authors": [ |
|
1543 |
+ { |
|
1544 |
+ "name": "Fabien Potencier", |
|
1545 |
+ "email": "fabien@symfony.com", |
|
1546 |
+ "homepage": "http://fabien.potencier.org", |
|
1547 |
+ "role": "Lead Developer" |
|
1548 |
+ }, |
|
1549 |
+ { |
|
1550 |
+ "name": "Armin Ronacher", |
|
1551 |
+ "email": "armin.ronacher@active-4.com", |
|
1552 |
+ "role": "Project Founder" |
|
1553 |
+ }, |
|
1554 |
+ { |
|
1555 |
+ "name": "Twig Team", |
|
1556 |
+ "homepage": "http://twig.sensiolabs.org/contributors", |
|
1557 |
+ "role": "Contributors" |
|
1558 |
+ } |
|
1559 |
+ ], |
|
1560 |
+ "description": "Twig, the flexible, fast, and secure template language for PHP", |
|
1561 |
+ "homepage": "http://twig.sensiolabs.org", |
|
1562 |
+ "keywords": [ |
|
1563 |
+ "templating" |
|
1564 |
+ ], |
|
1565 |
+ "time": "2015-06-06 23:31:24" |
|
1566 |
+ } |
|
1567 |
+ ], |
|
1568 |
+ "packages-dev": [ |
|
1569 |
+ { |
|
1570 |
+ "name": "sensio/generator-bundle", |
|
1571 |
+ "version": "v2.5.3", |
|
1572 |
+ "target-dir": "Sensio/Bundle/GeneratorBundle", |
|
1573 |
+ "source": { |
|
1574 |
+ "type": "git", |
|
1575 |
+ "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", |
|
1576 |
+ "reference": "e50108c2133ee5c9c484555faed50c17a61221d3" |
|
1577 |
+ }, |
|
1578 |
+ "dist": { |
|
1579 |
+ "type": "zip", |
|
1580 |
+ "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/e50108c2133ee5c9c484555faed50c17a61221d3", |
|
1581 |
+ "reference": "e50108c2133ee5c9c484555faed50c17a61221d3", |
|
1582 |
+ "shasum": "" |
|
1583 |
+ }, |
|
1584 |
+ "require": { |
|
1585 |
+ "symfony/console": "~2.5", |
|
1586 |
+ "symfony/framework-bundle": "~2.2" |
|
1587 |
+ }, |
|
1588 |
+ "require-dev": { |
|
1589 |
+ "doctrine/orm": "~2.2,>=2.2.3", |
|
1590 |
+ "symfony/doctrine-bridge": "~2.2", |
|
1591 |
+ "twig/twig": "~1.11" |
|
1592 |
+ }, |
|
1593 |
+ "type": "symfony-bundle", |
|
1594 |
+ "extra": { |
|
1595 |
+ "branch-alias": { |
|
1596 |
+ "dev-master": "2.5.x-dev" |
|
1597 |
+ } |
|
1598 |
+ }, |
|
1599 |
+ "autoload": { |
|
1600 |
+ "psr-0": { |
|
1601 |
+ "Sensio\\Bundle\\GeneratorBundle": "" |
|
1602 |
+ } |
|
1603 |
+ }, |
|
1604 |
+ "notification-url": "https://packagist.org/downloads/", |
|
1605 |
+ "license": [ |
|
1606 |
+ "MIT" |
|
1607 |
+ ], |
|
1608 |
+ "authors": [ |
|
1609 |
+ { |
|
1610 |
+ "name": "Fabien Potencier", |
|
1611 |
+ "email": "fabien@symfony.com" |
|
1612 |
+ } |
|
1613 |
+ ], |
|
1614 |
+ "description": "This bundle generates code for you", |
|
1615 |
+ "time": "2015-03-17 06:36:52" |
|
1616 |
+ } |
|
1617 |
+ ], |
|
1618 |
+ "aliases": [], |
|
1619 |
+ "minimum-stability": "stable", |
|
1620 |
+ "stability-flags": [], |
|
1621 |
+ "prefer-stable": false, |
|
1622 |
+ "prefer-lowest": false, |
|
1623 |
+ "platform": { |
|
1624 |
+ "php": ">=5.3.9" |
|
1625 |
+ }, |
|
1626 |
+ "platform-dev": [] |
|
1627 |
+} |
0 | 10 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,18 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+namespace AppBundle\Controller; |
|
4 |
+ |
|
5 |
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
|
6 |
+use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
|
7 |
+use Symfony\Component\HttpFoundation\Request; |
|
8 |
+ |
|
9 |
+class DefaultController extends Controller |
|
10 |
+{ |
|
11 |
+ /** |
|
12 |
+ * @Route("/app/example", name="homepage") |
|
13 |
+ */ |
|
14 |
+ public function indexAction() |
|
15 |
+ { |
|
16 |
+ return $this->render('default/index.html.twig'); |
|
17 |
+ } |
|
18 |
+} |
0 | 19 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,18 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+namespace AppBundle\Tests\Controller; |
|
4 |
+ |
|
5 |
+use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; |
|
6 |
+ |
|
7 |
+class DefaultControllerTest extends WebTestCase |
|
8 |
+{ |
|
9 |
+ public function testIndex() |
|
10 |
+ { |
|
11 |
+ $client = static::createClient(); |
|
12 |
+ |
|
13 |
+ $crawler = $client->request('GET', '/app/example'); |
|
14 |
+ |
|
15 |
+ $this->assertEquals(200, $client->getResponse()->getStatusCode()); |
|
16 |
+ $this->assertTrue($crawler->filter('html:contains("Homepage")')->count() > 0); |
|
17 |
+ } |
|
18 |
+} |
0 | 10 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,13 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+namespace Blogger\BlogBundle\Controller; |
|
4 |
+ |
|
5 |
+use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
|
6 |
+ |
|
7 |
+class DefaultController extends Controller |
|
8 |
+{ |
|
9 |
+ public function indexAction($name) |
|
10 |
+ { |
|
11 |
+ return $this->render('BloggerBlogBundle:Default:index.html.twig', array('name' => $name)); |
|
12 |
+ } |
|
13 |
+} |
0 | 14 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,28 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+namespace Blogger\BlogBundle\DependencyInjection; |
|
4 |
+ |
|
5 |
+use Symfony\Component\DependencyInjection\ContainerBuilder; |
|
6 |
+use Symfony\Component\Config\FileLocator; |
|
7 |
+use Symfony\Component\HttpKernel\DependencyInjection\Extension; |
|
8 |
+use Symfony\Component\DependencyInjection\Loader; |
|
9 |
+ |
|
10 |
+/** |
|
11 |
+ * This is the class that loads and manages your bundle configuration |
|
12 |
+ * |
|
13 |
+ * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html} |
|
14 |
+ */ |
|
15 |
+class BloggerBlogExtension extends Extension |
|
16 |
+{ |
|
17 |
+ /** |
|
18 |
+ * {@inheritdoc} |
|
19 |
+ */ |
|
20 |
+ public function load(array $configs, ContainerBuilder $container) |
|
21 |
+ { |
|
22 |
+ $configuration = new Configuration(); |
|
23 |
+ $config = $this->processConfiguration($configuration, $configs); |
|
24 |
+ |
|
25 |
+ $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); |
|
26 |
+ $loader->load('services.yml'); |
|
27 |
+ } |
|
28 |
+} |
0 | 29 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,29 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+namespace Blogger\BlogBundle\DependencyInjection; |
|
4 |
+ |
|
5 |
+use Symfony\Component\Config\Definition\Builder\TreeBuilder; |
|
6 |
+use Symfony\Component\Config\Definition\ConfigurationInterface; |
|
7 |
+ |
|
8 |
+/** |
|
9 |
+ * This is the class that validates and merges configuration from your app/config files |
|
10 |
+ * |
|
11 |
+ * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html#cookbook-bundles-extension-config-class} |
|
12 |
+ */ |
|
13 |
+class Configuration implements ConfigurationInterface |
|
14 |
+{ |
|
15 |
+ /** |
|
16 |
+ * {@inheritdoc} |
|
17 |
+ */ |
|
18 |
+ public function getConfigTreeBuilder() |
|
19 |
+ { |
|
20 |
+ $treeBuilder = new TreeBuilder(); |
|
21 |
+ $rootNode = $treeBuilder->root('blogger_blog'); |
|
22 |
+ |
|
23 |
+ // Here you should define the parameters that are allowed to |
|
24 |
+ // configure your bundle. See the documentation linked above for |
|
25 |
+ // more information on that topic. |
|
26 |
+ |
|
27 |
+ return $treeBuilder; |
|
28 |
+ } |
|
29 |
+} |
0 | 2 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,17 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+namespace Blogger\BlogBundle\Tests\Controller; |
|
4 |
+ |
|
5 |
+use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; |
|
6 |
+ |
|
7 |
+class DefaultControllerTest extends WebTestCase |
|
8 |
+{ |
|
9 |
+ public function testIndex() |
|
10 |
+ { |
|
11 |
+ $client = static::createClient(); |
|
12 |
+ |
|
13 |
+ $crawler = $client->request('GET', '/hello/Fabien'); |
|
14 |
+ |
|
15 |
+ $this->assertTrue($crawler->filter('html:contains("Hello Fabien")')->count() > 0); |
|
16 |
+ } |
|
17 |
+} |
0 | 18 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,67 @@ |
1 |
+# Use the front controller as index file. It serves as a fallback solution when |
|
2 |
+# every other rewrite/redirect fails (e.g. in an aliased environment without |
|
3 |
+# mod_rewrite). Additionally, this reduces the matching process for the |
|
4 |
+# start page (path "/") because otherwise Apache will apply the rewriting rules |
|
5 |
+# to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl). |
|
6 |
+DirectoryIndex app.php |
|
7 |
+ |
|
8 |
+# uncomment the following line if you install assets as symlinks |
|
9 |
+# or run into problems when compiling LESS/Sass/CoffeScript assets |
|
10 |
+# |
|
11 |
+# Options FollowSymlinks |
|
12 |
+ |
|
13 |
+# Disabling MultiViews prevents unwanted negotiation, e.g. "/app" should not resolve |
|
14 |
+# to the front controller "/app.php" but be rewritten to "/app.php/app". |
|
15 |
+<IfModule mod_negotiation.c> |
|
16 |
+ Options -MultiViews |
|
17 |
+</IfModule> |
|
18 |
+ |
|
19 |
+<IfModule mod_rewrite.c> |
|
20 |
+ RewriteEngine On |
|
21 |
+ |
|
22 |
+ # Determine the RewriteBase automatically and set it as environment variable. |
|
23 |
+ # If you are using Apache aliases to do mass virtual hosting or installed the |
|
24 |
+ # project in a subdirectory, the base path will be prepended to allow proper |
|
25 |
+ # resolution of the app.php file and to redirect to the correct URI. It will |
|
26 |
+ # work in environments without path prefix as well, providing a safe, one-size |
|
27 |
+ # fits all solution. But as you do not need it in this case, you can comment |
|
28 |
+ # the following 2 lines to eliminate the overhead. |
|
29 |
+ RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ |
|
30 |
+ RewriteRule ^(.*) - [E=BASE:%1] |
|
31 |
+ |
|
32 |
+ # Sets the HTTP_AUTHORIZATION header removed by apache |
|
33 |
+ RewriteCond %{HTTP:Authorization} . |
|
34 |
+ RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] |
|
35 |
+ |
|
36 |
+ # Redirect to URI without front controller to prevent duplicate content |
|
37 |
+ # (with and without `/app.php`). Only do this redirect on the initial |
|
38 |
+ # rewrite by Apache and not on subsequent cycles. Otherwise we would get an |
|
39 |
+ # endless redirect loop (request -> rewrite to front controller -> |
|
40 |
+ # redirect -> request -> ...). |
|
41 |
+ # So in case you get a "too many redirects" error or you always get redirected |
|
42 |
+ # to the start page because your Apache does not expose the REDIRECT_STATUS |
|
43 |
+ # environment variable, you have 2 choices: |
|
44 |
+ # - disable this feature by commenting the following 2 lines or |
|
45 |
+ # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the |
|
46 |
+ # following RewriteCond (best solution) |
|
47 |
+ RewriteCond %{ENV:REDIRECT_STATUS} ^$ |
|
48 |
+ RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] |
|
49 |
+ |
|
50 |
+ # If the requested filename exists, simply serve it. |
|
51 |
+ # We only want to let Apache serve files and not directories. |
|
52 |
+ RewriteCond %{REQUEST_FILENAME} -f |
|
53 |
+ RewriteRule .? - [L] |
|
54 |
+ |
|
55 |
+ # Rewrite all other queries to the front controller. |
|
56 |
+ RewriteRule .? %{ENV:BASE}/app.php [L] |
|
57 |
+</IfModule> |
|
58 |
+ |
|
59 |
+<IfModule !mod_rewrite.c> |
|
60 |
+ <IfModule mod_alias.c> |
|
61 |
+ # When mod_rewrite is not available, we instruct a temporary redirect of |
|
62 |
+ # the start page to the front controller explicitly so that the website |
|
63 |
+ # and the generated links can still be used. |
|
64 |
+ RedirectMatch 302 ^/$ /app.php/ |
|
65 |
+ # RedirectTemp cannot be used instead |
|
66 |
+ </IfModule> |
|
67 |
+</IfModule> |
0 | 68 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,30 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+use Symfony\Component\ClassLoader\ApcClassLoader; |
|
4 |
+use Symfony\Component\HttpFoundation\Request; |
|
5 |
+ |
|
6 |
+$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; |
|
7 |
+ |
|
8 |
+// Enable APC for autoloading to improve performance. |
|
9 |
+// You should change the ApcClassLoader first argument to a unique prefix |
|
10 |
+// in order to prevent cache key conflicts with other applications |
|
11 |
+// also using APC. |
|
12 |
+/* |
|
13 |
+$apcLoader = new ApcClassLoader(sha1(__FILE__), $loader); |
|
14 |
+$loader->unregister(); |
|
15 |
+$apcLoader->register(true); |
|
16 |
+*/ |
|
17 |
+ |
|
18 |
+require_once __DIR__.'/../app/AppKernel.php'; |
|
19 |
+//require_once __DIR__.'/../app/AppCache.php'; |
|
20 |
+ |
|
21 |
+$kernel = new AppKernel('prod', false); |
|
22 |
+$kernel->loadClassCache(); |
|
23 |
+//$kernel = new AppCache($kernel); |
|
24 |
+ |
|
25 |
+// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter |
|
26 |
+//Request::enableHttpMethodParameterOverride(); |
|
27 |
+$request = Request::createFromGlobals(); |
|
28 |
+$response = $kernel->handle($request); |
|
29 |
+$response->send(); |
|
30 |
+$kernel->terminate($request, $response); |
0 | 31 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,30 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+use Symfony\Component\HttpFoundation\Request; |
|
4 |
+use Symfony\Component\Debug\Debug; |
|
5 |
+ |
|
6 |
+// If you don't want to setup permissions the proper way, just uncomment the following PHP line |
|
7 |
+// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information |
|
8 |
+//umask(0000); |
|
9 |
+ |
|
10 |
+// This check prevents access to debug front controllers that are deployed by accident to production servers. |
|
11 |
+// Feel free to remove this, extend it, or make something more sophisticated. |
|
12 |
+if (isset($_SERVER['HTTP_CLIENT_IP']) |
|
13 |
+ || isset($_SERVER['HTTP_X_FORWARDED_FOR']) |
|
14 |
+ || !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server') |
|
15 |
+) { |
|
16 |
+ header('HTTP/1.0 403 Forbidden'); |
|
17 |
+ exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); |
|
18 |
+} |
|
19 |
+ |
|
20 |
+$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; |
|
21 |
+Debug::enable(); |
|
22 |
+ |
|
23 |
+require_once __DIR__.'/../app/AppKernel.php'; |
|
24 |
+ |
|
25 |
+$kernel = new AppKernel('dev', true); |
|
26 |
+$kernel->loadClassCache(); |
|
27 |
+$request = Request::createFromGlobals(); |
|
28 |
+$response = $kernel->handle($request); |
|
29 |
+$response->send(); |
|
30 |
+$kernel->terminate($request, $response); |
2 | 33 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,124 @@ |
1 |
+<?php |
|
2 |
+ |
|
3 |
+if (!isset($_SERVER['HTTP_HOST'])) { |
|
4 |
+ exit('This script cannot be run from the CLI. Run it from a browser.'); |
|
5 |
+} |
|
6 |
+ |
|
7 |
+if (!in_array(@$_SERVER['REMOTE_ADDR'], array( |
|
8 |
+ '127.0.0.1', |
|
9 |
+ '::1', |
|
10 |
+))) { |
|
11 |
+ header('HTTP/1.0 403 Forbidden'); |
|
12 |
+ exit('This script is only accessible from localhost.'); |
|
13 |
+} |
|
14 |
+ |
|
15 |
+require_once dirname(__FILE__).'/../app/SymfonyRequirements.php'; |
|
16 |
+ |
|
17 |
+$symfonyRequirements = new SymfonyRequirements(); |
|
18 |
+ |
|
19 |
+$majorProblems = $symfonyRequirements->getFailedRequirements(); |
|
20 |
+$minorProblems = $symfonyRequirements->getFailedRecommendations(); |
|
21 |
+ |
|
22 |
+?> |
|
23 |
+<!DOCTYPE html> |
|
24 |
+<html> |
|
25 |
+ <head> |
|
26 |
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> |
|
27 |
+ <meta name="robots" content="noindex,nofollow" /> |
|
28 |
+ <title>Symfony Configuration</title> |
|
29 |
+ <link rel="stylesheet" href="bundles/framework/css/structure.css" media="all" /> |
|
30 |
+ <link rel="stylesheet" href="bundles/framework/css/body.css" media="all" /> |
|
31 |
+ <link rel="stylesheet" href="bundles/sensiodistribution/webconfigurator/css/install.css" media="all" /> |
|
32 |
+ </head> |
|
33 |
+ <body> |
|
34 |
+ <div id="content"> |
|
35 |
+ <div class="header clear-fix"> |
|
36 |
+ <div class="header-logo"> |
|
37 |
+ <img src="bundles/framework/images/logo_symfony.png" alt="Symfony" /> |
|
38 |
+ </div> |
|
39 |
+ |
|
40 |
+ <div class="search"> |
|
41 |
+ <form method="get" action="http://symfony.com/search"> |
|
42 |
+ <div class="form-row"> |
|
43 |
+ |
|
44 |
+ <label for="search-id"> |
|
45 |
+ <img src="bundles/framework/images/grey_magnifier.png" alt="Search on Symfony website" /> |
|
46 |
+ </label> |
|
47 |
+ |
|
48 |
+ <input name="q" id="search-id" type="search" placeholder="Search on Symfony website" /> |
|
49 |
+ |
|
50 |
+ <button type="submit" class="sf-button"> |
|
51 |
+ <span class="border-l"> |
|
52 |
+ <span class="border-r"> |
|
53 |
+ <span class="btn-bg">OK</span> |
|
54 |
+ </span> |
|
55 |
+ </span> |
|
56 |
+ </button> |
|
57 |
+ </div> |
|
58 |
+ </form> |
|
59 |
+ </div> |
|
60 |
+ </div> |
|
61 |
+ |
|
62 |
+ <div class="sf-reset"> |
|
63 |
+ <div class="block"> |
|
64 |
+ <div class="symfony-block-content"> |
|
65 |
+ <h1 class="title">Welcome!</h1> |
|
66 |
+ <p>Welcome to your new Symfony project.</p> |
|
67 |
+ <p> |
|
68 |
+ This script will guide you through the basic configuration of your project. |
|
69 |
+ You can also do the same by editing the ‘<strong>app/config/parameters.yml</strong>’ file directly. |
|
70 |
+ </p> |
|
71 |
+ |
|
72 |
+ <?php if (count($majorProblems)): ?> |
|
73 |
+ <h2 class="ko">Major problems</h2> |
|
74 |
+ <p>Major problems have been detected and <strong>must</strong> be fixed before continuing:</p> |
|
75 |
+ <ol> |
|
76 |
+ <?php foreach ($majorProblems as $problem): ?> |
|
77 |
+ <li><?php echo $problem->getHelpHtml() ?></li> |
|
78 |
+ <?php endforeach; ?> |
|
79 |
+ </ol> |
|
80 |
+ <?php endif; ?> |
|
81 |
+ |
|
82 |
+ <?php if (count($minorProblems)): ?> |
|
83 |
+ <h2>Recommendations</h2> |
|
84 |
+ <p> |
|
85 |
+ <?php if (count($majorProblems)): ?>Additionally, to<?php else: ?>To<?php endif; ?> enhance your Symfony experience, |
|
86 |
+ it’s recommended that you fix the following: |
|
87 |
+ </p> |
|
88 |
+ <ol> |
|
89 |
+ <?php foreach ($minorProblems as $problem): ?> |
|
90 |
+ <li><?php echo $problem->getHelpHtml() ?></li> |
|
91 |
+ <?php endforeach; ?> |
|
92 |
+ </ol> |
|
93 |
+ <?php endif; ?> |
|
94 |
+ |
|
95 |
+ <?php if ($symfonyRequirements->hasPhpIniConfigIssue()): ?> |
|
96 |
+ <p id="phpini">* |
|
97 |
+ <?php if ($symfonyRequirements->getPhpIniConfigPath()): ?> |
|
98 |
+ Changes to the <strong>php.ini</strong> file must be done in "<strong><?php echo $symfonyRequirements->getPhpIniConfigPath() ?></strong>". |
|
99 |
+ <?php else: ?> |
|
100 |
+ To change settings, create a "<strong>php.ini</strong>". |
|
101 |
+ <?php endif; ?> |
|
102 |
+ </p> |
|
103 |
+ <?php endif; ?> |
|
104 |
+ |
|
105 |
+ <?php if (!count($majorProblems) && !count($minorProblems)): ?> |
|
106 |
+ <p class="ok">Your configuration looks good to run Symfony.</p> |
|
107 |
+ <?php endif; ?> |
|
108 |
+ |
|
109 |
+ <ul class="symfony-install-continue"> |
|
110 |
+ <?php if (!count($majorProblems)): ?> |
|
111 |
+ <li><a href="app_dev.php/_configurator/">Configure your Symfony Application online</a></li> |
|
112 |
+ <li><a href="app_dev.php/">Bypass configuration and go to the Welcome page</a></li> |
|
113 |
+ <?php endif; ?> |
|
114 |
+ <?php if (count($majorProblems) || count($minorProblems)): ?> |
|
115 |
+ <li><a href="config.php">Re-check configuration</a></li> |
|
116 |
+ <?php endif; ?> |
|
117 |
+ </ul> |
|
118 |
+ </div> |
|
119 |
+ </div> |
|
120 |
+ </div> |
|
121 |
+ <div class="version">Symfony Standard Edition</div> |
|
122 |
+ </div> |
|
123 |
+ </body> |
|
124 |
+</html> |