Merge ~ubuntu-fr-webteam/ubuntu-fr-www:homepage into ~ubuntu-fr-webteam/ubuntu-fr-www:master

Proposed by vidda.cc
Status: Needs review
Proposed branch: ~ubuntu-fr-webteam/ubuntu-fr-www:homepage
Merge into: ~ubuntu-fr-webteam/ubuntu-fr-www:master
Diff against target: 75029 lines (+22597/-256)
28 files modified
.gitignore (+2/-0)
composer.json (+3/-1)
composer.lock (+195/-202)
dev/null (+0/-53)
views/home.html.twig (+108/-0)
views/includes/footer.html.twig (+68/-0)
views/includes/navbar.html.twig (+27/-0)
views/layout.html.twig (+41/-0)
web/assets/css/style.css (+411/-0)
web/assets/css/style.scss (+426/-0)
web/assets/css/vendor/bootstrap.css (+6757/-0)
web/assets/css/vendor/bootstrap.css.map (+1/-0)
web/assets/css/vendor/bootstrap.min.css (+6/-0)
web/assets/css/vendor/bootstrap.min.css.map (+1/-0)
web/assets/css/vendor/bootstrap_united.css (+6770/-0)
web/assets/css/vendor/bootstrap_united.min.css (+11/-0)
web/assets/css/vendor/font-awesome.css (+2337/-0)
web/assets/css/vendor/font-awesome.min.css (+4/-0)
web/assets/fonts/vendor/fontawesome-webfont.svg (+2671/-0)
web/assets/fonts/vendor/glyphicons-halflings-regular.svg (+288/-0)
web/assets/images/ubuntu-fr.svg (+16/-0)
web/assets/js/script.js (+30/-0)
web/assets/js/vendor/bootstrap.js (+2377/-0)
web/assets/js/vendor/bootstrap.min.js (+7/-0)
web/assets/js/vendor/jquery.min.js (+5/-0)
web/assets/js/vendor/modernizr-mq.js (+3/-0)
web/assets/js/vendor/npm.js (+13/-0)
web/index.php (+19/-0)
Reviewer Review Type Date Requested Status
Ubuntu-fr-webteam Pending
Review via email: mp+312423@code.launchpad.net

Commit message

Ajout des sources de la homepage

Description of the change

Ajout des sources de la homepage.
Les sources de la homepage ont été mises dans le dossier homepage.
Pour tester il suffit d'ouvrir le fichier homepage/index.html dans un navigateur. La homepage correspond à la maquette fournie par Théodore. Seuls les liens ne sont pas fonctionnels à l'heure actuelle.

To post a comment you must log in.
23ad786... by david-cc <email address hidden>

Ajout des images de logo ubuntu

93e31e7... by david-cc <email address hidden>

Ajout de styles avec Media queries

f1b5b58... by david-cc <email address hidden>

Pauffinage des styles et emplacement de div avec media queries

1407bf2... by david-cc <email address hidden>

Ajout des fichiers JS dans l'index.html et fix de styles css

7d324b3... by david-cc <email address hidden>

Silexisation et Twigisation de la homepage

dc1774f... by david-cc <email address hidden>

Fonction pour les assets et suppression du dossier vendor du repo

Unmerged commits

dc1774f... by david-cc <email address hidden>

Fonction pour les assets et suppression du dossier vendor du repo

7d324b3... by david-cc <email address hidden>

Silexisation et Twigisation de la homepage

1407bf2... by david-cc <email address hidden>

Ajout des fichiers JS dans l'index.html et fix de styles css

f1b5b58... by david-cc <email address hidden>

Pauffinage des styles et emplacement de div avec media queries

93e31e7... by david-cc <email address hidden>

Ajout de styles avec Media queries

23ad786... by david-cc <email address hidden>

Ajout des images de logo ubuntu

1861e61... by david-cc <email address hidden>

Ajout des sources de la homepage

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.gitignore b/.gitignore
2new file mode 100644
3index 0000000..625582c
4--- /dev/null
5+++ b/.gitignore
6@@ -0,0 +1,2 @@
7+vendor/
8+.htaccess
9diff --git a/composer.json b/composer.json
10index df5ed00..67c6ded 100644
11--- a/composer.json
12+++ b/composer.json
13@@ -1,5 +1,7 @@
14 {
15 "require": {
16- "silex/silex": "~1.1"
17+ "silex/silex": "~1.1",
18+ "twig/twig": "^1.29",
19+ "symfony/twig-bridge": "^3.2"
20 }
21 }
22diff --git a/composer.lock b/composer.lock
23index 3c3a477..7589fd9 100644
24--- a/composer.lock
25+++ b/composer.lock
26@@ -4,52 +4,10 @@
27 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
28 "This file is @generated automatically"
29 ],
30- "hash": "91b68680fa1fb7a48fe45bb20daa62f0",
31- "content-hash": "85f3e1ccb942151a1dc3ae7815a23cf1",
32+ "hash": "8beb9b0c88a5ec3b3a094ed92a00689a",
33+ "content-hash": "1cf966dc4dc77a125a02aec29d0f7015",
34 "packages": [
35 {
36- "name": "ircmaxell/password-compat",
37- "version": "v1.0.4",
38- "source": {
39- "type": "git",
40- "url": "https://github.com/ircmaxell/password_compat.git",
41- "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c"
42- },
43- "dist": {
44- "type": "zip",
45- "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c",
46- "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c",
47- "shasum": ""
48- },
49- "require-dev": {
50- "phpunit/phpunit": "4.*"
51- },
52- "type": "library",
53- "autoload": {
54- "files": [
55- "lib/password.php"
56- ]
57- },
58- "notification-url": "https://packagist.org/downloads/",
59- "license": [
60- "MIT"
61- ],
62- "authors": [
63- {
64- "name": "Anthony Ferrara",
65- "email": "ircmaxell@php.net",
66- "homepage": "http://blog.ircmaxell.com"
67- }
68- ],
69- "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
70- "homepage": "https://github.com/ircmaxell/password_compat",
71- "keywords": [
72- "hashing",
73- "password"
74- ],
75- "time": "2014-11-20 16:49:30"
76- },
77- {
78 "name": "pimple/pimple",
79 "version": "v1.1.1",
80 "source": {
81@@ -97,22 +55,30 @@
82 },
83 {
84 "name": "psr/log",
85- "version": "1.0.0",
86+ "version": "1.0.2",
87 "source": {
88 "type": "git",
89 "url": "https://github.com/php-fig/log.git",
90- "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
91+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
92 },
93 "dist": {
94 "type": "zip",
95- "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
96- "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
97+ "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
98+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
99 "shasum": ""
100 },
101+ "require": {
102+ "php": ">=5.3.0"
103+ },
104 "type": "library",
105+ "extra": {
106+ "branch-alias": {
107+ "dev-master": "1.0.x-dev"
108+ }
109+ },
110 "autoload": {
111- "psr-0": {
112- "Psr\\Log\\": ""
113+ "psr-4": {
114+ "Psr\\Log\\": "Psr/Log/"
115 }
116 },
117 "notification-url": "https://packagist.org/downloads/",
118@@ -126,12 +92,13 @@
119 }
120 ],
121 "description": "Common interface for logging libraries",
122+ "homepage": "https://github.com/php-fig/log",
123 "keywords": [
124 "log",
125 "psr",
126 "psr-3"
127 ],
128- "time": "2012-12-21 11:40:51"
129+ "time": "2016-10-10 12:19:37"
130 },
131 {
132 "name": "silex/silex",
133@@ -212,33 +179,33 @@
134 },
135 {
136 "name": "symfony/debug",
137- "version": "v2.8.7",
138+ "version": "v3.2.1",
139 "source": {
140 "type": "git",
141 "url": "https://github.com/symfony/debug.git",
142- "reference": "c7d6d8a599e4609a1abc76351d6234a2997e16ed"
143+ "reference": "9f923e68d524a3095c5a2ae5fc7220c7cbc12231"
144 },
145 "dist": {
146 "type": "zip",
147- "url": "https://api.github.com/repos/symfony/debug/zipball/c7d6d8a599e4609a1abc76351d6234a2997e16ed",
148- "reference": "c7d6d8a599e4609a1abc76351d6234a2997e16ed",
149+ "url": "https://api.github.com/repos/symfony/debug/zipball/9f923e68d524a3095c5a2ae5fc7220c7cbc12231",
150+ "reference": "9f923e68d524a3095c5a2ae5fc7220c7cbc12231",
151 "shasum": ""
152 },
153 "require": {
154- "php": ">=5.3.9",
155+ "php": ">=5.5.9",
156 "psr/log": "~1.0"
157 },
158 "conflict": {
159 "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
160 },
161 "require-dev": {
162- "symfony/class-loader": "~2.2|~3.0.0",
163- "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2|~3.0.0"
164+ "symfony/class-loader": "~2.8|~3.0",
165+ "symfony/http-kernel": "~2.8|~3.0"
166 },
167 "type": "library",
168 "extra": {
169 "branch-alias": {
170- "dev-master": "2.8-dev"
171+ "dev-master": "3.2-dev"
172 }
173 },
174 "autoload": {
175@@ -265,31 +232,31 @@
176 ],
177 "description": "Symfony Debug Component",
178 "homepage": "https://symfony.com",
179- "time": "2016-06-06 15:06:25"
180+ "time": "2016-11-16 22:18:16"
181 },
182 {
183 "name": "symfony/event-dispatcher",
184- "version": "v2.8.7",
185+ "version": "v3.0.9",
186 "source": {
187 "type": "git",
188 "url": "https://github.com/symfony/event-dispatcher.git",
189- "reference": "2a6b8713f8bdb582058cfda463527f195b066110"
190+ "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00"
191 },
192 "dist": {
193 "type": "zip",
194- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2a6b8713f8bdb582058cfda463527f195b066110",
195- "reference": "2a6b8713f8bdb582058cfda463527f195b066110",
196+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00",
197+ "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00",
198 "shasum": ""
199 },
200 "require": {
201- "php": ">=5.3.9"
202+ "php": ">=5.5.9"
203 },
204 "require-dev": {
205 "psr/log": "~1.0",
206- "symfony/config": "~2.0,>=2.0.5|~3.0.0",
207- "symfony/dependency-injection": "~2.6|~3.0.0",
208- "symfony/expression-language": "~2.6|~3.0.0",
209- "symfony/stopwatch": "~2.3|~3.0.0"
210+ "symfony/config": "~2.8|~3.0",
211+ "symfony/dependency-injection": "~2.8|~3.0",
212+ "symfony/expression-language": "~2.8|~3.0",
213+ "symfony/stopwatch": "~2.8|~3.0"
214 },
215 "suggest": {
216 "symfony/dependency-injection": "",
217@@ -298,7 +265,7 @@
218 "type": "library",
219 "extra": {
220 "branch-alias": {
221- "dev-master": "2.8-dev"
222+ "dev-master": "3.0-dev"
223 }
224 },
225 "autoload": {
226@@ -325,35 +292,33 @@
227 ],
228 "description": "Symfony EventDispatcher Component",
229 "homepage": "https://symfony.com",
230- "time": "2016-06-06 11:11:27"
231+ "time": "2016-07-19 10:44:15"
232 },
233 {
234 "name": "symfony/http-foundation",
235- "version": "v2.8.7",
236+ "version": "v3.0.9",
237 "source": {
238 "type": "git",
239 "url": "https://github.com/symfony/http-foundation.git",
240- "reference": "744dae663ffcfa21d8a111fb63541954199acbb2"
241+ "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82"
242 },
243 "dist": {
244 "type": "zip",
245- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/744dae663ffcfa21d8a111fb63541954199acbb2",
246- "reference": "744dae663ffcfa21d8a111fb63541954199acbb2",
247+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82",
248+ "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82",
249 "shasum": ""
250 },
251 "require": {
252- "php": ">=5.3.9",
253- "symfony/polyfill-mbstring": "~1.1",
254- "symfony/polyfill-php54": "~1.0",
255- "symfony/polyfill-php55": "~1.0"
256+ "php": ">=5.5.9",
257+ "symfony/polyfill-mbstring": "~1.1"
258 },
259 "require-dev": {
260- "symfony/expression-language": "~2.4|~3.0.0"
261+ "symfony/expression-language": "~2.8|~3.0"
262 },
263 "type": "library",
264 "extra": {
265 "branch-alias": {
266- "dev-master": "2.8-dev"
267+ "dev-master": "3.0-dev"
268 }
269 },
270 "autoload": {
271@@ -380,48 +345,48 @@
272 ],
273 "description": "Symfony HttpFoundation Component",
274 "homepage": "https://symfony.com",
275- "time": "2016-06-06 11:11:27"
276+ "time": "2016-07-17 13:54:30"
277 },
278 {
279 "name": "symfony/http-kernel",
280- "version": "v2.8.7",
281+ "version": "v3.0.9",
282 "source": {
283 "type": "git",
284 "url": "https://github.com/symfony/http-kernel.git",
285- "reference": "6b8e5b6100457642e7141dbbfe29f387cbd7e0ef"
286+ "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3"
287 },
288 "dist": {
289 "type": "zip",
290- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6b8e5b6100457642e7141dbbfe29f387cbd7e0ef",
291- "reference": "6b8e5b6100457642e7141dbbfe29f387cbd7e0ef",
292+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3",
293+ "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3",
294 "shasum": ""
295 },
296 "require": {
297- "php": ">=5.3.9",
298+ "php": ">=5.5.9",
299 "psr/log": "~1.0",
300- "symfony/debug": "~2.6,>=2.6.2",
301- "symfony/event-dispatcher": "~2.6,>=2.6.7|~3.0.0",
302- "symfony/http-foundation": "~2.5,>=2.5.4|~3.0.0"
303+ "symfony/debug": "~2.8|~3.0",
304+ "symfony/event-dispatcher": "~2.8|~3.0",
305+ "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2"
306 },
307 "conflict": {
308- "symfony/config": "<2.7"
309+ "symfony/config": "<2.8"
310 },
311 "require-dev": {
312- "symfony/browser-kit": "~2.3|~3.0.0",
313- "symfony/class-loader": "~2.1|~3.0.0",
314- "symfony/config": "~2.8",
315- "symfony/console": "~2.3|~3.0.0",
316- "symfony/css-selector": "~2.0,>=2.0.5|~3.0.0",
317- "symfony/dependency-injection": "~2.8|~3.0.0",
318- "symfony/dom-crawler": "~2.0,>=2.0.5|~3.0.0",
319- "symfony/expression-language": "~2.4|~3.0.0",
320- "symfony/finder": "~2.0,>=2.0.5|~3.0.0",
321- "symfony/process": "~2.0,>=2.0.5|~3.0.0",
322- "symfony/routing": "~2.8|~3.0.0",
323- "symfony/stopwatch": "~2.3|~3.0.0",
324- "symfony/templating": "~2.2|~3.0.0",
325- "symfony/translation": "~2.0,>=2.0.5|~3.0.0",
326- "symfony/var-dumper": "~2.6|~3.0.0"
327+ "symfony/browser-kit": "~2.8|~3.0",
328+ "symfony/class-loader": "~2.8|~3.0",
329+ "symfony/config": "~2.8|~3.0",
330+ "symfony/console": "~2.8|~3.0",
331+ "symfony/css-selector": "~2.8|~3.0",
332+ "symfony/dependency-injection": "~2.8|~3.0",
333+ "symfony/dom-crawler": "~2.8|~3.0",
334+ "symfony/expression-language": "~2.8|~3.0",
335+ "symfony/finder": "~2.8|~3.0",
336+ "symfony/process": "~2.8|~3.0",
337+ "symfony/routing": "~2.8|~3.0",
338+ "symfony/stopwatch": "~2.8|~3.0",
339+ "symfony/templating": "~2.8|~3.0",
340+ "symfony/translation": "~2.8|~3.0",
341+ "symfony/var-dumper": "~2.8|~3.0"
342 },
343 "suggest": {
344 "symfony/browser-kit": "",
345@@ -435,7 +400,7 @@
346 "type": "library",
347 "extra": {
348 "branch-alias": {
349- "dev-master": "2.8-dev"
350+ "dev-master": "3.0-dev"
351 }
352 },
353 "autoload": {
354@@ -462,20 +427,20 @@
355 ],
356 "description": "Symfony HttpKernel Component",
357 "homepage": "https://symfony.com",
358- "time": "2016-06-06 16:05:21"
359+ "time": "2016-07-30 09:10:37"
360 },
361 {
362 "name": "symfony/polyfill-mbstring",
363- "version": "v1.2.0",
364+ "version": "v1.3.0",
365 "source": {
366 "type": "git",
367 "url": "https://github.com/symfony/polyfill-mbstring.git",
368- "reference": "dff51f72b0706335131b00a7f49606168c582594"
369+ "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4"
370 },
371 "dist": {
372 "type": "zip",
373- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594",
374- "reference": "dff51f72b0706335131b00a7f49606168c582594",
375+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4",
376+ "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4",
377 "shasum": ""
378 },
379 "require": {
380@@ -487,7 +452,7 @@
381 "type": "library",
382 "extra": {
383 "branch-alias": {
384- "dev-master": "1.2-dev"
385+ "dev-master": "1.3-dev"
386 }
387 },
388 "autoload": {
389@@ -521,40 +486,57 @@
390 "portable",
391 "shim"
392 ],
393- "time": "2016-05-18 14:26:46"
394+ "time": "2016-11-14 01:06:16"
395 },
396 {
397- "name": "symfony/polyfill-php54",
398- "version": "v1.2.0",
399+ "name": "symfony/routing",
400+ "version": "v3.0.9",
401 "source": {
402 "type": "git",
403- "url": "https://github.com/symfony/polyfill-php54.git",
404- "reference": "34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1"
405+ "url": "https://github.com/symfony/routing.git",
406+ "reference": "9038984bd9c05ab07280121e9e10f61a7231457b"
407 },
408 "dist": {
409 "type": "zip",
410- "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1",
411- "reference": "34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1",
412+ "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b",
413+ "reference": "9038984bd9c05ab07280121e9e10f61a7231457b",
414 "shasum": ""
415 },
416 "require": {
417- "php": ">=5.3.3"
418+ "php": ">=5.5.9"
419+ },
420+ "conflict": {
421+ "symfony/config": "<2.8"
422+ },
423+ "require-dev": {
424+ "doctrine/annotations": "~1.0",
425+ "doctrine/common": "~2.2",
426+ "psr/log": "~1.0",
427+ "symfony/config": "~2.8|~3.0",
428+ "symfony/expression-language": "~2.8|~3.0",
429+ "symfony/http-foundation": "~2.8|~3.0",
430+ "symfony/yaml": "~2.8|~3.0"
431+ },
432+ "suggest": {
433+ "doctrine/annotations": "For using the annotation loader",
434+ "symfony/config": "For using the all-in-one router or any loader",
435+ "symfony/dependency-injection": "For loading routes from a service",
436+ "symfony/expression-language": "For using expression matching",
437+ "symfony/http-foundation": "For using a Symfony Request object",
438+ "symfony/yaml": "For using the YAML loader"
439 },
440 "type": "library",
441 "extra": {
442 "branch-alias": {
443- "dev-master": "1.2-dev"
444+ "dev-master": "3.0-dev"
445 }
446 },
447 "autoload": {
448 "psr-4": {
449- "Symfony\\Polyfill\\Php54\\": ""
450+ "Symfony\\Component\\Routing\\": ""
451 },
452- "files": [
453- "bootstrap.php"
454- ],
455- "classmap": [
456- "Resources/stubs"
457+ "exclude-from-classmap": [
458+ "/Tests/"
459 ]
460 },
461 "notification-url": "https://packagist.org/downloads/",
462@@ -563,54 +545,85 @@
463 ],
464 "authors": [
465 {
466- "name": "Nicolas Grekas",
467- "email": "p@tchwork.com"
468+ "name": "Fabien Potencier",
469+ "email": "fabien@symfony.com"
470 },
471 {
472 "name": "Symfony Community",
473 "homepage": "https://symfony.com/contributors"
474 }
475 ],
476- "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions",
477+ "description": "Symfony Routing Component",
478 "homepage": "https://symfony.com",
479 "keywords": [
480- "compatibility",
481- "polyfill",
482- "portable",
483- "shim"
484+ "router",
485+ "routing",
486+ "uri",
487+ "url"
488 ],
489- "time": "2016-05-18 14:26:46"
490+ "time": "2016-06-29 05:40:00"
491 },
492 {
493- "name": "symfony/polyfill-php55",
494- "version": "v1.2.0",
495+ "name": "symfony/twig-bridge",
496+ "version": "v3.2.1",
497 "source": {
498 "type": "git",
499- "url": "https://github.com/symfony/polyfill-php55.git",
500- "reference": "bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d"
501+ "url": "https://github.com/symfony/twig-bridge.git",
502+ "reference": "f6d8339d7b8b1d71b60eb13888d5db53acb868ac"
503 },
504 "dist": {
505 "type": "zip",
506- "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d",
507- "reference": "bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d",
508+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/f6d8339d7b8b1d71b60eb13888d5db53acb868ac",
509+ "reference": "f6d8339d7b8b1d71b60eb13888d5db53acb868ac",
510 "shasum": ""
511 },
512 "require": {
513- "ircmaxell/password-compat": "~1.0",
514- "php": ">=5.3.3"
515+ "php": ">=5.5.9",
516+ "twig/twig": "~1.28|~2.0"
517 },
518- "type": "library",
519+ "require-dev": {
520+ "symfony/asset": "~2.8|~3.0",
521+ "symfony/console": "~2.8|~3.0",
522+ "symfony/expression-language": "~2.8|~3.0",
523+ "symfony/finder": "~2.8|~3.0",
524+ "symfony/form": "~3.0.4",
525+ "symfony/http-kernel": "~3.2",
526+ "symfony/polyfill-intl-icu": "~1.0",
527+ "symfony/routing": "~2.8|~3.0",
528+ "symfony/security": "~2.8|~3.0",
529+ "symfony/security-acl": "~2.8|~3.0",
530+ "symfony/stopwatch": "~2.8|~3.0",
531+ "symfony/templating": "~2.8|~3.0",
532+ "symfony/translation": "~2.8|~3.0",
533+ "symfony/var-dumper": "~2.8.10|~3.1.4|~3.2",
534+ "symfony/yaml": "~2.8|~3.0"
535+ },
536+ "suggest": {
537+ "symfony/asset": "For using the AssetExtension",
538+ "symfony/expression-language": "For using the ExpressionExtension",
539+ "symfony/finder": "",
540+ "symfony/form": "For using the FormExtension",
541+ "symfony/http-kernel": "For using the HttpKernelExtension",
542+ "symfony/routing": "For using the RoutingExtension",
543+ "symfony/security": "For using the SecurityExtension",
544+ "symfony/stopwatch": "For using the StopwatchExtension",
545+ "symfony/templating": "For using the TwigEngine",
546+ "symfony/translation": "For using the TranslationExtension",
547+ "symfony/var-dumper": "For using the DumpExtension",
548+ "symfony/yaml": "For using the YamlExtension"
549+ },
550+ "type": "symfony-bridge",
551 "extra": {
552 "branch-alias": {
553- "dev-master": "1.2-dev"
554+ "dev-master": "3.2-dev"
555 }
556 },
557 "autoload": {
558 "psr-4": {
559- "Symfony\\Polyfill\\Php55\\": ""
560+ "Symfony\\Bridge\\Twig\\": ""
561 },
562- "files": [
563- "bootstrap.php"
564+ "exclude-from-classmap": [
565+ "/Tests/"
566 ]
567 },
568 "notification-url": "https://packagist.org/downloads/",
569@@ -619,98 +632,78 @@
570 ],
571 "authors": [
572 {
573- "name": "Nicolas Grekas",
574- "email": "p@tchwork.com"
575+ "name": "Fabien Potencier",
576+ "email": "fabien@symfony.com"
577 },
578 {
579 "name": "Symfony Community",
580 "homepage": "https://symfony.com/contributors"
581 }
582 ],
583- "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions",
584+ "description": "Symfony Twig Bridge",
585 "homepage": "https://symfony.com",
586- "keywords": [
587- "compatibility",
588- "polyfill",
589- "portable",
590- "shim"
591- ],
592- "time": "2016-05-18 14:26:46"
593+ "time": "2016-12-12 19:31:24"
594 },
595 {
596- "name": "symfony/routing",
597- "version": "v2.8.7",
598+ "name": "twig/twig",
599+ "version": "v1.29.0",
600 "source": {
601 "type": "git",
602- "url": "https://github.com/symfony/routing.git",
603- "reference": "4cbc81aa378869445fbd2d18c8c8b4a056c632a0"
604+ "url": "https://github.com/twigphp/Twig.git",
605+ "reference": "74f723e542368ca2080b252740be5f1113ebb898"
606 },
607 "dist": {
608 "type": "zip",
609- "url": "https://api.github.com/repos/symfony/routing/zipball/4cbc81aa378869445fbd2d18c8c8b4a056c632a0",
610- "reference": "4cbc81aa378869445fbd2d18c8c8b4a056c632a0",
611+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/74f723e542368ca2080b252740be5f1113ebb898",
612+ "reference": "74f723e542368ca2080b252740be5f1113ebb898",
613 "shasum": ""
614 },
615 "require": {
616- "php": ">=5.3.9"
617- },
618- "conflict": {
619- "symfony/config": "<2.7"
620+ "php": ">=5.2.7"
621 },
622 "require-dev": {
623- "doctrine/annotations": "~1.0",
624- "doctrine/common": "~2.2",
625- "psr/log": "~1.0",
626- "symfony/config": "~2.7|~3.0.0",
627- "symfony/expression-language": "~2.4|~3.0.0",
628- "symfony/http-foundation": "~2.3|~3.0.0",
629- "symfony/yaml": "~2.0,>=2.0.5|~3.0.0"
630- },
631- "suggest": {
632- "doctrine/annotations": "For using the annotation loader",
633- "symfony/config": "For using the all-in-one router or any loader",
634- "symfony/dependency-injection": "For loading routes from a service",
635- "symfony/expression-language": "For using expression matching",
636- "symfony/http-foundation": "For using a Symfony Request object",
637- "symfony/yaml": "For using the YAML loader"
638+ "symfony/debug": "~2.7",
639+ "symfony/phpunit-bridge": "~3.2@dev"
640 },
641 "type": "library",
642 "extra": {
643 "branch-alias": {
644- "dev-master": "2.8-dev"
645+ "dev-master": "1.29-dev"
646 }
647 },
648 "autoload": {
649- "psr-4": {
650- "Symfony\\Component\\Routing\\": ""
651- },
652- "exclude-from-classmap": [
653- "/Tests/"
654- ]
655+ "psr-0": {
656+ "Twig_": "lib/"
657+ }
658 },
659 "notification-url": "https://packagist.org/downloads/",
660 "license": [
661- "MIT"
662+ "BSD-3-Clause"
663 ],
664 "authors": [
665 {
666 "name": "Fabien Potencier",
667- "email": "fabien@symfony.com"
668+ "email": "fabien@symfony.com",
669+ "homepage": "http://fabien.potencier.org",
670+ "role": "Lead Developer"
671 },
672 {
673- "name": "Symfony Community",
674- "homepage": "https://symfony.com/contributors"
675+ "name": "Armin Ronacher",
676+ "email": "armin.ronacher@active-4.com",
677+ "role": "Project Founder"
678+ },
679+ {
680+ "name": "Twig Team",
681+ "homepage": "http://twig.sensiolabs.org/contributors",
682+ "role": "Contributors"
683 }
684 ],
685- "description": "Symfony Routing Component",
686- "homepage": "https://symfony.com",
687+ "description": "Twig, the flexible, fast, and secure template language for PHP",
688+ "homepage": "http://twig.sensiolabs.org",
689 "keywords": [
690- "router",
691- "routing",
692- "uri",
693- "url"
694+ "templating"
695 ],
696- "time": "2016-05-30 06:57:11"
697+ "time": "2016-12-13 17:28:18"
698 }
699 ],
700 "packages-dev": [],
701diff --git a/vendor/autoload.php b/vendor/autoload.php
702deleted file mode 100644
703index 7527a4c..0000000
704--- a/vendor/autoload.php
705+++ /dev/null
706@@ -1,7 +0,0 @@
707-<?php
708-
709-// autoload.php @generated by Composer
710-
711-require_once __DIR__ . '/composer' . '/autoload_real.php';
712-
713-return ComposerAutoloaderInit7a5738e436f8554b2f9edfd777d29a1e::getLoader();
714diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
715deleted file mode 100644
716index ff6ecfb..0000000
717--- a/vendor/composer/ClassLoader.php
718+++ /dev/null
719@@ -1,413 +0,0 @@
720-<?php
721-
722-/*
723- * This file is part of Composer.
724- *
725- * (c) Nils Adermann <naderman@naderman.de>
726- * Jordi Boggiano <j.boggiano@seld.be>
727- *
728- * For the full copyright and license information, please view the LICENSE
729- * file that was distributed with this source code.
730- */
731-
732-namespace Composer\Autoload;
733-
734-/**
735- * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
736- *
737- * $loader = new \Composer\Autoload\ClassLoader();
738- *
739- * // register classes with namespaces
740- * $loader->add('Symfony\Component', __DIR__.'/component');
741- * $loader->add('Symfony', __DIR__.'/framework');
742- *
743- * // activate the autoloader
744- * $loader->register();
745- *
746- * // to enable searching the include path (eg. for PEAR packages)
747- * $loader->setUseIncludePath(true);
748- *
749- * In this example, if you try to use a class in the Symfony\Component
750- * namespace or one of its children (Symfony\Component\Console for instance),
751- * the autoloader will first look for the class under the component/
752- * directory, and it will then fallback to the framework/ directory if not
753- * found before giving up.
754- *
755- * This class is loosely based on the Symfony UniversalClassLoader.
756- *
757- * @author Fabien Potencier <fabien@symfony.com>
758- * @author Jordi Boggiano <j.boggiano@seld.be>
759- * @see http://www.php-fig.org/psr/psr-0/
760- * @see http://www.php-fig.org/psr/psr-4/
761- */
762-class ClassLoader
763-{
764- // PSR-4
765- private $prefixLengthsPsr4 = array();
766- private $prefixDirsPsr4 = array();
767- private $fallbackDirsPsr4 = array();
768-
769- // PSR-0
770- private $prefixesPsr0 = array();
771- private $fallbackDirsPsr0 = array();
772-
773- private $useIncludePath = false;
774- private $classMap = array();
775-
776- private $classMapAuthoritative = false;
777-
778- public function getPrefixes()
779- {
780- if (!empty($this->prefixesPsr0)) {
781- return call_user_func_array('array_merge', $this->prefixesPsr0);
782- }
783-
784- return array();
785- }
786-
787- public function getPrefixesPsr4()
788- {
789- return $this->prefixDirsPsr4;
790- }
791-
792- public function getFallbackDirs()
793- {
794- return $this->fallbackDirsPsr0;
795- }
796-
797- public function getFallbackDirsPsr4()
798- {
799- return $this->fallbackDirsPsr4;
800- }
801-
802- public function getClassMap()
803- {
804- return $this->classMap;
805- }
806-
807- /**
808- * @param array $classMap Class to filename map
809- */
810- public function addClassMap(array $classMap)
811- {
812- if ($this->classMap) {
813- $this->classMap = array_merge($this->classMap, $classMap);
814- } else {
815- $this->classMap = $classMap;
816- }
817- }
818-
819- /**
820- * Registers a set of PSR-0 directories for a given prefix, either
821- * appending or prepending to the ones previously set for this prefix.
822- *
823- * @param string $prefix The prefix
824- * @param array|string $paths The PSR-0 root directories
825- * @param bool $prepend Whether to prepend the directories
826- */
827- public function add($prefix, $paths, $prepend = false)
828- {
829- if (!$prefix) {
830- if ($prepend) {
831- $this->fallbackDirsPsr0 = array_merge(
832- (array) $paths,
833- $this->fallbackDirsPsr0
834- );
835- } else {
836- $this->fallbackDirsPsr0 = array_merge(
837- $this->fallbackDirsPsr0,
838- (array) $paths
839- );
840- }
841-
842- return;
843- }
844-
845- $first = $prefix[0];
846- if (!isset($this->prefixesPsr0[$first][$prefix])) {
847- $this->prefixesPsr0[$first][$prefix] = (array) $paths;
848-
849- return;
850- }
851- if ($prepend) {
852- $this->prefixesPsr0[$first][$prefix] = array_merge(
853- (array) $paths,
854- $this->prefixesPsr0[$first][$prefix]
855- );
856- } else {
857- $this->prefixesPsr0[$first][$prefix] = array_merge(
858- $this->prefixesPsr0[$first][$prefix],
859- (array) $paths
860- );
861- }
862- }
863-
864- /**
865- * Registers a set of PSR-4 directories for a given namespace, either
866- * appending or prepending to the ones previously set for this namespace.
867- *
868- * @param string $prefix The prefix/namespace, with trailing '\\'
869- * @param array|string $paths The PSR-4 base directories
870- * @param bool $prepend Whether to prepend the directories
871- *
872- * @throws \InvalidArgumentException
873- */
874- public function addPsr4($prefix, $paths, $prepend = false)
875- {
876- if (!$prefix) {
877- // Register directories for the root namespace.
878- if ($prepend) {
879- $this->fallbackDirsPsr4 = array_merge(
880- (array) $paths,
881- $this->fallbackDirsPsr4
882- );
883- } else {
884- $this->fallbackDirsPsr4 = array_merge(
885- $this->fallbackDirsPsr4,
886- (array) $paths
887- );
888- }
889- } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
890- // Register directories for a new namespace.
891- $length = strlen($prefix);
892- if ('\\' !== $prefix[$length - 1]) {
893- throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
894- }
895- $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
896- $this->prefixDirsPsr4[$prefix] = (array) $paths;
897- } elseif ($prepend) {
898- // Prepend directories for an already registered namespace.
899- $this->prefixDirsPsr4[$prefix] = array_merge(
900- (array) $paths,
901- $this->prefixDirsPsr4[$prefix]
902- );
903- } else {
904- // Append directories for an already registered namespace.
905- $this->prefixDirsPsr4[$prefix] = array_merge(
906- $this->prefixDirsPsr4[$prefix],
907- (array) $paths
908- );
909- }
910- }
911-
912- /**
913- * Registers a set of PSR-0 directories for a given prefix,
914- * replacing any others previously set for this prefix.
915- *
916- * @param string $prefix The prefix
917- * @param array|string $paths The PSR-0 base directories
918- */
919- public function set($prefix, $paths)
920- {
921- if (!$prefix) {
922- $this->fallbackDirsPsr0 = (array) $paths;
923- } else {
924- $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
925- }
926- }
927-
928- /**
929- * Registers a set of PSR-4 directories for a given namespace,
930- * replacing any others previously set for this namespace.
931- *
932- * @param string $prefix The prefix/namespace, with trailing '\\'
933- * @param array|string $paths The PSR-4 base directories
934- *
935- * @throws \InvalidArgumentException
936- */
937- public function setPsr4($prefix, $paths)
938- {
939- if (!$prefix) {
940- $this->fallbackDirsPsr4 = (array) $paths;
941- } else {
942- $length = strlen($prefix);
943- if ('\\' !== $prefix[$length - 1]) {
944- throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
945- }
946- $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
947- $this->prefixDirsPsr4[$prefix] = (array) $paths;
948- }
949- }
950-
951- /**
952- * Turns on searching the include path for class files.
953- *
954- * @param bool $useIncludePath
955- */
956- public function setUseIncludePath($useIncludePath)
957- {
958- $this->useIncludePath = $useIncludePath;
959- }
960-
961- /**
962- * Can be used to check if the autoloader uses the include path to check
963- * for classes.
964- *
965- * @return bool
966- */
967- public function getUseIncludePath()
968- {
969- return $this->useIncludePath;
970- }
971-
972- /**
973- * Turns off searching the prefix and fallback directories for classes
974- * that have not been registered with the class map.
975- *
976- * @param bool $classMapAuthoritative
977- */
978- public function setClassMapAuthoritative($classMapAuthoritative)
979- {
980- $this->classMapAuthoritative = $classMapAuthoritative;
981- }
982-
983- /**
984- * Should class lookup fail if not found in the current class map?
985- *
986- * @return bool
987- */
988- public function isClassMapAuthoritative()
989- {
990- return $this->classMapAuthoritative;
991- }
992-
993- /**
994- * Registers this instance as an autoloader.
995- *
996- * @param bool $prepend Whether to prepend the autoloader or not
997- */
998- public function register($prepend = false)
999- {
1000- spl_autoload_register(array($this, 'loadClass'), true, $prepend);
1001- }
1002-
1003- /**
1004- * Unregisters this instance as an autoloader.
1005- */
1006- public function unregister()
1007- {
1008- spl_autoload_unregister(array($this, 'loadClass'));
1009- }
1010-
1011- /**
1012- * Loads the given class or interface.
1013- *
1014- * @param string $class The name of the class
1015- * @return bool|null True if loaded, null otherwise
1016- */
1017- public function loadClass($class)
1018- {
1019- if ($file = $this->findFile($class)) {
1020- includeFile($file);
1021-
1022- return true;
1023- }
1024- }
1025-
1026- /**
1027- * Finds the path to the file where the class is defined.
1028- *
1029- * @param string $class The name of the class
1030- *
1031- * @return string|false The path if found, false otherwise
1032- */
1033- public function findFile($class)
1034- {
1035- // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
1036- if ('\\' == $class[0]) {
1037- $class = substr($class, 1);
1038- }
1039-
1040- // class map lookup
1041- if (isset($this->classMap[$class])) {
1042- return $this->classMap[$class];
1043- }
1044- if ($this->classMapAuthoritative) {
1045- return false;
1046- }
1047-
1048- $file = $this->findFileWithExtension($class, '.php');
1049-
1050- // Search for Hack files if we are running on HHVM
1051- if ($file === null && defined('HHVM_VERSION')) {
1052- $file = $this->findFileWithExtension($class, '.hh');
1053- }
1054-
1055- if ($file === null) {
1056- // Remember that this class does not exist.
1057- return $this->classMap[$class] = false;
1058- }
1059-
1060- return $file;
1061- }
1062-
1063- private function findFileWithExtension($class, $ext)
1064- {
1065- // PSR-4 lookup
1066- $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
1067-
1068- $first = $class[0];
1069- if (isset($this->prefixLengthsPsr4[$first])) {
1070- foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
1071- if (0 === strpos($class, $prefix)) {
1072- foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
1073- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
1074- return $file;
1075- }
1076- }
1077- }
1078- }
1079- }
1080-
1081- // PSR-4 fallback dirs
1082- foreach ($this->fallbackDirsPsr4 as $dir) {
1083- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
1084- return $file;
1085- }
1086- }
1087-
1088- // PSR-0 lookup
1089- if (false !== $pos = strrpos($class, '\\')) {
1090- // namespaced class name
1091- $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
1092- . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
1093- } else {
1094- // PEAR-like class name
1095- $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
1096- }
1097-
1098- if (isset($this->prefixesPsr0[$first])) {
1099- foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
1100- if (0 === strpos($class, $prefix)) {
1101- foreach ($dirs as $dir) {
1102- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
1103- return $file;
1104- }
1105- }
1106- }
1107- }
1108- }
1109-
1110- // PSR-0 fallback dirs
1111- foreach ($this->fallbackDirsPsr0 as $dir) {
1112- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
1113- return $file;
1114- }
1115- }
1116-
1117- // PSR-0 include paths.
1118- if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
1119- return $file;
1120- }
1121- }
1122-}
1123-
1124-/**
1125- * Scope isolated include.
1126- *
1127- * Prevents access to $this/self from included files.
1128- */
1129-function includeFile($file)
1130-{
1131- include $file;
1132-}
1133diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE
1134deleted file mode 100644
1135index 1a28124..0000000
1136--- a/vendor/composer/LICENSE
1137+++ /dev/null
1138@@ -1,21 +0,0 @@
1139-
1140-Copyright (c) 2016 Nils Adermann, Jordi Boggiano
1141-
1142-Permission is hereby granted, free of charge, to any person obtaining a copy
1143-of this software and associated documentation files (the "Software"), to deal
1144-in the Software without restriction, including without limitation the rights
1145-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1146-copies of the Software, and to permit persons to whom the Software is furnished
1147-to do so, subject to the following conditions:
1148-
1149-The above copyright notice and this permission notice shall be included in all
1150-copies or substantial portions of the Software.
1151-
1152-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1153-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1154-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1155-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1156-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1157-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1158-THE SOFTWARE.
1159-
1160diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
1161deleted file mode 100644
1162index 7b48126..0000000
1163--- a/vendor/composer/autoload_classmap.php
1164+++ /dev/null
1165@@ -1,12 +0,0 @@
1166-<?php
1167-
1168-// autoload_classmap.php @generated by Composer
1169-
1170-$vendorDir = dirname(dirname(__FILE__));
1171-$baseDir = dirname($vendorDir);
1172-
1173-return array(
1174- 'CallbackFilterIterator' => $vendorDir . '/symfony/polyfill-php54/Resources/stubs/CallbackFilterIterator.php',
1175- 'RecursiveCallbackFilterIterator' => $vendorDir . '/symfony/polyfill-php54/Resources/stubs/RecursiveCallbackFilterIterator.php',
1176- 'SessionHandlerInterface' => $vendorDir . '/symfony/polyfill-php54/Resources/stubs/SessionHandlerInterface.php',
1177-);
1178diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php
1179deleted file mode 100644
1180index 82c0de9..0000000
1181--- a/vendor/composer/autoload_files.php
1182+++ /dev/null
1183@@ -1,13 +0,0 @@
1184-<?php
1185-
1186-// autoload_files.php @generated by Composer
1187-
1188-$vendorDir = dirname(dirname(__FILE__));
1189-$baseDir = dirname($vendorDir);
1190-
1191-return array(
1192- 'e40631d46120a9c38ea139981f8dab26' => $vendorDir . '/ircmaxell/password-compat/lib/password.php',
1193- '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
1194- 'edc6464955a37aa4d5fbf39d40fb6ee7' => $vendorDir . '/symfony/polyfill-php55/bootstrap.php',
1195- '3e2471375464aac821502deb0ac64275' => $vendorDir . '/symfony/polyfill-php54/bootstrap.php',
1196-);
1197diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php
1198deleted file mode 100644
1199index ee5ced3..0000000
1200--- a/vendor/composer/autoload_namespaces.php
1201+++ /dev/null
1202@@ -1,11 +0,0 @@
1203-<?php
1204-
1205-// autoload_namespaces.php @generated by Composer
1206-
1207-$vendorDir = dirname(dirname(__FILE__));
1208-$baseDir = dirname($vendorDir);
1209-
1210-return array(
1211- 'Psr\\Log\\' => array($vendorDir . '/psr/log'),
1212- 'Pimple' => array($vendorDir . '/pimple/pimple/lib'),
1213-);
1214diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
1215deleted file mode 100644
1216index 81b771d..0000000
1217--- a/vendor/composer/autoload_psr4.php
1218+++ /dev/null
1219@@ -1,18 +0,0 @@
1220-<?php
1221-
1222-// autoload_psr4.php @generated by Composer
1223-
1224-$vendorDir = dirname(dirname(__FILE__));
1225-$baseDir = dirname($vendorDir);
1226-
1227-return array(
1228- 'Symfony\\Polyfill\\Php55\\' => array($vendorDir . '/symfony/polyfill-php55'),
1229- 'Symfony\\Polyfill\\Php54\\' => array($vendorDir . '/symfony/polyfill-php54'),
1230- 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
1231- 'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
1232- 'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
1233- 'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
1234- 'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
1235- 'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'),
1236- 'Silex\\' => array($vendorDir . '/silex/silex/src/Silex'),
1237-);
1238diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
1239deleted file mode 100644
1240index e863ab3..0000000
1241--- a/vendor/composer/autoload_real.php
1242+++ /dev/null
1243@@ -1,70 +0,0 @@
1244-<?php
1245-
1246-// autoload_real.php @generated by Composer
1247-
1248-class ComposerAutoloaderInit7a5738e436f8554b2f9edfd777d29a1e
1249-{
1250- private static $loader;
1251-
1252- public static function loadClassLoader($class)
1253- {
1254- if ('Composer\Autoload\ClassLoader' === $class) {
1255- require __DIR__ . '/ClassLoader.php';
1256- }
1257- }
1258-
1259- public static function getLoader()
1260- {
1261- if (null !== self::$loader) {
1262- return self::$loader;
1263- }
1264-
1265- spl_autoload_register(array('ComposerAutoloaderInit7a5738e436f8554b2f9edfd777d29a1e', 'loadClassLoader'), true, true);
1266- self::$loader = $loader = new \Composer\Autoload\ClassLoader();
1267- spl_autoload_unregister(array('ComposerAutoloaderInit7a5738e436f8554b2f9edfd777d29a1e', 'loadClassLoader'));
1268-
1269- $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
1270- if ($useStaticLoader) {
1271- require_once __DIR__ . '/autoload_static.php';
1272-
1273- call_user_func(\Composer\Autoload\ComposerStaticInit7a5738e436f8554b2f9edfd777d29a1e::getInitializer($loader));
1274- } else {
1275- $map = require __DIR__ . '/autoload_namespaces.php';
1276- foreach ($map as $namespace => $path) {
1277- $loader->set($namespace, $path);
1278- }
1279-
1280- $map = require __DIR__ . '/autoload_psr4.php';
1281- foreach ($map as $namespace => $path) {
1282- $loader->setPsr4($namespace, $path);
1283- }
1284-
1285- $classMap = require __DIR__ . '/autoload_classmap.php';
1286- if ($classMap) {
1287- $loader->addClassMap($classMap);
1288- }
1289- }
1290-
1291- $loader->register(true);
1292-
1293- if ($useStaticLoader) {
1294- $includeFiles = Composer\Autoload\ComposerStaticInit7a5738e436f8554b2f9edfd777d29a1e::$files;
1295- } else {
1296- $includeFiles = require __DIR__ . '/autoload_files.php';
1297- }
1298- foreach ($includeFiles as $fileIdentifier => $file) {
1299- composerRequire7a5738e436f8554b2f9edfd777d29a1e($fileIdentifier, $file);
1300- }
1301-
1302- return $loader;
1303- }
1304-}
1305-
1306-function composerRequire7a5738e436f8554b2f9edfd777d29a1e($fileIdentifier, $file)
1307-{
1308- if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
1309- require $file;
1310-
1311- $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
1312- }
1313-}
1314diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
1315deleted file mode 100644
1316index 496a876..0000000
1317--- a/vendor/composer/autoload_static.php
1318+++ /dev/null
1319@@ -1,100 +0,0 @@
1320-<?php
1321-
1322-// autoload_static.php @generated by Composer
1323-
1324-namespace Composer\Autoload;
1325-
1326-class ComposerStaticInit7a5738e436f8554b2f9edfd777d29a1e
1327-{
1328- public static $files = array (
1329- 'e40631d46120a9c38ea139981f8dab26' => __DIR__ . '/..' . '/ircmaxell/password-compat/lib/password.php',
1330- '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
1331- 'edc6464955a37aa4d5fbf39d40fb6ee7' => __DIR__ . '/..' . '/symfony/polyfill-php55/bootstrap.php',
1332- '3e2471375464aac821502deb0ac64275' => __DIR__ . '/..' . '/symfony/polyfill-php54/bootstrap.php',
1333- );
1334-
1335- public static $prefixLengthsPsr4 = array (
1336- 'S' =>
1337- array (
1338- 'Symfony\\Polyfill\\Php55\\' => 23,
1339- 'Symfony\\Polyfill\\Php54\\' => 23,
1340- 'Symfony\\Polyfill\\Mbstring\\' => 26,
1341- 'Symfony\\Component\\Routing\\' => 26,
1342- 'Symfony\\Component\\HttpKernel\\' => 29,
1343- 'Symfony\\Component\\HttpFoundation\\' => 33,
1344- 'Symfony\\Component\\EventDispatcher\\' => 34,
1345- 'Symfony\\Component\\Debug\\' => 24,
1346- 'Silex\\' => 6,
1347- ),
1348- );
1349-
1350- public static $prefixDirsPsr4 = array (
1351- 'Symfony\\Polyfill\\Php55\\' =>
1352- array (
1353- 0 => __DIR__ . '/..' . '/symfony/polyfill-php55',
1354- ),
1355- 'Symfony\\Polyfill\\Php54\\' =>
1356- array (
1357- 0 => __DIR__ . '/..' . '/symfony/polyfill-php54',
1358- ),
1359- 'Symfony\\Polyfill\\Mbstring\\' =>
1360- array (
1361- 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
1362- ),
1363- 'Symfony\\Component\\Routing\\' =>
1364- array (
1365- 0 => __DIR__ . '/..' . '/symfony/routing',
1366- ),
1367- 'Symfony\\Component\\HttpKernel\\' =>
1368- array (
1369- 0 => __DIR__ . '/..' . '/symfony/http-kernel',
1370- ),
1371- 'Symfony\\Component\\HttpFoundation\\' =>
1372- array (
1373- 0 => __DIR__ . '/..' . '/symfony/http-foundation',
1374- ),
1375- 'Symfony\\Component\\EventDispatcher\\' =>
1376- array (
1377- 0 => __DIR__ . '/..' . '/symfony/event-dispatcher',
1378- ),
1379- 'Symfony\\Component\\Debug\\' =>
1380- array (
1381- 0 => __DIR__ . '/..' . '/symfony/debug',
1382- ),
1383- 'Silex\\' =>
1384- array (
1385- 0 => __DIR__ . '/..' . '/silex/silex/src/Silex',
1386- ),
1387- );
1388-
1389- public static $prefixesPsr0 = array (
1390- 'P' =>
1391- array (
1392- 'Psr\\Log\\' =>
1393- array (
1394- 0 => __DIR__ . '/..' . '/psr/log',
1395- ),
1396- 'Pimple' =>
1397- array (
1398- 0 => __DIR__ . '/..' . '/pimple/pimple/lib',
1399- ),
1400- ),
1401- );
1402-
1403- public static $classMap = array (
1404- 'CallbackFilterIterator' => __DIR__ . '/..' . '/symfony/polyfill-php54/Resources/stubs/CallbackFilterIterator.php',
1405- 'RecursiveCallbackFilterIterator' => __DIR__ . '/..' . '/symfony/polyfill-php54/Resources/stubs/RecursiveCallbackFilterIterator.php',
1406- 'SessionHandlerInterface' => __DIR__ . '/..' . '/symfony/polyfill-php54/Resources/stubs/SessionHandlerInterface.php',
1407- );
1408-
1409- public static function getInitializer(ClassLoader $loader)
1410- {
1411- return \Closure::bind(function () use ($loader) {
1412- $loader->prefixLengthsPsr4 = ComposerStaticInit7a5738e436f8554b2f9edfd777d29a1e::$prefixLengthsPsr4;
1413- $loader->prefixDirsPsr4 = ComposerStaticInit7a5738e436f8554b2f9edfd777d29a1e::$prefixDirsPsr4;
1414- $loader->prefixesPsr0 = ComposerStaticInit7a5738e436f8554b2f9edfd777d29a1e::$prefixesPsr0;
1415- $loader->classMap = ComposerStaticInit7a5738e436f8554b2f9edfd777d29a1e::$classMap;
1416-
1417- }, null, ClassLoader::class);
1418- }
1419-}
1420diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
1421deleted file mode 100644
1422index cc70848..0000000
1423--- a/vendor/composer/installed.json
1424+++ /dev/null
1425@@ -1,731 +0,0 @@
1426-[
1427- {
1428- "name": "symfony/routing",
1429- "version": "v2.8.7",
1430- "version_normalized": "2.8.7.0",
1431- "source": {
1432- "type": "git",
1433- "url": "https://github.com/symfony/routing.git",
1434- "reference": "4cbc81aa378869445fbd2d18c8c8b4a056c632a0"
1435- },
1436- "dist": {
1437- "type": "zip",
1438- "url": "https://api.github.com/repos/symfony/routing/zipball/4cbc81aa378869445fbd2d18c8c8b4a056c632a0",
1439- "reference": "4cbc81aa378869445fbd2d18c8c8b4a056c632a0",
1440- "shasum": ""
1441- },
1442- "require": {
1443- "php": ">=5.3.9"
1444- },
1445- "conflict": {
1446- "symfony/config": "<2.7"
1447- },
1448- "require-dev": {
1449- "doctrine/annotations": "~1.0",
1450- "doctrine/common": "~2.2",
1451- "psr/log": "~1.0",
1452- "symfony/config": "~2.7|~3.0.0",
1453- "symfony/expression-language": "~2.4|~3.0.0",
1454- "symfony/http-foundation": "~2.3|~3.0.0",
1455- "symfony/yaml": "~2.0,>=2.0.5|~3.0.0"
1456- },
1457- "suggest": {
1458- "doctrine/annotations": "For using the annotation loader",
1459- "symfony/config": "For using the all-in-one router or any loader",
1460- "symfony/dependency-injection": "For loading routes from a service",
1461- "symfony/expression-language": "For using expression matching",
1462- "symfony/http-foundation": "For using a Symfony Request object",
1463- "symfony/yaml": "For using the YAML loader"
1464- },
1465- "time": "2016-05-30 06:57:11",
1466- "type": "library",
1467- "extra": {
1468- "branch-alias": {
1469- "dev-master": "2.8-dev"
1470- }
1471- },
1472- "installation-source": "dist",
1473- "autoload": {
1474- "psr-4": {
1475- "Symfony\\Component\\Routing\\": ""
1476- },
1477- "exclude-from-classmap": [
1478- "/Tests/"
1479- ]
1480- },
1481- "notification-url": "https://packagist.org/downloads/",
1482- "license": [
1483- "MIT"
1484- ],
1485- "authors": [
1486- {
1487- "name": "Fabien Potencier",
1488- "email": "fabien@symfony.com"
1489- },
1490- {
1491- "name": "Symfony Community",
1492- "homepage": "https://symfony.com/contributors"
1493- }
1494- ],
1495- "description": "Symfony Routing Component",
1496- "homepage": "https://symfony.com",
1497- "keywords": [
1498- "router",
1499- "routing",
1500- "uri",
1501- "url"
1502- ]
1503- },
1504- {
1505- "name": "psr/log",
1506- "version": "1.0.0",
1507- "version_normalized": "1.0.0.0",
1508- "source": {
1509- "type": "git",
1510- "url": "https://github.com/php-fig/log.git",
1511- "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
1512- },
1513- "dist": {
1514- "type": "zip",
1515- "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
1516- "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
1517- "shasum": ""
1518- },
1519- "time": "2012-12-21 11:40:51",
1520- "type": "library",
1521- "installation-source": "dist",
1522- "autoload": {
1523- "psr-0": {
1524- "Psr\\Log\\": ""
1525- }
1526- },
1527- "notification-url": "https://packagist.org/downloads/",
1528- "license": [
1529- "MIT"
1530- ],
1531- "authors": [
1532- {
1533- "name": "PHP-FIG",
1534- "homepage": "http://www.php-fig.org/"
1535- }
1536- ],
1537- "description": "Common interface for logging libraries",
1538- "keywords": [
1539- "log",
1540- "psr",
1541- "psr-3"
1542- ]
1543- },
1544- {
1545- "name": "symfony/debug",
1546- "version": "v2.8.7",
1547- "version_normalized": "2.8.7.0",
1548- "source": {
1549- "type": "git",
1550- "url": "https://github.com/symfony/debug.git",
1551- "reference": "c7d6d8a599e4609a1abc76351d6234a2997e16ed"
1552- },
1553- "dist": {
1554- "type": "zip",
1555- "url": "https://api.github.com/repos/symfony/debug/zipball/c7d6d8a599e4609a1abc76351d6234a2997e16ed",
1556- "reference": "c7d6d8a599e4609a1abc76351d6234a2997e16ed",
1557- "shasum": ""
1558- },
1559- "require": {
1560- "php": ">=5.3.9",
1561- "psr/log": "~1.0"
1562- },
1563- "conflict": {
1564- "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
1565- },
1566- "require-dev": {
1567- "symfony/class-loader": "~2.2|~3.0.0",
1568- "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2|~3.0.0"
1569- },
1570- "time": "2016-06-06 15:06:25",
1571- "type": "library",
1572- "extra": {
1573- "branch-alias": {
1574- "dev-master": "2.8-dev"
1575- }
1576- },
1577- "installation-source": "dist",
1578- "autoload": {
1579- "psr-4": {
1580- "Symfony\\Component\\Debug\\": ""
1581- },
1582- "exclude-from-classmap": [
1583- "/Tests/"
1584- ]
1585- },
1586- "notification-url": "https://packagist.org/downloads/",
1587- "license": [
1588- "MIT"
1589- ],
1590- "authors": [
1591- {
1592- "name": "Fabien Potencier",
1593- "email": "fabien@symfony.com"
1594- },
1595- {
1596- "name": "Symfony Community",
1597- "homepage": "https://symfony.com/contributors"
1598- }
1599- ],
1600- "description": "Symfony Debug Component",
1601- "homepage": "https://symfony.com"
1602- },
1603- {
1604- "name": "symfony/polyfill-mbstring",
1605- "version": "v1.2.0",
1606- "version_normalized": "1.2.0.0",
1607- "source": {
1608- "type": "git",
1609- "url": "https://github.com/symfony/polyfill-mbstring.git",
1610- "reference": "dff51f72b0706335131b00a7f49606168c582594"
1611- },
1612- "dist": {
1613- "type": "zip",
1614- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594",
1615- "reference": "dff51f72b0706335131b00a7f49606168c582594",
1616- "shasum": ""
1617- },
1618- "require": {
1619- "php": ">=5.3.3"
1620- },
1621- "suggest": {
1622- "ext-mbstring": "For best performance"
1623- },
1624- "time": "2016-05-18 14:26:46",
1625- "type": "library",
1626- "extra": {
1627- "branch-alias": {
1628- "dev-master": "1.2-dev"
1629- }
1630- },
1631- "installation-source": "dist",
1632- "autoload": {
1633- "psr-4": {
1634- "Symfony\\Polyfill\\Mbstring\\": ""
1635- },
1636- "files": [
1637- "bootstrap.php"
1638- ]
1639- },
1640- "notification-url": "https://packagist.org/downloads/",
1641- "license": [
1642- "MIT"
1643- ],
1644- "authors": [
1645- {
1646- "name": "Nicolas Grekas",
1647- "email": "p@tchwork.com"
1648- },
1649- {
1650- "name": "Symfony Community",
1651- "homepage": "https://symfony.com/contributors"
1652- }
1653- ],
1654- "description": "Symfony polyfill for the Mbstring extension",
1655- "homepage": "https://symfony.com",
1656- "keywords": [
1657- "compatibility",
1658- "mbstring",
1659- "polyfill",
1660- "portable",
1661- "shim"
1662- ]
1663- },
1664- {
1665- "name": "ircmaxell/password-compat",
1666- "version": "v1.0.4",
1667- "version_normalized": "1.0.4.0",
1668- "source": {
1669- "type": "git",
1670- "url": "https://github.com/ircmaxell/password_compat.git",
1671- "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c"
1672- },
1673- "dist": {
1674- "type": "zip",
1675- "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c",
1676- "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c",
1677- "shasum": ""
1678- },
1679- "require-dev": {
1680- "phpunit/phpunit": "4.*"
1681- },
1682- "time": "2014-11-20 16:49:30",
1683- "type": "library",
1684- "installation-source": "dist",
1685- "autoload": {
1686- "files": [
1687- "lib/password.php"
1688- ]
1689- },
1690- "notification-url": "https://packagist.org/downloads/",
1691- "license": [
1692- "MIT"
1693- ],
1694- "authors": [
1695- {
1696- "name": "Anthony Ferrara",
1697- "email": "ircmaxell@php.net",
1698- "homepage": "http://blog.ircmaxell.com"
1699- }
1700- ],
1701- "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
1702- "homepage": "https://github.com/ircmaxell/password_compat",
1703- "keywords": [
1704- "hashing",
1705- "password"
1706- ]
1707- },
1708- {
1709- "name": "symfony/polyfill-php55",
1710- "version": "v1.2.0",
1711- "version_normalized": "1.2.0.0",
1712- "source": {
1713- "type": "git",
1714- "url": "https://github.com/symfony/polyfill-php55.git",
1715- "reference": "bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d"
1716- },
1717- "dist": {
1718- "type": "zip",
1719- "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d",
1720- "reference": "bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d",
1721- "shasum": ""
1722- },
1723- "require": {
1724- "ircmaxell/password-compat": "~1.0",
1725- "php": ">=5.3.3"
1726- },
1727- "time": "2016-05-18 14:26:46",
1728- "type": "library",
1729- "extra": {
1730- "branch-alias": {
1731- "dev-master": "1.2-dev"
1732- }
1733- },
1734- "installation-source": "dist",
1735- "autoload": {
1736- "psr-4": {
1737- "Symfony\\Polyfill\\Php55\\": ""
1738- },
1739- "files": [
1740- "bootstrap.php"
1741- ]
1742- },
1743- "notification-url": "https://packagist.org/downloads/",
1744- "license": [
1745- "MIT"
1746- ],
1747- "authors": [
1748- {
1749- "name": "Nicolas Grekas",
1750- "email": "p@tchwork.com"
1751- },
1752- {
1753- "name": "Symfony Community",
1754- "homepage": "https://symfony.com/contributors"
1755- }
1756- ],
1757- "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions",
1758- "homepage": "https://symfony.com",
1759- "keywords": [
1760- "compatibility",
1761- "polyfill",
1762- "portable",
1763- "shim"
1764- ]
1765- },
1766- {
1767- "name": "symfony/polyfill-php54",
1768- "version": "v1.2.0",
1769- "version_normalized": "1.2.0.0",
1770- "source": {
1771- "type": "git",
1772- "url": "https://github.com/symfony/polyfill-php54.git",
1773- "reference": "34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1"
1774- },
1775- "dist": {
1776- "type": "zip",
1777- "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1",
1778- "reference": "34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1",
1779- "shasum": ""
1780- },
1781- "require": {
1782- "php": ">=5.3.3"
1783- },
1784- "time": "2016-05-18 14:26:46",
1785- "type": "library",
1786- "extra": {
1787- "branch-alias": {
1788- "dev-master": "1.2-dev"
1789- }
1790- },
1791- "installation-source": "dist",
1792- "autoload": {
1793- "psr-4": {
1794- "Symfony\\Polyfill\\Php54\\": ""
1795- },
1796- "files": [
1797- "bootstrap.php"
1798- ],
1799- "classmap": [
1800- "Resources/stubs"
1801- ]
1802- },
1803- "notification-url": "https://packagist.org/downloads/",
1804- "license": [
1805- "MIT"
1806- ],
1807- "authors": [
1808- {
1809- "name": "Nicolas Grekas",
1810- "email": "p@tchwork.com"
1811- },
1812- {
1813- "name": "Symfony Community",
1814- "homepage": "https://symfony.com/contributors"
1815- }
1816- ],
1817- "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions",
1818- "homepage": "https://symfony.com",
1819- "keywords": [
1820- "compatibility",
1821- "polyfill",
1822- "portable",
1823- "shim"
1824- ]
1825- },
1826- {
1827- "name": "symfony/http-foundation",
1828- "version": "v2.8.7",
1829- "version_normalized": "2.8.7.0",
1830- "source": {
1831- "type": "git",
1832- "url": "https://github.com/symfony/http-foundation.git",
1833- "reference": "744dae663ffcfa21d8a111fb63541954199acbb2"
1834- },
1835- "dist": {
1836- "type": "zip",
1837- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/744dae663ffcfa21d8a111fb63541954199acbb2",
1838- "reference": "744dae663ffcfa21d8a111fb63541954199acbb2",
1839- "shasum": ""
1840- },
1841- "require": {
1842- "php": ">=5.3.9",
1843- "symfony/polyfill-mbstring": "~1.1",
1844- "symfony/polyfill-php54": "~1.0",
1845- "symfony/polyfill-php55": "~1.0"
1846- },
1847- "require-dev": {
1848- "symfony/expression-language": "~2.4|~3.0.0"
1849- },
1850- "time": "2016-06-06 11:11:27",
1851- "type": "library",
1852- "extra": {
1853- "branch-alias": {
1854- "dev-master": "2.8-dev"
1855- }
1856- },
1857- "installation-source": "dist",
1858- "autoload": {
1859- "psr-4": {
1860- "Symfony\\Component\\HttpFoundation\\": ""
1861- },
1862- "exclude-from-classmap": [
1863- "/Tests/"
1864- ]
1865- },
1866- "notification-url": "https://packagist.org/downloads/",
1867- "license": [
1868- "MIT"
1869- ],
1870- "authors": [
1871- {
1872- "name": "Fabien Potencier",
1873- "email": "fabien@symfony.com"
1874- },
1875- {
1876- "name": "Symfony Community",
1877- "homepage": "https://symfony.com/contributors"
1878- }
1879- ],
1880- "description": "Symfony HttpFoundation Component",
1881- "homepage": "https://symfony.com"
1882- },
1883- {
1884- "name": "symfony/event-dispatcher",
1885- "version": "v2.8.7",
1886- "version_normalized": "2.8.7.0",
1887- "source": {
1888- "type": "git",
1889- "url": "https://github.com/symfony/event-dispatcher.git",
1890- "reference": "2a6b8713f8bdb582058cfda463527f195b066110"
1891- },
1892- "dist": {
1893- "type": "zip",
1894- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2a6b8713f8bdb582058cfda463527f195b066110",
1895- "reference": "2a6b8713f8bdb582058cfda463527f195b066110",
1896- "shasum": ""
1897- },
1898- "require": {
1899- "php": ">=5.3.9"
1900- },
1901- "require-dev": {
1902- "psr/log": "~1.0",
1903- "symfony/config": "~2.0,>=2.0.5|~3.0.0",
1904- "symfony/dependency-injection": "~2.6|~3.0.0",
1905- "symfony/expression-language": "~2.6|~3.0.0",
1906- "symfony/stopwatch": "~2.3|~3.0.0"
1907- },
1908- "suggest": {
1909- "symfony/dependency-injection": "",
1910- "symfony/http-kernel": ""
1911- },
1912- "time": "2016-06-06 11:11:27",
1913- "type": "library",
1914- "extra": {
1915- "branch-alias": {
1916- "dev-master": "2.8-dev"
1917- }
1918- },
1919- "installation-source": "dist",
1920- "autoload": {
1921- "psr-4": {
1922- "Symfony\\Component\\EventDispatcher\\": ""
1923- },
1924- "exclude-from-classmap": [
1925- "/Tests/"
1926- ]
1927- },
1928- "notification-url": "https://packagist.org/downloads/",
1929- "license": [
1930- "MIT"
1931- ],
1932- "authors": [
1933- {
1934- "name": "Fabien Potencier",
1935- "email": "fabien@symfony.com"
1936- },
1937- {
1938- "name": "Symfony Community",
1939- "homepage": "https://symfony.com/contributors"
1940- }
1941- ],
1942- "description": "Symfony EventDispatcher Component",
1943- "homepage": "https://symfony.com"
1944- },
1945- {
1946- "name": "symfony/http-kernel",
1947- "version": "v2.8.7",
1948- "version_normalized": "2.8.7.0",
1949- "source": {
1950- "type": "git",
1951- "url": "https://github.com/symfony/http-kernel.git",
1952- "reference": "6b8e5b6100457642e7141dbbfe29f387cbd7e0ef"
1953- },
1954- "dist": {
1955- "type": "zip",
1956- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6b8e5b6100457642e7141dbbfe29f387cbd7e0ef",
1957- "reference": "6b8e5b6100457642e7141dbbfe29f387cbd7e0ef",
1958- "shasum": ""
1959- },
1960- "require": {
1961- "php": ">=5.3.9",
1962- "psr/log": "~1.0",
1963- "symfony/debug": "~2.6,>=2.6.2",
1964- "symfony/event-dispatcher": "~2.6,>=2.6.7|~3.0.0",
1965- "symfony/http-foundation": "~2.5,>=2.5.4|~3.0.0"
1966- },
1967- "conflict": {
1968- "symfony/config": "<2.7"
1969- },
1970- "require-dev": {
1971- "symfony/browser-kit": "~2.3|~3.0.0",
1972- "symfony/class-loader": "~2.1|~3.0.0",
1973- "symfony/config": "~2.8",
1974- "symfony/console": "~2.3|~3.0.0",
1975- "symfony/css-selector": "~2.0,>=2.0.5|~3.0.0",
1976- "symfony/dependency-injection": "~2.8|~3.0.0",
1977- "symfony/dom-crawler": "~2.0,>=2.0.5|~3.0.0",
1978- "symfony/expression-language": "~2.4|~3.0.0",
1979- "symfony/finder": "~2.0,>=2.0.5|~3.0.0",
1980- "symfony/process": "~2.0,>=2.0.5|~3.0.0",
1981- "symfony/routing": "~2.8|~3.0.0",
1982- "symfony/stopwatch": "~2.3|~3.0.0",
1983- "symfony/templating": "~2.2|~3.0.0",
1984- "symfony/translation": "~2.0,>=2.0.5|~3.0.0",
1985- "symfony/var-dumper": "~2.6|~3.0.0"
1986- },
1987- "suggest": {
1988- "symfony/browser-kit": "",
1989- "symfony/class-loader": "",
1990- "symfony/config": "",
1991- "symfony/console": "",
1992- "symfony/dependency-injection": "",
1993- "symfony/finder": "",
1994- "symfony/var-dumper": ""
1995- },
1996- "time": "2016-06-06 16:05:21",
1997- "type": "library",
1998- "extra": {
1999- "branch-alias": {
2000- "dev-master": "2.8-dev"
2001- }
2002- },
2003- "installation-source": "dist",
2004- "autoload": {
2005- "psr-4": {
2006- "Symfony\\Component\\HttpKernel\\": ""
2007- },
2008- "exclude-from-classmap": [
2009- "/Tests/"
2010- ]
2011- },
2012- "notification-url": "https://packagist.org/downloads/",
2013- "license": [
2014- "MIT"
2015- ],
2016- "authors": [
2017- {
2018- "name": "Fabien Potencier",
2019- "email": "fabien@symfony.com"
2020- },
2021- {
2022- "name": "Symfony Community",
2023- "homepage": "https://symfony.com/contributors"
2024- }
2025- ],
2026- "description": "Symfony HttpKernel Component",
2027- "homepage": "https://symfony.com"
2028- },
2029- {
2030- "name": "pimple/pimple",
2031- "version": "v1.1.1",
2032- "version_normalized": "1.1.1.0",
2033- "source": {
2034- "type": "git",
2035- "url": "https://github.com/silexphp/Pimple.git",
2036- "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d"
2037- },
2038- "dist": {
2039- "type": "zip",
2040- "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d",
2041- "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d",
2042- "shasum": ""
2043- },
2044- "require": {
2045- "php": ">=5.3.0"
2046- },
2047- "time": "2013-11-22 08:30:29",
2048- "type": "library",
2049- "extra": {
2050- "branch-alias": {
2051- "dev-master": "1.1.x-dev"
2052- }
2053- },
2054- "installation-source": "dist",
2055- "autoload": {
2056- "psr-0": {
2057- "Pimple": "lib/"
2058- }
2059- },
2060- "notification-url": "https://packagist.org/downloads/",
2061- "license": [
2062- "MIT"
2063- ],
2064- "authors": [
2065- {
2066- "name": "Fabien Potencier",
2067- "email": "fabien@symfony.com"
2068- }
2069- ],
2070- "description": "Pimple is a simple Dependency Injection Container for PHP 5.3",
2071- "homepage": "http://pimple.sensiolabs.org",
2072- "keywords": [
2073- "container",
2074- "dependency injection"
2075- ]
2076- },
2077- {
2078- "name": "silex/silex",
2079- "version": "v1.3.5",
2080- "version_normalized": "1.3.5.0",
2081- "source": {
2082- "type": "git",
2083- "url": "https://github.com/silexphp/Silex.git",
2084- "reference": "374c7e04040a6f781c90f7d746726a5daa78e783"
2085- },
2086- "dist": {
2087- "type": "zip",
2088- "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783",
2089- "reference": "374c7e04040a6f781c90f7d746726a5daa78e783",
2090- "shasum": ""
2091- },
2092- "require": {
2093- "php": ">=5.3.9",
2094- "pimple/pimple": "~1.0",
2095- "symfony/event-dispatcher": "~2.3|3.0.*",
2096- "symfony/http-foundation": "~2.3|3.0.*",
2097- "symfony/http-kernel": "~2.3|3.0.*",
2098- "symfony/routing": "~2.3|3.0.*"
2099- },
2100- "require-dev": {
2101- "doctrine/dbal": "~2.2",
2102- "monolog/monolog": "^1.4.1",
2103- "swiftmailer/swiftmailer": "~5",
2104- "symfony/browser-kit": "~2.3|3.0.*",
2105- "symfony/config": "~2.3|3.0.*",
2106- "symfony/css-selector": "~2.3|3.0.*",
2107- "symfony/debug": "~2.3|3.0.*",
2108- "symfony/dom-crawler": "~2.3|3.0.*",
2109- "symfony/finder": "~2.3|3.0.*",
2110- "symfony/form": "~2.3|3.0.*",
2111- "symfony/locale": "~2.3|3.0.*",
2112- "symfony/monolog-bridge": "~2.3|3.0.*",
2113- "symfony/options-resolver": "~2.3|3.0.*",
2114- "symfony/phpunit-bridge": "~2.7",
2115- "symfony/process": "~2.3|3.0.*",
2116- "symfony/security": "~2.3|3.0.*",
2117- "symfony/serializer": "~2.3|3.0.*",
2118- "symfony/translation": "~2.3|3.0.*",
2119- "symfony/twig-bridge": "~2.3|3.0.*",
2120- "symfony/validator": "~2.3|3.0.*",
2121- "twig/twig": "~1.8|~2.0"
2122- },
2123- "time": "2016-01-06 14:59:35",
2124- "type": "library",
2125- "extra": {
2126- "branch-alias": {
2127- "dev-master": "1.3.x-dev"
2128- }
2129- },
2130- "installation-source": "dist",
2131- "autoload": {
2132- "psr-4": {
2133- "Silex\\": "src/Silex"
2134- }
2135- },
2136- "notification-url": "https://packagist.org/downloads/",
2137- "license": [
2138- "MIT"
2139- ],
2140- "authors": [
2141- {
2142- "name": "Fabien Potencier",
2143- "email": "fabien@symfony.com"
2144- },
2145- {
2146- "name": "Igor Wiedler",
2147- "email": "igor@wiedler.ch"
2148- }
2149- ],
2150- "description": "The PHP micro-framework based on the Symfony Components",
2151- "homepage": "http://silex.sensiolabs.org",
2152- "keywords": [
2153- "microframework"
2154- ]
2155- }
2156-]
2157diff --git a/vendor/ircmaxell/password-compat/LICENSE.md b/vendor/ircmaxell/password-compat/LICENSE.md
2158deleted file mode 100644
2159index 1efc565..0000000
2160--- a/vendor/ircmaxell/password-compat/LICENSE.md
2161+++ /dev/null
2162@@ -1,7 +0,0 @@
2163-Copyright (c) 2012 Anthony Ferrara
2164-
2165-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2166-
2167-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
2168-
2169-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2170\ No newline at end of file
2171diff --git a/vendor/ircmaxell/password-compat/composer.json b/vendor/ircmaxell/password-compat/composer.json
2172deleted file mode 100644
2173index 822fd1f..0000000
2174--- a/vendor/ircmaxell/password-compat/composer.json
2175+++ /dev/null
2176@@ -1,20 +0,0 @@
2177-{
2178- "name": "ircmaxell/password-compat",
2179- "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
2180- "keywords": ["password", "hashing"],
2181- "homepage": "https://github.com/ircmaxell/password_compat",
2182- "license": "MIT",
2183- "authors": [
2184- {
2185- "name": "Anthony Ferrara",
2186- "email": "ircmaxell@php.net",
2187- "homepage": "http://blog.ircmaxell.com"
2188- }
2189- ],
2190- "require-dev": {
2191- "phpunit/phpunit": "4.*"
2192- },
2193- "autoload": {
2194- "files": ["lib/password.php"]
2195- }
2196-}
2197diff --git a/vendor/ircmaxell/password-compat/lib/password.php b/vendor/ircmaxell/password-compat/lib/password.php
2198deleted file mode 100644
2199index cc6896c..0000000
2200--- a/vendor/ircmaxell/password-compat/lib/password.php
2201+++ /dev/null
2202@@ -1,314 +0,0 @@
2203-<?php
2204-/**
2205- * A Compatibility library with PHP 5.5's simplified password hashing API.
2206- *
2207- * @author Anthony Ferrara <ircmaxell@php.net>
2208- * @license http://www.opensource.org/licenses/mit-license.html MIT License
2209- * @copyright 2012 The Authors
2210- */
2211-
2212-namespace {
2213-
2214- if (!defined('PASSWORD_BCRYPT')) {
2215- /**
2216- * PHPUnit Process isolation caches constants, but not function declarations.
2217- * So we need to check if the constants are defined separately from
2218- * the functions to enable supporting process isolation in userland
2219- * code.
2220- */
2221- define('PASSWORD_BCRYPT', 1);
2222- define('PASSWORD_DEFAULT', PASSWORD_BCRYPT);
2223- define('PASSWORD_BCRYPT_DEFAULT_COST', 10);
2224- }
2225-
2226- if (!function_exists('password_hash')) {
2227-
2228- /**
2229- * Hash the password using the specified algorithm
2230- *
2231- * @param string $password The password to hash
2232- * @param int $algo The algorithm to use (Defined by PASSWORD_* constants)
2233- * @param array $options The options for the algorithm to use
2234- *
2235- * @return string|false The hashed password, or false on error.
2236- */
2237- function password_hash($password, $algo, array $options = array()) {
2238- if (!function_exists('crypt')) {
2239- trigger_error("Crypt must be loaded for password_hash to function", E_USER_WARNING);
2240- return null;
2241- }
2242- if (is_null($password) || is_int($password)) {
2243- $password = (string) $password;
2244- }
2245- if (!is_string($password)) {
2246- trigger_error("password_hash(): Password must be a string", E_USER_WARNING);
2247- return null;
2248- }
2249- if (!is_int($algo)) {
2250- trigger_error("password_hash() expects parameter 2 to be long, " . gettype($algo) . " given", E_USER_WARNING);
2251- return null;
2252- }
2253- $resultLength = 0;
2254- switch ($algo) {
2255- case PASSWORD_BCRYPT:
2256- $cost = PASSWORD_BCRYPT_DEFAULT_COST;
2257- if (isset($options['cost'])) {
2258- $cost = $options['cost'];
2259- if ($cost < 4 || $cost > 31) {
2260- trigger_error(sprintf("password_hash(): Invalid bcrypt cost parameter specified: %d", $cost), E_USER_WARNING);
2261- return null;
2262- }
2263- }
2264- // The length of salt to generate
2265- $raw_salt_len = 16;
2266- // The length required in the final serialization
2267- $required_salt_len = 22;
2268- $hash_format = sprintf("$2y$%02d$", $cost);
2269- // The expected length of the final crypt() output
2270- $resultLength = 60;
2271- break;
2272- default:
2273- trigger_error(sprintf("password_hash(): Unknown password hashing algorithm: %s", $algo), E_USER_WARNING);
2274- return null;
2275- }
2276- $salt_requires_encoding = false;
2277- if (isset($options['salt'])) {
2278- switch (gettype($options['salt'])) {
2279- case 'NULL':
2280- case 'boolean':
2281- case 'integer':
2282- case 'double':
2283- case 'string':
2284- $salt = (string) $options['salt'];
2285- break;
2286- case 'object':
2287- if (method_exists($options['salt'], '__tostring')) {
2288- $salt = (string) $options['salt'];
2289- break;
2290- }
2291- case 'array':
2292- case 'resource':
2293- default:
2294- trigger_error('password_hash(): Non-string salt parameter supplied', E_USER_WARNING);
2295- return null;
2296- }
2297- if (PasswordCompat\binary\_strlen($salt) < $required_salt_len) {
2298- trigger_error(sprintf("password_hash(): Provided salt is too short: %d expecting %d", PasswordCompat\binary\_strlen($salt), $required_salt_len), E_USER_WARNING);
2299- return null;
2300- } elseif (0 == preg_match('#^[a-zA-Z0-9./]+$#D', $salt)) {
2301- $salt_requires_encoding = true;
2302- }
2303- } else {
2304- $buffer = '';
2305- $buffer_valid = false;
2306- if (function_exists('mcrypt_create_iv') && !defined('PHALANGER')) {
2307- $buffer = mcrypt_create_iv($raw_salt_len, MCRYPT_DEV_URANDOM);
2308- if ($buffer) {
2309- $buffer_valid = true;
2310- }
2311- }
2312- if (!$buffer_valid && function_exists('openssl_random_pseudo_bytes')) {
2313- $buffer = openssl_random_pseudo_bytes($raw_salt_len);
2314- if ($buffer) {
2315- $buffer_valid = true;
2316- }
2317- }
2318- if (!$buffer_valid && @is_readable('/dev/urandom')) {
2319- $f = fopen('/dev/urandom', 'r');
2320- $read = PasswordCompat\binary\_strlen($buffer);
2321- while ($read < $raw_salt_len) {
2322- $buffer .= fread($f, $raw_salt_len - $read);
2323- $read = PasswordCompat\binary\_strlen($buffer);
2324- }
2325- fclose($f);
2326- if ($read >= $raw_salt_len) {
2327- $buffer_valid = true;
2328- }
2329- }
2330- if (!$buffer_valid || PasswordCompat\binary\_strlen($buffer) < $raw_salt_len) {
2331- $bl = PasswordCompat\binary\_strlen($buffer);
2332- for ($i = 0; $i < $raw_salt_len; $i++) {
2333- if ($i < $bl) {
2334- $buffer[$i] = $buffer[$i] ^ chr(mt_rand(0, 255));
2335- } else {
2336- $buffer .= chr(mt_rand(0, 255));
2337- }
2338- }
2339- }
2340- $salt = $buffer;
2341- $salt_requires_encoding = true;
2342- }
2343- if ($salt_requires_encoding) {
2344- // encode string with the Base64 variant used by crypt
2345- $base64_digits =
2346- 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
2347- $bcrypt64_digits =
2348- './ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
2349-
2350- $base64_string = base64_encode($salt);
2351- $salt = strtr(rtrim($base64_string, '='), $base64_digits, $bcrypt64_digits);
2352- }
2353- $salt = PasswordCompat\binary\_substr($salt, 0, $required_salt_len);
2354-
2355- $hash = $hash_format . $salt;
2356-
2357- $ret = crypt($password, $hash);
2358-
2359- if (!is_string($ret) || PasswordCompat\binary\_strlen($ret) != $resultLength) {
2360- return false;
2361- }
2362-
2363- return $ret;
2364- }
2365-
2366- /**
2367- * Get information about the password hash. Returns an array of the information
2368- * that was used to generate the password hash.
2369- *
2370- * array(
2371- * 'algo' => 1,
2372- * 'algoName' => 'bcrypt',
2373- * 'options' => array(
2374- * 'cost' => PASSWORD_BCRYPT_DEFAULT_COST,
2375- * ),
2376- * )
2377- *
2378- * @param string $hash The password hash to extract info from
2379- *
2380- * @return array The array of information about the hash.
2381- */
2382- function password_get_info($hash) {
2383- $return = array(
2384- 'algo' => 0,
2385- 'algoName' => 'unknown',
2386- 'options' => array(),
2387- );
2388- if (PasswordCompat\binary\_substr($hash, 0, 4) == '$2y$' && PasswordCompat\binary\_strlen($hash) == 60) {
2389- $return['algo'] = PASSWORD_BCRYPT;
2390- $return['algoName'] = 'bcrypt';
2391- list($cost) = sscanf($hash, "$2y$%d$");
2392- $return['options']['cost'] = $cost;
2393- }
2394- return $return;
2395- }
2396-
2397- /**
2398- * Determine if the password hash needs to be rehashed according to the options provided
2399- *
2400- * If the answer is true, after validating the password using password_verify, rehash it.
2401- *
2402- * @param string $hash The hash to test
2403- * @param int $algo The algorithm used for new password hashes
2404- * @param array $options The options array passed to password_hash
2405- *
2406- * @return boolean True if the password needs to be rehashed.
2407- */
2408- function password_needs_rehash($hash, $algo, array $options = array()) {
2409- $info = password_get_info($hash);
2410- if ($info['algo'] != $algo) {
2411- return true;
2412- }
2413- switch ($algo) {
2414- case PASSWORD_BCRYPT:
2415- $cost = isset($options['cost']) ? $options['cost'] : PASSWORD_BCRYPT_DEFAULT_COST;
2416- if ($cost != $info['options']['cost']) {
2417- return true;
2418- }
2419- break;
2420- }
2421- return false;
2422- }
2423-
2424- /**
2425- * Verify a password against a hash using a timing attack resistant approach
2426- *
2427- * @param string $password The password to verify
2428- * @param string $hash The hash to verify against
2429- *
2430- * @return boolean If the password matches the hash
2431- */
2432- function password_verify($password, $hash) {
2433- if (!function_exists('crypt')) {
2434- trigger_error("Crypt must be loaded for password_verify to function", E_USER_WARNING);
2435- return false;
2436- }
2437- $ret = crypt($password, $hash);
2438- if (!is_string($ret) || PasswordCompat\binary\_strlen($ret) != PasswordCompat\binary\_strlen($hash) || PasswordCompat\binary\_strlen($ret) <= 13) {
2439- return false;
2440- }
2441-
2442- $status = 0;
2443- for ($i = 0; $i < PasswordCompat\binary\_strlen($ret); $i++) {
2444- $status |= (ord($ret[$i]) ^ ord($hash[$i]));
2445- }
2446-
2447- return $status === 0;
2448- }
2449- }
2450-
2451-}
2452-
2453-namespace PasswordCompat\binary {
2454-
2455- if (!function_exists('PasswordCompat\\binary\\_strlen')) {
2456-
2457- /**
2458- * Count the number of bytes in a string
2459- *
2460- * We cannot simply use strlen() for this, because it might be overwritten by the mbstring extension.
2461- * In this case, strlen() will count the number of *characters* based on the internal encoding. A
2462- * sequence of bytes might be regarded as a single multibyte character.
2463- *
2464- * @param string $binary_string The input string
2465- *
2466- * @internal
2467- * @return int The number of bytes
2468- */
2469- function _strlen($binary_string) {
2470- if (function_exists('mb_strlen')) {
2471- return mb_strlen($binary_string, '8bit');
2472- }
2473- return strlen($binary_string);
2474- }
2475-
2476- /**
2477- * Get a substring based on byte limits
2478- *
2479- * @see _strlen()
2480- *
2481- * @param string $binary_string The input string
2482- * @param int $start
2483- * @param int $length
2484- *
2485- * @internal
2486- * @return string The substring
2487- */
2488- function _substr($binary_string, $start, $length) {
2489- if (function_exists('mb_substr')) {
2490- return mb_substr($binary_string, $start, $length, '8bit');
2491- }
2492- return substr($binary_string, $start, $length);
2493- }
2494-
2495- /**
2496- * Check if current PHP version is compatible with the library
2497- *
2498- * @return boolean the check result
2499- */
2500- function check() {
2501- static $pass = NULL;
2502-
2503- if (is_null($pass)) {
2504- if (function_exists('crypt')) {
2505- $hash = '$2y$04$usesomesillystringfore7hnbRJHxXVLeakoG8K30oukPsA.ztMG';
2506- $test = crypt("password", $hash);
2507- $pass = $test == $hash;
2508- } else {
2509- $pass = false;
2510- }
2511- }
2512- return $pass;
2513- }
2514-
2515- }
2516-}
2517\ No newline at end of file
2518diff --git a/vendor/ircmaxell/password-compat/version-test.php b/vendor/ircmaxell/password-compat/version-test.php
2519deleted file mode 100644
2520index 96f60ca..0000000
2521--- a/vendor/ircmaxell/password-compat/version-test.php
2522+++ /dev/null
2523@@ -1,6 +0,0 @@
2524-<?php
2525-
2526-require "lib/password.php";
2527-
2528-echo "Test for functionality of compat library: " . (PasswordCompat\binary\check() ? "Pass" : "Fail");
2529-echo "\n";
2530\ No newline at end of file
2531diff --git a/vendor/pimple/pimple/.gitignore b/vendor/pimple/pimple/.gitignore
2532deleted file mode 100644
2533index ce3aa65..0000000
2534--- a/vendor/pimple/pimple/.gitignore
2535+++ /dev/null
2536@@ -1 +0,0 @@
2537-phpunit.xml
2538diff --git a/vendor/pimple/pimple/.travis.yml b/vendor/pimple/pimple/.travis.yml
2539deleted file mode 100644
2540index 72b4067..0000000
2541--- a/vendor/pimple/pimple/.travis.yml
2542+++ /dev/null
2543@@ -1,6 +0,0 @@
2544-language: php
2545-
2546-php:
2547- - 5.3
2548- - 5.4
2549- - 5.5
2550diff --git a/vendor/pimple/pimple/LICENSE b/vendor/pimple/pimple/LICENSE
2551deleted file mode 100644
2552index f61e90d..0000000
2553--- a/vendor/pimple/pimple/LICENSE
2554+++ /dev/null
2555@@ -1,19 +0,0 @@
2556-Copyright (c) 2009-2013 Fabien Potencier
2557-
2558-Permission is hereby granted, free of charge, to any person obtaining a copy
2559-of this software and associated documentation files (the "Software"), to deal
2560-in the Software without restriction, including without limitation the rights
2561-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2562-copies of the Software, and to permit persons to whom the Software is furnished
2563-to do so, subject to the following conditions:
2564-
2565-The above copyright notice and this permission notice shall be included in all
2566-copies or substantial portions of the Software.
2567-
2568-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2569-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2570-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2571-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2572-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2573-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2574-THE SOFTWARE.
2575diff --git a/vendor/pimple/pimple/README.rst b/vendor/pimple/pimple/README.rst
2576deleted file mode 100644
2577index f685caa..0000000
2578--- a/vendor/pimple/pimple/README.rst
2579+++ /dev/null
2580@@ -1,159 +0,0 @@
2581-Pimple
2582-======
2583-
2584-Pimple is a small Dependency Injection Container for PHP 5.3 that consists
2585-of just one file and one class (about 80 lines of code).
2586-
2587-`Download it`_, require it in your code, and you're good to go::
2588-
2589- require_once '/path/to/Pimple.php';
2590-
2591-Creating a container is a matter of instating the ``Pimple`` class::
2592-
2593- $container = new Pimple();
2594-
2595-As many other dependency injection containers, Pimple is able to manage two
2596-different kind of data: *services* and *parameters*.
2597-
2598-Defining Parameters
2599--------------------
2600-
2601-Defining a parameter is as simple as using the Pimple instance as an array::
2602-
2603- // define some parameters
2604- $container['cookie_name'] = 'SESSION_ID';
2605- $container['session_storage_class'] = 'SessionStorage';
2606-
2607-Defining Services
2608------------------
2609-
2610-A service is an object that does something as part of a larger system.
2611-Examples of services: Database connection, templating engine, mailer. Almost
2612-any object could be a service.
2613-
2614-Services are defined by anonymous functions that return an instance of an
2615-object::
2616-
2617- // define some services
2618- $container['session_storage'] = function ($c) {
2619- return new $c['session_storage_class']($c['cookie_name']);
2620- };
2621-
2622- $container['session'] = function ($c) {
2623- return new Session($c['session_storage']);
2624- };
2625-
2626-Notice that the anonymous function has access to the current container
2627-instance, allowing references to other services or parameters.
2628-
2629-As objects are only created when you get them, the order of the definitions
2630-does not matter, and there is no performance penalty.
2631-
2632-Using the defined services is also very easy::
2633-
2634- // get the session object
2635- $session = $container['session'];
2636-
2637- // the above call is roughly equivalent to the following code:
2638- // $storage = new SessionStorage('SESSION_ID');
2639- // $session = new Session($storage);
2640-
2641-Defining Shared Services
2642-------------------------
2643-
2644-By default, each time you get a service, Pimple returns a new instance of it.
2645-If you want the same instance to be returned for all calls, wrap your
2646-anonymous function with the ``share()`` method::
2647-
2648- $container['session'] = $container->share(function ($c) {
2649- return new Session($c['session_storage']);
2650- });
2651-
2652-Protecting Parameters
2653----------------------
2654-
2655-Because Pimple sees anonymous functions as service definitions, you need to
2656-wrap anonymous functions with the ``protect()`` method to store them as
2657-parameter::
2658-
2659- $container['random'] = $container->protect(function () { return rand(); });
2660-
2661-Modifying services after creation
2662----------------------------------
2663-
2664-In some cases you may want to modify a service definition after it has been
2665-defined. You can use the ``extend()`` method to define additional code to
2666-be run on your service just after it is created::
2667-
2668- $container['mail'] = function ($c) {
2669- return new \Zend_Mail();
2670- };
2671-
2672- $container['mail'] = $container->extend('mail', function($mail, $c) {
2673- $mail->setFrom($c['mail.default_from']);
2674- return $mail;
2675- });
2676-
2677-The first argument is the name of the object, the second is a function that
2678-gets access to the object instance and the container. The return value is
2679-a service definition, so you need to re-assign it on the container.
2680-
2681-If the service you plan to extend is already shared, it's recommended that you
2682-re-wrap your extended service with the ``shared`` method, otherwise your extension
2683-code will be called every time you access the service::
2684-
2685- $container['twig'] = $container->share(function ($c) {
2686- return new Twig_Environment($c['twig.loader'], $c['twig.options']);
2687- });
2688-
2689- $container['twig'] = $container->share($container->extend('twig', function ($twig, $c) {
2690- $twig->addExtension(new MyTwigExtension());
2691- return $twig;
2692- }));
2693-
2694-Fetching the service creation function
2695---------------------------------------
2696-
2697-When you access an object, Pimple automatically calls the anonymous function
2698-that you defined, which creates the service object for you. If you want to get
2699-raw access to this function, you can use the ``raw()`` method::
2700-
2701- $container['session'] = $container->share(function ($c) {
2702- return new Session($c['session_storage']);
2703- });
2704-
2705- $sessionFunction = $container->raw('session');
2706-
2707-Packaging a Container for reusability
2708--------------------------------------
2709-
2710-If you use the same libraries over and over, you might want to create reusable
2711-containers. Creating a reusable container is as simple as creating a class
2712-that extends ``Pimple``, and configuring it in the constructor::
2713-
2714- class SomeContainer extends Pimple
2715- {
2716- public function __construct()
2717- {
2718- $this['parameter'] = 'foo';
2719- $this['object'] = function () { return stdClass(); };
2720- }
2721- }
2722-
2723-Using this container from your own is as easy as it can get::
2724-
2725- $container = new Pimple();
2726-
2727- // define your project parameters and services
2728- // ...
2729-
2730- // embed the SomeContainer container
2731- $container['embedded'] = $container->share(function () { return new SomeContainer(); });
2732-
2733- // configure it
2734- $container['embedded']['parameter'] = 'bar';
2735-
2736- // use it
2737- $container['embedded']['object']->...;
2738-
2739-.. _Download it: https://github.com/fabpot/Pimple
2740diff --git a/vendor/pimple/pimple/composer.json b/vendor/pimple/pimple/composer.json
2741deleted file mode 100644
2742index d95c8c5..0000000
2743--- a/vendor/pimple/pimple/composer.json
2744+++ /dev/null
2745@@ -1,25 +0,0 @@
2746-{
2747- "name": "pimple/pimple",
2748- "type": "library",
2749- "description": "Pimple is a simple Dependency Injection Container for PHP 5.3",
2750- "keywords": ["dependency injection", "container"],
2751- "homepage": "http://pimple.sensiolabs.org",
2752- "license": "MIT",
2753- "authors": [
2754- {
2755- "name": "Fabien Potencier",
2756- "email": "fabien@symfony.com"
2757- }
2758- ],
2759- "require": {
2760- "php": ">=5.3.0"
2761- },
2762- "autoload": {
2763- "psr-0": { "Pimple": "lib/" }
2764- },
2765- "extra": {
2766- "branch-alias": {
2767- "dev-master": "1.1.x-dev"
2768- }
2769- }
2770-}
2771\ No newline at end of file
2772diff --git a/vendor/pimple/pimple/lib/Pimple.php b/vendor/pimple/pimple/lib/Pimple.php
2773deleted file mode 100644
2774index b980522..0000000
2775--- a/vendor/pimple/pimple/lib/Pimple.php
2776+++ /dev/null
2777@@ -1,214 +0,0 @@
2778-<?php
2779-
2780-/*
2781- * This file is part of Pimple.
2782- *
2783- * Copyright (c) 2009 Fabien Potencier
2784- *
2785- * Permission is hereby granted, free of charge, to any person obtaining a copy
2786- * of this software and associated documentation files (the "Software"), to deal
2787- * in the Software without restriction, including without limitation the rights
2788- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2789- * copies of the Software, and to permit persons to whom the Software is furnished
2790- * to do so, subject to the following conditions:
2791- *
2792- * The above copyright notice and this permission notice shall be included in all
2793- * copies or substantial portions of the Software.
2794- *
2795- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2796- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2797- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2798- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2799- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2800- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2801- * THE SOFTWARE.
2802- */
2803-
2804-/**
2805- * Pimple main class.
2806- *
2807- * @package pimple
2808- * @author Fabien Potencier
2809- */
2810-class Pimple implements ArrayAccess
2811-{
2812- protected $values = array();
2813-
2814- /**
2815- * Instantiate the container.
2816- *
2817- * Objects and parameters can be passed as argument to the constructor.
2818- *
2819- * @param array $values The parameters or objects.
2820- */
2821- public function __construct(array $values = array())
2822- {
2823- $this->values = $values;
2824- }
2825-
2826- /**
2827- * Sets a parameter or an object.
2828- *
2829- * Objects must be defined as Closures.
2830- *
2831- * Allowing any PHP callable leads to difficult to debug problems
2832- * as function names (strings) are callable (creating a function with
2833- * the same a name as an existing parameter would break your container).
2834- *
2835- * @param string $id The unique identifier for the parameter or object
2836- * @param mixed $value The value of the parameter or a closure to defined an object
2837- */
2838- public function offsetSet($id, $value)
2839- {
2840- $this->values[$id] = $value;
2841- }
2842-
2843- /**
2844- * Gets a parameter or an object.
2845- *
2846- * @param string $id The unique identifier for the parameter or object
2847- *
2848- * @return mixed The value of the parameter or an object
2849- *
2850- * @throws InvalidArgumentException if the identifier is not defined
2851- */
2852- public function offsetGet($id)
2853- {
2854- if (!array_key_exists($id, $this->values)) {
2855- throw new InvalidArgumentException(sprintf('Identifier "%s" is not defined.', $id));
2856- }
2857-
2858- $isFactory = is_object($this->values[$id]) && method_exists($this->values[$id], '__invoke');
2859-
2860- return $isFactory ? $this->values[$id]($this) : $this->values[$id];
2861- }
2862-
2863- /**
2864- * Checks if a parameter or an object is set.
2865- *
2866- * @param string $id The unique identifier for the parameter or object
2867- *
2868- * @return Boolean
2869- */
2870- public function offsetExists($id)
2871- {
2872- return array_key_exists($id, $this->values);
2873- }
2874-
2875- /**
2876- * Unsets a parameter or an object.
2877- *
2878- * @param string $id The unique identifier for the parameter or object
2879- */
2880- public function offsetUnset($id)
2881- {
2882- unset($this->values[$id]);
2883- }
2884-
2885- /**
2886- * Returns a closure that stores the result of the given service definition
2887- * for uniqueness in the scope of this instance of Pimple.
2888- *
2889- * @param callable $callable A service definition to wrap for uniqueness
2890- *
2891- * @return Closure The wrapped closure
2892- */
2893- public static function share($callable)
2894- {
2895- if (!is_object($callable) || !method_exists($callable, '__invoke')) {
2896- throw new InvalidArgumentException('Service definition is not a Closure or invokable object.');
2897- }
2898-
2899- return function ($c) use ($callable) {
2900- static $object;
2901-
2902- if (null === $object) {
2903- $object = $callable($c);
2904- }
2905-
2906- return $object;
2907- };
2908- }
2909-
2910- /**
2911- * Protects a callable from being interpreted as a service.
2912- *
2913- * This is useful when you want to store a callable as a parameter.
2914- *
2915- * @param callable $callable A callable to protect from being evaluated
2916- *
2917- * @return Closure The protected closure
2918- */
2919- public static function protect($callable)
2920- {
2921- if (!is_object($callable) || !method_exists($callable, '__invoke')) {
2922- throw new InvalidArgumentException('Callable is not a Closure or invokable object.');
2923- }
2924-
2925- return function ($c) use ($callable) {
2926- return $callable;
2927- };
2928- }
2929-
2930- /**
2931- * Gets a parameter or the closure defining an object.
2932- *
2933- * @param string $id The unique identifier for the parameter or object
2934- *
2935- * @return mixed The value of the parameter or the closure defining an object
2936- *
2937- * @throws InvalidArgumentException if the identifier is not defined
2938- */
2939- public function raw($id)
2940- {
2941- if (!array_key_exists($id, $this->values)) {
2942- throw new InvalidArgumentException(sprintf('Identifier "%s" is not defined.', $id));
2943- }
2944-
2945- return $this->values[$id];
2946- }
2947-
2948- /**
2949- * Extends an object definition.
2950- *
2951- * Useful when you want to extend an existing object definition,
2952- * without necessarily loading that object.
2953- *
2954- * @param string $id The unique identifier for the object
2955- * @param callable $callable A service definition to extend the original
2956- *
2957- * @return Closure The wrapped closure
2958- *
2959- * @throws InvalidArgumentException if the identifier is not defined or not a service definition
2960- */
2961- public function extend($id, $callable)
2962- {
2963- if (!array_key_exists($id, $this->values)) {
2964- throw new InvalidArgumentException(sprintf('Identifier "%s" is not defined.', $id));
2965- }
2966-
2967- if (!is_object($this->values[$id]) || !method_exists($this->values[$id], '__invoke')) {
2968- throw new InvalidArgumentException(sprintf('Identifier "%s" does not contain an object definition.', $id));
2969- }
2970-
2971- if (!is_object($callable) || !method_exists($callable, '__invoke')) {
2972- throw new InvalidArgumentException('Extension service definition is not a Closure or invokable object.');
2973- }
2974-
2975- $factory = $this->values[$id];
2976-
2977- return $this->values[$id] = function ($c) use ($callable, $factory) {
2978- return $callable($factory($c), $c);
2979- };
2980- }
2981-
2982- /**
2983- * Returns all defined value names.
2984- *
2985- * @return array An array of value names
2986- */
2987- public function keys()
2988- {
2989- return array_keys($this->values);
2990- }
2991-}
2992diff --git a/vendor/psr/log/.gitignore b/vendor/psr/log/.gitignore
2993deleted file mode 100644
2994index 22d0d82..0000000
2995--- a/vendor/psr/log/.gitignore
2996+++ /dev/null
2997@@ -1 +0,0 @@
2998-vendor
2999diff --git a/vendor/psr/log/LICENSE b/vendor/psr/log/LICENSE
3000deleted file mode 100644
3001index 474c952..0000000
3002--- a/vendor/psr/log/LICENSE
3003+++ /dev/null
3004@@ -1,19 +0,0 @@
3005-Copyright (c) 2012 PHP Framework Interoperability Group
3006-
3007-Permission is hereby granted, free of charge, to any person obtaining a copy
3008-of this software and associated documentation files (the "Software"), to deal
3009-in the Software without restriction, including without limitation the rights
3010-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
3011-copies of the Software, and to permit persons to whom the Software is
3012-furnished to do so, subject to the following conditions:
3013-
3014-The above copyright notice and this permission notice shall be included in
3015-all copies or substantial portions of the Software.
3016-
3017-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3018-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3019-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3020-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3021-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3022-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
3023-THE SOFTWARE.
3024diff --git a/vendor/psr/log/Psr/Log/AbstractLogger.php b/vendor/psr/log/Psr/Log/AbstractLogger.php
3025deleted file mode 100644
3026index 00f9034..0000000
3027--- a/vendor/psr/log/Psr/Log/AbstractLogger.php
3028+++ /dev/null
3029@@ -1,120 +0,0 @@
3030-<?php
3031-
3032-namespace Psr\Log;
3033-
3034-/**
3035- * This is a simple Logger implementation that other Loggers can inherit from.
3036- *
3037- * It simply delegates all log-level-specific methods to the `log` method to
3038- * reduce boilerplate code that a simple Logger that does the same thing with
3039- * messages regardless of the error level has to implement.
3040- */
3041-abstract class AbstractLogger implements LoggerInterface
3042-{
3043- /**
3044- * System is unusable.
3045- *
3046- * @param string $message
3047- * @param array $context
3048- * @return null
3049- */
3050- public function emergency($message, array $context = array())
3051- {
3052- $this->log(LogLevel::EMERGENCY, $message, $context);
3053- }
3054-
3055- /**
3056- * Action must be taken immediately.
3057- *
3058- * Example: Entire website down, database unavailable, etc. This should
3059- * trigger the SMS alerts and wake you up.
3060- *
3061- * @param string $message
3062- * @param array $context
3063- * @return null
3064- */
3065- public function alert($message, array $context = array())
3066- {
3067- $this->log(LogLevel::ALERT, $message, $context);
3068- }
3069-
3070- /**
3071- * Critical conditions.
3072- *
3073- * Example: Application component unavailable, unexpected exception.
3074- *
3075- * @param string $message
3076- * @param array $context
3077- * @return null
3078- */
3079- public function critical($message, array $context = array())
3080- {
3081- $this->log(LogLevel::CRITICAL, $message, $context);
3082- }
3083-
3084- /**
3085- * Runtime errors that do not require immediate action but should typically
3086- * be logged and monitored.
3087- *
3088- * @param string $message
3089- * @param array $context
3090- * @return null
3091- */
3092- public function error($message, array $context = array())
3093- {
3094- $this->log(LogLevel::ERROR, $message, $context);
3095- }
3096-
3097- /**
3098- * Exceptional occurrences that are not errors.
3099- *
3100- * Example: Use of deprecated APIs, poor use of an API, undesirable things
3101- * that are not necessarily wrong.
3102- *
3103- * @param string $message
3104- * @param array $context
3105- * @return null
3106- */
3107- public function warning($message, array $context = array())
3108- {
3109- $this->log(LogLevel::WARNING, $message, $context);
3110- }
3111-
3112- /**
3113- * Normal but significant events.
3114- *
3115- * @param string $message
3116- * @param array $context
3117- * @return null
3118- */
3119- public function notice($message, array $context = array())
3120- {
3121- $this->log(LogLevel::NOTICE, $message, $context);
3122- }
3123-
3124- /**
3125- * Interesting events.
3126- *
3127- * Example: User logs in, SQL logs.
3128- *
3129- * @param string $message
3130- * @param array $context
3131- * @return null
3132- */
3133- public function info($message, array $context = array())
3134- {
3135- $this->log(LogLevel::INFO, $message, $context);
3136- }
3137-
3138- /**
3139- * Detailed debug information.
3140- *
3141- * @param string $message
3142- * @param array $context
3143- * @return null
3144- */
3145- public function debug($message, array $context = array())
3146- {
3147- $this->log(LogLevel::DEBUG, $message, $context);
3148- }
3149-}
3150diff --git a/vendor/psr/log/Psr/Log/InvalidArgumentException.php b/vendor/psr/log/Psr/Log/InvalidArgumentException.php
3151deleted file mode 100644
3152index 67f852d..0000000
3153--- a/vendor/psr/log/Psr/Log/InvalidArgumentException.php
3154+++ /dev/null
3155@@ -1,7 +0,0 @@
3156-<?php
3157-
3158-namespace Psr\Log;
3159-
3160-class InvalidArgumentException extends \InvalidArgumentException
3161-{
3162-}
3163diff --git a/vendor/psr/log/Psr/Log/LogLevel.php b/vendor/psr/log/Psr/Log/LogLevel.php
3164deleted file mode 100644
3165index e32c151..0000000
3166--- a/vendor/psr/log/Psr/Log/LogLevel.php
3167+++ /dev/null
3168@@ -1,18 +0,0 @@
3169-<?php
3170-
3171-namespace Psr\Log;
3172-
3173-/**
3174- * Describes log levels
3175- */
3176-class LogLevel
3177-{
3178- const EMERGENCY = 'emergency';
3179- const ALERT = 'alert';
3180- const CRITICAL = 'critical';
3181- const ERROR = 'error';
3182- const WARNING = 'warning';
3183- const NOTICE = 'notice';
3184- const INFO = 'info';
3185- const DEBUG = 'debug';
3186-}
3187diff --git a/vendor/psr/log/Psr/Log/LoggerAwareInterface.php b/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
3188deleted file mode 100644
3189index 2eebc4e..0000000
3190--- a/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
3191+++ /dev/null
3192@@ -1,17 +0,0 @@
3193-<?php
3194-
3195-namespace Psr\Log;
3196-
3197-/**
3198- * Describes a logger-aware instance
3199- */
3200-interface LoggerAwareInterface
3201-{
3202- /**
3203- * Sets a logger instance on the object
3204- *
3205- * @param LoggerInterface $logger
3206- * @return null
3207- */
3208- public function setLogger(LoggerInterface $logger);
3209-}
3210diff --git a/vendor/psr/log/Psr/Log/LoggerAwareTrait.php b/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
3211deleted file mode 100644
3212index f087a3d..0000000
3213--- a/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
3214+++ /dev/null
3215@@ -1,22 +0,0 @@
3216-<?php
3217-
3218-namespace Psr\Log;
3219-
3220-/**
3221- * Basic Implementation of LoggerAwareInterface.
3222- */
3223-trait LoggerAwareTrait
3224-{
3225- /** @var LoggerInterface */
3226- protected $logger;
3227-
3228- /**
3229- * Sets a logger.
3230- *
3231- * @param LoggerInterface $logger
3232- */
3233- public function setLogger(LoggerInterface $logger)
3234- {
3235- $this->logger = $logger;
3236- }
3237-}
3238diff --git a/vendor/psr/log/Psr/Log/LoggerInterface.php b/vendor/psr/log/Psr/Log/LoggerInterface.php
3239deleted file mode 100644
3240index 476bb96..0000000
3241--- a/vendor/psr/log/Psr/Log/LoggerInterface.php
3242+++ /dev/null
3243@@ -1,114 +0,0 @@
3244-<?php
3245-
3246-namespace Psr\Log;
3247-
3248-/**
3249- * Describes a logger instance
3250- *
3251- * The message MUST be a string or object implementing __toString().
3252- *
3253- * The message MAY contain placeholders in the form: {foo} where foo
3254- * will be replaced by the context data in key "foo".
3255- *
3256- * The context array can contain arbitrary data, the only assumption that
3257- * can be made by implementors is that if an Exception instance is given
3258- * to produce a stack trace, it MUST be in a key named "exception".
3259- *
3260- * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md
3261- * for the full interface specification.
3262- */
3263-interface LoggerInterface
3264-{
3265- /**
3266- * System is unusable.
3267- *
3268- * @param string $message
3269- * @param array $context
3270- * @return null
3271- */
3272- public function emergency($message, array $context = array());
3273-
3274- /**
3275- * Action must be taken immediately.
3276- *
3277- * Example: Entire website down, database unavailable, etc. This should
3278- * trigger the SMS alerts and wake you up.
3279- *
3280- * @param string $message
3281- * @param array $context
3282- * @return null
3283- */
3284- public function alert($message, array $context = array());
3285-
3286- /**
3287- * Critical conditions.
3288- *
3289- * Example: Application component unavailable, unexpected exception.
3290- *
3291- * @param string $message
3292- * @param array $context
3293- * @return null
3294- */
3295- public function critical($message, array $context = array());
3296-
3297- /**
3298- * Runtime errors that do not require immediate action but should typically
3299- * be logged and monitored.
3300- *
3301- * @param string $message
3302- * @param array $context
3303- * @return null
3304- */
3305- public function error($message, array $context = array());
3306-
3307- /**
3308- * Exceptional occurrences that are not errors.
3309- *
3310- * Example: Use of deprecated APIs, poor use of an API, undesirable things
3311- * that are not necessarily wrong.
3312- *
3313- * @param string $message
3314- * @param array $context
3315- * @return null
3316- */
3317- public function warning($message, array $context = array());
3318-
3319- /**
3320- * Normal but significant events.
3321- *
3322- * @param string $message
3323- * @param array $context
3324- * @return null
3325- */
3326- public function notice($message, array $context = array());
3327-
3328- /**
3329- * Interesting events.
3330- *
3331- * Example: User logs in, SQL logs.
3332- *
3333- * @param string $message
3334- * @param array $context
3335- * @return null
3336- */
3337- public function info($message, array $context = array());
3338-
3339- /**
3340- * Detailed debug information.
3341- *
3342- * @param string $message
3343- * @param array $context
3344- * @return null
3345- */
3346- public function debug($message, array $context = array());
3347-
3348- /**
3349- * Logs with an arbitrary level.
3350- *
3351- * @param mixed $level
3352- * @param string $message
3353- * @param array $context
3354- * @return null
3355- */
3356- public function log($level, $message, array $context = array());
3357-}
3358diff --git a/vendor/psr/log/Psr/Log/LoggerTrait.php b/vendor/psr/log/Psr/Log/LoggerTrait.php
3359deleted file mode 100644
3360index 5912496..0000000
3361--- a/vendor/psr/log/Psr/Log/LoggerTrait.php
3362+++ /dev/null
3363@@ -1,131 +0,0 @@
3364-<?php
3365-
3366-namespace Psr\Log;
3367-
3368-/**
3369- * This is a simple Logger trait that classes unable to extend AbstractLogger
3370- * (because they extend another class, etc) can include.
3371- *
3372- * It simply delegates all log-level-specific methods to the `log` method to
3373- * reduce boilerplate code that a simple Logger that does the same thing with
3374- * messages regardless of the error level has to implement.
3375- */
3376-trait LoggerTrait
3377-{
3378- /**
3379- * System is unusable.
3380- *
3381- * @param string $message
3382- * @param array $context
3383- * @return null
3384- */
3385- public function emergency($message, array $context = array())
3386- {
3387- $this->log(LogLevel::EMERGENCY, $message, $context);
3388- }
3389-
3390- /**
3391- * Action must be taken immediately.
3392- *
3393- * Example: Entire website down, database unavailable, etc. This should
3394- * trigger the SMS alerts and wake you up.
3395- *
3396- * @param string $message
3397- * @param array $context
3398- * @return null
3399- */
3400- public function alert($message, array $context = array())
3401- {
3402- $this->log(LogLevel::ALERT, $message, $context);
3403- }
3404-
3405- /**
3406- * Critical conditions.
3407- *
3408- * Example: Application component unavailable, unexpected exception.
3409- *
3410- * @param string $message
3411- * @param array $context
3412- * @return null
3413- */
3414- public function critical($message, array $context = array())
3415- {
3416- $this->log(LogLevel::CRITICAL, $message, $context);
3417- }
3418-
3419- /**
3420- * Runtime errors that do not require immediate action but should typically
3421- * be logged and monitored.
3422- *
3423- * @param string $message
3424- * @param array $context
3425- * @return null
3426- */
3427- public function error($message, array $context = array())
3428- {
3429- $this->log(LogLevel::ERROR, $message, $context);
3430- }
3431-
3432- /**
3433- * Exceptional occurrences that are not errors.
3434- *
3435- * Example: Use of deprecated APIs, poor use of an API, undesirable things
3436- * that are not necessarily wrong.
3437- *
3438- * @param string $message
3439- * @param array $context
3440- * @return null
3441- */
3442- public function warning($message, array $context = array())
3443- {
3444- $this->log(LogLevel::WARNING, $message, $context);
3445- }
3446-
3447- /**
3448- * Normal but significant events.
3449- *
3450- * @param string $message
3451- * @param array $context
3452- * @return null
3453- */
3454- public function notice($message, array $context = array())
3455- {
3456- $this->log(LogLevel::NOTICE, $message, $context);
3457- }
3458-
3459- /**
3460- * Interesting events.
3461- *
3462- * Example: User logs in, SQL logs.
3463- *
3464- * @param string $message
3465- * @param array $context
3466- * @return null
3467- */
3468- public function info($message, array $context = array())
3469- {
3470- $this->log(LogLevel::INFO, $message, $context);
3471- }
3472-
3473- /**
3474- * Detailed debug information.
3475- *
3476- * @param string $message
3477- * @param array $context
3478- * @return null
3479- */
3480- public function debug($message, array $context = array())
3481- {
3482- $this->log(LogLevel::DEBUG, $message, $context);
3483- }
3484-
3485- /**
3486- * Logs with an arbitrary level.
3487- *
3488- * @param mixed $level
3489- * @param string $message
3490- * @param array $context
3491- * @return null
3492- */
3493- abstract public function log($level, $message, array $context = array());
3494-}
3495diff --git a/vendor/psr/log/Psr/Log/NullLogger.php b/vendor/psr/log/Psr/Log/NullLogger.php
3496deleted file mode 100644
3497index 553a3c5..0000000
3498--- a/vendor/psr/log/Psr/Log/NullLogger.php
3499+++ /dev/null
3500@@ -1,27 +0,0 @@
3501-<?php
3502-
3503-namespace Psr\Log;
3504-
3505-/**
3506- * This Logger can be used to avoid conditional log calls
3507- *
3508- * Logging should always be optional, and if no logger is provided to your
3509- * library creating a NullLogger instance to have something to throw logs at
3510- * is a good way to avoid littering your code with `if ($this->logger) { }`
3511- * blocks.
3512- */
3513-class NullLogger extends AbstractLogger
3514-{
3515- /**
3516- * Logs with an arbitrary level.
3517- *
3518- * @param mixed $level
3519- * @param string $message
3520- * @param array $context
3521- * @return null
3522- */
3523- public function log($level, $message, array $context = array())
3524- {
3525- // noop
3526- }
3527-}
3528diff --git a/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
3529deleted file mode 100644
3530index a932815..0000000
3531--- a/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
3532+++ /dev/null
3533@@ -1,116 +0,0 @@
3534-<?php
3535-
3536-namespace Psr\Log\Test;
3537-
3538-use Psr\Log\LogLevel;
3539-
3540-/**
3541- * Provides a base test class for ensuring compliance with the LoggerInterface
3542- *
3543- * Implementors can extend the class and implement abstract methods to run this as part of their test suite
3544- */
3545-abstract class LoggerInterfaceTest extends \PHPUnit_Framework_TestCase
3546-{
3547- /**
3548- * @return LoggerInterface
3549- */
3550- abstract function getLogger();
3551-
3552- /**
3553- * This must return the log messages in order with a simple formatting: "<LOG LEVEL> <MESSAGE>"
3554- *
3555- * Example ->error('Foo') would yield "error Foo"
3556- *
3557- * @return string[]
3558- */
3559- abstract function getLogs();
3560-
3561- public function testImplements()
3562- {
3563- $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger());
3564- }
3565-
3566- /**
3567- * @dataProvider provideLevelsAndMessages
3568- */
3569- public function testLogsAtAllLevels($level, $message)
3570- {
3571- $logger = $this->getLogger();
3572- $logger->{$level}($message, array('user' => 'Bob'));
3573- $logger->log($level, $message, array('user' => 'Bob'));
3574-
3575- $expected = array(
3576- $level.' message of level '.$level.' with context: Bob',
3577- $level.' message of level '.$level.' with context: Bob',
3578- );
3579- $this->assertEquals($expected, $this->getLogs());
3580- }
3581-
3582- public function provideLevelsAndMessages()
3583- {
3584- return array(
3585- LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'),
3586- LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'),
3587- LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'),
3588- LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'),
3589- LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'),
3590- LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'),
3591- LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'),
3592- LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'),
3593- );
3594- }
3595-
3596- /**
3597- * @expectedException Psr\Log\InvalidArgumentException
3598- */
3599- public function testThrowsOnInvalidLevel()
3600- {
3601- $logger = $this->getLogger();
3602- $logger->log('invalid level', 'Foo');
3603- }
3604-
3605- public function testContextReplacement()
3606- {
3607- $logger = $this->getLogger();
3608- $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar'));
3609-
3610- $expected = array('info {Message {nothing} Bob Bar a}');
3611- $this->assertEquals($expected, $this->getLogs());
3612- }
3613-
3614- public function testObjectCastToString()
3615- {
3616- $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString'));
3617- $dummy->expects($this->once())
3618- ->method('__toString')
3619- ->will($this->returnValue('DUMMY'));
3620-
3621- $this->getLogger()->warning($dummy);
3622- }
3623-
3624- public function testContextCanContainAnything()
3625- {
3626- $context = array(
3627- 'bool' => true,
3628- 'null' => null,
3629- 'string' => 'Foo',
3630- 'int' => 0,
3631- 'float' => 0.5,
3632- 'nested' => array('with object' => new DummyTest),
3633- 'object' => new \DateTime,
3634- 'resource' => fopen('php://memory', 'r'),
3635- );
3636-
3637- $this->getLogger()->warning('Crazy context data', $context);
3638- }
3639-
3640- public function testContextExceptionKeyCanBeExceptionOrOtherValues()
3641- {
3642- $this->getLogger()->warning('Random message', array('exception' => 'oops'));
3643- $this->getLogger()->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail')));
3644- }
3645-}
3646-
3647-class DummyTest
3648-{
3649-}
3650\ No newline at end of file
3651diff --git a/vendor/psr/log/README.md b/vendor/psr/log/README.md
3652deleted file mode 100644
3653index 574bc1c..0000000
3654--- a/vendor/psr/log/README.md
3655+++ /dev/null
3656@@ -1,45 +0,0 @@
3657-PSR Log
3658-=======
3659-
3660-This repository holds all interfaces/classes/traits related to
3661-[PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md).
3662-
3663-Note that this is not a logger of its own. It is merely an interface that
3664-describes a logger. See the specification for more details.
3665-
3666-Usage
3667------
3668-
3669-If you need a logger, you can use the interface like this:
3670-
3671-```php
3672-<?php
3673-
3674-use Psr\Log\LoggerInterface;
3675-
3676-class Foo
3677-{
3678- private $logger;
3679-
3680- public function __construct(LoggerInterface $logger = null)
3681- {
3682- $this->logger = $logger;
3683- }
3684-
3685- public function doSomething()
3686- {
3687- if ($this->logger) {
3688- $this->logger->info('Doing work');
3689- }
3690-
3691- // do something useful
3692- }
3693-}
3694-```
3695-
3696-You can then pick one of the implementations of the interface to get a logger.
3697-
3698-If you want to implement the interface, you can require this package and
3699-implement `Psr\Log\LoggerInterface` in your code. Please read the
3700-[specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
3701-for details.
3702diff --git a/vendor/psr/log/composer.json b/vendor/psr/log/composer.json
3703deleted file mode 100644
3704index 6bdcc21..0000000
3705--- a/vendor/psr/log/composer.json
3706+++ /dev/null
3707@@ -1,17 +0,0 @@
3708-{
3709- "name": "psr/log",
3710- "description": "Common interface for logging libraries",
3711- "keywords": ["psr", "psr-3", "log"],
3712- "license": "MIT",
3713- "authors": [
3714- {
3715- "name": "PHP-FIG",
3716- "homepage": "http://www.php-fig.org/"
3717- }
3718- ],
3719- "autoload": {
3720- "psr-0": {
3721- "Psr\\Log\\": ""
3722- }
3723- }
3724-}
3725diff --git a/vendor/silex/silex/.gitignore b/vendor/silex/silex/.gitignore
3726deleted file mode 100644
3727index 3d4ff05..0000000
3728--- a/vendor/silex/silex/.gitignore
3729+++ /dev/null
3730@@ -1,5 +0,0 @@
3731-/phpunit.xml
3732-/vendor
3733-/build
3734-/composer.lock
3735-
3736diff --git a/vendor/silex/silex/.travis.yml b/vendor/silex/silex/.travis.yml
3737deleted file mode 100644
3738index 18ec7e6..0000000
3739--- a/vendor/silex/silex/.travis.yml
3740+++ /dev/null
3741@@ -1,34 +0,0 @@
3742-language: php
3743-
3744-sudo: false
3745-
3746-cache:
3747- directories:
3748- - $HOME/.composer/cache
3749-
3750-before_script:
3751- # symfony/*
3752- - sh -c "if [ '$TWIG_VERSION' != '2.0' ]; then sed -i 's/~1.8|~2.0/~1.8/g' composer.json; composer update; fi"
3753- - sh -c "if [ '$SYMFONY_DEPS_VERSION' = '3.0' ]; then sed -i 's/~2\.3|3\.0\.\*/3.0.*@dev/g' composer.json; composer update; fi"
3754- - sh -c "if [ '$SYMFONY_DEPS_VERSION' = '2.8' ]; then sed -i 's/~2\.3|3\.0\.\*/2.8.*@dev/g' composer.json; composer update; fi"
3755- - sh -c "if [ '$SYMFONY_DEPS_VERSION' = '' ]; then sed -i 's/~2\.3|3\.0\.\*/2.7.*@dev/g' composer.json; composer update; fi"
3756- - sh -c "if [ '$SYMFONY_DEPS_VERSION' = '2.3' ]; then sed -i 's/~2\.3|3\.0\.\*/2.3.*@dev/g' composer.json; composer update; fi"
3757- - composer install
3758-
3759-script: phpunit
3760-
3761-matrix:
3762- include:
3763- - php: 5.3
3764- - php: 5.4
3765- - php: 5.5
3766- - php: 5.6
3767- env: TWIG_VERSION=2.0
3768- - php: 5.6
3769- env: SYMFONY_DEPS_VERSION=2.3
3770- - php: 5.6
3771- env: SYMFONY_DEPS_VERSION=2.8
3772- - php: 5.6
3773- env: SYMFONY_DEPS_VERSION=3
3774- - php: 7.0
3775- - php: hhvm
3776diff --git a/vendor/silex/silex/LICENSE b/vendor/silex/silex/LICENSE
3777deleted file mode 100644
3778index 7c3778d..0000000
3779--- a/vendor/silex/silex/LICENSE
3780+++ /dev/null
3781@@ -1,19 +0,0 @@
3782-Copyright (c) 2010-2016 Fabien Potencier
3783-
3784-Permission is hereby granted, free of charge, to any person obtaining a copy
3785-of this software and associated documentation files (the "Software"), to deal
3786-in the Software without restriction, including without limitation the rights
3787-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
3788-copies of the Software, and to permit persons to whom the Software is furnished
3789-to do so, subject to the following conditions:
3790-
3791-The above copyright notice and this permission notice shall be included in all
3792-copies or substantial portions of the Software.
3793-
3794-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3795-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3796-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3797-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3798-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3799-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
3800-THE SOFTWARE.
3801diff --git a/vendor/silex/silex/README.rst b/vendor/silex/silex/README.rst
3802deleted file mode 100644
3803index 5b7519b..0000000
3804--- a/vendor/silex/silex/README.rst
3805+++ /dev/null
3806@@ -1,64 +0,0 @@
3807-Silex, a simple Web Framework
3808-=============================
3809-
3810-Silex is a PHP micro-framework to develop websites based on `Symfony
3811-components`_:
3812-
3813-.. code-block:: php
3814-
3815- <?php
3816-
3817- require_once __DIR__.'/../vendor/autoload.php';
3818-
3819- $app = new Silex\Application();
3820-
3821- $app->get('/hello/{name}', function ($name) use ($app) {
3822- return 'Hello '.$app->escape($name);
3823- });
3824-
3825- $app->run();
3826-
3827-Silex works with PHP 5.3.9 or later.
3828-
3829-Installation
3830-------------
3831-
3832-The recommended way to install Silex is through `Composer`_:
3833-
3834-.. code-block:: bash
3835-
3836- composer require silex/silex "~1.3"
3837-
3838-Alternatively, you can download the `silex.zip`_ file and extract it.
3839-
3840-More Information
3841-----------------
3842-
3843-Read the `documentation`_ for more information and `changelog
3844-<doc/changelog.rst>`_ for upgrading information.
3845-
3846-Tests
3847------
3848-
3849-To run the test suite, you need `Composer`_ and `PHPUnit`_:
3850-
3851-.. code-block:: bash
3852-
3853- $ composer install
3854- $ phpunit
3855-
3856-Community
3857----------
3858-
3859-Check out #silex-php on irc.freenode.net.
3860-
3861-License
3862--------
3863-
3864-Silex is licensed under the MIT license.
3865-
3866-.. _Symfony components: http://symfony.com
3867-.. _Composer: http://getcomposer.org
3868-.. _PHPUnit: https://phpunit.de
3869-.. _silex.zip: http://silex.sensiolabs.org/download
3870-.. _documentation: http://silex.sensiolabs.org/documentation
3871diff --git a/vendor/silex/silex/bin/build b/vendor/silex/silex/bin/build
3872deleted file mode 100755
3873index e727003..0000000
3874--- a/vendor/silex/silex/bin/build
3875+++ /dev/null
3876@@ -1,67 +0,0 @@
3877-#!/bin/sh
3878-
3879-PHP=`which php`
3880-GIT=`which git`
3881-DIR=`$PHP -r "echo dirname(dirname(realpath('$0')));"`
3882-
3883-if [ ! -d "$DIR/build" ]; then
3884- mkdir -p $DIR/build
3885-fi
3886-
3887-cd $DIR/build
3888-
3889-if [ ! -f "composer.phar" ]; then
3890- curl -s http://getcomposer.org/installer 2>/dev/null | $PHP >/dev/null 2>/dev/null
3891-else
3892- $PHP composer.phar self-update >/dev/null 2>/dev/null
3893-fi
3894-
3895-for TYPE in slim fat
3896-do
3897- if [ -d "$DIR/build/skeleton" ]; then
3898- rm -rf $DIR/build/skeleton
3899- fi
3900- mkdir -p $DIR/build/skeleton
3901-
3902- cd "$DIR/build/skeleton"
3903-
3904- mkdir -p web/
3905- COMPOSER=$TYPE"_composer.json"
3906- cp $DIR/bin/skeleton/$COMPOSER composer.json
3907- cp $DIR/bin/skeleton/index.php web/index.php
3908-
3909- $PHP ../composer.phar install -q
3910-
3911- if [ -d "$DIR/build/tmp/silex" ]; then
3912- rm -rf $DIR/build/tmp/silex
3913- fi
3914- mkdir -p $DIR/build/tmp/silex
3915-
3916- cd "$DIR/build/tmp/silex"
3917- cp -r ../../skeleton/* .
3918-
3919- find . -name .DS_Store | xargs rm -rf -
3920- find . -name .git | xargs rm -rf -
3921- find . -name phpunit.xml.* | xargs rm -rf -
3922- find . -type d -name Tests | xargs rm -rf -
3923- find . -type d -name test* | xargs rm -rf -
3924- find . -type d -name doc | xargs rm -rf -
3925- find . -type d -name ext | xargs rm -rf -
3926-
3927- export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
3928- export COPYFILE_DISABLE=true
3929-
3930- cd "$DIR/build/tmp"
3931-
3932- if [ "slim" = "$TYPE" ]; then
3933- NAME="silex"
3934- else
3935- NAME="silex_fat"
3936- fi
3937-
3938- rm -f "$DIR/build/$NAME.*"
3939- tar zcpf "$DIR/build/$NAME.tgz" silex
3940- zip -rq "$DIR/build/$NAME.zip" silex
3941- rm -rf "$DIR/build/tmp"
3942- rm -rf "$DIR/build/skeleton"
3943-done
3944diff --git a/vendor/silex/silex/bin/compile b/vendor/silex/silex/bin/compile
3945deleted file mode 100755
3946index f0986ed..0000000
3947--- a/vendor/silex/silex/bin/compile
3948+++ /dev/null
3949@@ -1,9 +0,0 @@
3950-#!/usr/bin/env php
3951-<?php
3952-
3953-require_once __DIR__.'/../vendor/autoload.php';
3954-
3955-use Silex\Util\Compiler;
3956-
3957-$compiler = new Compiler();
3958-$compiler->compile();
3959diff --git a/vendor/silex/silex/bin/skeleton/fat_composer.json b/vendor/silex/silex/bin/skeleton/fat_composer.json
3960deleted file mode 100644
3961index 4495d4f..0000000
3962--- a/vendor/silex/silex/bin/skeleton/fat_composer.json
3963+++ /dev/null
3964@@ -1,23 +0,0 @@
3965-{
3966- "require": {
3967- "silex/silex": "~1.1",
3968- "symfony/browser-kit": "~2.3",
3969- "symfony/console": "~2.3",
3970- "symfony/config": "~2.3",
3971- "symfony/css-selector": "~2.3",
3972- "symfony/dom-crawler": "~2.3",
3973- "symfony/filesystem": "~2.3",
3974- "symfony/finder": "~2.3",
3975- "symfony/form": "~2.3",
3976- "symfony/locale": "~2.3",
3977- "symfony/process": "~2.3",
3978- "symfony/security": "~2.3",
3979- "symfony/serializer": "~2.3",
3980- "symfony/translation": "~2.3",
3981- "symfony/validator": "~2.3",
3982- "symfony/monolog-bridge": "~2.3",
3983- "symfony/twig-bridge": "~2.3",
3984- "doctrine/dbal": ">=2.2.0,<2.4.0-dev",
3985- "swiftmailer/swiftmailer": "5.*"
3986- }
3987-}
3988diff --git a/vendor/silex/silex/bin/skeleton/index.php b/vendor/silex/silex/bin/skeleton/index.php
3989deleted file mode 100644
3990index 683c610..0000000
3991--- a/vendor/silex/silex/bin/skeleton/index.php
3992+++ /dev/null
3993@@ -1,11 +0,0 @@
3994-<?php
3995-
3996-require_once __DIR__.'/../vendor/autoload.php';
3997-
3998-$app = new Silex\Application();
3999-
4000-$app->get('/hello', function () {
4001- return 'Hello!';
4002-});
4003-
4004-$app->run();
4005diff --git a/vendor/silex/silex/bin/skeleton/slim_composer.json b/vendor/silex/silex/bin/skeleton/slim_composer.json
4006deleted file mode 100644
4007index df5ed00..0000000
4008--- a/vendor/silex/silex/bin/skeleton/slim_composer.json
4009+++ /dev/null
4010@@ -1,5 +0,0 @@
4011-{
4012- "require": {
4013- "silex/silex": "~1.1"
4014- }
4015-}
4016diff --git a/vendor/silex/silex/composer.json b/vendor/silex/silex/composer.json
4017deleted file mode 100644
4018index 17fd3e3..0000000
4019--- a/vendor/silex/silex/composer.json
4020+++ /dev/null
4021@@ -1,60 +0,0 @@
4022-{
4023- "name": "silex/silex",
4024- "description": "The PHP micro-framework based on the Symfony Components",
4025- "keywords": ["microframework"],
4026- "homepage": "http://silex.sensiolabs.org",
4027- "license": "MIT",
4028- "authors": [
4029- {
4030- "name": "Fabien Potencier",
4031- "email": "fabien@symfony.com"
4032- },
4033- {
4034- "name": "Igor Wiedler",
4035- "email": "igor@wiedler.ch"
4036- }
4037- ],
4038- "require": {
4039- "php": ">=5.3.9",
4040- "pimple/pimple": "~1.0",
4041- "symfony/event-dispatcher": "~2.3|3.0.*",
4042- "symfony/http-foundation": "~2.3|3.0.*",
4043- "symfony/http-kernel": "~2.3|3.0.*",
4044- "symfony/routing": "~2.3|3.0.*"
4045- },
4046- "require-dev": {
4047- "symfony/security": "~2.3|3.0.*",
4048- "symfony/config": "~2.3|3.0.*",
4049- "symfony/locale": "~2.3|3.0.*",
4050- "symfony/form": "~2.3|3.0.*",
4051- "symfony/browser-kit": "~2.3|3.0.*",
4052- "symfony/css-selector": "~2.3|3.0.*",
4053- "symfony/debug": "~2.3|3.0.*",
4054- "symfony/dom-crawler": "~2.3|3.0.*",
4055- "symfony/finder": "~2.3|3.0.*",
4056- "symfony/monolog-bridge": "~2.3|3.0.*",
4057- "symfony/options-resolver": "~2.3|3.0.*",
4058- "symfony/phpunit-bridge": "~2.7",
4059- "symfony/process": "~2.3|3.0.*",
4060- "symfony/serializer": "~2.3|3.0.*",
4061- "symfony/translation": "~2.3|3.0.*",
4062- "symfony/twig-bridge": "~2.3|3.0.*",
4063- "symfony/validator": "~2.3|3.0.*",
4064- "twig/twig": "~1.8|~2.0",
4065- "doctrine/dbal": "~2.2",
4066- "swiftmailer/swiftmailer": "~5",
4067- "monolog/monolog": "^1.4.1"
4068- },
4069- "autoload": {
4070- "psr-4": { "Silex\\": "src/Silex" }
4071- },
4072- "autoload-dev" : {
4073- "psr-4": { "Silex\\Tests\\" : "tests/Silex/Tests" }
4074- },
4075- "extra": {
4076- "branch-alias": {
4077- "dev-master": "1.3.x-dev"
4078- }
4079- },
4080- "minimum-stability": "dev"
4081-}
4082diff --git a/vendor/silex/silex/src/Silex/Application.php b/vendor/silex/silex/src/Silex/Application.php
4083deleted file mode 100644
4084index b4ab48e..0000000
4085--- a/vendor/silex/silex/src/Silex/Application.php
4086+++ /dev/null
4087@@ -1,600 +0,0 @@
4088-<?php
4089-
4090-/*
4091- * This file is part of the Silex framework.
4092- *
4093- * (c) Fabien Potencier <fabien@symfony.com>
4094- *
4095- * For the full copyright and license information, please view the LICENSE
4096- * file that was distributed with this source code.
4097- */
4098-
4099-namespace Silex;
4100-
4101-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
4102-use Symfony\Component\HttpFoundation\BinaryFileResponse;
4103-use Symfony\Component\HttpKernel\HttpKernel;
4104-use Symfony\Component\HttpKernel\Kernel;
4105-use Symfony\Component\HttpKernel\HttpKernelInterface;
4106-use Symfony\Component\HttpKernel\TerminableInterface;
4107-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
4108-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
4109-use Symfony\Component\HttpKernel\Event\PostResponseEvent;
4110-use Symfony\Component\HttpKernel\EventListener\ResponseListener;
4111-use Symfony\Component\HttpKernel\EventListener\RouterListener;
4112-use Symfony\Component\HttpKernel\Exception\HttpException;
4113-use Symfony\Component\HttpKernel\KernelEvents;
4114-use Symfony\Component\HttpFoundation\Request;
4115-use Symfony\Component\HttpFoundation\RequestStack;
4116-use Symfony\Component\HttpFoundation\Response;
4117-use Symfony\Component\HttpFoundation\RedirectResponse;
4118-use Symfony\Component\HttpFoundation\StreamedResponse;
4119-use Symfony\Component\HttpFoundation\JsonResponse;
4120-use Symfony\Component\Routing\RouteCollection;
4121-use Symfony\Component\Routing\RequestContext;
4122-use Silex\EventListener\LocaleListener;
4123-use Silex\EventListener\MiddlewareListener;
4124-use Silex\EventListener\ConverterListener;
4125-use Silex\EventListener\StringToResponseListener;
4126-
4127-/**
4128- * The Silex framework class.
4129- *
4130- * @author Fabien Potencier <fabien@symfony.com>
4131- */
4132-class Application extends \Pimple implements HttpKernelInterface, TerminableInterface
4133-{
4134- const VERSION = '1.3.5';
4135-
4136- const EARLY_EVENT = 512;
4137- const LATE_EVENT = -512;
4138-
4139- protected $providers = array();
4140- protected $booted = false;
4141-
4142- /**
4143- * Instantiate a new Application.
4144- *
4145- * Objects and parameters can be passed as argument to the constructor.
4146- *
4147- * @param array $values The parameters or objects.
4148- */
4149- public function __construct(array $values = array())
4150- {
4151- parent::__construct();
4152-
4153- $app = $this;
4154-
4155- $this['logger'] = null;
4156-
4157- $this['routes'] = $this->share(function () {
4158- return new RouteCollection();
4159- });
4160-
4161- $this['controllers'] = $this->share(function () use ($app) {
4162- return $app['controllers_factory'];
4163- });
4164-
4165- $this['controllers_factory'] = function () use ($app) {
4166- return new ControllerCollection($app['route_factory']);
4167- };
4168-
4169- $this['route_class'] = 'Silex\\Route';
4170- $this['route_factory'] = function () use ($app) {
4171- return new $app['route_class']();
4172- };
4173-
4174- $this['exception_handler'] = $this->share(function () use ($app) {
4175- return new ExceptionHandler($app['debug']);
4176- });
4177-
4178- $this['dispatcher_class'] = 'Symfony\\Component\\EventDispatcher\\EventDispatcher';
4179- $this['dispatcher'] = $this->share(function () use ($app) {
4180- /*
4181- * @var EventDispatcherInterface
4182- */
4183- $dispatcher = new $app['dispatcher_class']();
4184-
4185- $urlMatcher = new LazyUrlMatcher(function () use ($app) {
4186- return $app['url_matcher'];
4187- });
4188- if (Kernel::VERSION_ID >= 20800) {
4189- $dispatcher->addSubscriber(new RouterListener($urlMatcher, $app['request_stack'], $app['request_context'], $app['logger']));
4190- } else {
4191- $dispatcher->addSubscriber(new RouterListener($urlMatcher, $app['request_context'], $app['logger'], $app['request_stack']));
4192- }
4193- $dispatcher->addSubscriber(new LocaleListener($app, $urlMatcher, $app['request_stack']));
4194- if (isset($app['exception_handler'])) {
4195- $dispatcher->addSubscriber($app['exception_handler']);
4196- }
4197- $dispatcher->addSubscriber(new ResponseListener($app['charset']));
4198- $dispatcher->addSubscriber(new MiddlewareListener($app));
4199- $dispatcher->addSubscriber(new ConverterListener($app['routes'], $app['callback_resolver']));
4200- $dispatcher->addSubscriber(new StringToResponseListener());
4201-
4202- return $dispatcher;
4203- });
4204-
4205- $this['callback_resolver'] = $this->share(function () use ($app) {
4206- return new CallbackResolver($app);
4207- });
4208-
4209- $this['resolver'] = $this->share(function () use ($app) {
4210- return new ControllerResolver($app, $app['logger']);
4211- });
4212-
4213- $this['kernel'] = $this->share(function () use ($app) {
4214- return new HttpKernel($app['dispatcher'], $app['resolver'], $app['request_stack']);
4215- });
4216-
4217- $this['request_stack'] = $this->share(function () use ($app) {
4218- if (class_exists('Symfony\Component\HttpFoundation\RequestStack')) {
4219- return new RequestStack();
4220- }
4221- });
4222-
4223- $this['request_context'] = $this->share(function () use ($app) {
4224- $context = new RequestContext();
4225-
4226- $context->setHttpPort($app['request.http_port']);
4227- $context->setHttpsPort($app['request.https_port']);
4228-
4229- return $context;
4230- });
4231-
4232- $this['url_matcher'] = $this->share(function () use ($app) {
4233- return new RedirectableUrlMatcher($app['routes'], $app['request_context']);
4234- });
4235-
4236- $this['request_error'] = $this->protect(function () {
4237- throw new \RuntimeException('Accessed request service outside of request scope. Try moving that call to a before handler or controller.');
4238- });
4239-
4240- $this['request'] = $this['request_error'];
4241-
4242- $this['request.http_port'] = 80;
4243- $this['request.https_port'] = 443;
4244- $this['debug'] = false;
4245- $this['charset'] = 'UTF-8';
4246- $this['locale'] = 'en';
4247-
4248- foreach ($values as $key => $value) {
4249- $this[$key] = $value;
4250- }
4251- }
4252-
4253- /**
4254- * Registers a service provider.
4255- *
4256- * @param ServiceProviderInterface $provider A ServiceProviderInterface instance
4257- * @param array $values An array of values that customizes the provider
4258- *
4259- * @return Application
4260- */
4261- public function register(ServiceProviderInterface $provider, array $values = array())
4262- {
4263- $this->providers[] = $provider;
4264-
4265- $provider->register($this);
4266-
4267- foreach ($values as $key => $value) {
4268- $this[$key] = $value;
4269- }
4270-
4271- return $this;
4272- }
4273-
4274- /**
4275- * Boots all service providers.
4276- *
4277- * This method is automatically called by handle(), but you can use it
4278- * to boot all service providers when not handling a request.
4279- */
4280- public function boot()
4281- {
4282- if (!$this->booted) {
4283- foreach ($this->providers as $provider) {
4284- $provider->boot($this);
4285- }
4286-
4287- $this->booted = true;
4288- }
4289- }
4290-
4291- /**
4292- * Maps a pattern to a callable.
4293- *
4294- * You can optionally specify HTTP methods that should be matched.
4295- *
4296- * @param string $pattern Matched route pattern
4297- * @param mixed $to Callback that returns the response when matched
4298- *
4299- * @return Controller
4300- */
4301- public function match($pattern, $to = null)
4302- {
4303- return $this['controllers']->match($pattern, $to);
4304- }
4305-
4306- /**
4307- * Maps a GET request to a callable.
4308- *
4309- * @param string $pattern Matched route pattern
4310- * @param mixed $to Callback that returns the response when matched
4311- *
4312- * @return Controller
4313- */
4314- public function get($pattern, $to = null)
4315- {
4316- return $this['controllers']->get($pattern, $to);
4317- }
4318-
4319- /**
4320- * Maps a POST request to a callable.
4321- *
4322- * @param string $pattern Matched route pattern
4323- * @param mixed $to Callback that returns the response when matched
4324- *
4325- * @return Controller
4326- */
4327- public function post($pattern, $to = null)
4328- {
4329- return $this['controllers']->post($pattern, $to);
4330- }
4331-
4332- /**
4333- * Maps a PUT request to a callable.
4334- *
4335- * @param string $pattern Matched route pattern
4336- * @param mixed $to Callback that returns the response when matched
4337- *
4338- * @return Controller
4339- */
4340- public function put($pattern, $to = null)
4341- {
4342- return $this['controllers']->put($pattern, $to);
4343- }
4344-
4345- /**
4346- * Maps a DELETE request to a callable.
4347- *
4348- * @param string $pattern Matched route pattern
4349- * @param mixed $to Callback that returns the response when matched
4350- *
4351- * @return Controller
4352- */
4353- public function delete($pattern, $to = null)
4354- {
4355- return $this['controllers']->delete($pattern, $to);
4356- }
4357-
4358- /**
4359- * Maps an OPTIONS request to a callable.
4360- *
4361- * @param string $pattern Matched route pattern
4362- * @param mixed $to Callback that returns the response when matched
4363- *
4364- * @return Controller
4365- */
4366- public function options($pattern, $to = null)
4367- {
4368- return $this['controllers']->options($pattern, $to);
4369- }
4370-
4371- /**
4372- * Maps a PATCH request to a callable.
4373- *
4374- * @param string $pattern Matched route pattern
4375- * @param mixed $to Callback that returns the response when matched
4376- *
4377- * @return Controller
4378- */
4379- public function patch($pattern, $to = null)
4380- {
4381- return $this['controllers']->patch($pattern, $to);
4382- }
4383-
4384- /**
4385- * Adds an event listener that listens on the specified events.
4386- *
4387- * @param string $eventName The event to listen on
4388- * @param callable $callback The listener
4389- * @param int $priority The higher this value, the earlier an event
4390- * listener will be triggered in the chain (defaults to 0)
4391- */
4392- public function on($eventName, $callback, $priority = 0)
4393- {
4394- if ($this->booted) {
4395- $this['dispatcher']->addListener($eventName, $this['callback_resolver']->resolveCallback($callback), $priority);
4396-
4397- return;
4398- }
4399-
4400- $this['dispatcher'] = $this->share($this->extend('dispatcher', function (EventDispatcherInterface $dispatcher, $app) use ($callback, $priority, $eventName) {
4401- $dispatcher->addListener($eventName, $app['callback_resolver']->resolveCallback($callback), $priority);
4402-
4403- return $dispatcher;
4404- }));
4405- }
4406-
4407- /**
4408- * Registers a before filter.
4409- *
4410- * Before filters are run before any route has been matched.
4411- *
4412- * @param mixed $callback Before filter callback
4413- * @param int $priority The higher this value, the earlier an event
4414- * listener will be triggered in the chain (defaults to 0)
4415- */
4416- public function before($callback, $priority = 0)
4417- {
4418- $app = $this;
4419-
4420- $this->on(KernelEvents::REQUEST, function (GetResponseEvent $event) use ($callback, $app) {
4421- if (HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) {
4422- return;
4423- }
4424-
4425- $ret = call_user_func($app['callback_resolver']->resolveCallback($callback), $event->getRequest(), $app);
4426-
4427- if ($ret instanceof Response) {
4428- $event->setResponse($ret);
4429- }
4430- }, $priority);
4431- }
4432-
4433- /**
4434- * Registers an after filter.
4435- *
4436- * After filters are run after the controller has been executed.
4437- *
4438- * @param mixed $callback After filter callback
4439- * @param int $priority The higher this value, the earlier an event
4440- * listener will be triggered in the chain (defaults to 0)
4441- */
4442- public function after($callback, $priority = 0)
4443- {
4444- $app = $this;
4445-
4446- $this->on(KernelEvents::RESPONSE, function (FilterResponseEvent $event) use ($callback, $app) {
4447- if (HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) {
4448- return;
4449- }
4450-
4451- $response = call_user_func($app['callback_resolver']->resolveCallback($callback), $event->getRequest(), $event->getResponse(), $app);
4452- if ($response instanceof Response) {
4453- $event->setResponse($response);
4454- } elseif (null !== $response) {
4455- throw new \RuntimeException('An after middleware returned an invalid response value. Must return null or an instance of Response.');
4456- }
4457- }, $priority);
4458- }
4459-
4460- /**
4461- * Registers a finish filter.
4462- *
4463- * Finish filters are run after the response has been sent.
4464- *
4465- * @param mixed $callback Finish filter callback
4466- * @param int $priority The higher this value, the earlier an event
4467- * listener will be triggered in the chain (defaults to 0)
4468- */
4469- public function finish($callback, $priority = 0)
4470- {
4471- $app = $this;
4472-
4473- $this->on(KernelEvents::TERMINATE, function (PostResponseEvent $event) use ($callback, $app) {
4474- call_user_func($app['callback_resolver']->resolveCallback($callback), $event->getRequest(), $event->getResponse(), $app);
4475- }, $priority);
4476- }
4477-
4478- /**
4479- * Aborts the current request by sending a proper HTTP error.
4480- *
4481- * @param int $statusCode The HTTP status code
4482- * @param string $message The status message
4483- * @param array $headers An array of HTTP headers
4484- */
4485- public function abort($statusCode, $message = '', array $headers = array())
4486- {
4487- throw new HttpException($statusCode, $message, null, $headers);
4488- }
4489-
4490- /**
4491- * Registers an error handler.
4492- *
4493- * Error handlers are simple callables which take a single Exception
4494- * as an argument. If a controller throws an exception, an error handler
4495- * can return a specific response.
4496- *
4497- * When an exception occurs, all handlers will be called, until one returns
4498- * something (a string or a Response object), at which point that will be
4499- * returned to the client.
4500- *
4501- * For this reason you should add logging handlers before output handlers.
4502- *
4503- * @param mixed $callback Error handler callback, takes an Exception argument
4504- * @param int $priority The higher this value, the earlier an event
4505- * listener will be triggered in the chain (defaults to -8)
4506- */
4507- public function error($callback, $priority = -8)
4508- {
4509- $this->on(KernelEvents::EXCEPTION, new ExceptionListenerWrapper($this, $callback), $priority);
4510- }
4511-
4512- /**
4513- * Registers a view handler.
4514- *
4515- * View handlers are simple callables which take a controller result and the
4516- * request as arguments, whenever a controller returns a value that is not
4517- * an instance of Response. When this occurs, all suitable handlers will be
4518- * called, until one returns a Response object.
4519- *
4520- * @param mixed $callback View handler callback
4521- * @param int $priority The higher this value, the earlier an event
4522- * listener will be triggered in the chain (defaults to 0)
4523- */
4524- public function view($callback, $priority = 0)
4525- {
4526- $this->on(KernelEvents::VIEW, new ViewListenerWrapper($this, $callback), $priority);
4527- }
4528-
4529- /**
4530- * Flushes the controller collection.
4531- *
4532- * @param string $prefix The route prefix
4533- */
4534- public function flush($prefix = '')
4535- {
4536- $this['routes']->addCollection($this['controllers']->flush($prefix));
4537- }
4538-
4539- /**
4540- * Redirects the user to another URL.
4541- *
4542- * @param string $url The URL to redirect to
4543- * @param int $status The status code (302 by default)
4544- *
4545- * @return RedirectResponse
4546- */
4547- public function redirect($url, $status = 302)
4548- {
4549- return new RedirectResponse($url, $status);
4550- }
4551-
4552- /**
4553- * Creates a streaming response.
4554- *
4555- * @param mixed $callback A valid PHP callback
4556- * @param int $status The response status code
4557- * @param array $headers An array of response headers
4558- *
4559- * @return StreamedResponse
4560- */
4561- public function stream($callback = null, $status = 200, array $headers = array())
4562- {
4563- return new StreamedResponse($callback, $status, $headers);
4564- }
4565-
4566- /**
4567- * Escapes a text for HTML.
4568- *
4569- * @param string $text The input text to be escaped
4570- * @param int $flags The flags (@see htmlspecialchars)
4571- * @param string $charset The charset
4572- * @param bool $doubleEncode Whether to try to avoid double escaping or not
4573- *
4574- * @return string Escaped text
4575- */
4576- public function escape($text, $flags = ENT_COMPAT, $charset = null, $doubleEncode = true)
4577- {
4578- return htmlspecialchars($text, $flags, $charset ?: $this['charset'], $doubleEncode);
4579- }
4580-
4581- /**
4582- * Convert some data into a JSON response.
4583- *
4584- * @param mixed $data The response data
4585- * @param int $status The response status code
4586- * @param array $headers An array of response headers
4587- *
4588- * @return JsonResponse
4589- */
4590- public function json($data = array(), $status = 200, array $headers = array())
4591- {
4592- return new JsonResponse($data, $status, $headers);
4593- }
4594-
4595- /**
4596- * Sends a file.
4597- *
4598- * @param \SplFileInfo|string $file The file to stream
4599- * @param int $status The response status code
4600- * @param array $headers An array of response headers
4601- * @param null|string $contentDisposition The type of Content-Disposition to set automatically with the filename
4602- *
4603- * @return BinaryFileResponse
4604- *
4605- * @throws \RuntimeException When the feature is not supported, before http-foundation v2.2
4606- */
4607- public function sendFile($file, $status = 200, array $headers = array(), $contentDisposition = null)
4608- {
4609- return new BinaryFileResponse($file, $status, $headers, true, $contentDisposition);
4610- }
4611-
4612- /**
4613- * Mounts controllers under the given route prefix.
4614- *
4615- * @param string $prefix The route prefix
4616- * @param ControllerCollection|ControllerProviderInterface $controllers A ControllerCollection or a ControllerProviderInterface instance
4617- *
4618- * @return Application
4619- */
4620- public function mount($prefix, $controllers)
4621- {
4622- if ($controllers instanceof ControllerProviderInterface) {
4623- $connectedControllers = $controllers->connect($this);
4624-
4625- if (!$connectedControllers instanceof ControllerCollection) {
4626- throw new \LogicException(sprintf('The method "%s::connect" must return a "ControllerCollection" instance. Got: "%s"', get_class($controllers), is_object($connectedControllers) ? get_class($connectedControllers) : gettype($connectedControllers)));
4627- }
4628-
4629- $controllers = $connectedControllers;
4630- } elseif (!$controllers instanceof ControllerCollection) {
4631- throw new \LogicException('The "mount" method takes either a "ControllerCollection" or a "ControllerProviderInterface" instance.');
4632- }
4633-
4634- $this['controllers']->mount($prefix, $controllers);
4635-
4636- return $this;
4637- }
4638-
4639- /**
4640- * Handles the request and delivers the response.
4641- *
4642- * @param Request|null $request Request to process
4643- */
4644- public function run(Request $request = null)
4645- {
4646- if (null === $request) {
4647- $request = Request::createFromGlobals();
4648- }
4649-
4650- $response = $this->handle($request);
4651- $response->send();
4652- $this->terminate($request, $response);
4653- }
4654-
4655- /**
4656- * {@inheritdoc}
4657- *
4658- * If you call this method directly instead of run(), you must call the
4659- * terminate() method yourself if you want the finish filters to be run.
4660- */
4661- public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
4662- {
4663- if (!$this->booted) {
4664- $this->boot();
4665- }
4666-
4667- $current = HttpKernelInterface::SUB_REQUEST === $type ? $this['request'] : $this['request_error'];
4668-
4669- $this['request'] = $request;
4670-
4671- $this->flush();
4672-
4673- $response = $this['kernel']->handle($request, $type, $catch);
4674-
4675- $this['request'] = $current;
4676-
4677- return $response;
4678- }
4679-
4680- /**
4681- * {@inheritdoc}
4682- */
4683- public function terminate(Request $request, Response $response)
4684- {
4685- $this['kernel']->terminate($request, $response);
4686- }
4687-}
4688diff --git a/vendor/silex/silex/src/Silex/Application/FormTrait.php b/vendor/silex/silex/src/Silex/Application/FormTrait.php
4689deleted file mode 100644
4690index 46e5e88..0000000
4691--- a/vendor/silex/silex/src/Silex/Application/FormTrait.php
4692+++ /dev/null
4693@@ -1,41 +0,0 @@
4694-<?php
4695-
4696-/*
4697- * This file is part of the Silex framework.
4698- *
4699- * (c) Fabien Potencier <fabien@symfony.com>
4700- *
4701- * For the full copyright and license information, please view the LICENSE
4702- * file that was distributed with this source code.
4703- */
4704-
4705-namespace Silex\Application;
4706-
4707-use Symfony\Component\Form\FormBuilder;
4708-
4709-/**
4710- * Form trait.
4711- *
4712- * @author Fabien Potencier <fabien@symfony.com>
4713- */
4714-trait FormTrait
4715-{
4716- /**
4717- * Creates and returns a form builder instance.
4718- *
4719- * @param mixed $data The initial data for the form
4720- * @param array $options Options for the form
4721- *
4722- * @return FormBuilder
4723- */
4724- public function form($data = null, array $options = array())
4725- {
4726- $name = 'Symfony\Component\Form\Extension\Core\Type\FormType';
4727- // BC with Symfony < 2.8
4728- if (!class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType')) {
4729- $name = 'form';
4730- }
4731-
4732- return $this['form.factory']->createBuilder($name, $data, $options);
4733- }
4734-}
4735diff --git a/vendor/silex/silex/src/Silex/Application/MonologTrait.php b/vendor/silex/silex/src/Silex/Application/MonologTrait.php
4736deleted file mode 100644
4737index 18cb54c..0000000
4738--- a/vendor/silex/silex/src/Silex/Application/MonologTrait.php
4739+++ /dev/null
4740@@ -1,36 +0,0 @@
4741-<?php
4742-
4743-/*
4744- * This file is part of the Silex framework.
4745- *
4746- * (c) Fabien Potencier <fabien@symfony.com>
4747- *
4748- * For the full copyright and license information, please view the LICENSE
4749- * file that was distributed with this source code.
4750- */
4751-
4752-namespace Silex\Application;
4753-
4754-use Monolog\Logger;
4755-
4756-/**
4757- * Monolog trait.
4758- *
4759- * @author Fabien Potencier <fabien@symfony.com>
4760- */
4761-trait MonologTrait
4762-{
4763- /**
4764- * Adds a log record.
4765- *
4766- * @param string $message The log message
4767- * @param array $context The log context
4768- * @param int $level The logging level
4769- *
4770- * @return bool Whether the record has been processed
4771- */
4772- public function log($message, array $context = array(), $level = Logger::INFO)
4773- {
4774- return $this['monolog']->addRecord($level, $message, $context);
4775- }
4776-}
4777diff --git a/vendor/silex/silex/src/Silex/Application/SecurityTrait.php b/vendor/silex/silex/src/Silex/Application/SecurityTrait.php
4778deleted file mode 100644
4779index 6bca5e0..0000000
4780--- a/vendor/silex/silex/src/Silex/Application/SecurityTrait.php
4781+++ /dev/null
4782@@ -1,67 +0,0 @@
4783-<?php
4784-
4785-/*
4786- * This file is part of the Silex framework.
4787- *
4788- * (c) Fabien Potencier <fabien@symfony.com>
4789- *
4790- * For the full copyright and license information, please view the LICENSE
4791- * file that was distributed with this source code.
4792- */
4793-
4794-namespace Silex\Application;
4795-
4796-use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
4797-use Symfony\Component\Security\Core\Exception\AuthenticationCredentialsNotFoundException;
4798-use Symfony\Component\Security\Core\User\UserInterface;
4799-
4800-/**
4801- * Security trait.
4802- *
4803- * @author Fabien Potencier <fabien@symfony.com>
4804- */
4805-trait SecurityTrait
4806-{
4807- /**
4808- * Gets a user from the Security context.
4809- *
4810- * @return mixed
4811- *
4812- * @see TokenInterface::getUser()
4813- * @deprecated since 1.3, to be removed in 3.0
4814- */
4815- public function user()
4816- {
4817- return $this['user'];
4818- }
4819-
4820- /**
4821- * Encodes the raw password.
4822- *
4823- * @param UserInterface $user A UserInterface instance
4824- * @param string $password The password to encode
4825- *
4826- * @return string The encoded password
4827- *
4828- * @throws \RuntimeException when no password encoder could be found for the user
4829- */
4830- public function encodePassword(UserInterface $user, $password)
4831- {
4832- return $this['security.encoder_factory']->getEncoder($user)->encodePassword($password, $user->getSalt());
4833- }
4834-
4835- /**
4836- * Checks if the attributes are granted against the current authentication token and optionally supplied object.
4837- *
4838- * @param mixed $attributes
4839- * @param mixed $object
4840- *
4841- * @return bool
4842- *
4843- * @throws AuthenticationCredentialsNotFoundException when the token storage has no authentication token.
4844- */
4845- public function isGranted($attributes, $object = null)
4846- {
4847- return $this['security.authorization_checker']->isGranted($attributes, $object);
4848- }
4849-}
4850diff --git a/vendor/silex/silex/src/Silex/Application/SwiftmailerTrait.php b/vendor/silex/silex/src/Silex/Application/SwiftmailerTrait.php
4851deleted file mode 100644
4852index 157f94d..0000000
4853--- a/vendor/silex/silex/src/Silex/Application/SwiftmailerTrait.php
4854+++ /dev/null
4855@@ -1,33 +0,0 @@
4856-<?php
4857-
4858-/*
4859- * This file is part of the Silex framework.
4860- *
4861- * (c) Fabien Potencier <fabien@symfony.com>
4862- *
4863- * For the full copyright and license information, please view the LICENSE
4864- * file that was distributed with this source code.
4865- */
4866-
4867-namespace Silex\Application;
4868-
4869-/**
4870- * Swiftmailer trait.
4871- *
4872- * @author Fabien Potencier <fabien@symfony.com>
4873- */
4874-trait SwiftmailerTrait
4875-{
4876- /**
4877- * Sends an email.
4878- *
4879- * @param \Swift_Message $message A \Swift_Message instance
4880- * @param array $failedRecipients An array of failures by-reference
4881- *
4882- * @return int The number of sent messages
4883- */
4884- public function mail(\Swift_Message $message, &$failedRecipients = null)
4885- {
4886- return $this['mailer']->send($message, $failedRecipients);
4887- }
4888-}
4889diff --git a/vendor/silex/silex/src/Silex/Application/TranslationTrait.php b/vendor/silex/silex/src/Silex/Application/TranslationTrait.php
4890deleted file mode 100644
4891index 8b6e818..0000000
4892--- a/vendor/silex/silex/src/Silex/Application/TranslationTrait.php
4893+++ /dev/null
4894@@ -1,51 +0,0 @@
4895-<?php
4896-
4897-/*
4898- * This file is part of the Silex framework.
4899- *
4900- * (c) Fabien Potencier <fabien@symfony.com>
4901- *
4902- * For the full copyright and license information, please view the LICENSE
4903- * file that was distributed with this source code.
4904- */
4905-
4906-namespace Silex\Application;
4907-
4908-/**
4909- * Translation trait.
4910- *
4911- * @author Fabien Potencier <fabien@symfony.com>
4912- */
4913-trait TranslationTrait
4914-{
4915- /**
4916- * Translates the given message.
4917- *
4918- * @param string $id The message id
4919- * @param array $parameters An array of parameters for the message
4920- * @param string $domain The domain for the message
4921- * @param string $locale The locale
4922- *
4923- * @return string The translated string
4924- */
4925- public function trans($id, array $parameters = array(), $domain = 'messages', $locale = null)
4926- {
4927- return $this['translator']->trans($id, $parameters, $domain, $locale);
4928- }
4929-
4930- /**
4931- * Translates the given choice message by choosing a translation according to a number.
4932- *
4933- * @param string $id The message id
4934- * @param int $number The number to use to find the indice of the message
4935- * @param array $parameters An array of parameters for the message
4936- * @param string $domain The domain for the message
4937- * @param string $locale The locale
4938- *
4939- * @return string The translated string
4940- */
4941- public function transChoice($id, $number, array $parameters = array(), $domain = 'messages', $locale = null)
4942- {
4943- return $this['translator']->transChoice($id, $number, $parameters, $domain, $locale);
4944- }
4945-}
4946diff --git a/vendor/silex/silex/src/Silex/Application/TwigTrait.php b/vendor/silex/silex/src/Silex/Application/TwigTrait.php
4947deleted file mode 100644
4948index cb4127d..0000000
4949--- a/vendor/silex/silex/src/Silex/Application/TwigTrait.php
4950+++ /dev/null
4951@@ -1,65 +0,0 @@
4952-<?php
4953-
4954-/*
4955- * This file is part of the Silex framework.
4956- *
4957- * (c) Fabien Potencier <fabien@symfony.com>
4958- *
4959- * For the full copyright and license information, please view the LICENSE
4960- * file that was distributed with this source code.
4961- */
4962-
4963-namespace Silex\Application;
4964-
4965-use Symfony\Component\HttpFoundation\Response;
4966-use Symfony\Component\HttpFoundation\StreamedResponse;
4967-
4968-/**
4969- * Twig trait.
4970- *
4971- * @author Fabien Potencier <fabien@symfony.com>
4972- */
4973-trait TwigTrait
4974-{
4975- /**
4976- * Renders a view and returns a Response.
4977- *
4978- * To stream a view, pass an instance of StreamedResponse as a third argument.
4979- *
4980- * @param string $view The view name
4981- * @param array $parameters An array of parameters to pass to the view
4982- * @param Response $response A Response instance
4983- *
4984- * @return Response A Response instance
4985- */
4986- public function render($view, array $parameters = array(), Response $response = null)
4987- {
4988- $twig = $this['twig'];
4989-
4990- if ($response instanceof StreamedResponse) {
4991- $response->setCallback(function () use ($twig, $view, $parameters) {
4992- $twig->display($view, $parameters);
4993- });
4994- } else {
4995- if (null === $response) {
4996- $response = new Response();
4997- }
4998- $response->setContent($twig->render($view, $parameters));
4999- }
5000-
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: