OSB enhancements to date
This commit is contained in:
101
modules/module/classes/controller/admin/module.php
Normal file
101
modules/module/classes/controller/admin/module.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||||
|
||||
/**
|
||||
* This class provides MODULE management
|
||||
*
|
||||
* @package lnApp
|
||||
* @subpackage Page/Module
|
||||
* @category Controllers
|
||||
* @author Deon George
|
||||
* @copyright (c) 2010 Deon George
|
||||
* @license http://dev.leenooks.net/license.html
|
||||
*/
|
||||
class Controller_Admin_Module extends Controller_Module {
|
||||
/**
|
||||
* Our menu method
|
||||
*
|
||||
* We need this method, otherwise we have redirect from our parent
|
||||
*/
|
||||
public function action_menu() {
|
||||
$this->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();
|
||||
}
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user