public function missingMethod($args = null) { if (!$args) { return; // parent::missingMethod($args); } $modelClass = \Devhook::getClassByKey($args[0]); $this->model = new $modelClass(); $action = ucfirst(isset($args[1]) ? $args[1] : 'List'); $methodAction = strtolower($_SERVER['REQUEST_METHOD']) . $action; $anyAction = 'any' . $action; $args = array_splice($args, 2); $modelActions = $this->model->getModelActions(); $this->link = $modelActions['list']['link']; \AdminUI::menu('navbar')->active('data'); foreach ($modelActions as $key => $act) { $menuItem = \AdminUI::menu('actions')->add($act['link'], $act['title']); if (!empty($act['icon'])) { $menuItem->icon($act['icon']); } } return call_user_func_array(array($this, $methodAction), $args); if (method_exists($this, $methodAction)) { return call_user_func_array(array($this, $methodAction), $args); } elseif (method_exists($this, $anyAction)) { return call_user_func_array(array($this, $anyAction), $args); } return parent::missingMethod($args); }
public function register() { $this->app['devhook'] = $this->app->share(function ($app) { return Devhook::get_instance(); }); $this->app['adminUI'] = $this->app->share(function ($app) { return AdminUI::get_instance(); }); }