From cb20328a6aaa97d140aceb97e35e3a7fba3ecee8 Mon Sep 17 00:00:00 2001 From: JKA Network Date: Tue, 9 Jan 2018 22:36:45 +0100 Subject: [PATCH] Version 0.9.2 --- README.md | 16 +++++++++++++--- assets/html/indexpage.twig | 16 +--------------- connect.php | 3 ++- functions.php | 27 ++++++++++++++++++++++++++- index.php | 13 +++++++------ install.php | 2 +- updater.php | 18 ++++++++++++++---- 7 files changed, 64 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 522a9a5..247f8f4 100755 --- a/README.md +++ b/README.md @@ -43,11 +43,21 @@ a backup of your sqlite.db3 database. ## Changelog -### (WIP) Version 0.9.2 +### (WIP) Version 0.9.3 --TODO: More info in admin page +-TODO: Cleaner code --Fix duplicate entries for failed checks +### Version 0.9.2 (Beta) + +-A bit more info in admin page (Checks->Errors/History info) + +-Fix duplicate entries for failed checks (Less false failed tests) + +-More optimizations when lot of pages/tests + +-Show correct dates in index + +-Updater fixed, 0.9.1 not working right ### Version 0.9.1 (Beta) diff --git a/assets/html/indexpage.twig b/assets/html/indexpage.twig index bf3db5c..9c34fb0 100755 --- a/assets/html/indexpage.twig +++ b/assets/html/indexpage.twig @@ -32,21 +32,7 @@ {# "Switch" type #} {% if check.ID_TC == 1 or check.ID_TC == 2 or check.ID_TC == 4 %} {# Ping, HttpCode, SQL DB #} - {#IF/SWITCH uptime to text#} - {%if check.uptime <= 100 and check.uptime > 90 %} - {{T_.status_right}} - {%elseif check.uptime <= 95 and check.uptime > 60 %} - {{T_.status_lproblems}} - {%elseif check.uptime <= 60 and check.uptime > 15 %} - {{T_.status_problems}} - {%elseif check.uptime <= 15 and check.uptime >= 0 %} - {{T_.status_outofserv}} - {%elseif check.uptime == 255 %} - {{T_.status_maintenance}} - {%else%} - {{T_.status_empty}} - {%endif%} - {#END IF/SWITCH#} + {{check.statusText}} ({{ check.uptime}}%) {% if check.uptime != -1 %}{#Only if records exists#} diff --git a/connect.php b/connect.php index 02ba389..94f129e 100755 --- a/connect.php +++ b/connect.php @@ -1,5 +1,5 @@ 4 + return array($T_['status_outofserv'],'red'); + break; + } } diff --git a/index.php b/index.php index 22daf7b..93ad878 100755 --- a/index.php +++ b/index.php @@ -6,7 +6,7 @@ $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']; } - +unset($results); //Free mem $results = dbw_query($db_conn,"SELECT * FROM CHECKS ORDER BY ID_G"); //All checks @@ -21,10 +21,10 @@ while ($onechk = dbw_fetch_array($db_conn,$results)){ case 2: //HttpCode case 4: //MySQL - if (dbw_query_fetch_array($db_conn, "SELECT COUNT(`ID_CHist`) FROM CHKHIST WHERE ID_C = '$idchk'")[0] != 0){ + //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' AND (select min(`timestamp`) FROM CHKHIST)"); + $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']); $chks[$idchk]['failedLastChk'] = $consul['code']; @@ -40,15 +40,16 @@ while ($onechk = dbw_fetch_array($db_conn,$results)){ if ($onechk['manStatus'] != ''){ $chks[$idchk]['uptime'] = 255;//255 = Maintenance I suppose, not implemented }else{ - $chks[$idchk]['uptime'] = checkUptime($db_conn,$idchk); + $chks[$idchk]['uptime'] = getUptime($db_conn,$idchk); } + list($chks[$idchk]['statusText'],$chks[$idchk]['statusColor']) = getStatus($db_conn,$T_,$idchk); } 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"); + $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']; diff --git a/install.php b/install.php index c00f6dc..9001634 100755 --- a/install.php +++ b/install.php @@ -1,5 +1,5 @@ Updater of CheckServer"; echo "

Connecting to database

"; -require_once 'connect.php'; +require_once 'lib/dbwrapper.php'; +$db_file = __DIR__."/sqlite.db3"; +if (!is_file($db_file)){ //Go to install if not. + header("Location: install.php"); + die(); +} +$db_conn = dbw_connect("sqlite",$db_file); //Database + $version = dbw_query_fetch_array($db_conn,"SELECT value FROM SYS WHERE option = 'version'")[0]; echo "

Your version: ".$version; echo "

Updating to lastest

"; @@ -11,9 +18,12 @@ switch ($version){ dbw_query($db_conn,"DELETE FROM SYS WHERE option='maxChecksSave'"); dbw_query($db_conn,"INSERT INTO SYS VALUES('maxTimeSave',14)"); //Can not delete USERS.SessionID because sqlite3 not supports it, but doesn't do any harm. - - case '0.9.1': - echo "0.9.1-Lastest"; + dbw_query($db_conn,"UPDATE SYS SET value='0.9.1' WHERE option='version'"); + case '0.9.1': //No db updates + echo "

0.9.1->0.9.2

"; + dbw_query($db_conn,"UPDATE SYS SET value='0.9.2' WHERE option='version'"); + case '0.9.2': + echo "0.9.2-Lastest"; echo "

Updated to lastest. Close this and go to index

"; //Remove files on a good update unlink('updater.php');