ftimme
2012-05-30 2cb1563f63386b35a69e460051aa9b4a2851d104
interface/web/monitor/show_data.php
@@ -30,6 +30,7 @@
require_once('../../lib/config.inc.php');
require_once('../../lib/app.inc.php');
require_once('tools.inc.php');
//* Check permissions for module
$app->auth->check_module_permissions('monitor');
@@ -38,293 +39,115 @@
/* Get the dataType to show */
$dataType = $_GET["type"];
/* Change the Server if needed */
if (isset($_GET['server'])){
   $server = explode('|', $_GET['server'], 2);
   $_SESSION['monitor']['server_id'] = $server[0];
   $_SESSION['monitor']['server_name'] = $server[1];
}
/* Get some translations */
$monTransDate = $app->lng("monitor_settings_datafromdate_txt");
$monTransSrv = $app->lng("monitor_settings_server_txt");
$output = '';
switch($dataType) {
   case 'server_load':
      $template = 'templates/show_data.htm';
      $output .= showServerLoad();
      $title = 'Server Load (Server: ' . $_SESSION['monitor']['server_name'] . ')';
      $description = '';
      break;
   case 'disk_usage':
      $template = 'templates/show_data.htm';
      $output .= showDiskUsage();
      $title = 'Disk usage (Server: ' . $_SESSION['monitor']['server_name'] . ')';
      $description = '';
      break;
   case 'mem_usage':
      $template = 'templates/show_data.htm';
      $output .= showMemUsage();
      $title = 'Memory usage (Server: ' . $_SESSION['monitor']['server_name'] . ')';
      $description = '';
      break;
   case 'cpu_info':
      $template = 'templates/show_data.htm';
      $output .= showCpuInfo();
      $title = 'CPU info (Server: ' . $_SESSION['monitor']['server_name'] . ')';
      $description = '';
      break;
   case 'services':
      $template = 'templates/show_data.htm';
      $output .= showServices();
      $title = 'Status of services (Server: ' . $_SESSION['monitor']['server_name'] . ')';
      $description = '';
      break;
   case 'overview':
      $template = 'templates/show_data.htm';
      $output .= showServerLoad();
      $output .= ' '. showDiskUsage();
      $output .= ' '.showServices();
      $title = 'System Monitor (Server: ' . $_SESSION['monitor']['server_name'] . ')';
      $description = '';
      break;
   default:
      $template = '';
      break;
    case 'server_load':
        $template = 'templates/show_data.htm';
        $output .= showServerLoad();
        $time = getDataTime('server_load');
        $title = $app->lng("Server Load").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'disk_usage':
        $template = 'templates/show_data.htm';
        $output .= showDiskUsage();
        $time = getDataTime('disk_usage');
        $title = $app->lng("Disk usage").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'mem_usage':
        $template = 'templates/show_data.htm';
        $output .= showMemUsage();
        $time = getDataTime('mem_usage');
        $title = $app->lng("Memory usage").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'cpu_info':
        $template = 'templates/show_data.htm';
        $output .= showCpuInfo();
        $time = getDataTime('cpu_info');
        $title = $app->lng("monitor_title_cpuinfo_txt").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'services':
        $template = 'templates/show_data.htm';
        $output .= showServices();
        $time = getDataTime('services');
        $title = $app->lng("Status of services").' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'openvz_beancounter':
        $template = 'templates/show_data.htm';
        $output .= showOpenVzBeanCounter();
        $time = getDataTime('openvz_beancounter');
        $title = $app->lng("monitor_title_beancounter_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'system_update':
        $template = 'templates/show_data.htm';
        $output .= showSystemUpdate();
        $time = getDataTime('system_update');
        $title = $app->lng("monitor_title_updatestate_txt"). ' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'mailq':
        $template = 'templates/show_data.htm';
        $output .= showMailq();
        $time = getDataTime('mailq');
        $title = $app->lng("monitor_title_mailq_txt"). ' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'raid_state':
        $template = 'templates/show_data.htm';
        $output .= showRaidState();
        $time = getDataTime('raid_state');
        $title = $app->lng("monitor_title_raidstate_txt"). ' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'rkhunter':
        $template = 'templates/show_data.htm';
        $output .= showRKHunter();
        $time = getDataTime('rkhunter');
        $title = $app->lng("monitor_title_rkhunterlog_txt"). ' ('. $monTransSrv .' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'fail2ban':
        $template = 'templates/show_data.htm';
        $output .= showFail2ban();
        $time = getDataTime('log_fail2ban');
        $title = $app->lng("monitor_title_fail2ban_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    case 'iptables':
        $template = 'templates/show_data.htm';
        $output .= showIPTables();
        $time = getDataTime('iptables_rules');
        $title = $app->lng("monitor_title_iptables_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')';
        $description = '';
        break;
    default:
        $template = '';
        break;
}
// Loading the template
$app->uses('tpl');
$app->tpl->newTemplate("form.tpl.htm");
$app->tpl->setInclude('content_tpl',$template);
$app->tpl->setInclude('content_tpl', $template);
$app->tpl->setVar("output",$output);
$app->tpl->setVar("title",$title);
$app->tpl->setVar("description",$description);
$app->tpl->setVar("output", $output);
$app->tpl->setVar("list_head_txt", $title);
$app->tpl->setVar("list_desc_txt", $description);
$app->tpl->setVar("time", $time);
$app->tpl->setVar("monTransDate", $monTransDate);
$app->tpl_defaults();
$app->tpl->pparse();
function showServerLoad(){
   global $app;
   /* fetch the Data from the DB */
   $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'server_load' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
   if(isset($record['data'])) {
      $data = unserialize($record['data']);
      /*
       Format the data
      */
      $html .=
      '<table id="system_load">
         <tr>
         <td>' . $app->lng("Server online since").':</td>
         <td>' . $data['up_days'] . ' days, ' . $data['up_hours'] . ':' . $data['up_minutes'] . ' hours</center></td>
         </tr>
         <tr>
         <td>' . $app->lng("Users online").':</td>
         <td>' . $data['user_online'] . '</td>
         </tr>' .
         '<tr>
         <td>' . $app->lng("System load 1 minute") . ':</td>
         <td>' . $data['load_1'] . '</td>
         </tr>
         <tr>
         <td>' . $app->lng("System load 5 minutes") . ':</td>
         <td>' . $data['load_5'] . '</td>
         </tr>
         <tr>
         <td>'.$app->lng("System load 15 minutes").':</td>
         <td>' . $data['load_15'] . '</td>
         </tr>
         </table>';
   } else {
      $html = '<p>'.$app->lng("no_data_serverload_txt").'</p>';
   }
   return $html;
}
function showDiskUsage () {
   global $app;
   /* fetch the Data from the DB */
   $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'disk_usage' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
   if(isset($record['data'])) {
      $data = unserialize($record['data']);
      /*
       Format the data
      */
      $html .= '<table id="system_disk">';
      foreach($data as $line) {
         $html .= '<tr>';
         foreach ($line as $item) {
            $html .= '<td>' . $item . '</td>';
         }
         $html .= '</tr>';
      }
      $html .= '</table>';
   } else {
      $html = '<p>'.$app->lng("no_data_diskusage_txt").'</p>';
   }
   return $html;
}
function showMemUsage ()
{
   global $app;
   /* fetch the Data from the DB */
   $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mem_usage' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
   if(isset($record['data'])) {
      $data = unserialize($record['data']);
      /*
       Format the data
      */
      $html .= '<table id="system_memusage">';
      foreach($data as $key => $value){
         if ($key != '') {
            $html .= '<tr>
               <td>' . $key . ':</td>
               <td>' . $value . '</td>
               </tr>';
         }
      }
      $html .= '</table>';
   } else {
      $html = '<p>'.$app->lng("no_data_memusage_txt").'</p>';
   }
   return $html;
}
function showCpuInfo ()
{
   global $app;
   /* fetch the Data from the DB */
   $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'cpu_info' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
   if(isset($record['data'])) {
      $data = unserialize($record['data']);
      /*
       Format the data
      */
      $html .= '<table id="system_cpu">';
      foreach($data as $key => $value){
         if ($key != '') {
            $html .= '<tr>
               <td>' . $key . ':</td>
               <td>' . $value . '</td>
               </tr>';
         }
      }
      $html .= '</table>';
   } else {
      $html = '<p>'.$app->lng("no_data_cpuinfo_txt").'</p>';
   }
   return $html;
}
function showServices ()
{
   global $app;
   /* fetch the Data from the DB */
   $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'services' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
   if(isset($record['data'])) {
      $data = unserialize($record['data']);
      /*
       Format the data
      */
      $html .= '<table id="system_services">';
      if($data['webserver'] == true) {
         $status = '<span class="online">Online</span>';
      } else {
         $status = '<span class="offline">Offline</span>';
      }
      $html .= '<tr>
         <td>Web-Server:</td>
         <td>'.$status.'</td>
         </tr>';
      if($data['ftpserver'] == true) {
         $status = '<span class="online">Online</span>';
      } else {
         $status = '<span class="offline">Offline</span>';
      }
      $html .= '<tr>
         <td>FTP-Server:</td>
         <td>'.$status.'</td>
         </tr>';
      if($data['smtpserver'] == true) {
         $status = '<span class="online">Online</span>';
      } else {
         $status = '<span class="offline">Offline</span>';
      }
      $html .= '<tr>
         <td>SMTP-Server:</td>
         <td>'.$status.'</td>
         </tr>';
      if($data['pop3server'] == true) {
         $status = '<span class="online">Online</span>';
      } else {
         $status = '<span class="offline">Offline</span>';
      }
      $html .= '<tr>
         <td>POP3-Server:</td>
         <td>'.$status.'</td>
         </tr>';
      if($data['bindserver'] == true) {
         $status = '<span class="online">Online</span>';
      } else {
         $status = '<span class="offline">Offline</span>';
      }
      $html .= '<tr>
         <td>DNS-Server:</td>
         <td>'.$status.'</td>
         </tr>';
      if($data['mysqlserver'] == true) {
         $status = '<span class="online">Online</span>';
      } else {
         $status = '<span class="offline">Offline</span>';
      }
      $html .= '<tr>
         <td>mySQL-Server:</td>
         <td>'.$status.'</td>
         </tr>';
      $html .= '</table></div>';
   } else {
      $html = '<p>'.$app->lng("no_data_services_txt").'</p>';
   }
   return $html;
}
?>
?>