Files
piratepoet/lib/Listing/BulkActionController.php
Rostislav Wolny a69ae0eea7 Refactor listing handler to reusable service
[MAILPOET-1689]
2018-12-17 15:02:42 +01:00

25 lines
614 B
PHP

<?php
namespace MailPoet\Listing;
if(!defined('ABSPATH')) exit;
class BulkActionController {
function apply($model_class, array $data) {
$bulk_action_method = 'bulk'.ucfirst($data['action']);
unset($data['action']);
if(!method_exists($model_class, $bulk_action_method)) {
throw new \Exception(
$model_class. ' has no method "'.$bulk_action_method.'"'
);
}
$listing_handler = new Handler();
return call_user_func_array(
array($model_class, $bulk_action_method),
array($listing_handler->getSelection($model_class, $data['listing']), $data)
);
}
}