diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index 052397f01..0d03f2d99 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -489,43 +489,20 @@ class AdminControllerCore extends Controller if ($this->filter) $this->processFilter(); - - // Methods tests - $case1 = false; - $case2 = false; - if (!empty($this->action)) + // If the method named after the action exists, call "before" hooks, then call action method, then call "after" hooks + if (!empty($this->action) && method_exists($this, 'process'.ucfirst(Tools::toCamelCase($this->action)))) { - $case1 = method_exists($this, 'process'.ucfirst(Tools::toCamelCase($this->action))); - $case2 = method_exists($this, $this->action); - } - - - // Hook before action - if ($case1 || $case2) - { - /* Hook Before Action */ + // Hook before action Hook::exec('actionAdmin'.ucfirst($this->action).'Before', array('controller' => $this)); Hook::exec('action'.get_class($this).ucfirst($this->action).'Before', array('controller' => $this)); - } - - - // Call process - if ($case1) + // Call process $return = $this->{'process'.Tools::toCamelCase($this->action)}($token); - else if ($case2) - $return = $this->{$this->action}($this->boxes); - - - // Hook after action - if ($case1 || $case2) - { - /* Hook After Action */ + // Hook After Action Hook::exec('actionAdmin'.ucfirst($this->action).'After', array('controller' => $this, 'return' => $return)); Hook::exec('action'.get_class($this).ucfirst($this->action).'After', array('controller' => $this, 'return' => $return)); return $return; } - } }