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 setup(array $config_items=array()) { $module = Request::current()->controller(); if ($_POST AND isset($_POST['module_config'][$module])) Config::instance()->module_config($module,$_POST['module_config'][$module])->save(); if ($config_items) { $output = ''; $mc = Config::instance()->module_config($module); $output .= Form::open(); $output .= View::factory('setup/admin/module/head'); foreach ($config_items as $k=>$v) $output .= View::factory('setup/admin/module/body') ->set('module',$module) ->set('mc',$mc) ->set('key',$k) ->set('info',$v) ->set('val',isset($mc[$k]) ? $mc[$k] : ''); $output .= View::factory('setup/admin/module/foot'); $output .= Form::submit('submit',_('Submit'),array('class'=>'form_button')); $output .= Form::close(); Block::add(array( 'title'=>sprintf('%s: %s',strtoupper($module),_('Configuration')), 'body'=>$output, )); } } } ?>