Current Path : /home/sudancam/public_html3/games/wp-content/plugins/wp-rss-aggregator/src/Modules/ |
Current File : /home/sudancam/public_html3/games/wp-content/plugins/wp-rss-aggregator/src/Modules/BulkAddToolModule.php |
<?php namespace RebelCode\Wpra\Core\Modules; use Aventura\Wprss\Core\Component\BulkSourceImport; use Aventura\Wprss\Core\Model\BulkSourceImport\ServiceProvider; use Dhii\Di\WritableContainerInterface; use Psr\Container\ContainerInterface; use RebelCode\Wpra\Core\Templates\NullTemplate; /** * The module that adds the "Bulk Add" tool to WP RSS Aggregator. * * @since 4.17 */ class BulkAddToolModule implements ModuleInterface { /** * @inheritdoc * * @since 4.17 */ public function getFactories() { return [ /* * Information about the "Bulk Add" tool. * * @since 4.17 */ 'wpra/admin/tools/bulk_add/info' => function (ContainerInterface $c) { return [ 'name' => __('Bulk Add Sources', 'wprss'), 'template' => $c->has('wpra/twig/collection') ? $c->get('wpra/twig/collection')['admin/tools/bulk_add.twig'] : new NullTemplate(), ]; }, /* * The handler that listens to the bulk add request and creates the feed sources. * * @since 4.17 */ 'wpra/admin/tools/bulk_add/handler' => function (ContainerInterface $c) { return function () { $feeds = filter_input(INPUT_POST, 'wpra_bulk_feeds', FILTER_DEFAULT); if (empty($feeds)) { return; } // Check nonce check_admin_referer('wpra_bulk_add', 'wpra_bulk_nonce'); /* @var $importer BulkSourceImport */ $importer = wprss_wp_container()->get(WPRSS_SERVICE_ID_PREFIX . 'bulk_source_import'); $results = $importer->import($feeds); wprss()->getAdminAjaxNotices()->addNotice('bulk_feed_import'); }; }, ]; } /** * @inheritdoc * * @since 4.17 */ public function getExtensions() { return [ /* * Registers the "Bulk Add" tool. * * @since 4.17 */ 'wpra/admin/tools' => function (ContainerInterface $c, $tools) { return $tools + ['bulk_add' => $c->get('wpra/admin/tools/bulk_add/info')]; }, ]; } /** * @inheritdoc * * @since 4.17 */ public function run(ContainerInterface $c) { // Register the Bulk Add handler add_action('admin_init', $c->get('wpra/admin/tools/bulk_add/handler')); } }