This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
phptsmadmin/application/classes/controller/node.php
2011-06-23 17:03:41 +10:00

86 lines
2.3 KiB
PHP

<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class provides information on TSM Nodes.
*
* @package PTA
* @subpackage Nodes
* @category Controllers
* @author Deon George
* @copyright (c) 2010 phpTSMadmin Development Team
* @license http://phptsmadmin.sf.net/license.html
*/
class Controller_NODE extends Controller_TemplateDefault {
/**
* Default Index for Controller
*/
public function action_index() {
$no = ORM::factory('node');
$output = '';
$output .= sprintf(_('This server has <b>%s</b> defined nodes.'),$no->count_all());
$output .= '<br/>';
$output .= '<br/>';
$select = array();
$select[NULL] = '';
foreach ($no->find_all() as $node)
$select[$node->NODE_NAME] = $node->NODE_NAME;
$output .= Form::open('/node/detail',array('id'=>'node_detail'));
$output .= sprintf('%s: %s',_('Choose a node to view'),Form::select('node_name',$select,NULL,array('id'=>'node_name')));
$output .= Form::submit('form_submit',_('Go'));
$output .= Form::close();
Block::add(array(
'title'=>_('TSM Nodes'),
'body'=>$output,
));
}
public function action_detail($node_name=NULL) {
if (is_null($node_name) AND (empty($_POST['node_name']) OR ! $node_name = $_POST['node_name'])) {
SystemMessage::add(array(
'title'=>_('NODE_NAME is required'),
'type'=>'error',
'body'=>_('The node name is required.'),
));
Request::current()->redirect('node');
}
$no = ORM::factory('node',$node_name);
if (! $no->loaded()) {
SystemMessage::add(array(
'title'=>_('Unknown NODE_NAME'),
'type'=>'error',
'body'=>sprintf(_('The node [%s] does not exist?.'),$node_name),
));
Request::current()->redirect('node');
}
Block::add(array(
'title'=>sprintf('%s %s',_('Detailed Node Information for'),$no->NODE_NAME),
'body'=>View::factory('node/detail')->set('node',$no),
));
Block::add(array(
'title'=>_('Protected File System Information'),
'body'=>View::factory('node/detail_filesystem')->set('node',$no),
));
Block::add(array(
'title'=>_('Sequential Volume Usage Information'),
'body'=>View::factory('node/detail_volumes')->set('node',$no),
));
Block::add(array(
'title'=>_('Schedule Information'),
'body'=>View::factory('node/detail_schedule')->set('node',$no),
));
}
}
?>