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 new Kohana_Exception('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(); } public function after() { $dc = Kohana::$config->load('config','user_default_method'); $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(); } /** * This will filter a search query to only return those accounts for a reseller */ protected function filter($o,$af,$sort=NULL,$afid=NULL) { $result = array(); foreach ($o as $x) { if (! is_null($afid) AND isset($x->$afid)) { if ((is_array($af) AND in_array($x->$afid,$af)) OR ($x->$afid == $af)) array_push($result,$x); } elseif (method_exists($x,'list_reseller')) { if (in_array($af,$x->list_reseller())) array_push($result,$x); } } if ($sort) Sort::MAsort($result,$sort); return $result; } 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, )); } } } ?>