diff --git a/assets/js/src/forms/list.jsx b/assets/js/src/forms/list.jsx index fd009fc702..495a3e03ed 100644 --- a/assets/js/src/forms/list.jsx +++ b/assets/js/src/forms/list.jsx @@ -71,6 +71,14 @@ const messages = { } }; +const bulk_actions = [ + { + name: 'trash', + label: MailPoet.I18n.t('trash'), + onSuccess: messages.onTrash + } +]; + const item_actions = [ { name: 'edit', @@ -158,14 +166,15 @@ const FormList = React.createClass({ diff --git a/assets/js/src/listing/listing.jsx b/assets/js/src/listing/listing.jsx index 4eb4ffa424..066f7c1e55 100644 --- a/assets/js/src/listing/listing.jsx +++ b/assets/js/src/listing/listing.jsx @@ -733,6 +733,7 @@ define( { search }
diff --git a/composer.lock b/composer.lock index 8d11b98774..6ee1bdc8e1 100644 --- a/composer.lock +++ b/composer.lock @@ -251,16 +251,16 @@ }, { "name": "phpmailer/phpmailer", - "version": "v5.2.14", + "version": "v5.2.15", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "e774bc9152de85547336e22b8926189e582ece95" + "reference": "d0186171b28af4f06ac2ad8a84a8f3d6cbc3ba6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/e774bc9152de85547336e22b8926189e582ece95", - "reference": "e774bc9152de85547336e22b8926189e582ece95", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/d0186171b28af4f06ac2ad8a84a8f3d6cbc3ba6c", + "reference": "d0186171b28af4f06ac2ad8a84a8f3d6cbc3ba6c", "shasum": "" }, "require": { @@ -271,8 +271,7 @@ "phpunit/phpunit": "4.7.*" }, "suggest": { - "league/oauth2-client": "Needed for XOAUTH2 authentication", - "league/oauth2-google": "Needed for Gmail XOAUTH2" + "league/oauth2-google": "Needed for Google XOAUTH2 authentication" }, "type": "library", "autoload": { @@ -308,7 +307,7 @@ } ], "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "time": "2015-11-01 10:15:28" + "time": "2016-05-10 18:39:36" }, { "name": "phpseclib/phpseclib", @@ -494,16 +493,16 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v5.4.1", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421" + "reference": "d8db871a54619458a805229a057ea2af33c753e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/0697e6aa65c83edf97bb0f23d8763f94e3f11421", - "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/d8db871a54619458a805229a057ea2af33c753e8", + "reference": "d8db871a54619458a805229a057ea2af33c753e8", "shasum": "" }, "require": { @@ -543,7 +542,7 @@ "mail", "mailer" ], - "time": "2015-06-06 14:19:39" + "time": "2016-05-01 08:45:47" }, { "name": "symfony/polyfill-mbstring", @@ -606,16 +605,16 @@ }, { "name": "symfony/translation", - "version": "v2.8.3", + "version": "v2.8.6", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "b7b4ebadd2b5e614ff7d2d6fc63e0ed0578909c7" + "reference": "d60b8e076d22953aabebeebda53bf334438e7aca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b7b4ebadd2b5e614ff7d2d6fc63e0ed0578909c7", - "reference": "b7b4ebadd2b5e614ff7d2d6fc63e0ed0578909c7", + "url": "https://api.github.com/repos/symfony/translation/zipball/d60b8e076d22953aabebeebda53bf334438e7aca", + "reference": "d60b8e076d22953aabebeebda53bf334438e7aca", "shasum": "" }, "require": { @@ -666,7 +665,7 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2016-02-02 09:49:18" + "time": "2016-03-25 01:40:30" }, { "name": "tburry/pquery", @@ -785,16 +784,16 @@ "packages-dev": [ { "name": "codeception/codeception", - "version": "2.1.7", + "version": "2.1.8", "source": { "type": "git", "url": "https://github.com/Codeception/Codeception.git", - "reference": "65971b0dee4972710365b6102154cd412a9bf7b1" + "reference": "f3daa61f0f11c531b33eb3623ab0daa599d88a79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/65971b0dee4972710365b6102154cd412a9bf7b1", - "reference": "65971b0dee4972710365b6102154cd412a9bf7b1", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/f3daa61f0f11c531b33eb3623ab0daa599d88a79", + "reference": "f3daa61f0f11c531b33eb3623ab0daa599d88a79", "shasum": "" }, "require": { @@ -862,7 +861,7 @@ "functional testing", "unit testing" ], - "time": "2016-03-12 01:15:25" + "time": "2016-04-15 02:56:43" }, { "name": "codeception/verify", @@ -899,16 +898,16 @@ }, { "name": "codegyre/robo", - "version": "0.7.1", + "version": "0.7.2", "source": { "type": "git", "url": "https://github.com/Codegyre/Robo.git", - "reference": "1f4e0621fdc37521e2eaca67f33d1c4e240dc7d8" + "reference": "9982edecb19f59420031dd9855b0d31e861b8b68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codegyre/Robo/zipball/1f4e0621fdc37521e2eaca67f33d1c4e240dc7d8", - "reference": "1f4e0621fdc37521e2eaca67f33d1c4e240dc7d8", + "url": "https://api.github.com/repos/Codegyre/Robo/zipball/9982edecb19f59420031dd9855b0d31e861b8b68", + "reference": "9982edecb19f59420031dd9855b0d31e861b8b68", "shasum": "" }, "require": { @@ -950,7 +949,7 @@ } ], "description": "Modern task runner", - "time": "2016-02-25 19:28:51" + "time": "2016-04-13 20:14:17" }, { "name": "doctrine/instantiator", @@ -1051,16 +1050,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "6.1.1", + "version": "6.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c" + "reference": "d094e337976dff9d8e2424e8485872194e768662" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c6851d6e48f63b69357cbfa55bca116448140e0c", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d094e337976dff9d8e2424e8485872194e768662", + "reference": "d094e337976dff9d8e2424e8485872194e768662", "shasum": "" }, "require": { @@ -1076,7 +1075,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.1-dev" + "dev-master": "6.2-dev" } }, "autoload": { @@ -1109,7 +1108,7 @@ "rest", "web service" ], - "time": "2015-11-23 00:47:50" + "time": "2016-03-21 20:02:09" }, { "name": "guzzlehttp/promises", @@ -1164,16 +1163,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.2.3", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "2e89629ff057ebb49492ba08e6995d3a6a80021b" + "reference": "31382fef2889136415751badebbd1cb022a4ed72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/2e89629ff057ebb49492ba08e6995d3a6a80021b", - "reference": "2e89629ff057ebb49492ba08e6995d3a6a80021b", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/31382fef2889136415751badebbd1cb022a4ed72", + "reference": "31382fef2889136415751badebbd1cb022a4ed72", "shasum": "" }, "require": { @@ -1218,7 +1217,7 @@ "stream", "uri" ], - "time": "2016-02-18 21:54:00" + "time": "2016-04-13 19:56:01" }, { "name": "henrikbjorn/lurker", @@ -1976,16 +1975,16 @@ }, { "name": "sebastian/environment", - "version": "1.3.5", + "version": "1.3.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf" + "reference": "2292b116f43c272ff4328083096114f84ea46a56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf", - "reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/2292b116f43c272ff4328083096114f84ea46a56", + "reference": "2292b116f43c272ff4328083096114f84ea46a56", "shasum": "" }, "require": { @@ -2022,7 +2021,7 @@ "environment", "hhvm" ], - "time": "2016-02-26 18:40:46" + "time": "2016-05-04 07:59:13" }, { "name": "sebastian/exporter", @@ -2231,16 +2230,16 @@ }, { "name": "symfony/browser-kit", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "dde849a0485b70a24b36f826ed3fb95b904d80c3" + "reference": "e07127ac31230b30887c2dddf3708d883d239b14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/dde849a0485b70a24b36f826ed3fb95b904d80c3", - "reference": "dde849a0485b70a24b36f826ed3fb95b904d80c3", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/e07127ac31230b30887c2dddf3708d883d239b14", + "reference": "e07127ac31230b30887c2dddf3708d883d239b14", "shasum": "" }, "require": { @@ -2284,20 +2283,20 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2016-01-27 11:34:55" + "time": "2016-03-04 07:55:57" }, { "name": "symfony/config", - "version": "v2.8.3", + "version": "v2.8.6", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "0f8f94e6a32b5c480024eed5fa5cbd2790d0ad19" + "reference": "edbbcf33cffa2a85104fc80de8dc052cc51596bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/0f8f94e6a32b5c480024eed5fa5cbd2790d0ad19", - "reference": "0f8f94e6a32b5c480024eed5fa5cbd2790d0ad19", + "url": "https://api.github.com/repos/symfony/config/zipball/edbbcf33cffa2a85104fc80de8dc052cc51596bb", + "reference": "edbbcf33cffa2a85104fc80de8dc052cc51596bb", "shasum": "" }, "require": { @@ -2337,20 +2336,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2016-02-22 16:12:45" + "time": "2016-04-20 18:52:26" }, { "name": "symfony/console", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "2ed5e2706ce92313d120b8fe50d1063bcfd12e04" + "reference": "34a214710e0714b6efcf40ba3cd1e31373a97820" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2ed5e2706ce92313d120b8fe50d1063bcfd12e04", - "reference": "2ed5e2706ce92313d120b8fe50d1063bcfd12e04", + "url": "https://api.github.com/repos/symfony/console/zipball/34a214710e0714b6efcf40ba3cd1e31373a97820", + "reference": "34a214710e0714b6efcf40ba3cd1e31373a97820", "shasum": "" }, "require": { @@ -2397,20 +2396,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2016-02-28 16:24:34" + "time": "2016-04-28 09:48:42" }, { "name": "symfony/css-selector", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "6605602690578496091ac20ec7a5cbd160d4dff4" + "reference": "65e764f404685f2dc20c057e889b3ad04b2e2db0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/6605602690578496091ac20ec7a5cbd160d4dff4", - "reference": "6605602690578496091ac20ec7a5cbd160d4dff4", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/65e764f404685f2dc20c057e889b3ad04b2e2db0", + "reference": "65e764f404685f2dc20c057e889b3ad04b2e2db0", "shasum": "" }, "require": { @@ -2450,20 +2449,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2016-01-27 05:14:46" + "time": "2016-03-04 07:55:57" }, { "name": "symfony/dom-crawler", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "981c8edb4538f88ba976ed44bdcaa683fce3d6c6" + "reference": "49b588841225b205700e5122fa01911cabada857" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/981c8edb4538f88ba976ed44bdcaa683fce3d6c6", - "reference": "981c8edb4538f88ba976ed44bdcaa683fce3d6c6", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/49b588841225b205700e5122fa01911cabada857", + "reference": "49b588841225b205700e5122fa01911cabada857", "shasum": "" }, "require": { @@ -2506,20 +2505,20 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2016-02-28 16:24:34" + "time": "2016-04-12 18:09:53" }, { "name": "symfony/event-dispatcher", - "version": "v2.8.3", + "version": "v2.8.6", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "78c468665c9568c3faaa9c416a7134308f2d85c3" + "reference": "a158f13992a3147d466af7a23b564ac719a4ddd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/78c468665c9568c3faaa9c416a7134308f2d85c3", - "reference": "78c468665c9568c3faaa9c416a7134308f2d85c3", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a158f13992a3147d466af7a23b564ac719a4ddd8", + "reference": "a158f13992a3147d466af7a23b564ac719a4ddd8", "shasum": "" }, "require": { @@ -2566,20 +2565,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2016-01-27 05:14:19" + "time": "2016-05-03 18:59:18" }, { "name": "symfony/filesystem", - "version": "v2.8.3", + "version": "v2.8.6", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "65cb36b6539b1d446527d60457248f30d045464d" + "reference": "dee379131dceed90a429e951546b33edfe7dccbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/65cb36b6539b1d446527d60457248f30d045464d", - "reference": "65cb36b6539b1d446527d60457248f30d045464d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/dee379131dceed90a429e951546b33edfe7dccbb", + "reference": "dee379131dceed90a429e951546b33edfe7dccbb", "shasum": "" }, "require": { @@ -2615,20 +2614,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2016-02-22 15:02:30" + "time": "2016-04-12 18:01:21" }, { "name": "symfony/finder", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "623bda0abd9aa29e529c8e9c08b3b84171914723" + "reference": "c54e407b35bc098916704e9fd090da21da4c4f52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/623bda0abd9aa29e529c8e9c08b3b84171914723", - "reference": "623bda0abd9aa29e529c8e9c08b3b84171914723", + "url": "https://api.github.com/repos/symfony/finder/zipball/c54e407b35bc098916704e9fd090da21da4c4f52", + "reference": "c54e407b35bc098916704e9fd090da21da4c4f52", "shasum": "" }, "require": { @@ -2664,20 +2663,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2016-01-27 05:14:46" + "time": "2016-03-10 11:13:05" }, { "name": "symfony/form", - "version": "v2.8.3", + "version": "v2.8.6", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "25b71aec36879b4a84c2ea06603dbe7498b31f06" + "reference": "922807a06e25c0c6e06b86f83ffe4710080a8b2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/25b71aec36879b4a84c2ea06603dbe7498b31f06", - "reference": "25b71aec36879b4a84c2ea06603dbe7498b31f06", + "url": "https://api.github.com/repos/symfony/form/zipball/922807a06e25c0c6e06b86f83ffe4710080a8b2e", + "reference": "922807a06e25c0c6e06b86f83ffe4710080a8b2e", "shasum": "" }, "require": { @@ -2738,20 +2737,20 @@ ], "description": "Symfony Form Component", "homepage": "https://symfony.com", - "time": "2016-02-28 15:05:09" + "time": "2016-04-28 09:59:09" }, { "name": "symfony/intl", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "cafee6f65148dab9058cdb6de5631222aca820d0" + "reference": "a602fe5a36cfc6367c5495b38a88c443570e75da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/cafee6f65148dab9058cdb6de5631222aca820d0", - "reference": "cafee6f65148dab9058cdb6de5631222aca820d0", + "url": "https://api.github.com/repos/symfony/intl/zipball/a602fe5a36cfc6367c5495b38a88c443570e75da", + "reference": "a602fe5a36cfc6367c5495b38a88c443570e75da", "shasum": "" }, "require": { @@ -2813,20 +2812,20 @@ "l10n", "localization" ], - "time": "2016-02-23 15:16:06" + "time": "2016-04-01 06:34:33" }, { "name": "symfony/options-resolver", - "version": "v2.8.3", + "version": "v2.8.6", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "d1e6e9182d9e5af6367bf85175e708f8b4a828c0" + "reference": "5e4a8ee6e823428257f2002f6daf52de854d8384" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/d1e6e9182d9e5af6367bf85175e708f8b4a828c0", - "reference": "d1e6e9182d9e5af6367bf85175e708f8b4a828c0", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/5e4a8ee6e823428257f2002f6daf52de854d8384", + "reference": "5e4a8ee6e823428257f2002f6daf52de854d8384", "shasum": "" }, "require": { @@ -2867,7 +2866,7 @@ "configuration", "options" ], - "time": "2016-01-21 09:05:51" + "time": "2016-05-09 18:12:35" }, { "name": "symfony/polyfill-intl-icu", @@ -2929,16 +2928,16 @@ }, { "name": "symfony/process", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "dfecef47506179db2501430e732adbf3793099c8" + "reference": "53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/dfecef47506179db2501430e732adbf3793099c8", - "reference": "dfecef47506179db2501430e732adbf3793099c8", + "url": "https://api.github.com/repos/symfony/process/zipball/53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb", + "reference": "53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb", "shasum": "" }, "require": { @@ -2974,20 +2973,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2016-02-02 13:44:19" + "time": "2016-04-14 15:30:28" }, { "name": "symfony/property-access", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "f138bcc0cdaf6a6aba99ecab20d235b394f46eba" + "reference": "d9deeca5d2f0dffd90f9547d3d9a2007bd6ee61b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/f138bcc0cdaf6a6aba99ecab20d235b394f46eba", - "reference": "f138bcc0cdaf6a6aba99ecab20d235b394f46eba", + "url": "https://api.github.com/repos/symfony/property-access/zipball/d9deeca5d2f0dffd90f9547d3d9a2007bd6ee61b", + "reference": "d9deeca5d2f0dffd90f9547d3d9a2007bd6ee61b", "shasum": "" }, "require": { @@ -3034,20 +3033,20 @@ "property path", "reflection" ], - "time": "2016-02-13 09:23:44" + "time": "2016-04-20 18:53:54" }, { "name": "symfony/routing", - "version": "v2.8.3", + "version": "v2.8.6", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "ae38e64bae52753c0f4a1a6583f5ba9bb2b742ab" + "reference": "0d814e0c1dc07cb688ca2298bbf7b32ace80cee1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/ae38e64bae52753c0f4a1a6583f5ba9bb2b742ab", - "reference": "ae38e64bae52753c0f4a1a6583f5ba9bb2b742ab", + "url": "https://api.github.com/repos/symfony/routing/zipball/0d814e0c1dc07cb688ca2298bbf7b32ace80cee1", + "reference": "0d814e0c1dc07cb688ca2298bbf7b32ace80cee1", "shasum": "" }, "require": { @@ -3109,20 +3108,20 @@ "uri", "url" ], - "time": "2016-02-04 13:53:00" + "time": "2016-05-03 12:21:46" }, { "name": "symfony/twig-bridge", - "version": "v2.8.3", + "version": "v2.8.6", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "ba898e4714734948dc00c4d776e1d6be165ff8c4" + "reference": "789ffb6f63574d8d5573520ba12156f5c395fcd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/ba898e4714734948dc00c4d776e1d6be165ff8c4", - "reference": "ba898e4714734948dc00c4d776e1d6be165ff8c4", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/789ffb6f63574d8d5573520ba12156f5c395fcd5", + "reference": "789ffb6f63574d8d5573520ba12156f5c395fcd5", "shasum": "" }, "require": { @@ -3134,7 +3133,7 @@ "symfony/console": "~2.8|~3.0.0", "symfony/expression-language": "~2.4|~3.0.0", "symfony/finder": "~2.3|~3.0.0", - "symfony/form": "~2.8", + "symfony/form": "~2.8.4", "symfony/http-kernel": "~2.8|~3.0.0", "symfony/polyfill-intl-icu": "~1.0", "symfony/routing": "~2.2|~3.0.0", @@ -3190,20 +3189,20 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", - "time": "2016-02-22 15:02:30" + "time": "2016-03-30 10:37:34" }, { "name": "symfony/yaml", - "version": "v3.0.3", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "b5ba64cd67ecd6887f63868fa781ca094bd1377c" + "reference": "0047c8366744a16de7516622c5b7355336afae96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/b5ba64cd67ecd6887f63868fa781ca094bd1377c", - "reference": "b5ba64cd67ecd6887f63868fa781ca094bd1377c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0047c8366744a16de7516622c5b7355336afae96", + "reference": "0047c8366744a16de7516622c5b7355336afae96", "shasum": "" }, "require": { @@ -3239,7 +3238,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2016-02-23 15:16:06" + "time": "2016-03-04 07:55:57" }, { "name": "twig/extensions", @@ -3344,23 +3343,23 @@ }, { "name": "vlucas/phpdotenv", - "version": "v2.2.0", + "version": "v2.2.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "9caf304153dc2288e4970caec6f1f3b3bc205412" + "reference": "63f37b9395e8041cd4313129c08ece896d06ca8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/9caf304153dc2288e4970caec6f1f3b3bc205412", - "reference": "9caf304153dc2288e4970caec6f1f3b3bc205412", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/63f37b9395e8041cd4313129c08ece896d06ca8e", + "reference": "63f37b9395e8041cd4313129c08ece896d06ca8e", "shasum": "" }, "require": { "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "^4.8|^5.0" + "phpunit/phpunit": "^4.8 || ^5.0" }, "type": "library", "extra": { @@ -3375,7 +3374,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD" + "BSD-3-Clause-Attribution" ], "authors": [ { @@ -3385,13 +3384,12 @@ } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "homepage": "http://github.com/vlucas/phpdotenv", "keywords": [ "dotenv", "env", "environment" ], - "time": "2015-12-29 15:10:30" + "time": "2016-04-15 10:48:49" } ], "aliases": [], diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php index 0e18df1f2a..e6e0211d27 100644 --- a/lib/Config/Menu.php +++ b/lib/Config/Menu.php @@ -46,7 +46,7 @@ class Menu { $this->assets_url . '/img/menu_icon.png', 30 ); - add_submenu_page( + $newsletters_page = add_submenu_page( 'mailpoet', $this->setPageTitle(__('Newsletters')), __('Newsletters'), @@ -57,7 +57,19 @@ class Menu { 'newsletters' ) ); - add_submenu_page( + + // add limit per page to screen options + add_action('load-'.$newsletters_page, function() { + add_screen_option('per_page', array( + 'label' => _x( + 'Number of newsletters per page', + 'newsletters per page (screen options)' + ), + 'option' => 'mailpoet_newsletters_per_page' + )); + }); + + $forms_page = add_submenu_page( 'mailpoet', $this->setPageTitle(__('Forms')), __('Forms'), @@ -68,6 +80,17 @@ class Menu { 'forms' ) ); + // add limit per page to screen options + add_action('load-'.$forms_page, function() { + add_screen_option('per_page', array( + 'label' => _x( + 'Number of forms per page', + 'forms per page (screen options)' + ), + 'option' => 'mailpoet_forms_per_page' + )); + }); + $subscribers_page = add_submenu_page( 'mailpoet', $this->setPageTitle(__('Subscribers')), @@ -90,7 +113,7 @@ class Menu { )); }); - add_submenu_page( + $segments_page = add_submenu_page( 'mailpoet', $this->setPageTitle(__('Segments')), __('Segments'), @@ -101,6 +124,18 @@ class Menu { 'segments' ) ); + + // add limit per page to screen options + add_action('load-'.$segments_page, function() { + add_screen_option('per_page', array( + 'label' => _x( + 'Number of segments per page', + 'segments per page (screen options)' + ), + 'option' => 'mailpoet_segments_per_page' + )); + }); + add_submenu_page( 'mailpoet', $this->setPageTitle( __('Settings')), @@ -318,14 +353,7 @@ class Menu { function subscribers() { $data = array(); - // listing: limit per page - $listing_per_page = get_user_meta( - get_current_user_id(), 'mailpoet_subscribers_per_page', true - ); - $data['per_page'] = (!empty($listing_per_page)) - ? (int)$listing_per_page - : Listing\Handler::DEFAULT_LIMIT_PER_PAGE; - + $data['items_per_page'] = $this->getLimitPerPage('subscribers'); $data['segments'] = Segment::getSegmentsWithSubscriberCount(); $data['custom_fields'] = array_map(function($field) { @@ -350,11 +378,14 @@ class Menu { function segments() { $data = array(); + $data['items_per_page'] = $this->getLimitPerPage('segments'); echo $this->renderer->render('segments.html', $data); } function forms() { $data = array(); + + $data['items_per_page'] = $this->getLimitPerPage('forms'); $data['segments'] = Segment::findArray(); echo $this->renderer->render('forms.html', $data); @@ -365,6 +396,7 @@ class Menu { $data = array(); + $data['items_per_page'] = $this->getLimitPerPage('newsletters'); $data['segments'] = Segment::getSegmentsWithSubscriberCount(); $data['settings'] = Setting::getAll(); $data['roles'] = $wp_roles->get_names(); @@ -438,4 +470,17 @@ class Menu { $title ); } + + function getLimitPerPage($model = null) { + if($model === null) { + return Listing\Handler::DEFAULT_LIMIT_PER_PAGE; + } + + $listing_per_page = get_user_meta( + get_current_user_id(), 'mailpoet_'.$model.'_per_page', true + ); + return (!empty($listing_per_page)) + ? (int)$listing_per_page + : Listing\Handler::DEFAULT_LIMIT_PER_PAGE; + } } \ No newline at end of file diff --git a/views/forms.html b/views/forms.html index dcdc1d5027..cf2f8d450f 100644 --- a/views/forms.html +++ b/views/forms.html @@ -4,6 +4,7 @@
<% endblock %> <% block translations %> @@ -11,6 +15,9 @@ 'loadingItems': __('Loading segments...'), 'noItemsFound': __('No segments found.'), 'permanentlyDeleted': __('%d segments permanently deleted.'), + 'selectBulkAction': __('Select bulk action'), + 'bulkActions': __('Bulk Actions'), + 'apply': __('Apply'), 'name': __('Name'), 'description': __('Description'), 'segmentUpdated': __('Segment successfully updated!'), @@ -36,10 +43,19 @@ 'edit': __('Edit'), 'trash': __('Trash'), 'emptyTrash': __('Empty Trash'), + 'selectAll': __('Select All'), 'restore': __('Restore'), 'deletePermanently': __('Delete Permanently'), 'save': __('Save'), + + 'previousPage': __('Previous page'), + 'firstPage': __('First page'), + 'nextPage': __('Next page'), + 'lastPage': __('Last page'), + 'currentPage': __('Current Page'), + 'pageOutOf': __('of'), 'numberOfItems': __('%$1d items'), + 'segmentDescriptionTip': __('For your own use and never shown to your subscribers.'), 'backToList': __('Back to list') }) %> diff --git a/views/subscribers/subscribers.html b/views/subscribers/subscribers.html index aa210dedf8..da519e752e 100644 --- a/views/subscribers/subscribers.html +++ b/views/subscribers/subscribers.html @@ -4,7 +4,7 @@