Example #1
0
 public function callEndpoint($options, $params)
 {
     if (is_string($options)) {
         $actionArray = explode("::", $options);
         $controller = $actionArray[0];
         $action = $actionArray[1];
     } else {
         if (is_array($options)) {
             $controller = $options["controller"];
             $action = $options["action"];
         }
     }
     Controller::autoload($controller);
     $c = new $controller();
     $c->action = $action;
     $this->runFilters($c, $action, $params, $c->beforeFilters, $c->skipBeforeFilters);
     if (count($c->aroundFilters) == 0) {
         call_user_method_array($action, $c, $params);
     } else {
         $count = $this->runFilters($c, $action, $params, $c->aroundFilters, $c->skipAroundFilters);
         if (!$count) {
             call_user_method_array($action, $c, $params);
         }
     }
     $this->runFilters($c, $action, $params, $c->afterFilters, $c->skipAfterFilters);
 }