mirror of
https://gitlab.com/JKANetwork/CheckServer.git
synced 2026-06-12 19:26:18 +02:00
Start again
This commit is contained in:
@@ -1,88 +1,43 @@
|
||||
<?php
|
||||
require_once "load.php";
|
||||
|
||||
$results = dbw_query($db_conn,"SELECT * FROM GROUPS"); //All groups
|
||||
|
||||
while ($group = dbw_fetch_array($db_conn,$results)){ //Know name of all groups
|
||||
$groups[$group['ID_G']] = $group['name'];
|
||||
if (isset($_GET['logout'])){session_start(); session_destroy();} //Logout
|
||||
if (!file_exists(dirname(__FILE__).'/config/config.php')){
|
||||
die('Not configured yet');
|
||||
}
|
||||
unset($results); //Free mem
|
||||
require_once 'functions.php';
|
||||
|
||||
$results = dbw_query($db_conn,"SELECT * FROM CHECKS ORDER BY ID_G"); //All checks
|
||||
|
||||
while ($onechk = dbw_fetch_array($db_conn,$results)){
|
||||
$idchk = $onechk['ID_C'];
|
||||
$chks[$idchk] = $onechk; //First array data
|
||||
$chks[$idchk]['nameGroup'] = $groups[$onechk['ID_G']]; //Know group of this check
|
||||
$ID_TC = $chks[$idchk]['ID_TC']; //Type of Check
|
||||
|
||||
switch ($ID_TC){
|
||||
// Case 3 (Visits) is numeric, not status
|
||||
case 1: //Ping
|
||||
case 2: //HttpCode
|
||||
case 4: //MySQL
|
||||
case 5: //JSON GET|POST
|
||||
|
||||
//To enter or not, check if has history (Instead of count > 0, only see if there is any timestamp, is faster)
|
||||
if (dbw_query_fetch_array($db_conn, "SELECT `timestamp` FROM CHKHIST WHERE ID_C = '$idchk' LIMIT 1")[0] != 0){
|
||||
|
||||
$consul = dbw_query_fetch_array($db_conn, "SELECT `code`,`timestamp` FROM CHKHIST WHERE ID_C = '$idchk' ORDER BY `timestamp` DESC LIMIT 1");
|
||||
$chks[$idchk]['dateLastChk'] = date('d/m H:i',$consul['timestamp']);
|
||||
$db_conn = dbconn();
|
||||
|
||||
$chks[$idchk]['failedLastChk'] = $consul['code'];
|
||||
//Calculemos estadísticas
|
||||
$servs = dbw_query_fetch_array($db_conn,"SELECT COUNT(*) FROM SERVERS")[0];
|
||||
|
||||
$lastErr = dbw_query_fetch_array($db_conn, "SELECT MAX(`timestamp`) FROM CHKHIST WHERE ID_C = '$idchk' AND code != 0")[0]; //Record last error, for showing if there are any.
|
||||
if ($lastErr != false){
|
||||
$chks[$idchk]['dateLastErr'] = date('d/m H:i',$lastErr);
|
||||
}
|
||||
//Sacar datos de cada servidor
|
||||
$serverssql = dbw_query($db_conn,"SELECT ID_SERV FROM SERVERS"); //Todos los ID_SERV
|
||||
$numrows['all'] = dbw_num_rows($db_conn,$serverssql);
|
||||
$numrows['on'] = 0;
|
||||
$numrows['enabled'] = dbw_query_fetch_array($db_conn,"SELECT COUNT(*) FROM SERVERS WHERE `Enabled`=1")[0];
|
||||
|
||||
$chks[$idchk]['nameCheck'] = arrayTypeChk()[$ID_TC]; //To send array name and not the word
|
||||
$SEnabled = 0;
|
||||
$STotal = 0;
|
||||
$SActive = 0;
|
||||
|
||||
if ($onechk['manStatus'] != ''){
|
||||
$chks[$idchk]['uptime'] = 255;//255 = Maintenance I suppose, not implemented
|
||||
}else{
|
||||
$chks[$idchk]['uptime'] = getUptime($idchk);
|
||||
}
|
||||
list($chks[$idchk]['statusText'],$chks[$idchk]['statusColor']) = getStatus($idchk);
|
||||
}else{ //If nothing collected yet
|
||||
$chks[$idchk]['uptime'] = -1; // -1 is nothing in twig page
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 3: //Visits
|
||||
$visitsSite = dbw_query($db_conn, "SELECT * FROM (SELECT * FROM VISITS WHERE ID_C = '$idchk' ORDER BY `date` DESC LIMIT 0,5) sub ORDER BY `date` ASC"); //Subquery for reorder lastest days in reverse
|
||||
//Create array from last 5 days
|
||||
while ($visitsDay = dbw_fetch_array($db_conn, $visitsSite)){
|
||||
$dateArray[] = $visitsDay['date'];
|
||||
$visitsArray[] = $visitsDay['visits'];
|
||||
$uniqueVisitsArray[] = $visitsDay['uniqueVisits'];
|
||||
}
|
||||
$chks[$idchk]['dateArray'] = implode(',',$dateArray);
|
||||
$chks[$idchk]['visitsArray'] = implode(',',$visitsArray);
|
||||
break;
|
||||
}
|
||||
while ($id = dbw_fetch_array($db_conn,$serverssql)){
|
||||
$server = serverData($id['ID_SERV']);
|
||||
if ($server['Online']){$numrows['on']++;}
|
||||
$servers[$id['ID_SERV']] = $server; //Insert data array
|
||||
|
||||
$STotal += $server['STotal'];
|
||||
$SEnabled += $server['SEnabled'];
|
||||
$SActive += $server['SActive'];
|
||||
}
|
||||
$numrows['off'] = $numrows['all'] - $numrows['on'];
|
||||
|
||||
//Here load "News"
|
||||
$numrows['allsensors'] = $STotal + $numrows['all'];
|
||||
$numrows['activesensors'] = $SActive + $numrows['on'];
|
||||
|
||||
$incidents = dbw_query($db_conn,"SELECT * FROM NEWS ORDER BY ID_N DESC LIMIT 20");
|
||||
while ($incident = dbw_fetch_array($db_conn,$incidents)){
|
||||
$ID_N = $incident['ID_N'];
|
||||
$incs[$ID_N]['day'] = date('j/n/Y', $incident['timestamp']);
|
||||
require_once "lib/parsedown.php"; //Import parsedown (once)
|
||||
|
||||
$incs[$ID_N]['sentBy'] = $incident['sentBy'];
|
||||
if ($incident['sentBy'] != NULL && substr($incident['sentBy'],0,1) == "S"){ // Sent by a page
|
||||
$pageinc = substr($incident['sentBy'],1);
|
||||
$pageinc = dbw_query_fetch_array($db_conn,"SELECT name FROM CHECKS WHERE ID_C = '$pageinc'")[0];
|
||||
$incs[$ID_N]['sentBy'] = $pageinc;
|
||||
}
|
||||
$incs[$ID_N]['text'] = Parsedown::instance()
|
||||
->setMarkupEscaped(true) # escapes markup (HTML)
|
||||
->text($incident['text']);
|
||||
$incs[$ID_N]['ID_N'] = $incident['ID_N'];
|
||||
if (!isset($servers)){
|
||||
$servers = NULL;
|
||||
}
|
||||
renderPage('indexpage.twig',array('checks' => $chks, 'news' => $incs)); //Render
|
||||
?>
|
||||
renderPage('index.twig',array('servers' => $servers,'numrows' => $numrows));
|
||||
|
||||
Reference in New Issue
Block a user