template->content = _('See menu on tree'); } /** * List our installed modules */ public function action_list() { $modules = ORM::factory('module'); $output = ''; $output .= View::factory('module/admin/list_header'); foreach ($modules->find_all() as $mo) { $output .= View::factory('module/admin/list_body') ->set('module',$mo); } $output .= View::factory('module/admin/list_footer'); Block::add(array( 'title'=>_('Currently installed modules'), 'body'=>$output, )); $this->template->content = Block::factory(); } /** * Edit a Module Configuration * * @param int $mid Module ID */ public function action_edit($mid) { $mo = ORM::factory('module',$mid); if (! $mo->loaded()) { SystemMessage::add(array( 'title'=>_('Invalid Module ID'), 'type'=>'error', 'body'=>sprintf(_('Module with ID %s doesnt appear to exist?'),$mid), )); return; } $output = ''; $methods = $this->_methods($mo->name); // Show methods defined in the DB already. $output .= View::factory('module/admin/method_list_header'); foreach ($mo->module_method->find_all() as $meo) { if (($method = array_search($meo->name,$methods)) !== false) unset($methods[$method]); $output .= View::factory('module/admin/method_list_body') ->set('method',$meo) ->set('module',$mo) ->set('defined',$method !== false); } $output .= View::factory('module/admin/method_list_spacer'); // Show new methods NOT defined in the DB already. foreach ($methods as $method) { $meo = ORM::factory('module_method') ->values(array('name'=>$method,'notes'=>_('Not defined in DB'))); $output .= View::factory('module/admin/method_list_body') ->set('method',$meo) ->set('module',$mo) ->set('defined',$method === false); } $output .= View::factory('module/admin/method_list_footer'); Block::add(array( 'title'=>sprintf(_('%s Methods'),strtoupper($mo->name)), 'body'=>$output, )); $this->template->content = Block::factory(); } } ?>