diff options
author | Nicolas LÅ“uillet <nicolas@loeuillet.org> | 2015-08-07 22:20:30 +0200 |
---|---|---|
committer | Nicolas LÅ“uillet <nicolas@loeuillet.org> | 2015-08-12 09:01:29 +0200 |
commit | 2686457448372543fdf4f1fc54c4fd20f0f02c2c (patch) | |
tree | 485eeecc3bd3db3613d47de25662d5c9163e4afe | |
parent | fedaf005377e6d62ff0986f7f54afef3287a6451 (diff) | |
download | wallabag-2686457448372543fdf4f1fc54c4fd20f0f02c2c.tar.gz wallabag-2686457448372543fdf4f1fc54c4fd20f0f02c2c.tar.zst wallabag-2686457448372543fdf4f1fc54c4fd20f0f02c2c.zip |
store estimated reading time / filters on reading time
20 files changed, 433 insertions, 279 deletions
diff --git a/app/AppKernel.php b/app/AppKernel.php index 9a52f349..953614c0 100644 --- a/app/AppKernel.php +++ b/app/AppKernel.php | |||
@@ -25,6 +25,7 @@ class AppKernel extends Kernel | |||
25 | new Wallabag\CoreBundle\WallabagCoreBundle(), | 25 | new Wallabag\CoreBundle\WallabagCoreBundle(), |
26 | new Wallabag\ApiBundle\WallabagApiBundle(), | 26 | new Wallabag\ApiBundle\WallabagApiBundle(), |
27 | new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(), | 27 | new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(), |
28 | new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(), | ||
28 | ); | 29 | ); |
29 | 30 | ||
30 | if (in_array($this->getEnvironment(), array('dev', 'test'))) { | 31 | if (in_array($this->getEnvironment(), array('dev', 'test'))) { |
diff --git a/app/SymfonyRequirements.php b/app/SymfonyRequirements.php index b9d62f72..abaf0c17 100644 --- a/app/SymfonyRequirements.php +++ b/app/SymfonyRequirements.php | |||
@@ -638,7 +638,7 @@ class SymfonyRequirements extends RequirementCollection | |||
638 | } | 638 | } |
639 | 639 | ||
640 | $this->addRecommendation( | 640 | $this->addRecommendation( |
641 | class_exists('Locale'), | 641 | extension_loaded('intl'), |
642 | 'intl extension should be available', | 642 | 'intl extension should be available', |
643 | 'Install and enable the <strong>intl</strong> extension (used for validators).' | 643 | 'Install and enable the <strong>intl</strong> extension (used for validators).' |
644 | ); | 644 | ); |
diff --git a/app/check.php b/app/check.php index 90bad4a7..60ae0a8b 100644 --- a/app/check.php +++ b/app/check.php | |||
@@ -42,9 +42,9 @@ foreach ($symfonyRequirements->getRecommendations() as $req) { | |||
42 | } | 42 | } |
43 | 43 | ||
44 | if ($checkPassed) { | 44 | if ($checkPassed) { |
45 | echo_block('success', 'OK', 'Your system is ready to run Symfony2 projects', true); | 45 | echo_block('success', 'OK', 'Your system is ready to run Symfony2 projects'); |
46 | } else { | 46 | } else { |
47 | echo_block('error', 'ERROR', 'Your system is not ready to run Symfony2 projects', true); | 47 | echo_block('error', 'ERROR', 'Your system is not ready to run Symfony2 projects'); |
48 | 48 | ||
49 | echo_title('Fix the following mandatory requirements', 'red'); | 49 | echo_title('Fix the following mandatory requirements', 'red'); |
50 | 50 | ||
diff --git a/app/config/config.yml b/app/config/config.yml index 75e09039..1f5f7441 100644 --- a/app/config/config.yml +++ b/app/config/config.yml | |||
@@ -47,7 +47,9 @@ twig: | |||
47 | version: %app.version% | 47 | version: %app.version% |
48 | paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" | 48 | paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" |
49 | flattr_url: "https://flattr.com/thing/1265480" | 49 | flattr_url: "https://flattr.com/thing/1265480" |
50 | 50 | form: | |
51 | resources: | ||
52 | - LexikFormFilterBundle:Form:form_div_layout.html.twig | ||
51 | # Assetic Configuration | 53 | # Assetic Configuration |
52 | assetic: | 54 | assetic: |
53 | debug: "%kernel.debug%" | 55 | debug: "%kernel.debug%" |
diff --git a/composer.json b/composer.json index 5fe6eb02..5c093257 100644 --- a/composer.json +++ b/composer.json | |||
@@ -83,7 +83,8 @@ | |||
83 | "wallabag/php-readability": "dev-master", | 83 | "wallabag/php-readability": "dev-master", |
84 | "wallabag/phpMobi": "dev-master", | 84 | "wallabag/phpMobi": "dev-master", |
85 | "wallabag/Fivefilters_Libraries": "dev-master", | 85 | "wallabag/Fivefilters_Libraries": "dev-master", |
86 | "pagerfanta/pagerfanta": "~1.0.3" | 86 | "pagerfanta/pagerfanta": "~1.0.3", |
87 | "lexik/form-filter-bundle": "~4.0" | ||
87 | }, | 88 | }, |
88 | "require-dev": { | 89 | "require-dev": { |
89 | "doctrine/doctrine-fixtures-bundle": "~2.2.0", | 90 | "doctrine/doctrine-fixtures-bundle": "~2.2.0", |
diff --git a/composer.lock b/composer.lock index a5620bb1..a9902472 100644 --- a/composer.lock +++ b/composer.lock | |||
@@ -1,23 +1,23 @@ | |||
1 | { | 1 | { |
2 | "_readme": [ | 2 | "_readme": [ |
3 | "This file locks the dependencies of your project to a known state", | 3 | "This file locks the dependencies of your project to a known state", |
4 | "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", |
5 | "This file is @generated automatically" | 5 | "This file is @generated automatically" |
6 | ], | 6 | ], |
7 | "hash": "d7869b0dce6699d8f4916e675a4209a8", | 7 | "hash": "14a5e3837adfc98bca8d7eef22c9cc45", |
8 | "packages": [ | 8 | "packages": [ |
9 | { | 9 | { |
10 | "name": "doctrine/annotations", | 10 | "name": "doctrine/annotations", |
11 | "version": "v1.2.4", | 11 | "version": "v1.2.6", |
12 | "source": { | 12 | "source": { |
13 | "type": "git", | 13 | "type": "git", |
14 | "url": "https://github.com/doctrine/annotations.git", | 14 | "url": "https://github.com/doctrine/annotations.git", |
15 | "reference": "b5202eb9e83f8db52e0e58867e0a46e63be8332e" | 15 | "reference": "f4a91702ca3cd2e568c3736aa031ed00c3752af4" |
16 | }, | 16 | }, |
17 | "dist": { | 17 | "dist": { |
18 | "type": "zip", | 18 | "type": "zip", |
19 | "url": "https://api.github.com/repos/doctrine/annotations/zipball/b5202eb9e83f8db52e0e58867e0a46e63be8332e", | 19 | "url": "https://api.github.com/repos/doctrine/annotations/zipball/f4a91702ca3cd2e568c3736aa031ed00c3752af4", |
20 | "reference": "b5202eb9e83f8db52e0e58867e0a46e63be8332e", | 20 | "reference": "f4a91702ca3cd2e568c3736aa031ed00c3752af4", |
21 | "shasum": "" | 21 | "shasum": "" |
22 | }, | 22 | }, |
23 | "require": { | 23 | "require": { |
@@ -72,7 +72,7 @@ | |||
72 | "docblock", | 72 | "docblock", |
73 | "parser" | 73 | "parser" |
74 | ], | 74 | ], |
75 | "time": "2014-12-23 22:40:37" | 75 | "time": "2015-06-17 12:21:22" |
76 | }, | 76 | }, |
77 | { | 77 | { |
78 | "name": "doctrine/cache", | 78 | "name": "doctrine/cache", |
@@ -585,16 +585,16 @@ | |||
585 | }, | 585 | }, |
586 | { | 586 | { |
587 | "name": "doctrine/instantiator", | 587 | "name": "doctrine/instantiator", |
588 | "version": "1.0.4", | 588 | "version": "1.0.5", |
589 | "source": { | 589 | "source": { |
590 | "type": "git", | 590 | "type": "git", |
591 | "url": "https://github.com/doctrine/instantiator.git", | 591 | "url": "https://github.com/doctrine/instantiator.git", |
592 | "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" | 592 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" |
593 | }, | 593 | }, |
594 | "dist": { | 594 | "dist": { |
595 | "type": "zip", | 595 | "type": "zip", |
596 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", | 596 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", |
597 | "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", | 597 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", |
598 | "shasum": "" | 598 | "shasum": "" |
599 | }, | 599 | }, |
600 | "require": { | 600 | "require": { |
@@ -605,7 +605,7 @@ | |||
605 | "ext-pdo": "*", | 605 | "ext-pdo": "*", |
606 | "ext-phar": "*", | 606 | "ext-phar": "*", |
607 | "phpunit/phpunit": "~4.0", | 607 | "phpunit/phpunit": "~4.0", |
608 | "squizlabs/php_codesniffer": "2.0.*@ALPHA" | 608 | "squizlabs/php_codesniffer": "~2.0" |
609 | }, | 609 | }, |
610 | "type": "library", | 610 | "type": "library", |
611 | "extra": { | 611 | "extra": { |
@@ -614,8 +614,8 @@ | |||
614 | } | 614 | } |
615 | }, | 615 | }, |
616 | "autoload": { | 616 | "autoload": { |
617 | "psr-0": { | 617 | "psr-4": { |
618 | "Doctrine\\Instantiator\\": "src" | 618 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" |
619 | } | 619 | } |
620 | }, | 620 | }, |
621 | "notification-url": "https://packagist.org/downloads/", | 621 | "notification-url": "https://packagist.org/downloads/", |
@@ -635,7 +635,7 @@ | |||
635 | "constructor", | 635 | "constructor", |
636 | "instantiate" | 636 | "instantiate" |
637 | ], | 637 | ], |
638 | "time": "2014-10-13 12:58:55" | 638 | "time": "2015-06-14 21:17:01" |
639 | }, | 639 | }, |
640 | { | 640 | { |
641 | "name": "doctrine/lexer", | 641 | "name": "doctrine/lexer", |
@@ -770,16 +770,16 @@ | |||
770 | }, | 770 | }, |
771 | { | 771 | { |
772 | "name": "ezyang/htmlpurifier", | 772 | "name": "ezyang/htmlpurifier", |
773 | "version": "v4.6.0", | 773 | "version": "v4.7.0", |
774 | "source": { | 774 | "source": { |
775 | "type": "git", | 775 | "type": "git", |
776 | "url": "https://github.com/ezyang/htmlpurifier.git", | 776 | "url": "https://github.com/ezyang/htmlpurifier.git", |
777 | "reference": "6f389f0f25b90d0b495308efcfa073981177f0fd" | 777 | "reference": "ae1828d955112356f7677c465f94f7deb7d27a40" |
778 | }, | 778 | }, |
779 | "dist": { | 779 | "dist": { |
780 | "type": "zip", | 780 | "type": "zip", |
781 | "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/6f389f0f25b90d0b495308efcfa073981177f0fd", | 781 | "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/ae1828d955112356f7677c465f94f7deb7d27a40", |
782 | "reference": "6f389f0f25b90d0b495308efcfa073981177f0fd", | 782 | "reference": "ae1828d955112356f7677c465f94f7deb7d27a40", |
783 | "shasum": "" | 783 | "shasum": "" |
784 | }, | 784 | }, |
785 | "require": { | 785 | "require": { |
@@ -810,21 +810,21 @@ | |||
810 | "keywords": [ | 810 | "keywords": [ |
811 | "html" | 811 | "html" |
812 | ], | 812 | ], |
813 | "time": "2013-11-30 08:25:19" | 813 | "time": "2015-08-05 01:03:42" |
814 | }, | 814 | }, |
815 | { | 815 | { |
816 | "name": "friendsofsymfony/rest-bundle", | 816 | "name": "friendsofsymfony/rest-bundle", |
817 | "version": "1.6.0", | 817 | "version": "1.7.1", |
818 | "target-dir": "FOS/RestBundle", | 818 | "target-dir": "FOS/RestBundle", |
819 | "source": { | 819 | "source": { |
820 | "type": "git", | 820 | "type": "git", |
821 | "url": "https://github.com/FriendsOfSymfony/FOSRestBundle.git", | 821 | "url": "https://github.com/FriendsOfSymfony/FOSRestBundle.git", |
822 | "reference": "832d08199cadf1770ec43c2cba68b42b4d5e7f9f" | 822 | "reference": "3fb2d30c58cde59213dbddd031bc36171b8b68b6" |
823 | }, | 823 | }, |
824 | "dist": { | 824 | "dist": { |
825 | "type": "zip", | 825 | "type": "zip", |
826 | "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/832d08199cadf1770ec43c2cba68b42b4d5e7f9f", | 826 | "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/3fb2d30c58cde59213dbddd031bc36171b8b68b6", |
827 | "reference": "832d08199cadf1770ec43c2cba68b42b4d5e7f9f", | 827 | "reference": "3fb2d30c58cde59213dbddd031bc36171b8b68b6", |
828 | "shasum": "" | 828 | "shasum": "" |
829 | }, | 829 | }, |
830 | "require": { | 830 | "require": { |
@@ -863,7 +863,7 @@ | |||
863 | "type": "symfony-bundle", | 863 | "type": "symfony-bundle", |
864 | "extra": { | 864 | "extra": { |
865 | "branch-alias": { | 865 | "branch-alias": { |
866 | "dev-master": "1.6-dev" | 866 | "dev-master": "1.7-dev" |
867 | } | 867 | } |
868 | }, | 868 | }, |
869 | "autoload": { | 869 | "autoload": { |
@@ -894,7 +894,7 @@ | |||
894 | "keywords": [ | 894 | "keywords": [ |
895 | "rest" | 895 | "rest" |
896 | ], | 896 | ], |
897 | "time": "2015-05-22 20:17:35" | 897 | "time": "2015-06-16 08:39:26" |
898 | }, | 898 | }, |
899 | { | 899 | { |
900 | "name": "htmlawed/htmlawed", | 900 | "name": "htmlawed/htmlawed", |
@@ -944,17 +944,16 @@ | |||
944 | }, | 944 | }, |
945 | { | 945 | { |
946 | "name": "incenteev/composer-parameter-handler", | 946 | "name": "incenteev/composer-parameter-handler", |
947 | "version": "v2.1.0", | 947 | "version": "v2.1.1", |
948 | "target-dir": "Incenteev/ParameterHandler", | ||
949 | "source": { | 948 | "source": { |
950 | "type": "git", | 949 | "type": "git", |
951 | "url": "https://github.com/Incenteev/ParameterHandler.git", | 950 | "url": "https://github.com/Incenteev/ParameterHandler.git", |
952 | "reference": "143272a0a09c62616a3c8011fc165a10c6b35241" | 951 | "reference": "84a205fe80a46101607bafbc423019527893ddd0" |
953 | }, | 952 | }, |
954 | "dist": { | 953 | "dist": { |
955 | "type": "zip", | 954 | "type": "zip", |
956 | "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/143272a0a09c62616a3c8011fc165a10c6b35241", | 955 | "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/84a205fe80a46101607bafbc423019527893ddd0", |
957 | "reference": "143272a0a09c62616a3c8011fc165a10c6b35241", | 956 | "reference": "84a205fe80a46101607bafbc423019527893ddd0", |
958 | "shasum": "" | 957 | "shasum": "" |
959 | }, | 958 | }, |
960 | "require": { | 959 | "require": { |
@@ -973,8 +972,8 @@ | |||
973 | } | 972 | } |
974 | }, | 973 | }, |
975 | "autoload": { | 974 | "autoload": { |
976 | "psr-0": { | 975 | "psr-4": { |
977 | "Incenteev\\ParameterHandler": "" | 976 | "Incenteev\\ParameterHandler\\": "" |
978 | } | 977 | } |
979 | }, | 978 | }, |
980 | "notification-url": "https://packagist.org/downloads/", | 979 | "notification-url": "https://packagist.org/downloads/", |
@@ -992,7 +991,7 @@ | |||
992 | "keywords": [ | 991 | "keywords": [ |
993 | "parameters management" | 992 | "parameters management" |
994 | ], | 993 | ], |
995 | "time": "2013-12-07 10:10:39" | 994 | "time": "2015-06-03 08:27:03" |
996 | }, | 995 | }, |
997 | { | 996 | { |
998 | "name": "jdorn/sql-formatter", | 997 | "name": "jdorn/sql-formatter", |
@@ -1346,6 +1345,65 @@ | |||
1346 | "time": "2014-12-12 05:04:05" | 1345 | "time": "2014-12-12 05:04:05" |
1347 | }, | 1346 | }, |
1348 | { | 1347 | { |
1348 | "name": "lexik/form-filter-bundle", | ||
1349 | "version": "v4.0.0", | ||
1350 | "source": { | ||
1351 | "type": "git", | ||
1352 | "url": "https://github.com/lexik/LexikFormFilterBundle.git", | ||
1353 | "reference": "325432453705062ff43b02952b5ca815c5697ba6" | ||
1354 | }, | ||
1355 | "dist": { | ||
1356 | "type": "zip", | ||
1357 | "url": "https://api.github.com/repos/lexik/LexikFormFilterBundle/zipball/325432453705062ff43b02952b5ca815c5697ba6", | ||
1358 | "reference": "325432453705062ff43b02952b5ca815c5697ba6", | ||
1359 | "shasum": "" | ||
1360 | }, | ||
1361 | "require": { | ||
1362 | "doctrine/orm": "~2.2", | ||
1363 | "php": ">=5.3.2", | ||
1364 | "symfony/form": "~2.7", | ||
1365 | "symfony/framework-bundle": "~2.7" | ||
1366 | }, | ||
1367 | "require-dev": { | ||
1368 | "phpunit/phpunit": "~3.7" | ||
1369 | }, | ||
1370 | "type": "symfony-bundle", | ||
1371 | "extra": { | ||
1372 | "branch-alias": { | ||
1373 | "dev-master": "4.x.x-dev" | ||
1374 | } | ||
1375 | }, | ||
1376 | "autoload": { | ||
1377 | "psr-4": { | ||
1378 | "Lexik\\Bundle\\FormFilterBundle\\": "" | ||
1379 | } | ||
1380 | }, | ||
1381 | "notification-url": "https://packagist.org/downloads/", | ||
1382 | "license": [ | ||
1383 | "MIT" | ||
1384 | ], | ||
1385 | "authors": [ | ||
1386 | { | ||
1387 | "name": "Dev Lexik", | ||
1388 | "email": "dev@lexik.fr" | ||
1389 | }, | ||
1390 | { | ||
1391 | "name": "Cedric Girard", | ||
1392 | "email": "c.girard@lexik.fr" | ||
1393 | } | ||
1394 | ], | ||
1395 | "description": "This bundle aim to provide classes to build some form filters and then build a doctrine query from this form filter.", | ||
1396 | "homepage": "https://github.com/lexik/LexikFormFilterBundle", | ||
1397 | "keywords": [ | ||
1398 | "Symfony2", | ||
1399 | "bundle", | ||
1400 | "doctrine", | ||
1401 | "filter", | ||
1402 | "form" | ||
1403 | ], | ||
1404 | "time": "2015-07-31 13:58:10" | ||
1405 | }, | ||
1406 | { | ||
1349 | "name": "liip/theme-bundle", | 1407 | "name": "liip/theme-bundle", |
1350 | "version": "1.1.3", | 1408 | "version": "1.1.3", |
1351 | "target-dir": "Liip/ThemeBundle", | 1409 | "target-dir": "Liip/ThemeBundle", |
@@ -1405,12 +1463,12 @@ | |||
1405 | "version": "1.5", | 1463 | "version": "1.5", |
1406 | "source": { | 1464 | "source": { |
1407 | "type": "git", | 1465 | "type": "git", |
1408 | "url": "https://github.com/matstars/simplehtmldom.git", | 1466 | "url": "https://github.com/matgargano/simplehtmldom.git", |
1409 | "reference": "37fb0d7c1bda45c5a4cf14fdef56c1edf6aa42be" | 1467 | "reference": "37fb0d7c1bda45c5a4cf14fdef56c1edf6aa42be" |
1410 | }, | 1468 | }, |
1411 | "dist": { | 1469 | "dist": { |
1412 | "type": "zip", | 1470 | "type": "zip", |
1413 | "url": "https://api.github.com/repos/matstars/simplehtmldom/zipball/37fb0d7c1bda45c5a4cf14fdef56c1edf6aa42be", | 1471 | "url": "https://api.github.com/repos/matgargano/simplehtmldom/zipball/37fb0d7c1bda45c5a4cf14fdef56c1edf6aa42be", |
1414 | "reference": "37fb0d7c1bda45c5a4cf14fdef56c1edf6aa42be", | 1472 | "reference": "37fb0d7c1bda45c5a4cf14fdef56c1edf6aa42be", |
1415 | "shasum": "" | 1473 | "shasum": "" |
1416 | }, | 1474 | }, |
@@ -1500,16 +1558,16 @@ | |||
1500 | }, | 1558 | }, |
1501 | { | 1559 | { |
1502 | "name": "monolog/monolog", | 1560 | "name": "monolog/monolog", |
1503 | "version": "1.13.1", | 1561 | "version": "1.16.0", |
1504 | "source": { | 1562 | "source": { |
1505 | "type": "git", | 1563 | "type": "git", |
1506 | "url": "https://github.com/Seldaek/monolog.git", | 1564 | "url": "https://github.com/Seldaek/monolog.git", |
1507 | "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac" | 1565 | "reference": "c0c0b4bee3aabce7182876b0d912ef2595563db7" |
1508 | }, | 1566 | }, |
1509 | "dist": { | 1567 | "dist": { |
1510 | "type": "zip", | 1568 | "type": "zip", |
1511 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", | 1569 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c0c0b4bee3aabce7182876b0d912ef2595563db7", |
1512 | "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", | 1570 | "reference": "c0c0b4bee3aabce7182876b0d912ef2595563db7", |
1513 | "shasum": "" | 1571 | "shasum": "" |
1514 | }, | 1572 | }, |
1515 | "require": { | 1573 | "require": { |
@@ -1520,12 +1578,14 @@ | |||
1520 | "psr/log-implementation": "1.0.0" | 1578 | "psr/log-implementation": "1.0.0" |
1521 | }, | 1579 | }, |
1522 | "require-dev": { | 1580 | "require-dev": { |
1523 | "aws/aws-sdk-php": "~2.4, >2.4.8", | 1581 | "aws/aws-sdk-php": "^2.4.9", |
1524 | "doctrine/couchdb": "~1.0@dev", | 1582 | "doctrine/couchdb": "~1.0@dev", |
1525 | "graylog2/gelf-php": "~1.0", | 1583 | "graylog2/gelf-php": "~1.0", |
1526 | "phpunit/phpunit": "~4.0", | 1584 | "php-console/php-console": "^3.1.3", |
1527 | "raven/raven": "~0.5", | 1585 | "phpunit/phpunit": "~4.5", |
1528 | "ruflin/elastica": "0.90.*", | 1586 | "phpunit/phpunit-mock-objects": "2.3.0", |
1587 | "raven/raven": "~0.8", | ||
1588 | "ruflin/elastica": ">=0.90 <3.0", | ||
1529 | "swiftmailer/swiftmailer": "~5.3", | 1589 | "swiftmailer/swiftmailer": "~5.3", |
1530 | "videlalvaro/php-amqplib": "~2.4" | 1590 | "videlalvaro/php-amqplib": "~2.4" |
1531 | }, | 1591 | }, |
@@ -1535,6 +1595,7 @@ | |||
1535 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", | 1595 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", |
1536 | "ext-mongo": "Allow sending log messages to a MongoDB server", | 1596 | "ext-mongo": "Allow sending log messages to a MongoDB server", |
1537 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", | 1597 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", |
1598 | "php-console/php-console": "Allow sending log messages to Google Chrome", | ||
1538 | "raven/raven": "Allow sending log messages to a Sentry server", | 1599 | "raven/raven": "Allow sending log messages to a Sentry server", |
1539 | "rollbar/rollbar": "Allow sending log messages to Rollbar", | 1600 | "rollbar/rollbar": "Allow sending log messages to Rollbar", |
1540 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server", | 1601 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server", |
@@ -1543,7 +1604,7 @@ | |||
1543 | "type": "library", | 1604 | "type": "library", |
1544 | "extra": { | 1605 | "extra": { |
1545 | "branch-alias": { | 1606 | "branch-alias": { |
1546 | "dev-master": "1.13.x-dev" | 1607 | "dev-master": "1.16.x-dev" |
1547 | } | 1608 | } |
1548 | }, | 1609 | }, |
1549 | "autoload": { | 1610 | "autoload": { |
@@ -1569,7 +1630,7 @@ | |||
1569 | "logging", | 1630 | "logging", |
1570 | "psr-3" | 1631 | "psr-3" |
1571 | ], | 1632 | ], |
1572 | "time": "2015-03-09 09:58:04" | 1633 | "time": "2015-08-09 17:44:44" |
1573 | }, | 1634 | }, |
1574 | { | 1635 | { |
1575 | "name": "nelmio/api-doc-bundle", | 1636 | "name": "nelmio/api-doc-bundle", |
@@ -1910,22 +1971,22 @@ | |||
1910 | }, | 1971 | }, |
1911 | { | 1972 | { |
1912 | "name": "sensio/distribution-bundle", | 1973 | "name": "sensio/distribution-bundle", |
1913 | "version": "v3.0.28", | 1974 | "version": "v3.0.31", |
1914 | "target-dir": "Sensio/Bundle/DistributionBundle", | 1975 | "target-dir": "Sensio/Bundle/DistributionBundle", |
1915 | "source": { | 1976 | "source": { |
1916 | "type": "git", | 1977 | "type": "git", |
1917 | "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", | 1978 | "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", |
1918 | "reference": "8175618b07793b9d43c3be931f3d8d4c14c9e866" | 1979 | "reference": "3a900814bd57bf20f9453ae81ff8772bc95d7fff" |
1919 | }, | 1980 | }, |
1920 | "dist": { | 1981 | "dist": { |
1921 | "type": "zip", | 1982 | "type": "zip", |
1922 | "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/8175618b07793b9d43c3be931f3d8d4c14c9e866", | 1983 | "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/3a900814bd57bf20f9453ae81ff8772bc95d7fff", |
1923 | "reference": "8175618b07793b9d43c3be931f3d8d4c14c9e866", | 1984 | "reference": "3a900814bd57bf20f9453ae81ff8772bc95d7fff", |
1924 | "shasum": "" | 1985 | "shasum": "" |
1925 | }, | 1986 | }, |
1926 | "require": { | 1987 | "require": { |
1927 | "php": ">=5.3.3", | 1988 | "php": ">=5.3.3", |
1928 | "sensiolabs/security-checker": "~2.0", | 1989 | "sensiolabs/security-checker": "~3.0", |
1929 | "symfony/class-loader": "~2.2", | 1990 | "symfony/class-loader": "~2.2", |
1930 | "symfony/framework-bundle": "~2.3", | 1991 | "symfony/framework-bundle": "~2.3", |
1931 | "symfony/process": "~2.2" | 1992 | "symfony/process": "~2.2" |
@@ -1966,20 +2027,20 @@ | |||
1966 | "configuration", | 2027 | "configuration", |
1967 | "distribution" | 2028 | "distribution" |
1968 | ], | 2029 | ], |
1969 | "time": "2015-06-01 15:04:20" | 2030 | "time": "2015-08-03 10:07:12" |
1970 | }, | 2031 | }, |
1971 | { | 2032 | { |
1972 | "name": "sensio/framework-extra-bundle", | 2033 | "name": "sensio/framework-extra-bundle", |
1973 | "version": "v3.0.8", | 2034 | "version": "v3.0.10", |
1974 | "source": { | 2035 | "source": { |
1975 | "type": "git", | 2036 | "type": "git", |
1976 | "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", | 2037 | "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", |
1977 | "reference": "a30fc18bf147bc25faf6b1d54bf55cfad4b63cba" | 2038 | "reference": "18fc2063c4d6569cdca47a39fbac32342eb65f3c" |
1978 | }, | 2039 | }, |
1979 | "dist": { | 2040 | "dist": { |
1980 | "type": "zip", | 2041 | "type": "zip", |
1981 | "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/a30fc18bf147bc25faf6b1d54bf55cfad4b63cba", | 2042 | "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/18fc2063c4d6569cdca47a39fbac32342eb65f3c", |
1982 | "reference": "a30fc18bf147bc25faf6b1d54bf55cfad4b63cba", | 2043 | "reference": "18fc2063c4d6569cdca47a39fbac32342eb65f3c", |
1983 | "shasum": "" | 2044 | "shasum": "" |
1984 | }, | 2045 | }, |
1985 | "require": { | 2046 | "require": { |
@@ -2021,24 +2082,23 @@ | |||
2021 | "annotations", | 2082 | "annotations", |
2022 | "controllers" | 2083 | "controllers" |
2023 | ], | 2084 | ], |
2024 | "time": "2015-05-29 18:27:23" | 2085 | "time": "2015-08-03 11:59:27" |
2025 | }, | 2086 | }, |
2026 | { | 2087 | { |
2027 | "name": "sensiolabs/security-checker", | 2088 | "name": "sensiolabs/security-checker", |
2028 | "version": "v2.0.5", | 2089 | "version": "v3.0.1", |
2029 | "source": { | 2090 | "source": { |
2030 | "type": "git", | 2091 | "type": "git", |
2031 | "url": "https://github.com/sensiolabs/security-checker.git", | 2092 | "url": "https://github.com/sensiolabs/security-checker.git", |
2032 | "reference": "2c2a71f1c77d9765c12638c4724d9ca23658a810" | 2093 | "reference": "7735fd97ff7303d9df776b8dbc970f949399abc9" |
2033 | }, | 2094 | }, |
2034 | "dist": { | 2095 | "dist": { |
2035 | "type": "zip", | 2096 | "type": "zip", |
2036 | "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/2c2a71f1c77d9765c12638c4724d9ca23658a810", | 2097 | "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/7735fd97ff7303d9df776b8dbc970f949399abc9", |
2037 | "reference": "2c2a71f1c77d9765c12638c4724d9ca23658a810", | 2098 | "reference": "7735fd97ff7303d9df776b8dbc970f949399abc9", |
2038 | "shasum": "" | 2099 | "shasum": "" |
2039 | }, | 2100 | }, |
2040 | "require": { | 2101 | "require": { |
2041 | "ext-curl": "*", | ||
2042 | "symfony/console": "~2.0" | 2102 | "symfony/console": "~2.0" |
2043 | }, | 2103 | }, |
2044 | "bin": [ | 2104 | "bin": [ |
@@ -2047,7 +2107,7 @@ | |||
2047 | "type": "library", | 2107 | "type": "library", |
2048 | "extra": { | 2108 | "extra": { |
2049 | "branch-alias": { | 2109 | "branch-alias": { |
2050 | "dev-master": "2.0-dev" | 2110 | "dev-master": "3.0-dev" |
2051 | } | 2111 | } |
2052 | }, | 2112 | }, |
2053 | "autoload": { | 2113 | "autoload": { |
@@ -2066,7 +2126,7 @@ | |||
2066 | } | 2126 | } |
2067 | ], | 2127 | ], |
2068 | "description": "A security checker for your composer.lock", | 2128 | "description": "A security checker for your composer.lock", |
2069 | "time": "2015-05-28 14:22:40" | 2129 | "time": "2015-08-11 12:11:25" |
2070 | }, | 2130 | }, |
2071 | { | 2131 | { |
2072 | "name": "simplepie/simplepie", | 2132 | "name": "simplepie/simplepie", |
@@ -2124,23 +2184,23 @@ | |||
2124 | }, | 2184 | }, |
2125 | { | 2185 | { |
2126 | "name": "swiftmailer/swiftmailer", | 2186 | "name": "swiftmailer/swiftmailer", |
2127 | "version": "v5.4.0", | 2187 | "version": "v5.4.1", |
2128 | "source": { | 2188 | "source": { |
2129 | "type": "git", | 2189 | "type": "git", |
2130 | "url": "https://github.com/swiftmailer/swiftmailer.git", | 2190 | "url": "https://github.com/swiftmailer/swiftmailer.git", |
2131 | "reference": "31454f258f10329ae7c48763eb898a75c39e0a9f" | 2191 | "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421" |
2132 | }, | 2192 | }, |
2133 | "dist": { | 2193 | "dist": { |
2134 | "type": "zip", | 2194 | "type": "zip", |
2135 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/31454f258f10329ae7c48763eb898a75c39e0a9f", | 2195 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/0697e6aa65c83edf97bb0f23d8763f94e3f11421", |
2136 | "reference": "31454f258f10329ae7c48763eb898a75c39e0a9f", | 2196 | "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421", |
2137 | "shasum": "" | 2197 | "shasum": "" |
2138 | }, | 2198 | }, |
2139 | "require": { | 2199 | "require": { |
2140 | "php": ">=5.3.3" | 2200 | "php": ">=5.3.3" |
2141 | }, | 2201 | }, |
2142 | "require-dev": { | 2202 | "require-dev": { |
2143 | "mockery/mockery": "~0.9.1" | 2203 | "mockery/mockery": "~0.9.1,<0.9.4" |
2144 | }, | 2204 | }, |
2145 | "type": "library", | 2205 | "type": "library", |
2146 | "extra": { | 2206 | "extra": { |
@@ -2169,10 +2229,11 @@ | |||
2169 | "description": "Swiftmailer, free feature-rich PHP mailer", | 2229 | "description": "Swiftmailer, free feature-rich PHP mailer", |
2170 | "homepage": "http://swiftmailer.org", | 2230 | "homepage": "http://swiftmailer.org", |
2171 | "keywords": [ | 2231 | "keywords": [ |
2232 | "email", | ||
2172 | "mail", | 2233 | "mail", |
2173 | "mailer" | 2234 | "mailer" |
2174 | ], | 2235 | ], |
2175 | "time": "2015-03-14 06:06:39" | 2236 | "time": "2015-06-06 14:19:39" |
2176 | }, | 2237 | }, |
2177 | { | 2238 | { |
2178 | "name": "symfony/assetic-bundle", | 2239 | "name": "symfony/assetic-bundle", |
@@ -2357,16 +2418,16 @@ | |||
2357 | }, | 2418 | }, |
2358 | { | 2419 | { |
2359 | "name": "symfony/symfony", | 2420 | "name": "symfony/symfony", |
2360 | "version": "v2.7.0", | 2421 | "version": "v2.7.3", |
2361 | "source": { | 2422 | "source": { |
2362 | "type": "git", | 2423 | "type": "git", |
2363 | "url": "https://github.com/symfony/symfony.git", | 2424 | "url": "https://github.com/symfony/symfony.git", |
2364 | "reference": "9975b1eca3de4db792a2c3e4e16f676a4aadcd46" | 2425 | "reference": "a9af4708b4bb650c4897e9b8dfbfbdb2ea5f0486" |
2365 | }, | 2426 | }, |
2366 | "dist": { | 2427 | "dist": { |
2367 | "type": "zip", | 2428 | "type": "zip", |
2368 | "url": "https://api.github.com/repos/symfony/symfony/zipball/9975b1eca3de4db792a2c3e4e16f676a4aadcd46", | 2429 | "url": "https://api.github.com/repos/symfony/symfony/zipball/a9af4708b4bb650c4897e9b8dfbfbdb2ea5f0486", |
2369 | "reference": "9975b1eca3de4db792a2c3e4e16f676a4aadcd46", | 2430 | "reference": "a9af4708b4bb650c4897e9b8dfbfbdb2ea5f0486", |
2370 | "shasum": "" | 2431 | "shasum": "" |
2371 | }, | 2432 | }, |
2372 | "require": { | 2433 | "require": { |
@@ -2475,20 +2536,20 @@ | |||
2475 | "keywords": [ | 2536 | "keywords": [ |
2476 | "framework" | 2537 | "framework" |
2477 | ], | 2538 | ], |
2478 | "time": "2015-05-30 16:52:28" | 2539 | "time": "2015-07-31 13:24:45" |
2479 | }, | 2540 | }, |
2480 | { | 2541 | { |
2481 | "name": "tecnick.com/tcpdf", | 2542 | "name": "tecnick.com/tcpdf", |
2482 | "version": "6.2.8", | 2543 | "version": "6.2.11", |
2483 | "source": { | 2544 | "source": { |
2484 | "type": "git", | 2545 | "type": "git", |
2485 | "url": "https://github.com/tecnickcom/TCPDF.git", | 2546 | "url": "https://github.com/tecnickcom/TCPDF.git", |
2486 | "reference": "3dee9e7f3a414875fd1d9f4f1dfc2433493a86d2" | 2547 | "reference": "354433a33946ae7497c3eab291eaaf814bccbfab" |
2487 | }, | 2548 | }, |
2488 | "dist": { | 2549 | "dist": { |
2489 | "type": "zip", | 2550 | "type": "zip", |
2490 | "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/3dee9e7f3a414875fd1d9f4f1dfc2433493a86d2", | 2551 | "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/354433a33946ae7497c3eab291eaaf814bccbfab", |
2491 | "reference": "3dee9e7f3a414875fd1d9f4f1dfc2433493a86d2", | 2552 | "reference": "354433a33946ae7497c3eab291eaaf814bccbfab", |
2492 | "shasum": "" | 2553 | "shasum": "" |
2493 | }, | 2554 | }, |
2494 | "require": { | 2555 | "require": { |
@@ -2538,7 +2599,7 @@ | |||
2538 | "pdf417", | 2599 | "pdf417", |
2539 | "qrcode" | 2600 | "qrcode" |
2540 | ], | 2601 | ], |
2541 | "time": "2015-04-29 16:13:58" | 2602 | "time": "2015-08-02 12:30:27" |
2542 | }, | 2603 | }, |
2543 | { | 2604 | { |
2544 | "name": "twig/extensions", | 2605 | "name": "twig/extensions", |
@@ -2594,16 +2655,16 @@ | |||
2594 | }, | 2655 | }, |
2595 | { | 2656 | { |
2596 | "name": "twig/twig", | 2657 | "name": "twig/twig", |
2597 | "version": "v1.18.1", | 2658 | "version": "v1.19.0", |
2598 | "source": { | 2659 | "source": { |
2599 | "type": "git", | 2660 | "type": "git", |
2600 | "url": "https://github.com/twigphp/Twig.git", | 2661 | "url": "https://github.com/twigphp/Twig.git", |
2601 | "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f" | 2662 | "reference": "edbeaf43b0a606cdaadc32a11d2673614a377b90" |
2602 | }, | 2663 | }, |
2603 | "dist": { | 2664 | "dist": { |
2604 | "type": "zip", | 2665 | "type": "zip", |
2605 | "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f", | 2666 | "url": "https://api.github.com/repos/twigphp/Twig/zipball/edbeaf43b0a606cdaadc32a11d2673614a377b90", |
2606 | "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f", | 2667 | "reference": "edbeaf43b0a606cdaadc32a11d2673614a377b90", |
2607 | "shasum": "" | 2668 | "shasum": "" |
2608 | }, | 2669 | }, |
2609 | "require": { | 2670 | "require": { |
@@ -2612,7 +2673,7 @@ | |||
2612 | "type": "library", | 2673 | "type": "library", |
2613 | "extra": { | 2674 | "extra": { |
2614 | "branch-alias": { | 2675 | "branch-alias": { |
2615 | "dev-master": "1.18-dev" | 2676 | "dev-master": "1.19-dev" |
2616 | } | 2677 | } |
2617 | }, | 2678 | }, |
2618 | "autoload": { | 2679 | "autoload": { |
@@ -2647,7 +2708,7 @@ | |||
2647 | "keywords": [ | 2708 | "keywords": [ |
2648 | "templating" | 2709 | "templating" |
2649 | ], | 2710 | ], |
2650 | "time": "2015-04-19 08:30:27" | 2711 | "time": "2015-07-31 13:45:26" |
2651 | }, | 2712 | }, |
2652 | { | 2713 | { |
2653 | "name": "umpirsky/twig-gettext-extractor", | 2714 | "name": "umpirsky/twig-gettext-extractor", |
@@ -3143,16 +3204,16 @@ | |||
3143 | }, | 3204 | }, |
3144 | { | 3205 | { |
3145 | "name": "willdurand/negotiation", | 3206 | "name": "willdurand/negotiation", |
3146 | "version": "1.3.4", | 3207 | "version": "1.4.0", |
3147 | "source": { | 3208 | "source": { |
3148 | "type": "git", | 3209 | "type": "git", |
3149 | "url": "https://github.com/willdurand/Negotiation.git", | 3210 | "url": "https://github.com/willdurand/Negotiation.git", |
3150 | "reference": "d7fa4ce4a0436915b9ba9f7cb5ff37719f0a834c" | 3211 | "reference": "8a84c5956e765f432542fc52a8c6e9aff4508eb3" |
3151 | }, | 3212 | }, |
3152 | "dist": { | 3213 | "dist": { |
3153 | "type": "zip", | 3214 | "type": "zip", |
3154 | "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/d7fa4ce4a0436915b9ba9f7cb5ff37719f0a834c", | 3215 | "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/8a84c5956e765f432542fc52a8c6e9aff4508eb3", |
3155 | "reference": "d7fa4ce4a0436915b9ba9f7cb5ff37719f0a834c", | 3216 | "reference": "8a84c5956e765f432542fc52a8c6e9aff4508eb3", |
3156 | "shasum": "" | 3217 | "shasum": "" |
3157 | }, | 3218 | }, |
3158 | "require": { | 3219 | "require": { |
@@ -3161,12 +3222,12 @@ | |||
3161 | "type": "library", | 3222 | "type": "library", |
3162 | "extra": { | 3223 | "extra": { |
3163 | "branch-alias": { | 3224 | "branch-alias": { |
3164 | "dev-master": "1.3-dev" | 3225 | "dev-master": "1.4-dev" |
3165 | } | 3226 | } |
3166 | }, | 3227 | }, |
3167 | "autoload": { | 3228 | "autoload": { |
3168 | "psr-0": { | 3229 | "psr-4": { |
3169 | "Negotiation": "src/" | 3230 | "Negotiation\\": "src/Negotiation" |
3170 | } | 3231 | } |
3171 | }, | 3232 | }, |
3172 | "notification-url": "https://packagist.org/downloads/", | 3233 | "notification-url": "https://packagist.org/downloads/", |
@@ -3188,7 +3249,7 @@ | |||
3188 | "header", | 3249 | "header", |
3189 | "negotiation" | 3250 | "negotiation" |
3190 | ], | 3251 | ], |
3191 | "time": "2014-10-02 07:26:00" | 3252 | "time": "2015-07-28 13:10:50" |
3192 | } | 3253 | } |
3193 | ], | 3254 | ], |
3194 | "packages-dev": [ | 3255 | "packages-dev": [ |
@@ -3251,17 +3312,16 @@ | |||
3251 | }, | 3312 | }, |
3252 | { | 3313 | { |
3253 | "name": "doctrine/doctrine-fixtures-bundle", | 3314 | "name": "doctrine/doctrine-fixtures-bundle", |
3254 | "version": "v2.2.0", | 3315 | "version": "v2.2.1", |
3255 | "target-dir": "Doctrine/Bundle/FixturesBundle", | ||
3256 | "source": { | 3316 | "source": { |
3257 | "type": "git", | 3317 | "type": "git", |
3258 | "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", | 3318 | "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", |
3259 | "reference": "c811f96f0cf83b997e3a3ed037cac729bbe3e803" | 3319 | "reference": "817c2d233fde0fe85cb7e4d25d43fbfcd028aef8" |
3260 | }, | 3320 | }, |
3261 | "dist": { | 3321 | "dist": { |
3262 | "type": "zip", | 3322 | "type": "zip", |
3263 | "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/c811f96f0cf83b997e3a3ed037cac729bbe3e803", | 3323 | "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/817c2d233fde0fe85cb7e4d25d43fbfcd028aef8", |
3264 | "reference": "c811f96f0cf83b997e3a3ed037cac729bbe3e803", | 3324 | "reference": "817c2d233fde0fe85cb7e4d25d43fbfcd028aef8", |
3265 | "shasum": "" | 3325 | "shasum": "" |
3266 | }, | 3326 | }, |
3267 | "require": { | 3327 | "require": { |
@@ -3273,12 +3333,12 @@ | |||
3273 | "type": "symfony-bundle", | 3333 | "type": "symfony-bundle", |
3274 | "extra": { | 3334 | "extra": { |
3275 | "branch-alias": { | 3335 | "branch-alias": { |
3276 | "dev-master": "2.1.x-dev" | 3336 | "dev-master": "2.2.x-dev" |
3277 | } | 3337 | } |
3278 | }, | 3338 | }, |
3279 | "autoload": { | 3339 | "autoload": { |
3280 | "psr-0": { | 3340 | "psr-4": { |
3281 | "Doctrine\\Bundle\\FixturesBundle": "" | 3341 | "Doctrine\\Bundle\\FixturesBundle\\": "" |
3282 | } | 3342 | } |
3283 | }, | 3343 | }, |
3284 | "notification-url": "https://packagist.org/downloads/", | 3344 | "notification-url": "https://packagist.org/downloads/", |
@@ -3287,18 +3347,16 @@ | |||
3287 | ], | 3347 | ], |
3288 | "authors": [ | 3348 | "authors": [ |
3289 | { | 3349 | { |
3290 | "name": "Fabien Potencier", | ||
3291 | "email": "fabien@symfony.com", | ||
3292 | "homepage": "http://fabien.potencier.org", | ||
3293 | "role": "Lead Developer" | ||
3294 | }, | ||
3295 | { | ||
3296 | "name": "Symfony Community", | 3350 | "name": "Symfony Community", |
3297 | "homepage": "http://symfony.com/contributors" | 3351 | "homepage": "http://symfony.com/contributors" |
3298 | }, | 3352 | }, |
3299 | { | 3353 | { |
3300 | "name": "Doctrine Project", | 3354 | "name": "Doctrine Project", |
3301 | "homepage": "http://www.doctrine-project.org" | 3355 | "homepage": "http://www.doctrine-project.org" |
3356 | }, | ||
3357 | { | ||
3358 | "name": "Fabien Potencier", | ||
3359 | "email": "fabien@symfony.com" | ||
3302 | } | 3360 | } |
3303 | ], | 3361 | ], |
3304 | "description": "Symfony DoctrineFixturesBundle", | 3362 | "description": "Symfony DoctrineFixturesBundle", |
@@ -3307,7 +3365,7 @@ | |||
3307 | "Fixture", | 3365 | "Fixture", |
3308 | "persistence" | 3366 | "persistence" |
3309 | ], | 3367 | ], |
3310 | "time": "2013-09-05 11:23:37" | 3368 | "time": "2015-08-04 22:43:14" |
3311 | }, | 3369 | }, |
3312 | { | 3370 | { |
3313 | "name": "phpdocumentor/reflection-docblock", | 3371 | "name": "phpdocumentor/reflection-docblock", |
@@ -3420,16 +3478,16 @@ | |||
3420 | }, | 3478 | }, |
3421 | { | 3479 | { |
3422 | "name": "phpunit/php-code-coverage", | 3480 | "name": "phpunit/php-code-coverage", |
3423 | "version": "2.1.2", | 3481 | "version": "2.2.2", |
3424 | "source": { | 3482 | "source": { |
3425 | "type": "git", | 3483 | "type": "git", |
3426 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", | 3484 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", |
3427 | "reference": "6b7d2094ca2a685a2cad846cb7cd7a30e8b9470f" | 3485 | "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c" |
3428 | }, | 3486 | }, |
3429 | "dist": { | 3487 | "dist": { |
3430 | "type": "zip", | 3488 | "type": "zip", |
3431 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6b7d2094ca2a685a2cad846cb7cd7a30e8b9470f", | 3489 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2d7c03c0e4e080901b8f33b2897b0577be18a13c", |
3432 | "reference": "6b7d2094ca2a685a2cad846cb7cd7a30e8b9470f", | 3490 | "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c", |
3433 | "shasum": "" | 3491 | "shasum": "" |
3434 | }, | 3492 | }, |
3435 | "require": { | 3493 | "require": { |
@@ -3437,7 +3495,7 @@ | |||
3437 | "phpunit/php-file-iterator": "~1.3", | 3495 | "phpunit/php-file-iterator": "~1.3", |
3438 | "phpunit/php-text-template": "~1.2", | 3496 | "phpunit/php-text-template": "~1.2", |
3439 | "phpunit/php-token-stream": "~1.3", | 3497 | "phpunit/php-token-stream": "~1.3", |
3440 | "sebastian/environment": "~1.0", | 3498 | "sebastian/environment": "^1.3.2", |
3441 | "sebastian/version": "~1.0" | 3499 | "sebastian/version": "~1.0" |
3442 | }, | 3500 | }, |
3443 | "require-dev": { | 3501 | "require-dev": { |
@@ -3452,7 +3510,7 @@ | |||
3452 | "type": "library", | 3510 | "type": "library", |
3453 | "extra": { | 3511 | "extra": { |
3454 | "branch-alias": { | 3512 | "branch-alias": { |
3455 | "dev-master": "2.1.x-dev" | 3513 | "dev-master": "2.2.x-dev" |
3456 | } | 3514 | } |
3457 | }, | 3515 | }, |
3458 | "autoload": { | 3516 | "autoload": { |
@@ -3478,20 +3536,20 @@ | |||
3478 | "testing", | 3536 | "testing", |
3479 | "xunit" | 3537 | "xunit" |
3480 | ], | 3538 | ], |
3481 | "time": "2015-06-01 07:35:26" | 3539 | "time": "2015-08-04 03:42:39" |
3482 | }, | 3540 | }, |
3483 | { | 3541 | { |
3484 | "name": "phpunit/php-file-iterator", | 3542 | "name": "phpunit/php-file-iterator", |
3485 | "version": "1.4.0", | 3543 | "version": "1.4.1", |
3486 | "source": { | 3544 | "source": { |
3487 | "type": "git", | 3545 | "type": "git", |
3488 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", | 3546 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", |
3489 | "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" | 3547 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" |
3490 | }, | 3548 | }, |
3491 | "dist": { | 3549 | "dist": { |
3492 | "type": "zip", | 3550 | "type": "zip", |
3493 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", | 3551 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", |
3494 | "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", | 3552 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", |
3495 | "shasum": "" | 3553 | "shasum": "" |
3496 | }, | 3554 | }, |
3497 | "require": { | 3555 | "require": { |
@@ -3525,20 +3583,20 @@ | |||
3525 | "filesystem", | 3583 | "filesystem", |
3526 | "iterator" | 3584 | "iterator" |
3527 | ], | 3585 | ], |
3528 | "time": "2015-04-02 05:19:05" | 3586 | "time": "2015-06-21 13:08:43" |
3529 | }, | 3587 | }, |
3530 | { | 3588 | { |
3531 | "name": "phpunit/php-text-template", | 3589 | "name": "phpunit/php-text-template", |
3532 | "version": "1.2.0", | 3590 | "version": "1.2.1", |
3533 | "source": { | 3591 | "source": { |
3534 | "type": "git", | 3592 | "type": "git", |
3535 | "url": "https://github.com/sebastianbergmann/php-text-template.git", | 3593 | "url": "https://github.com/sebastianbergmann/php-text-template.git", |
3536 | "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" | 3594 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" |
3537 | }, | 3595 | }, |
3538 | "dist": { | 3596 | "dist": { |
3539 | "type": "zip", | 3597 | "type": "zip", |
3540 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", | 3598 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", |
3541 | "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", | 3599 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", |
3542 | "shasum": "" | 3600 | "shasum": "" |
3543 | }, | 3601 | }, |
3544 | "require": { | 3602 | "require": { |
@@ -3547,20 +3605,17 @@ | |||
3547 | "type": "library", | 3605 | "type": "library", |
3548 | "autoload": { | 3606 | "autoload": { |
3549 | "classmap": [ | 3607 | "classmap": [ |
3550 | "Text/" | 3608 | "src/" |
3551 | ] | 3609 | ] |
3552 | }, | 3610 | }, |
3553 | "notification-url": "https://packagist.org/downloads/", | 3611 | "notification-url": "https://packagist.org/downloads/", |
3554 | "include-path": [ | ||
3555 | "" | ||
3556 | ], | ||
3557 | "license": [ | 3612 | "license": [ |
3558 | "BSD-3-Clause" | 3613 | "BSD-3-Clause" |
3559 | ], | 3614 | ], |
3560 | "authors": [ | 3615 | "authors": [ |
3561 | { | 3616 | { |
3562 | "name": "Sebastian Bergmann", | 3617 | "name": "Sebastian Bergmann", |
3563 | "email": "sb@sebastian-bergmann.de", | 3618 | "email": "sebastian@phpunit.de", |
3564 | "role": "lead" | 3619 | "role": "lead" |
3565 | } | 3620 | } |
3566 | ], | 3621 | ], |
@@ -3569,20 +3624,20 @@ | |||
3569 | "keywords": [ | 3624 | "keywords": [ |
3570 | "template" | 3625 | "template" |
3571 | ], | 3626 | ], |
3572 | "time": "2014-01-30 17:20:04" | 3627 | "time": "2015-06-21 13:50:34" |
3573 | }, | 3628 | }, |
3574 | { | 3629 | { |
3575 | "name": "phpunit/php-timer", | 3630 | "name": "phpunit/php-timer", |
3576 | "version": "1.0.5", | 3631 | "version": "1.0.7", |
3577 | "source": { | 3632 | "source": { |
3578 | "type": "git", | 3633 | "type": "git", |
3579 | "url": "https://github.com/sebastianbergmann/php-timer.git", | 3634 | "url": "https://github.com/sebastianbergmann/php-timer.git", |
3580 | "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" | 3635 | "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" |
3581 | }, | 3636 | }, |
3582 | "dist": { | 3637 | "dist": { |
3583 | "type": "zip", | 3638 | "type": "zip", |
3584 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", | 3639 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", |
3585 | "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", | 3640 | "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", |
3586 | "shasum": "" | 3641 | "shasum": "" |
3587 | }, | 3642 | }, |
3588 | "require": { | 3643 | "require": { |
@@ -3591,13 +3646,10 @@ | |||
3591 | "type": "library", | 3646 | "type": "library", |
3592 | "autoload": { | 3647 | "autoload": { |
3593 | "classmap": [ | 3648 | "classmap": [ |
3594 | "PHP/" | 3649 | "src/" |
3595 | ] | 3650 | ] |
3596 | }, | 3651 | }, |
3597 | "notification-url": "https://packagist.org/downloads/", | 3652 | "notification-url": "https://packagist.org/downloads/", |
3598 | "include-path": [ | ||
3599 | "" | ||
3600 | ], | ||
3601 | "license": [ | 3653 | "license": [ |
3602 | "BSD-3-Clause" | 3654 | "BSD-3-Clause" |
3603 | ], | 3655 | ], |
@@ -3613,20 +3665,20 @@ | |||
3613 | "keywords": [ | 3665 | "keywords": [ |
3614 | "timer" | 3666 | "timer" |
3615 | ], | 3667 | ], |
3616 | "time": "2013-08-02 07:42:54" | 3668 | "time": "2015-06-21 08:01:12" |
3617 | }, | 3669 | }, |
3618 | { | 3670 | { |
3619 | "name": "phpunit/php-token-stream", | 3671 | "name": "phpunit/php-token-stream", |
3620 | "version": "1.4.1", | 3672 | "version": "1.4.3", |
3621 | "source": { | 3673 | "source": { |
3622 | "type": "git", | 3674 | "type": "git", |
3623 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", | 3675 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", |
3624 | "reference": "eab81d02569310739373308137284e0158424330" | 3676 | "reference": "7a9b0969488c3c54fd62b4d504b3ec758fd005d9" |
3625 | }, | 3677 | }, |
3626 | "dist": { | 3678 | "dist": { |
3627 | "type": "zip", | 3679 | "type": "zip", |
3628 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", | 3680 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/7a9b0969488c3c54fd62b4d504b3ec758fd005d9", |
3629 | "reference": "eab81d02569310739373308137284e0158424330", | 3681 | "reference": "7a9b0969488c3c54fd62b4d504b3ec758fd005d9", |
3630 | "shasum": "" | 3682 | "shasum": "" |
3631 | }, | 3683 | }, |
3632 | "require": { | 3684 | "require": { |
@@ -3662,20 +3714,20 @@ | |||
3662 | "keywords": [ | 3714 | "keywords": [ |
3663 | "tokenizer" | 3715 | "tokenizer" |
3664 | ], | 3716 | ], |
3665 | "time": "2015-04-08 04:46:07" | 3717 | "time": "2015-06-19 03:43:16" |
3666 | }, | 3718 | }, |
3667 | { | 3719 | { |
3668 | "name": "phpunit/phpunit", | 3720 | "name": "phpunit/phpunit", |
3669 | "version": "4.6.9", | 3721 | "version": "4.8.3", |
3670 | "source": { | 3722 | "source": { |
3671 | "type": "git", | 3723 | "type": "git", |
3672 | "url": "https://github.com/sebastianbergmann/phpunit.git", | 3724 | "url": "https://github.com/sebastianbergmann/phpunit.git", |
3673 | "reference": "816d12536a7a032adc3b68737f82cfbbf98b79c1" | 3725 | "reference": "fd3050e26e3105f416d74c4d33aea659b406c59d" |
3674 | }, | 3726 | }, |
3675 | "dist": { | 3727 | "dist": { |
3676 | "type": "zip", | 3728 | "type": "zip", |
3677 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/816d12536a7a032adc3b68737f82cfbbf98b79c1", | 3729 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fd3050e26e3105f416d74c4d33aea659b406c59d", |
3678 | "reference": "816d12536a7a032adc3b68737f82cfbbf98b79c1", | 3730 | "reference": "fd3050e26e3105f416d74c4d33aea659b406c59d", |
3679 | "shasum": "" | 3731 | "shasum": "" |
3680 | }, | 3732 | }, |
3681 | "require": { | 3733 | "require": { |
@@ -3685,15 +3737,15 @@ | |||
3685 | "ext-reflection": "*", | 3737 | "ext-reflection": "*", |
3686 | "ext-spl": "*", | 3738 | "ext-spl": "*", |
3687 | "php": ">=5.3.3", | 3739 | "php": ">=5.3.3", |
3688 | "phpspec/prophecy": "~1.3,>=1.3.1", | 3740 | "phpspec/prophecy": "^1.3.1", |
3689 | "phpunit/php-code-coverage": "~2.0,>=2.0.11", | 3741 | "phpunit/php-code-coverage": "~2.1", |
3690 | "phpunit/php-file-iterator": "~1.4", | 3742 | "phpunit/php-file-iterator": "~1.4", |
3691 | "phpunit/php-text-template": "~1.2", | 3743 | "phpunit/php-text-template": "~1.2", |
3692 | "phpunit/php-timer": "~1.0", | 3744 | "phpunit/php-timer": ">=1.0.6", |
3693 | "phpunit/phpunit-mock-objects": "~2.3", | 3745 | "phpunit/phpunit-mock-objects": "~2.3", |
3694 | "sebastian/comparator": "~1.1", | 3746 | "sebastian/comparator": "~1.1", |
3695 | "sebastian/diff": "~1.2", | 3747 | "sebastian/diff": "~1.2", |
3696 | "sebastian/environment": "~1.2", | 3748 | "sebastian/environment": "~1.3", |
3697 | "sebastian/exporter": "~1.2", | 3749 | "sebastian/exporter": "~1.2", |
3698 | "sebastian/global-state": "~1.0", | 3750 | "sebastian/global-state": "~1.0", |
3699 | "sebastian/version": "~1.0", | 3751 | "sebastian/version": "~1.0", |
@@ -3708,7 +3760,7 @@ | |||
3708 | "type": "library", | 3760 | "type": "library", |
3709 | "extra": { | 3761 | "extra": { |
3710 | "branch-alias": { | 3762 | "branch-alias": { |
3711 | "dev-master": "4.6.x-dev" | 3763 | "dev-master": "4.8.x-dev" |
3712 | } | 3764 | } |
3713 | }, | 3765 | }, |
3714 | "autoload": { | 3766 | "autoload": { |
@@ -3734,26 +3786,27 @@ | |||
3734 | "testing", | 3786 | "testing", |
3735 | "xunit" | 3787 | "xunit" |
3736 | ], | 3788 | ], |
3737 | "time": "2015-05-29 06:00:03" | 3789 | "time": "2015-08-10 09:16:56" |
3738 | }, | 3790 | }, |
3739 | { | 3791 | { |
3740 | "name": "phpunit/phpunit-mock-objects", | 3792 | "name": "phpunit/phpunit-mock-objects", |
3741 | "version": "2.3.3", | 3793 | "version": "2.3.6", |
3742 | "source": { | 3794 | "source": { |
3743 | "type": "git", | 3795 | "type": "git", |
3744 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", | 3796 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", |
3745 | "reference": "253c005852591fd547fc18cd5b7b43a1ec82d8f7" | 3797 | "reference": "18dfbcb81d05e2296c0bcddd4db96cade75e6f42" |
3746 | }, | 3798 | }, |
3747 | "dist": { | 3799 | "dist": { |
3748 | "type": "zip", | 3800 | "type": "zip", |
3749 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/253c005852591fd547fc18cd5b7b43a1ec82d8f7", | 3801 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/18dfbcb81d05e2296c0bcddd4db96cade75e6f42", |
3750 | "reference": "253c005852591fd547fc18cd5b7b43a1ec82d8f7", | 3802 | "reference": "18dfbcb81d05e2296c0bcddd4db96cade75e6f42", |
3751 | "shasum": "" | 3803 | "shasum": "" |
3752 | }, | 3804 | }, |
3753 | "require": { | 3805 | "require": { |
3754 | "doctrine/instantiator": "~1.0,>=1.0.2", | 3806 | "doctrine/instantiator": "~1.0,>=1.0.2", |
3755 | "php": ">=5.3.3", | 3807 | "php": ">=5.3.3", |
3756 | "phpunit/php-text-template": "~1.2" | 3808 | "phpunit/php-text-template": "~1.2", |
3809 | "sebastian/exporter": "~1.2" | ||
3757 | }, | 3810 | }, |
3758 | "require-dev": { | 3811 | "require-dev": { |
3759 | "phpunit/phpunit": "~4.4" | 3812 | "phpunit/phpunit": "~4.4" |
@@ -3789,20 +3842,20 @@ | |||
3789 | "mock", | 3842 | "mock", |
3790 | "xunit" | 3843 | "xunit" |
3791 | ], | 3844 | ], |
3792 | "time": "2015-05-29 05:19:18" | 3845 | "time": "2015-07-10 06:54:24" |
3793 | }, | 3846 | }, |
3794 | { | 3847 | { |
3795 | "name": "sebastian/comparator", | 3848 | "name": "sebastian/comparator", |
3796 | "version": "1.1.1", | 3849 | "version": "1.2.0", |
3797 | "source": { | 3850 | "source": { |
3798 | "type": "git", | 3851 | "type": "git", |
3799 | "url": "https://github.com/sebastianbergmann/comparator.git", | 3852 | "url": "https://github.com/sebastianbergmann/comparator.git", |
3800 | "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" | 3853 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" |
3801 | }, | 3854 | }, |
3802 | "dist": { | 3855 | "dist": { |
3803 | "type": "zip", | 3856 | "type": "zip", |
3804 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", | 3857 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", |
3805 | "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", | 3858 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", |
3806 | "shasum": "" | 3859 | "shasum": "" |
3807 | }, | 3860 | }, |
3808 | "require": { | 3861 | "require": { |
@@ -3816,7 +3869,7 @@ | |||
3816 | "type": "library", | 3869 | "type": "library", |
3817 | "extra": { | 3870 | "extra": { |
3818 | "branch-alias": { | 3871 | "branch-alias": { |
3819 | "dev-master": "1.1.x-dev" | 3872 | "dev-master": "1.2.x-dev" |
3820 | } | 3873 | } |
3821 | }, | 3874 | }, |
3822 | "autoload": { | 3875 | "autoload": { |
@@ -3853,7 +3906,7 @@ | |||
3853 | "compare", | 3906 | "compare", |
3854 | "equality" | 3907 | "equality" |
3855 | ], | 3908 | ], |
3856 | "time": "2015-01-29 16:28:08" | 3909 | "time": "2015-07-26 15:48:44" |
3857 | }, | 3910 | }, |
3858 | { | 3911 | { |
3859 | "name": "sebastian/diff", | 3912 | "name": "sebastian/diff", |
@@ -3909,16 +3962,16 @@ | |||
3909 | }, | 3962 | }, |
3910 | { | 3963 | { |
3911 | "name": "sebastian/environment", | 3964 | "name": "sebastian/environment", |
3912 | "version": "1.2.2", | 3965 | "version": "1.3.2", |
3913 | "source": { | 3966 | "source": { |
3914 | "type": "git", | 3967 | "type": "git", |
3915 | "url": "https://github.com/sebastianbergmann/environment.git", | 3968 | "url": "https://github.com/sebastianbergmann/environment.git", |
3916 | "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" | 3969 | "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44" |
3917 | }, | 3970 | }, |
3918 | "dist": { | 3971 | "dist": { |
3919 | "type": "zip", | 3972 | "type": "zip", |
3920 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", | 3973 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44", |
3921 | "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", | 3974 | "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44", |
3922 | "shasum": "" | 3975 | "shasum": "" |
3923 | }, | 3976 | }, |
3924 | "require": { | 3977 | "require": { |
@@ -3955,20 +4008,20 @@ | |||
3955 | "environment", | 4008 | "environment", |
3956 | "hhvm" | 4009 | "hhvm" |
3957 | ], | 4010 | ], |
3958 | "time": "2015-01-01 10:01:08" | 4011 | "time": "2015-08-03 06:14:51" |
3959 | }, | 4012 | }, |
3960 | { | 4013 | { |
3961 | "name": "sebastian/exporter", | 4014 | "name": "sebastian/exporter", |
3962 | "version": "1.2.0", | 4015 | "version": "1.2.1", |
3963 | "source": { | 4016 | "source": { |
3964 | "type": "git", | 4017 | "type": "git", |
3965 | "url": "https://github.com/sebastianbergmann/exporter.git", | 4018 | "url": "https://github.com/sebastianbergmann/exporter.git", |
3966 | "reference": "84839970d05254c73cde183a721c7af13aede943" | 4019 | "reference": "7ae5513327cb536431847bcc0c10edba2701064e" |
3967 | }, | 4020 | }, |
3968 | "dist": { | 4021 | "dist": { |
3969 | "type": "zip", | 4022 | "type": "zip", |
3970 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", | 4023 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", |
3971 | "reference": "84839970d05254c73cde183a721c7af13aede943", | 4024 | "reference": "7ae5513327cb536431847bcc0c10edba2701064e", |
3972 | "shasum": "" | 4025 | "shasum": "" |
3973 | }, | 4026 | }, |
3974 | "require": { | 4027 | "require": { |
@@ -4021,7 +4074,7 @@ | |||
4021 | "export", | 4074 | "export", |
4022 | "exporter" | 4075 | "exporter" |
4023 | ], | 4076 | ], |
4024 | "time": "2015-01-27 07:23:06" | 4077 | "time": "2015-06-21 07:55:53" |
4025 | }, | 4078 | }, |
4026 | { | 4079 | { |
4027 | "name": "sebastian/global-state", | 4080 | "name": "sebastian/global-state", |
@@ -4076,16 +4129,16 @@ | |||
4076 | }, | 4129 | }, |
4077 | { | 4130 | { |
4078 | "name": "sebastian/recursion-context", | 4131 | "name": "sebastian/recursion-context", |
4079 | "version": "1.0.0", | 4132 | "version": "1.0.1", |
4080 | "source": { | 4133 | "source": { |
4081 | "type": "git", | 4134 | "type": "git", |
4082 | "url": "https://github.com/sebastianbergmann/recursion-context.git", | 4135 | "url": "https://github.com/sebastianbergmann/recursion-context.git", |
4083 | "reference": "3989662bbb30a29d20d9faa04a846af79b276252" | 4136 | "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" |
4084 | }, | 4137 | }, |
4085 | "dist": { | 4138 | "dist": { |
4086 | "type": "zip", | 4139 | "type": "zip", |
4087 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", | 4140 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", |
4088 | "reference": "3989662bbb30a29d20d9faa04a846af79b276252", | 4141 | "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", |
4089 | "shasum": "" | 4142 | "shasum": "" |
4090 | }, | 4143 | }, |
4091 | "require": { | 4144 | "require": { |
@@ -4125,20 +4178,20 @@ | |||
4125 | ], | 4178 | ], |
4126 | "description": "Provides functionality to recursively process PHP variables", | 4179 | "description": "Provides functionality to recursively process PHP variables", |
4127 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", | 4180 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", |
4128 | "time": "2015-01-24 09:48:32" | 4181 | "time": "2015-06-21 08:04:50" |
4129 | }, | 4182 | }, |
4130 | { | 4183 | { |
4131 | "name": "sebastian/version", | 4184 | "name": "sebastian/version", |
4132 | "version": "1.0.5", | 4185 | "version": "1.0.6", |
4133 | "source": { | 4186 | "source": { |
4134 | "type": "git", | 4187 | "type": "git", |
4135 | "url": "https://github.com/sebastianbergmann/version.git", | 4188 | "url": "https://github.com/sebastianbergmann/version.git", |
4136 | "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" | 4189 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" |
4137 | }, | 4190 | }, |
4138 | "dist": { | 4191 | "dist": { |
4139 | "type": "zip", | 4192 | "type": "zip", |
4140 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", | 4193 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", |
4141 | "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", | 4194 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", |
4142 | "shasum": "" | 4195 | "shasum": "" |
4143 | }, | 4196 | }, |
4144 | "type": "library", | 4197 | "type": "library", |
@@ -4160,7 +4213,7 @@ | |||
4160 | ], | 4213 | ], |
4161 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", | 4214 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", |
4162 | "homepage": "https://github.com/sebastianbergmann/version", | 4215 | "homepage": "https://github.com/sebastianbergmann/version", |
4163 | "time": "2015-02-24 06:35:25" | 4216 | "time": "2015-06-21 13:59:46" |
4164 | }, | 4217 | }, |
4165 | { | 4218 | { |
4166 | "name": "sensio/generator-bundle", | 4219 | "name": "sensio/generator-bundle", |
diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php index 29e0ffb0..8894690c 100644 --- a/src/Wallabag/CoreBundle/Controller/EntryController.php +++ b/src/Wallabag/CoreBundle/Controller/EntryController.php | |||
@@ -9,6 +9,9 @@ use Wallabag\CoreBundle\Entity\Entry; | |||
9 | use Wallabag\CoreBundle\Service\Extractor; | 9 | use Wallabag\CoreBundle\Service\Extractor; |
10 | use Wallabag\CoreBundle\Form\Type\NewEntryType; | 10 | use Wallabag\CoreBundle\Form\Type\NewEntryType; |
11 | use Wallabag\CoreBundle\Form\Type\EditEntryType; | 11 | use Wallabag\CoreBundle\Form\Type\EditEntryType; |
12 | use Wallabag\CoreBundle\Filter\EntryFilterType; | ||
13 | use Pagerfanta\Adapter\DoctrineORMAdapter; | ||
14 | use Pagerfanta\Pagerfanta; | ||
12 | 15 | ||
13 | class EntryController extends Controller | 16 | class EntryController extends Controller |
14 | { | 17 | { |
@@ -89,22 +92,39 @@ class EntryController extends Controller | |||
89 | /** | 92 | /** |
90 | * Shows unread entries for current user. | 93 | * Shows unread entries for current user. |
91 | * | 94 | * |
95 | * @param Request $request | ||
96 | * @param int $page | ||
97 | * | ||
92 | * @Route("/unread/list/{page}", name="unread", defaults={"page" = "1"}) | 98 | * @Route("/unread/list/{page}", name="unread", defaults={"page" = "1"}) |
93 | * | 99 | * |
94 | * @return \Symfony\Component\HttpFoundation\Response | 100 | * @return \Symfony\Component\HttpFoundation\Response |
95 | */ | 101 | */ |
96 | public function showUnreadAction($page) | 102 | public function showUnreadAction(Request $request, $page) |
97 | { | 103 | { |
98 | $entries = $this->getDoctrine() | 104 | $form = $this->get('form.factory')->create(new EntryFilterType()); |
105 | |||
106 | $filterBuilder = $this->getDoctrine() | ||
99 | ->getRepository('WallabagCoreBundle:Entry') | 107 | ->getRepository('WallabagCoreBundle:Entry') |
100 | ->findUnreadByUser($this->getUser()->getId()); | 108 | ->findUnreadByUser($this->getUser()->getId()); |
101 | 109 | ||
110 | if ($request->query->has($form->getName())) { | ||
111 | // manually bind values from the request | ||
112 | $form->submit($request->query->get($form->getName())); | ||
113 | |||
114 | // build the query from the given form object | ||
115 | $this->get('lexik_form_filter.query_builder_updater')->addFilterConditions($form, $filterBuilder); | ||
116 | } | ||
117 | |||
118 | $pagerAdapter = new DoctrineORMAdapter($filterBuilder->getQuery()); | ||
119 | $entries = new Pagerfanta($pagerAdapter); | ||
120 | |||
102 | $entries->setMaxPerPage($this->getUser()->getConfig()->getItemsPerPage()); | 121 | $entries->setMaxPerPage($this->getUser()->getConfig()->getItemsPerPage()); |
103 | $entries->setCurrentPage($page); | 122 | $entries->setCurrentPage($page); |
104 | 123 | ||
105 | return $this->render( | 124 | return $this->render( |
106 | 'WallabagCoreBundle:Entry:entries.html.twig', | 125 | 'WallabagCoreBundle:Entry:entries.html.twig', |
107 | array( | 126 | array( |
127 | 'form' => $form->createView(), | ||
108 | 'entries' => $entries, | 128 | 'entries' => $entries, |
109 | 'currentPage' => $page | 129 | 'currentPage' => $page |
110 | ) | 130 | ) |
@@ -114,22 +134,39 @@ class EntryController extends Controller | |||
114 | /** | 134 | /** |
115 | * Shows read entries for current user. | 135 | * Shows read entries for current user. |
116 | * | 136 | * |
137 | * @param Request $request | ||
138 | * @param int $page | ||
139 | * | ||
117 | * @Route("/archive/list/{page}", name="archive", defaults={"page" = "1"}) | 140 | * @Route("/archive/list/{page}", name="archive", defaults={"page" = "1"}) |
118 | * | 141 | * |
119 | * @return \Symfony\Component\HttpFoundation\Response | 142 | * @return \Symfony\Component\HttpFoundation\Response |
120 | */ | 143 | */ |
121 | public function showArchiveAction($page) | 144 | public function showArchiveAction(Request $request, $page) |
122 | { | 145 | { |
123 | $entries = $this->getDoctrine() | 146 | $form = $this->get('form.factory')->create(new EntryFilterType()); |
147 | |||
148 | $filterBuilder = $this->getDoctrine() | ||
124 | ->getRepository('WallabagCoreBundle:Entry') | 149 | ->getRepository('WallabagCoreBundle:Entry') |
125 | ->findArchiveByUser($this->getUser()->getId()); | 150 | ->findArchiveByUser($this->getUser()->getId()); |
126 | 151 | ||
152 | if ($request->query->has($form->getName())) { | ||
153 | // manually bind values from the request | ||
154 | $form->submit($request->query->get($form->getName())); | ||
155 | |||
156 | // build the query from the given form object | ||
157 | $this->get('lexik_form_filter.query_builder_updater')->addFilterConditions($form, $filterBuilder); | ||
158 | } | ||
159 | |||
160 | $pagerAdapter = new DoctrineORMAdapter($filterBuilder->getQuery()); | ||
161 | $entries = new Pagerfanta($pagerAdapter); | ||
162 | |||
127 | $entries->setMaxPerPage($this->getUser()->getConfig()->getItemsPerPage()); | 163 | $entries->setMaxPerPage($this->getUser()->getConfig()->getItemsPerPage()); |
128 | $entries->setCurrentPage($page); | 164 | $entries->setCurrentPage($page); |
129 | 165 | ||
130 | return $this->render( | 166 | return $this->render( |
131 | 'WallabagCoreBundle:Entry:entries.html.twig', | 167 | 'WallabagCoreBundle:Entry:entries.html.twig', |
132 | array( | 168 | array( |
169 | 'form' => $form->createView(), | ||
133 | 'entries' => $entries, | 170 | 'entries' => $entries, |
134 | 'currentPage' => $page | 171 | 'currentPage' => $page |
135 | ) | 172 | ) |
@@ -139,22 +176,39 @@ class EntryController extends Controller | |||
139 | /** | 176 | /** |
140 | * Shows starred entries for current user. | 177 | * Shows starred entries for current user. |
141 | * | 178 | * |
179 | * @param Request $request | ||
180 | * @param int $page | ||
181 | * | ||
142 | * @Route("/starred/list/{page}", name="starred", defaults={"page" = "1"}) | 182 | * @Route("/starred/list/{page}", name="starred", defaults={"page" = "1"}) |
143 | * | 183 | * |
144 | * @return \Symfony\Component\HttpFoundation\Response | 184 | * @return \Symfony\Component\HttpFoundation\Response |
145 | */ | 185 | */ |
146 | public function showStarredAction($page) | 186 | public function showStarredAction(Request $request, $page) |
147 | { | 187 | { |
148 | $entries = $this->getDoctrine() | 188 | $form = $this->get('form.factory')->create(new EntryFilterType()); |
189 | |||
190 | $filterBuilder = $this->getDoctrine() | ||
149 | ->getRepository('WallabagCoreBundle:Entry') | 191 | ->getRepository('WallabagCoreBundle:Entry') |
150 | ->findStarredByUser($this->getUser()->getId()); | 192 | ->findStarredByUser($this->getUser()->getId()); |
151 | 193 | ||
194 | if ($request->query->has($form->getName())) { | ||
195 | // manually bind values from the request | ||
196 | $form->submit($request->query->get($form->getName())); | ||
197 | |||
198 | // build the query from the given form object | ||
199 | $this->get('lexik_form_filter.query_builder_updater')->addFilterConditions($form, $filterBuilder); | ||
200 | } | ||
201 | |||
202 | $pagerAdapter = new DoctrineORMAdapter($filterBuilder->getQuery()); | ||
203 | $entries = new Pagerfanta($pagerAdapter); | ||
204 | |||
152 | $entries->setMaxPerPage($this->getUser()->getConfig()->getItemsPerPage()); | 205 | $entries->setMaxPerPage($this->getUser()->getConfig()->getItemsPerPage()); |
153 | $entries->setCurrentPage($page); | 206 | $entries->setCurrentPage($page); |
154 | 207 | ||
155 | return $this->render( | 208 | return $this->render( |
156 | 'WallabagCoreBundle:Entry:entries.html.twig', | 209 | 'WallabagCoreBundle:Entry:entries.html.twig', |
157 | array( | 210 | array( |
211 | 'form' => $form->createView(), | ||
158 | 'entries' => $entries, | 212 | 'entries' => $entries, |
159 | 'currentPage' => $page | 213 | 'currentPage' => $page |
160 | ) | 214 | ) |
diff --git a/src/Wallabag/CoreBundle/Controller/RssController.php b/src/Wallabag/CoreBundle/Controller/RssController.php index 8428dce0..0558c53b 100644 --- a/src/Wallabag/CoreBundle/Controller/RssController.php +++ b/src/Wallabag/CoreBundle/Controller/RssController.php | |||
@@ -7,6 +7,8 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; | |||
7 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; | 7 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
8 | use Wallabag\CoreBundle\Entity\User; | 8 | use Wallabag\CoreBundle\Entity\User; |
9 | use Wallabag\CoreBundle\Entity\Entry; | 9 | use Wallabag\CoreBundle\Entity\Entry; |
10 | use Pagerfanta\Adapter\DoctrineORMAdapter; | ||
11 | use Pagerfanta\Pagerfanta; | ||
10 | 12 | ||
11 | class RssController extends Controller | 13 | class RssController extends Controller |
12 | { | 14 | { |
@@ -20,12 +22,15 @@ class RssController extends Controller | |||
20 | */ | 22 | */ |
21 | public function showUnreadAction(User $user) | 23 | public function showUnreadAction(User $user) |
22 | { | 24 | { |
23 | $entries = $this->getDoctrine() | 25 | $qb = $this->getDoctrine() |
24 | ->getRepository('WallabagCoreBundle:Entry') | 26 | ->getRepository('WallabagCoreBundle:Entry') |
25 | ->findUnreadByUser( | 27 | ->findUnreadByUser( |
26 | $user->getId() | 28 | $user->getId() |
27 | ); | 29 | ); |
28 | 30 | ||
31 | $pagerAdapter = new DoctrineORMAdapter($qb->getQuery()); | ||
32 | $entries = new Pagerfanta($pagerAdapter); | ||
33 | |||
29 | $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); | 34 | $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); |
30 | $entries->setMaxPerPage($perPage); | 35 | $entries->setMaxPerPage($perPage); |
31 | 36 | ||
@@ -45,12 +50,15 @@ class RssController extends Controller | |||
45 | */ | 50 | */ |
46 | public function showArchiveAction(User $user) | 51 | public function showArchiveAction(User $user) |
47 | { | 52 | { |
48 | $entries = $this->getDoctrine() | 53 | $qb = $this->getDoctrine() |
49 | ->getRepository('WallabagCoreBundle:Entry') | 54 | ->getRepository('WallabagCoreBundle:Entry') |
50 | ->findArchiveByUser( | 55 | ->findArchiveByUser( |
51 | $user->getId() | 56 | $user->getId() |
52 | ); | 57 | ); |
53 | 58 | ||
59 | $pagerAdapter = new DoctrineORMAdapter($qb->getQuery()); | ||
60 | $entries = new Pagerfanta($pagerAdapter); | ||
61 | |||
54 | $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); | 62 | $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); |
55 | $entries->setMaxPerPage($perPage); | 63 | $entries->setMaxPerPage($perPage); |
56 | 64 | ||
@@ -70,12 +78,15 @@ class RssController extends Controller | |||
70 | */ | 78 | */ |
71 | public function showStarredAction(User $user) | 79 | public function showStarredAction(User $user) |
72 | { | 80 | { |
73 | $entries = $this->getDoctrine() | 81 | $qb = $this->getDoctrine() |
74 | ->getRepository('WallabagCoreBundle:Entry') | 82 | ->getRepository('WallabagCoreBundle:Entry') |
75 | ->findStarredByUser( | 83 | ->findStarredByUser( |
76 | $user->getId() | 84 | $user->getId() |
77 | ); | 85 | ); |
78 | 86 | ||
87 | $pagerAdapter = new DoctrineORMAdapter($qb->getQuery()); | ||
88 | $entries = new Pagerfanta($pagerAdapter); | ||
89 | |||
79 | $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); | 90 | $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); |
80 | $entries->setMaxPerPage($perPage); | 91 | $entries->setMaxPerPage($perPage); |
81 | 92 | ||
diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index f139bbac..9aebc55b 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php | |||
@@ -7,6 +7,7 @@ use Doctrine\ORM\Mapping as ORM; | |||
7 | use Symfony\Component\Validator\Constraints as Assert; | 7 | use Symfony\Component\Validator\Constraints as Assert; |
8 | use Hateoas\Configuration\Annotation as Hateoas; | 8 | use Hateoas\Configuration\Annotation as Hateoas; |
9 | use JMS\Serializer\Annotation\XmlRoot; | 9 | use JMS\Serializer\Annotation\XmlRoot; |
10 | use Wallabag\CoreBundle\Helper\Tools; | ||
10 | 11 | ||
11 | /** | 12 | /** |
12 | * Entry. | 13 | * Entry. |
@@ -96,7 +97,7 @@ class Entry | |||
96 | /** | 97 | /** |
97 | * @var int | 98 | * @var int |
98 | * | 99 | * |
99 | * @ORM\Column(name="reading_type", type="integer", nullable=true) | 100 | * @ORM\Column(name="reading_time", type="integer", nullable=true) |
100 | */ | 101 | */ |
101 | private $readingTime; | 102 | private $readingTime; |
102 | 103 | ||
@@ -264,6 +265,7 @@ class Entry | |||
264 | public function setContent($content) | 265 | public function setContent($content) |
265 | { | 266 | { |
266 | $this->content = $content; | 267 | $this->content = $content; |
268 | $this->readingTime = Tools::getReadingTime($content); | ||
267 | 269 | ||
268 | return $this; | 270 | return $this; |
269 | } | 271 | } |
diff --git a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php new file mode 100644 index 00000000..636ba324 --- /dev/null +++ b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php | |||
@@ -0,0 +1,28 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\CoreBundle\Filter; | ||
4 | |||
5 | use Symfony\Component\Form\AbstractType; | ||
6 | use Symfony\Component\Form\FormBuilderInterface; | ||
7 | use Symfony\Component\OptionsResolver\OptionsResolver; | ||
8 | |||
9 | class EntryFilterType extends AbstractType | ||
10 | { | ||
11 | public function buildForm(FormBuilderInterface $builder, array $options) | ||
12 | { | ||
13 | $builder->add('readingTime', 'filter_number_range'); | ||
14 | } | ||
15 | |||
16 | public function getName() | ||
17 | { | ||
18 | return 'entry_filter'; | ||
19 | } | ||
20 | |||
21 | public function configureOptions(OptionsResolver $resolver) | ||
22 | { | ||
23 | $resolver->setDefaults(array( | ||
24 | 'csrf_protection' => false, | ||
25 | 'validation_groups' => array('filtering') | ||
26 | )); | ||
27 | } | ||
28 | } | ||
diff --git a/src/Wallabag/CoreBundle/Helper/Tools.php b/src/Wallabag/CoreBundle/Helper/Tools.php index be29ab99..d368ee71 100755 --- a/src/Wallabag/CoreBundle/Helper/Tools.php +++ b/src/Wallabag/CoreBundle/Helper/Tools.php | |||
@@ -118,4 +118,16 @@ final class Tools | |||
118 | 118 | ||
119 | return str_replace('+', '', $token); | 119 | return str_replace('+', '', $token); |
120 | } | 120 | } |
121 | |||
122 | /** | ||
123 | * For a given text, we calculate reading time for an article. | ||
124 | * | ||
125 | * @param $text | ||
126 | * | ||
127 | * @return float | ||
128 | */ | ||
129 | public static function getReadingTime($text) | ||
130 | { | ||
131 | return floor(str_word_count(strip_tags($text)) / 200); | ||
132 | } | ||
121 | } | 133 | } |
diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index a4514d9e..f885ee94 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php | |||
@@ -13,20 +13,15 @@ class EntryRepository extends EntityRepository | |||
13 | * | 13 | * |
14 | * @param int $userId | 14 | * @param int $userId |
15 | * | 15 | * |
16 | * @return Pagerfanta | 16 | * @return QueryBuilder |
17 | */ | 17 | */ |
18 | public function findUnreadByUser($userId) | 18 | public function findUnreadByUser($userId) |
19 | { | 19 | { |
20 | $qb = $this->createQueryBuilder('e') | 20 | return $this->createQueryBuilder('e') |
21 | ->leftJoin('e.user', 'u') | 21 | ->leftJoin('e.user', 'u') |
22 | ->where('e.isArchived = false') | 22 | ->where('e.isArchived = false') |
23 | ->andWhere('u.id =:userId')->setParameter('userId', $userId) | 23 | ->andWhere('u.id =:userId')->setParameter('userId', $userId) |
24 | ->orderBy('e.id', 'desc') | 24 | ->orderBy('e.id', 'desc'); |
25 | ->getQuery(); | ||
26 | |||
27 | $pagerAdapter = new DoctrineORMAdapter($qb); | ||
28 | |||
29 | return new Pagerfanta($pagerAdapter); | ||
30 | } | 25 | } |
31 | 26 | ||
32 | /** | 27 | /** |
@@ -34,21 +29,15 @@ class EntryRepository extends EntityRepository | |||
34 | * | 29 | * |
35 | * @param int $userId | 30 | * @param int $userId |
36 | * | 31 | * |
37 | * @return Pagerfanta | 32 | * @return QueryBuilder |
38 | */ | 33 | */ |
39 | public function findArchiveByUser($userId) | 34 | public function findArchiveByUser($userId) |
40 | { | 35 | { |
41 | $qb = $this->createQueryBuilder('e') | 36 | return $this->createQueryBuilder('e') |
42 | ->select('e') | ||
43 | ->leftJoin('e.user', 'u') | 37 | ->leftJoin('e.user', 'u') |
44 | ->where('e.isArchived = true') | 38 | ->where('e.isArchived = true') |
45 | ->andWhere('u.id =:userId')->setParameter('userId', $userId) | 39 | ->andWhere('u.id =:userId')->setParameter('userId', $userId) |
46 | ->orderBy('e.id', 'desc') | 40 | ->orderBy('e.id', 'desc'); |
47 | ->getQuery(); | ||
48 | |||
49 | $pagerAdapter = new DoctrineORMAdapter($qb); | ||
50 | |||
51 | return new Pagerfanta($pagerAdapter); | ||
52 | } | 41 | } |
53 | 42 | ||
54 | /** | 43 | /** |
@@ -56,22 +45,15 @@ class EntryRepository extends EntityRepository | |||
56 | * | 45 | * |
57 | * @param int $userId | 46 | * @param int $userId |
58 | * | 47 | * |
59 | * @return Pagerfanta | 48 | * @return QueryBuilder |
60 | */ | 49 | */ |
61 | public function findStarredByUser($userId) | 50 | public function findStarredByUser($userId) |
62 | { | 51 | { |
63 | 52 | return $this->createQueryBuilder('e') | |
64 | $qb = $this->createQueryBuilder('e') | ||
65 | ->select('e') | ||
66 | ->leftJoin('e.user', 'u') | 53 | ->leftJoin('e.user', 'u') |
67 | ->where('e.isStarred = true') | 54 | ->where('e.isStarred = true') |
68 | ->andWhere('u.id =:userId')->setParameter('userId', $userId) | 55 | ->andWhere('u.id =:userId')->setParameter('userId', $userId) |
69 | ->orderBy('e.id', 'desc') | 56 | ->orderBy('e.id', 'desc'); |
70 | ->getQuery(); | ||
71 | |||
72 | $pagerAdapter = new DoctrineORMAdapter($qb); | ||
73 | |||
74 | return new Pagerfanta($pagerAdapter); | ||
75 | } | 57 | } |
76 | 58 | ||
77 | /** | 59 | /** |
diff --git a/src/Wallabag/CoreBundle/Resources/views/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/Entry/entries.html.twig index bf3caf09..7629ef35 100644 --- a/src/Wallabag/CoreBundle/Resources/views/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/Entry/entries.html.twig | |||
@@ -21,11 +21,12 @@ | |||
21 | {% if entries is empty %} | 21 | {% if entries is empty %} |
22 | <div class="messages warning"><p>{% trans %}No articles found.{% endtrans %}</p></div> | 22 | <div class="messages warning"><p>{% trans %}No articles found.{% endtrans %}</p></div> |
23 | {% else %} | 23 | {% else %} |
24 | <div><form>{{ form_rest(form) }}<button class="btn waves-effect waves-light" type="submit" id="submit-filter" value="filter">Filter</button></form></div> | ||
24 | {% for entry in entries %} | 25 | {% for entry in entries %} |
25 | <div id="entry-{{ entry.id|e }}" class="entrie"> | 26 | <div id="entry-{{ entry.id|e }}" class="entry"> |
26 | <h2><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></h2> | 27 | <h2><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></h2> |
27 | {% if entry.content| readingTime > 0 %} | 28 | {% if entry.readingTime > 0 %} |
28 | <div class="estimatedTime"><span class="tool reading-time">{% trans %}estimated reading time :{% endtrans %} {{ entry.content| readingTime }} min</span></div> | 29 | <div class="estimatedTime"><span class="tool reading-time">{% trans %}estimated reading time :{% endtrans %} {{ entry.readingTime }} min</span></div> |
29 | {% else %} | 30 | {% else %} |
30 | <div class="estimatedTime"><span class="tool reading-time">{% trans %}estimated reading time :{% endtrans %} <small class="inferieur"><</small> 1 min</span></div> | 31 | <div class="estimatedTime"><span class="tool reading-time">{% trans %}estimated reading time :{% endtrans %} <small class="inferieur"><</small> 1 min</span></div> |
31 | {% endif %} | 32 | {% endif %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/Entry/entries.xml.twig b/src/Wallabag/CoreBundle/Resources/views/Entry/entries.xml.twig index 5ec9bc03..a39a8dc3 100644 --- a/src/Wallabag/CoreBundle/Resources/views/Entry/entries.xml.twig +++ b/src/Wallabag/CoreBundle/Resources/views/Entry/entries.xml.twig | |||
@@ -17,8 +17,8 @@ | |||
17 | <pubDate>{{ entry.createdAt|date('D, d M Y H:i:s') }}</pubDate> | 17 | <pubDate>{{ entry.createdAt|date('D, d M Y H:i:s') }}</pubDate> |
18 | <description> | 18 | <description> |
19 | <![CDATA[ | 19 | <![CDATA[ |
20 | {%- if entry.content|readingTime > 0 -%} | 20 | {%- if entry.readingTime > 0 -%} |
21 | {% trans %}estimated reading time :{% endtrans %} {{ entry.content|readingTime }} min | 21 | {% trans %}estimated reading time :{% endtrans %} {{ entry.readingTime }} min |
22 | {%- else -%} | 22 | {%- else -%} |
23 | {% trans %}estimated reading time :{% endtrans %} < 1 min | 23 | {% trans %}estimated reading time :{% endtrans %} < 1 min |
24 | {%- endif %} | 24 | {%- endif %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/_global/public/css/style.css b/src/Wallabag/CoreBundle/Resources/views/themes/_global/public/css/style.css index e3069b86..ffd9d022 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/_global/public/css/style.css +++ b/src/Wallabag/CoreBundle/Resources/views/themes/_global/public/css/style.css | |||
@@ -121,7 +121,7 @@ a:visited { | |||
121 | font-size: 1.3em; | 121 | font-size: 1.3em; |
122 | } | 122 | } |
123 | 123 | ||
124 | #main #content .entrie { | 124 | #main #content .entry { |
125 | margin-top: 15px; | 125 | margin-top: 15px; |
126 | padding-bottom: 15px; | 126 | padding-bottom: 15px; |
127 | border-bottom: 1px dashed #222; | 127 | border-bottom: 1px dashed #222; |
@@ -129,19 +129,19 @@ a:visited { | |||
129 | } | 129 | } |
130 | 130 | ||
131 | /* First entry */ | 131 | /* First entry */ |
132 | #main #content .results + .entrie { | 132 | #main #content .results + .entry { |
133 | clear: both; | 133 | clear: both; |
134 | margin-top: 0; | 134 | margin-top: 0; |
135 | } | 135 | } |
136 | 136 | ||
137 | #main .entrie .tools { | 137 | #main .entry .tools { |
138 | float: right; | 138 | float: right; |
139 | text-align: right; | 139 | text-align: right; |
140 | list-style-type: none; | 140 | list-style-type: none; |
141 | opacity: 0.5; | 141 | opacity: 0.5; |
142 | } | 142 | } |
143 | 143 | ||
144 | #main .entrie .tools .tool span { | 144 | #main .entry .tools .tool span { |
145 | display: inline-block; | 145 | display: inline-block; |
146 | width: 16px; | 146 | width: 16px; |
147 | height: 16px; | 147 | height: 16px; |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css index e2844ccc..6090face 100755 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/public/css/main.css | |||
@@ -322,7 +322,7 @@ footer a { | |||
322 | letter-spacing:-5px; | 322 | letter-spacing:-5px; |
323 | } | 323 | } |
324 | 324 | ||
325 | .listmode .entrie { | 325 | .listmode .entry { |
326 | width: 100%!important; | 326 | width: 100%!important; |
327 | margin-left: 0!important; | 327 | margin-left: 0!important; |
328 | } | 328 | } |
@@ -343,7 +343,7 @@ footer a { | |||
343 | top: -1px; | 343 | top: -1px; |
344 | } | 344 | } |
345 | 345 | ||
346 | .entrie { | 346 | .entry { |
347 | background-color: #FFF; | 347 | background-color: #FFF; |
348 | letter-spacing:normal; | 348 | letter-spacing:normal; |
349 | box-shadow: 0 3px 7px rgba(0,0,0,0.3); | 349 | box-shadow: 0 3px 7px rgba(0,0,0,0.3); |
@@ -366,7 +366,7 @@ footer a { | |||
366 | /* transition: all 0.5s ease; */ | 366 | /* transition: all 0.5s ease; */ |
367 | } | 367 | } |
368 | 368 | ||
369 | .entrie:before { | 369 | .entry:before { |
370 | content: ""; | 370 | content: ""; |
371 | width: 0; | 371 | width: 0; |
372 | height: 0; | 372 | height: 0; |
@@ -384,7 +384,7 @@ footer a { | |||
384 | transition: all 0.5s ease; | 384 | transition: all 0.5s ease; |
385 | } | 385 | } |
386 | 386 | ||
387 | .entrie:after { | 387 | .entry:after { |
388 | content: ""; | 388 | content: ""; |
389 | position: absolute; | 389 | position: absolute; |
390 | height: 7px; | 390 | height: 7px; |
@@ -399,34 +399,34 @@ footer a { | |||
399 | transition: all 0.5s ease; | 399 | transition: all 0.5s ease; |
400 | } | 400 | } |
401 | 401 | ||
402 | .entrie:hover { | 402 | .entry:hover { |
403 | box-shadow: 0 3px 10px rgba(0,0,0,1); | 403 | box-shadow: 0 3px 10px rgba(0,0,0,1); |
404 | } | 404 | } |
405 | 405 | ||
406 | .entrie:hover:after { | 406 | .entry:hover:after { |
407 | height: 40px; | 407 | height: 40px; |
408 | } | 408 | } |
409 | 409 | ||
410 | .entrie:hover:before { | 410 | .entry:hover:before { |
411 | bottom: 2.4em; | 411 | bottom: 2.4em; |
412 | } | 412 | } |
413 | 413 | ||
414 | .entrie:hover h2 a { | 414 | .entry:hover h2 a { |
415 | color: #666; | 415 | color: #666; |
416 | } | 416 | } |
417 | 417 | ||
418 | .entrie h2 { | 418 | .entry h2 { |
419 | text-transform: none; | 419 | text-transform: none; |
420 | margin-bottom: 0; | 420 | margin-bottom: 0; |
421 | line-height: 1.2; | 421 | line-height: 1.2; |
422 | } | 422 | } |
423 | 423 | ||
424 | .entrie h2:after { | 424 | .entry h2:after { |
425 | content: none; | 425 | content: none; |
426 | } | 426 | } |
427 | 427 | ||
428 | 428 | ||
429 | .entrie h2 a { | 429 | .entry h2 a { |
430 | display: block; | 430 | display: block; |
431 | text-decoration: none; | 431 | text-decoration: none; |
432 | color: #000; | 432 | color: #000; |
@@ -438,7 +438,7 @@ footer a { | |||
438 | transition: all 0.5s ease; | 438 | transition: all 0.5s ease; |
439 | } | 439 | } |
440 | /* | 440 | /* |
441 | .entrie h2 a:after { | 441 | .entry h2 a:after { |
442 | content: ""; | 442 | content: ""; |
443 | position: absolute; | 443 | position: absolute; |
444 | top: 0; | 444 | top: 0; |
@@ -448,21 +448,21 @@ footer a { | |||
448 | } | 448 | } |
449 | */ | 449 | */ |
450 | 450 | ||
451 | .entrie p { | 451 | .entry p { |
452 | color: #666; | 452 | color: #666; |
453 | font-size: 0.9em; | 453 | font-size: 0.9em; |
454 | line-height: 1.7; | 454 | line-height: 1.7; |
455 | } | 455 | } |
456 | 456 | ||
457 | .entrie h2 a:first-letter { | 457 | .entry h2 a:first-letter { |
458 | text-transform: uppercase; | 458 | text-transform: uppercase; |
459 | } | 459 | } |
460 | 460 | ||
461 | .entrie:hover .tools { | 461 | .entry:hover .tools { |
462 | bottom: 0; | 462 | bottom: 0; |
463 | } | 463 | } |
464 | 464 | ||
465 | .entrie .tools { | 465 | .entry .tools { |
466 | position: absolute; | 466 | position: absolute; |
467 | bottom: -50px; | 467 | bottom: -50px; |
468 | left: 0; | 468 | left: 0; |
@@ -477,22 +477,22 @@ footer a { | |||
477 | transition: all 0.5s ease; | 477 | transition: all 0.5s ease; |
478 | } | 478 | } |
479 | 479 | ||
480 | .entrie .tools a { | 480 | .entry .tools a { |
481 | color: #666; | 481 | color: #666; |
482 | text-decoration: none; | 482 | text-decoration: none; |
483 | display: block; | 483 | display: block; |
484 | padding: 0.4em; | 484 | padding: 0.4em; |
485 | } | 485 | } |
486 | 486 | ||
487 | .entrie .tools a:hover { | 487 | .entry .tools a:hover { |
488 | color: #FFF; | 488 | color: #FFF; |
489 | } | 489 | } |
490 | 490 | ||
491 | .entrie .tools li { | 491 | .entry .tools li { |
492 | display: inline-block; | 492 | display: inline-block; |
493 | } | 493 | } |
494 | 494 | ||
495 | .entrie:nth-child(3n+1) { | 495 | .entry:nth-child(3n+1) { |
496 | margin-left: 0; | 496 | margin-left: 0; |
497 | } | 497 | } |
498 | 498 | ||
@@ -941,13 +941,13 @@ pre code { | |||
941 | ========================================================================== */ | 941 | ========================================================================== */ |
942 | 942 | ||
943 | @media screen and (max-width: 1050px) { | 943 | @media screen and (max-width: 1050px) { |
944 | .entrie { | 944 | .entry { |
945 | width: 49%; | 945 | width: 49%; |
946 | } | 946 | } |
947 | .entrie:nth-child(3n+1) { | 947 | .entry:nth-child(3n+1) { |
948 | margin-left: 1.5%; | 948 | margin-left: 1.5%; |
949 | } | 949 | } |
950 | .entrie:nth-child(2n+1) { | 950 | .entry:nth-child(2n+1) { |
951 | margin-left: 0; | 951 | margin-left: 0; |
952 | } | 952 | } |
953 | } | 953 | } |
@@ -962,7 +962,7 @@ pre code { | |||
962 | } | 962 | } |
963 | 963 | ||
964 | @media screen and (max-width: 700px) { | 964 | @media screen and (max-width: 700px) { |
965 | .entrie { | 965 | .entry { |
966 | width: 100%; | 966 | width: 100%; |
967 | margin-left: 0; | 967 | margin-left: 0; |
968 | } | 968 | } |
@@ -972,7 +972,7 @@ pre code { | |||
972 | } | 972 | } |
973 | 973 | ||
974 | @media screen and (max-width: 500px) { | 974 | @media screen and (max-width: 500px) { |
975 | .entrie { | 975 | .entry { |
976 | width: 100%; | 976 | width: 100%; |
977 | margin-left: 0; | 977 | margin-left: 0; |
978 | } | 978 | } |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig index fbdc1ffd..b9f1be49 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig | |||
@@ -18,6 +18,7 @@ | |||
18 | {% if entries is not empty %} | 18 | {% if entries is not empty %} |
19 | <div class="results clearfix"> | 19 | <div class="results clearfix"> |
20 | <div class="nb-results left">{{ entries.count }} {% trans %}entries{% endtrans %}</div> | 20 | <div class="nb-results left">{{ entries.count }} {% trans %}entries{% endtrans %}</div> |
21 | <div class="left"><form>{{ form_rest(form) }}<button class="btn waves-effect waves-light" type="submit" id="submit-filter" value="filter">Filter</button></form></div> | ||
21 | <ul class="pagination right"> | 22 | <ul class="pagination right"> |
22 | {% for p in range(1, entries.nbPages) %} | 23 | {% for p in range(1, entries.nbPages) %} |
23 | <li class="{{ currentPage == p ? 'active':'waves-effect'}}"> | 24 | <li class="{{ currentPage == p ? 'active':'waves-effect'}}"> |
@@ -38,8 +39,8 @@ | |||
38 | <div class="card"> | 39 | <div class="card"> |
39 | <div class="card-content"> | 40 | <div class="card-content"> |
40 | <span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></span> | 41 | <span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></span> |
41 | {% if entry.content| readingTime > 0 %} | 42 | {% if entry.readingTime > 0 %} |
42 | <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} {{ entry.content| readingTime }} min</span></div> | 43 | <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} {{ entry.readingTime }} min</span></div> |
43 | {% else %} | 44 | {% else %} |
44 | <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} <small class="inferieur"><</small> 1 min</span></div> | 45 | <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} <small class="inferieur"><</small> 1 min</span></div> |
45 | {% endif %} | 46 | {% endif %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/public/css/print.css b/src/Wallabag/CoreBundle/Resources/views/themes/material/public/css/print.css index 9dd6d295..2a799c44 100755 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/public/css/print.css +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/public/css/print.css | |||
@@ -25,7 +25,7 @@ body > footer, | |||
25 | div.tools, | 25 | div.tools, |
26 | header div, | 26 | header div, |
27 | .messages, | 27 | .messages, |
28 | .entrie + .results { | 28 | .entry + .results { |
29 | display: none !important; | 29 | display: none !important; |
30 | } | 30 | } |
31 | 31 | ||
diff --git a/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php b/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php index 2cd50130..24848eb2 100644 --- a/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php +++ b/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php | |||
@@ -240,4 +240,23 @@ class EntryControllerTest extends WallabagCoreTestCase | |||
240 | 240 | ||
241 | $this->assertEquals(403, $client->getResponse()->getStatusCode()); | 241 | $this->assertEquals(403, $client->getResponse()->getStatusCode()); |
242 | } | 242 | } |
243 | |||
244 | public function testFilterOnUnreadeView() | ||
245 | { | ||
246 | $this->logInAs('admin'); | ||
247 | $client = $this->getClient(); | ||
248 | |||
249 | $crawler = $client->request('GET', '/unread/list'); | ||
250 | |||
251 | $form = $crawler->filter('button[id=submit-filter]')->form(); | ||
252 | |||
253 | $data = array( | ||
254 | 'entry_filter[readingTime][right_number]' => 11, | ||
255 | 'entry_filter[readingTime][left_number]' => 11 | ||
256 | ); | ||
257 | |||
258 | $crawler = $client->submit($form, $data); | ||
259 | |||
260 | $this->assertCount(1, $crawler->filter('div[class=entry]')); | ||
261 | } | ||
243 | } | 262 | } |
diff --git a/src/Wallabag/CoreBundle/Twig/Extension/WallabagExtension.php b/src/Wallabag/CoreBundle/Twig/Extension/WallabagExtension.php index 18388948..5f0a9643 100644 --- a/src/Wallabag/CoreBundle/Twig/Extension/WallabagExtension.php +++ b/src/Wallabag/CoreBundle/Twig/Extension/WallabagExtension.php | |||
@@ -7,7 +7,6 @@ class WallabagExtension extends \Twig_Extension | |||
7 | public function getFilters() | 7 | public function getFilters() |
8 | { | 8 | { |
9 | return array( | 9 | return array( |
10 | new \Twig_SimpleFilter('readingTime', array($this, 'getReadingTime')), | ||
11 | new \Twig_SimpleFilter('domainName', array($this, 'getDomainName')), | 10 | new \Twig_SimpleFilter('domainName', array($this, 'getDomainName')), |
12 | ); | 11 | ); |
13 | } | 12 | } |
@@ -24,18 +23,6 @@ class WallabagExtension extends \Twig_Extension | |||
24 | return parse_url($url, PHP_URL_HOST); | 23 | return parse_url($url, PHP_URL_HOST); |
25 | } | 24 | } |
26 | 25 | ||
27 | /** | ||
28 | * For a given text, we calculate reading time for an article. | ||
29 | * | ||
30 | * @param $text | ||
31 | * | ||
32 | * @return float | ||
33 | */ | ||
34 | public static function getReadingTime($text) | ||
35 | { | ||
36 | return floor(str_word_count(strip_tags($text)) / 200); | ||
37 | } | ||
38 | |||
39 | public function getName() | 26 | public function getName() |
40 | { | 27 | { |
41 | return 'wallabag_extension'; | 28 | return 'wallabag_extension'; |