Unsupported scripts and control panel web app for a hosting company
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

status.php 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?PHP
  2. $sql = 'SELECT result_result, result_time, server_name, service_name, results.server_id, results.service_id FROM results NATURAL JOIN servers, services WHERE results.service_id = services.service_id AND result_last = 1 ORDER BY server_name, service_name';
  3. $last = 0;
  4. $res = mysql_query($sql);
  5. while ($row = mysql_fetch_array($res)) {
  6. if ($row['server_name'] !== $last) {
  7. if ($last !== 0) { echo '</table></div>'; }
  8. $i = 1;
  9. ?>
  10. <div class="block" id="<?PHP echo $row['server_name']; ?>">
  11. <h2><?PHP echo $row['server_name']; ?></h2>
  12. <table class="innerblock">
  13. <tr>
  14. <th>Service</th>
  15. <th>Status</th>
  16. <th>Time</th>
  17. <th>Last up</th>
  18. <th>Observed Uptime</th>
  19. <th>Silence</th>
  20. </tr>
  21. <?PHP
  22. $last = $row['server_name'];
  23. }
  24. $i = 1 - $i;
  25. echo '<tr class="'.($i == 0 ? 'even' : 'odd').'"><td>'.$row['service_name'].'</td><td';
  26. if ($row['result_result'] == 'up') {
  27. echo ' style="color: green;"';
  28. } else {
  29. echo ' style="color: red;"';
  30. }
  31. echo '>'.ucfirst($row['result_result']).'</td>';
  32. echo '<td>'.date('r',$row['result_time']).'</td>';
  33. $sql = 'SELECT MAX(result_time) FROM results WHERE server_id = '.$row['server_id'].' AND service_id = '.$row['service_id'].' AND result_result = \'up\'';
  34. $re2 = mysql_query($sql);
  35. $ro2 = mysql_fetch_array($re2);
  36. echo '<td>'.date('r',$ro2[0]).'</td>';
  37. $sql = 'SELECT COUNT(*), result_result FROM results WHERE server_id = '.$row['server_id'].' AND service_id = '.$row['service_id'].' GROUP BY result_result';
  38. $re2 = mysql_query($sql) or print(mysql_error());
  39. $uptime = array('up'=>0,'down'=>0);
  40. while ($ro2 = mysql_fetch_array($re2)) {
  41. $uptime[($ro2[1])] = $ro2[0];
  42. }
  43. echo '<td>'.round(100*$uptime['up']/($uptime['up']+$uptime['down']),3).'%</td>';
  44. $re2 = mysql_query('SELECT ss_silenced FROM servserv WHERE server_id = '.$row['server_id'].' AND service_id = '.$row['service_id']) or print(mysql_error());
  45. $ro2 = mysql_fetch_array($re2);
  46. if ($ro2[0] == '1') {
  47. echo '<td style="color: red;">Silenced</td>';
  48. } else {
  49. echo '<td><a href="?silence&amp;serv='.$row['server_id'].'&amp;svc='.$row['service_id'].'">Silence</a></td>';
  50. }
  51. echo '</tr>';
  52. }
  53. ?>
  54. </div>