<?php namespace MailPoet\Listing; if (!defined('ABSPATH')) exit; class BulkActionFactory { /** @var array */ private $actions = []; public function registerAction($modelClass, $bulkActionMethod, $actionClass) { $this->ensureMethodExists($actionClass, $bulkActionMethod); $this->actions[$modelClass][$bulkActionMethod] = $actionClass; } public function getActionClass($modelClass, $bulkActionMethod) { $resultingClass = $modelClass; if (!empty($this->actions[$modelClass][$bulkActionMethod])) { $resultingClass = $this->actions[$modelClass][$bulkActionMethod]; } $this->ensureMethodExists($resultingClass, $bulkActionMethod); return $resultingClass; } private function ensureMethodExists($actionClass, $bulkActionMethod) { if (!method_exists($actionClass, $bulkActionMethod)) { throw new \Exception( (is_object($actionClass) ? get_class($actionClass) : $actionClass) . ' has no method "' . $bulkActionMethod . '"' ); } } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
BulkActionController.php | File | 812 B | 0644 |
|
BulkActionFactory.php | File | 1007 B | 0644 |
|
Handler.php | File | 4.98 KB | 0644 |
|
ListingDefinition.php | File | 1.69 KB | 0644 |
|
ListingRepository.php | File | 3.51 KB | 0644 |
|
PageLimit.php | File | 662 B | 0644 |
|
index.php | File | 0 B | 0644 |
|