1
0
mirror of https://gitlab.com/JKANetwork/CheckServer.git synced 2026-02-15 17:51:39 +01:00

Version 0.9.2

This commit is contained in:
2018-01-09 22:36:45 +01:00
parent f1b58a03f3
commit cb20328a6a
7 changed files with 64 additions and 31 deletions

View File

@@ -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)

View File

@@ -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 #}
<td>
{#IF/SWITCH uptime to text#}
{%if check.uptime <= 100 and check.uptime > 90 %}
<span class='green' data-tooltip='Type of check: {{check.nameCheck}}' data-tooltip-position='top'>{{T_.status_right}}</span>
{%elseif check.uptime <= 95 and check.uptime > 60 %}
<span class='blue' data-tooltip='Type of check: {{check.nameCheck}}' data-tooltip-position='top'>{{T_.status_lproblems}}</span>
{%elseif check.uptime <= 60 and check.uptime > 15 %}
<span class='orange' data-tooltip='Type of check: {{check.nameCheck}}' data-tooltip-position='top'>{{T_.status_problems}}</span>
{%elseif check.uptime <= 15 and check.uptime >= 0 %}
<span class='red' data-tooltip='Type of check: {{check.nameCheck}}' data-tooltip-position='top'>{{T_.status_outofserv}}</span>
{%elseif check.uptime == 255 %}
<span class='blue' data-tooltip='Type of check: {{check.nameCheck}}' data-tooltip-position='top'>{{T_.status_maintenance}}</span>
{%else%}
<span class='grey' data-tooltip='Type of check: {{check.nameCheck}}' data-tooltip-position='top'>{{T_.status_empty}}</span>
{%endif%}
{#END IF/SWITCH#}
<span class='{{check.statusColor}}' data-tooltip='Type of check: {{check.nameCheck}}' data-tooltip-position='top'>{{check.statusText}}</span>
({{ check.uptime}}%)
</td>
{% if check.uptime != -1 %}{#Only if records exists#}

View File

@@ -1,5 +1,5 @@
<?php
define('VERSION','0.9.1');
define('VERSION','0.9.2');
session_start(); //Session in all page
require_once "lib/dbwrapper.php";
@@ -25,6 +25,7 @@ if (isset($_SESSION['UserID'])){
$you['webRoot'] = webRoot();
}
$lang=getSystemOpt($db_conn,'lang');
//Translations
require_once __DIR__."/assets/translations/en.php"; //Ever first English, and then your lang (Database)

View File

@@ -3,7 +3,7 @@
require_once "connect.php";
require_once 'lib/loadTwig.php';
function checkUptime($db_conn,$ID_C,$precision = 0){
function getUptime($db_conn,$ID_C,$precision = 0){
if ($precision == 0){
$time = time()-30*7*3600; //Last week
}else{
@@ -26,7 +26,32 @@ function checkUptime($db_conn,$ID_C,$precision = 0){
return 100;
}
}
}
function getStatus($db_conn,$T_,$ID_C){
$resql = dbw_query($db_conn,"SELECT code FROM CHKHIST WHERE ID_C='$ID_C' ORDER BY `timestamp` DESC LIMIT 5");
$err = 0;
while ($x = dbw_fetch_array($db_conn,$resql)){
if ($x['code'] != 0){
$err++;
}
}
switch ($err){
case 0:
case 1:
return array($T_['status_right'],'green');
break;
case 2:
return array($T_['status_lproblems'],'blue');
break;
case 3:
case 4:
return array($T_['status_problems'],'orange');
break;
default: // > 4
return array($T_['status_outofserv'],'red');
break;
}
}

View File

@@ -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'];

View File

@@ -1,5 +1,5 @@
<?php
define('VERSION','0.9.1');
define('VERSION','0.9.2');
require_once 'lib/loadTwig.php';
$db_file = __DIR__."/sqlite.db3";

View File

@@ -1,7 +1,14 @@
<?php
echo "<h2>Updater of CheckServer</h2>";
echo "<p>Connecting to database</p>";
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 "<p>Your version: ".$version;
echo "<p>Updating to lastest</p>";
@@ -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 "<p>0.9.1->0.9.2<p>";
dbw_query($db_conn,"UPDATE SYS SET value='0.9.2' WHERE option='version'");
case '0.9.2':
echo "0.9.2-Lastest";
echo "<p>Updated to lastest. Close this and go to index</p>";
//Remove files on a good update
unlink('updater.php');