template = Config::theme().'/page'; return parent::__construct($request,$response); } public function before() { // If our action doesnt exist, no point processing any further. if (! method_exists($this,'action_'.Request::current()->action())) return; if ($this->auth_required) { if (! count($this->secure_actions) OR (! isset($this->secure_actions[Request::current()->action()]))) throw HTTP_Exception::factory(403,'Class has no security defined :class, or no security configured for :method',array(':class'=>get_class($this),':method'=>Request::current()->action())); $this->ao = Auth::instance()->get_user(); if (! is_null($this->ao) AND (is_string($this->ao) OR ! $this->ao->loaded())) throw HTTP_Exception::factory(501,'Account doesnt exist :account ?',array(':account'=>(is_string($this->ao) OR is_null($this->ao)) ? $this->ao : Auth::instance()->get_user()->id)); } parent::before(); } // @todo To rework public function after() { $dc = URL::link('user','welcome/index'); $m = sprintf('%s/%s',Request::current()->directory(),Request::current()->controller()); BreadCrumb::URL(Request::current()->directory(),sprintf('%s/%s',Request::current()->directory(),$dc),FALSE); BreadCrumb::URL($m,method_exists($this,'action_menu') ? $m.'/menu' : sprintf('%s/%s',Request::current()->directory(),$dc),FALSE); parent::after(); } protected function save(Model $o) { try { $o->save(); return $o->saved(); } catch (ORM_Validation_Exception $e) { SystemMessage::factory() ->title('Record NOT updated') ->type('error') ->body(join('
',array_values($e->errors('models')))); return FALSE; } } protected function setup(array $config_items=array()) { $mo = ORM::factory('Module',array('name'=>Request::current()->controller())); if (! $mo->loaded()) throw HTTP_Exception::factory(501,'Unknown module :module',array(':module'=>Request::current()->controller())); if ($_POST AND isset($_POST['module_config'][$mo->id])) Config::instance()->module_config($mo->name,$_POST['module_config'][$mo->id])->save(); if ($config_items) { Block::factory() ->title('Update Module Configuration') ->title_icon('icon-wrench') ->type('form-horizontal') ->body(View::factory('setup/admin/module')->set('o',Company::instance()->so())->set('mid',$mo->id)); } } } ?>