Marius Cramer
2014-12-19 77cc4a99b15f4639b56c29a1207dc04b459c5d54
interface/lib/classes/tools_monitor.inc.php
@@ -118,6 +118,47 @@
      return $html;
   }
   function showDatabaseSize () {
      global $app;
      /* fetch the Data from the DB */
      $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'database_size' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
      if(isset($record['data'])) {
         $data = unserialize($record['data']);
         //* format the data
         $html =
            '<div class="systemmonitor-state state-'.$record['state'].'">
                   <div class="systemmonitor-content icons32 ico-'.$record['state'].'">
                   <table><thead><tr>
                   <td>'.$app->lng("monitor_database_name_txt").'</td>
                   <td>'.$app->lng("monitor_database_size_txt").'</td>
                   <td>'.$app->lng("monitor_database_client_txt").'</td>
               <td>'.$app->lng("monitor_database_domain_txt").'</td>
                   </tr>';
         foreach($data as $line) {
            $html .= '<tr>';
            if ($line['size'] > 0) $line['size'] = $app->functions->formatBytes($line['size']);
            //* get the client
            $line['client']=$app->db->queryOneRecord("SELECT client.username FROM web_database, sys_group, client WHERE web_database.sys_groupid = sys_group.groupid AND sys_group.client_id = client.client_id AND web_database.database_name='".$line['database_name']."'")['username'];
            //* get the domain
            $line['domain']=$app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id=(SELECT parent_domain_id FROM web_database WHERE database_name='".$line['database_name']."')")['domain'];
            //* remove the sys_groupid from output
            unset($line['sys_groupid']);
            foreach ($line as $item) {
               $html .= '<td>' . $item . '</td>';
            }
            $html .= '</tr></tmpl loop>';
         }
         $html .= '</tbody></table></div></div>';
      } else {
         $html = '<p>'.$app->lng("no_data_database_size_txt").'</p>';
      }
      return $html;
   }
   function showMemUsage () {
      global $app;
@@ -455,6 +496,40 @@
      return $html;
   }
   function showMongoDB() {
      global $app;
      /* fetch the Data from the DB */
      $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_mongodb' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
      if(isset($record['data'])) {
         $html =
            '<div class="systemmonitor-state state-'.$record['state'].'">
                <div class="systemmonitor-content icons32 ico-'.$record['state'].'">';
         /*
             * First, we have to detect, if there is any monitoring-data.
             * If not (because mongodb is not installed) show this.
            */
         $data = unserialize($record['data']);
         if ($data == '') {
            $html .= '<p>'.
               'MongoDB is not installed at this server.<br />' .
               'See more (for debian) <a href="http://www.howtoforge.com/fail2ban_debian_etch" target="htf">here...</a>'.
               '</p>';
         }
         else {
            $html .= nl2br($data);
         }
         $html .= '</div></div>';
      } else {
         $html = '<p>There is no data available at the moment.</p>';
      }
      return $html;
   }
   function showIPTables() {
      global $app;
      $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'iptables_rules' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");