Files
piratepoet/lib/Listing/BulkActionFactory.php
Amine Ben hammou 43df66d162 Add public keyword to methods
[MAILPOET-2413]
2019-12-26 18:09:45 +03:00

31 lines
1012 B
PHP

<?php
namespace MailPoet\Listing;
class BulkActionFactory {
/** @var array */
private $actions = [];
public function registerAction($model_class, $bulk_action_method, $action_class) {
$this->ensureMethodExists($action_class, $bulk_action_method);
$this->actions[$model_class][$bulk_action_method] = $action_class;
}
public function getActionClass($model_class, $bulk_action_method) {
$resulting_class = $model_class;
if (!empty($this->actions[$model_class][$bulk_action_method])) {
$resulting_class = $this->actions[$model_class][$bulk_action_method];
}
$this->ensureMethodExists($resulting_class, $bulk_action_method);
return $resulting_class;
}
private function ensureMethodExists($action_class, $bulk_action_method) {
if (!method_exists($action_class, $bulk_action_method)) {
throw new \Exception(
(is_object($action_class) ? get_class($action_class) : $action_class) . ' has no method "' . $bulk_action_method . '"'
);
}
}
}