Пример #1
0
function vdt($dt)
{
    global $ago;
    if ($ago) {
        return dtago($dt);
    }
    return nicedt($dt);
}
Пример #2
0
function dal($arow)
{
    global $NATS;
    echo "<table border=0>";
    echo "<tr><td align=right><b>Alert : </b></td>";
    echo "<td align=left><b>" . $arow['nodeid'] . "/" . $arow['alertid'] . "</b></td></tr>";
    echo "<tr><td align=right>Opened : </td>";
    echo "<td align=left>" . nicedt($arow['openedx']) . "</td></tr>";
    if ($arow['closedx'] > 0) {
        $st = "<b class=\"al0\">Resolved</b>";
        $ct = nicedt($arow['closedx']) . " (Open for " . nicediff($arow['closedx'] - $arow['openedx']) . ")";
    } else {
        $st = "<b>Open</b>";
        $ct = "n/a";
    }
    echo "<tr><td align=right>Status : </td>";
    echo "<td align=left>" . $st . "</td></tr>";
    echo "<tr><td align=right>Closed : </td>";
    echo "<td align=left>" . $ct . "</td></tr>";
    echo "<tr><td align=right>Level : </td>";
    echo "<td align=left><b class=\"al" . $arow['alertlevel'] . "\">" . aText($arow['alertlevel']) . "</td></tr>";
    echo "<tr><td colspan=2>&nbsp;<br><b><u>Alert Log</u></b></td></tr>";
    $hq = "SELECT * FROM fnalertlog WHERE alertid=" . $arow['alertid'] . " ORDER BY postedx DESC";
    $px = 0;
    $first = true;
    $hr = $NATS->DB->Query($hq);
    while ($hrow = $NATS->DB->Fetch_Array($hr)) {
        if ($hrow['postedx'] != $px) {
            if (!$first) {
                echo "</td></tr>";
            } else {
                $first = false;
            }
            echo "<tr><td align=right valign=top>";
            $px = $hrow['postedx'];
            echo nicedt($px);
            echo " : ";
            echo "</td><td align=left valign=top>";
        }
        echo $hrow['logentry'] . "<br>";
    }
    if (!$first) {
        echo "</td></tr>";
    }
    echo "</table>";
}
Пример #3
0
 } else {
     $s = "";
 }
 echo "<td align=left><input type=checkbox name=nspushenabled value=1" . $s . "> ";
 echo hlink("Nodeside:PushEnabled");
 echo "</td></tr>";
 echo "<tr><td align=right>" . $NATS->Lang->Item("push.ip") . " :</td><td align=left>";
 echo "<input type=text name=nspuship value=\"" . $row['nspuship'] . "\" size=20 maxlength=120>";
 echo " " . hlink("Nodeside:PushIP");
 echo "</td></tr>";
 echo "<tr><td align=right>" . $NATS->Lang->Item("last.data") . " :</td><td align=left>";
 echo nicedt($row['nslastx']) . " - " . dtago($row['nslastx']) . "</td></tr>";
 if ($row['nspullenabled'] == 1) {
     echo "<tr><td align=right>" . $NATS->Lang->Item("next.pull.due") . " :</td><td align=left>";
     if ($row['nsnextx'] > 0) {
         echo nicedt($row['nsnextx']) . " - " . nicenextx($row['nsnextx']);
     } else {
         echo $NATS->Lang->Item("now");
     }
     echo "</td></tr>";
 }
 echo "<tr><td align=right>" . $NATS->Lang->Item("catalogue") . " :</td><td align=left>";
 $nsq = "SELECT COUNT(nstestid) FROM fnnstest WHERE nodeid=\"" . ss($_REQUEST['nodeid']) . "\"";
 $nsr = $NATS->DB->Query($nsq);
 if ($nsrow = $NATS->DB->Fetch_Array($nsr)) {
     echo $nsrow['COUNT(nstestid)'] . " " . $NATS->Lang->Item("nodeside.monitors");
 }
 $NATS->DB->Free($nsr);
 echo "</td></tr>";
 echo "<tr><td align=right>" . $NATS->Lang->Item("refresh.now") . ":</td><td align=left>";
 if ($row['nspullenabled'] == 1) {
Пример #4
0
echo "<tr><td align=right>" . $NATS->Lang->Item("recorded") . " :</td>";
echo "<td align=left>";
echo "<input type=checkbox name=testrecord value=1" . $s . "> " . hlink("Test:Recorded");
echo "</td></tr>";
if ($row['simpleeval'] == 1) {
    $s = " checked";
} else {
    $s = "";
}
echo "<tr><td align=right>" . $NATS->Lang->Item("simple.eval") . " :</td>";
echo "<td align=left>";
echo "<input type=checkbox name=simpleeval value=1" . $s . "> " . hlink("Test:SimpleEvaluation");
echo "</td></tr>";
echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>";
echo "<tr><td align=right>" . $NATS->Lang->Item("last.checked") . " :</td>";
echo "<td align=left>" . nicedt($row['lastrunx']) . " - " . dtago($row['lastrunx']) . "</td></tr>";
echo "<tr><td align=right>" . $NATS->Lang->Item("last.result") . " :</td>";
echo "<td align=left>";
echo "<b class=\"al" . $row['alertlevel'] . "\">";
echo oText($row['alertlevel']);
echo "</b>";
echo "</td></tr>";
echo "<tr><td align=right>" . $NATS->Lang->Item("last.value") . " :</td>";
echo "<td align=left>" . $row['lastvalue'] . "</td></tr>";
echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>";
echo "<tr><td>&nbsp;</td><td align=left><input type=submit value=\"" . $NATS->Lang->Item("save.changes") . "\"> ";
echo "<a href=node.edit.php?nodeid=" . $row['nodeid'] . ">" . $NATS->Lang->Item("abandon.changes") . "</a>";
echo "</td></tr></form>";
echo "</table>";
End_Round();
echo "<br><br>";
Пример #5
0
function enicedt($ts)
{
echo nicedt($ts);
}
Пример #6
0
 function GetTest($testid, $protect = false)
 {
     if ($testid == "") {
         return false;
     }
     $class = $testid[0];
     if (is_numeric($class)) {
         // test ID will stay the same
         $class = "L";
         $anytestid = $testid;
     } else {
         //$testid=substr($testid,1); // as it will here also so direct use to graphs can be made
         $anytestid = substr($testid, 1);
         // the classless version
     }
     $q = "";
     switch ($class) {
         case "L":
             // local tests
             $q = "SELECT * FROM fnlocaltest WHERE localtestid=" . ss($anytestid) . " LIMIT 0,1";
             break;
         case "N":
             // node-side test
             $q = "SELECT * FROM fnnstest WHERE nstestid=" . ss($anytestid) . " LIMIT 0,1";
             break;
         default:
             return false;
             // can't lookup this class
     }
     if ($q == "") {
         return false;
     }
     $r = $this->DB->Query($q);
     if (!($row = $this->DB->Fetch_Array($r))) {
         return false;
     }
     $row['class'] = $class;
     $row['testid'] = $testid;
     $row['anytestid'] = $anytestid;
     $row['alerttext'] = oText($row['alertlevel']);
     $row['lastrundt'] = nicedt($row['lastrunx']);
     $row['lastrunago'] = dtago($row['lastrunx'], false);
     if ($row['testname'] != "") {
         $row['name'] = $row['testname'];
     } else {
         if ($class == "L") {
             $row['name'] = lText($row['testtype']);
             // TODO OTHER TESTS
             if ($row['testparam'] != "") {
                 $row['name'] .= " (" . $row['testparam'] . ")";
             }
         } else {
             if ($class == "N") {
                 if ($row['testdesc'] != "") {
                     $row['name'] = $row['testdesc'];
                 } else {
                     $row['name'] = $row['testtype'];
                 }
             }
         }
     }
     if ($protect && $class == "L") {
         if ($this->Tests->Exists($row['testtype'])) {
             $this->Tests->Tests[$row['testtype']]->Create();
             $this->Tests->Tests[$row['testtype']]->instance->ProtectOutput($row);
         }
     }
     $this->DB->Free($r);
     return $row;
 }
Пример #7
0
$q="SELECT * FROM fntestrun WHERE finishx=0";
$r=$NATS->DB->Query($q);
echo "<b>".$NATS->DB->Num_Rows($r)." Open/Running Test Sessions</b><br><br>";
if ($NATS->DB->Num_Rows($r)>0)
	{
	echo "<table class=\"nicetable\">";
	echo "<tr><td><b>ID</b></td><td><b>Node</b></td><td><b>Started</b></td><td><b>Notes</b></td></tr>";
	$nowx=time();
	$fifteenx=$nowx-(15*60);
	$hourx=$nowx-(60*60);
	while ($row=$NATS->DB->Fetch_Array($r))
		{
		echo "<tr><td><a href=testrun.php?trid=".$row['trid'].">";
		echo $row['trid']."</a></td>";
		echo "<td><a href=node.php?nodeid=".$row['fnode']."</a></td>";
		echo "<td>".nicedt($row['startx'])." - ".dtago($row['startx'])."</td>";
		echo "<td>";
		if ($row['startx']<$hourx) echo "Error: Over an hour old";
		else if($row['startx']<$fifteenx) echo "Warning: Over fifteen minutes old";
		else echo "&nbsp;";
		echo "</td></tr>";
		}
	echo "</table>";
	}
$NATS->DB->Free($r);
echo "<br><br>";

echo "<b class=\"subtitle\">Environment: PHP Web (Apache Module/PHP-CGI)</b><br><br>";
$env_test_web=1;
include("environment.test.php");
echo "<br>";
Пример #8
0
echo "</td></tr>";
echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>";
echo "<tr><td>" . $NATS->Lang->Item("test.interval") . ":</td>";
echo "<td><input type=text size=3 name=testinterval maxlength=8 value=\"" . $row['testinterval'] . "\"> " . $NATS->Lang->Item("minutes") . " " . hlink("Test:Interval");
echo "</td></tr>";
echo "<input type=hidden name=original_testinterval value=\"" . $row['testinterval'] . "\">";
echo "<tr><td valign=top>" . $NATS->Lang->Item("test.due") . ":</td>";
echo "<td>";
if ($row['nextrunx'] > 0) {
    echo nicedt($row['nextrunx']) . " - " . nicenextx($row['nextrunx']);
} else {
    echo $NATS->Lang->Item("now");
}
echo "</td></tr>";
echo "<tr><td valign=top>" . $NATS->Lang->Item("last.tested") . ":</td>";
echo "<td>" . nicedt($row['lastrunx']) . " - " . dtago($row['lastrunx']) . "<br>";
echo "<a href=localtest.action.php?localtestid=" . $_REQUEST['localtestid'] . "&action=invalidate>" . $NATS->Lang->Item("check.asap") . "</a>";
echo "</td></tr>";
echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>";
echo "<tr><td>" . $NATS->Lang->Item("custom.attempts") . ":</td>";
echo "<td><input type=text size=3 name=attempts maxlength=2 value=\"" . $row['attempts'] . "\"> " . hlink("Test:Attempts");
echo "</td></tr>";
echo "<tr><td>" . $NATS->Lang->Item("custom.timeout") . ":</td>";
echo "<td><input type=text name=timeout size=3 maxlength=3 value=\"" . $row['timeout'] . "\"> " . $NATS->Lang->Item("seconds") . " " . hlink("Test:Timeout");
echo "</td></tr>";
echo "<tr><td colspan=2><hr class=\"nspacer\"></td></tr>";
echo "<tr><td>&nbsp;</td><td><input type=submit value=\"" . $NATS->Lang->Item("test.save") . "\"> ";
echo "<a href=node.edit.php?nodeid=" . $row['nodeid'] . ">" . $NATS->Lang->Item("abandon.changes") . "</a>";
echo "</td></tr></form>";
echo "</table>";
End_Round();
Пример #9
0
    outTime(time(), "Now", false);
    echo "<br><input type=submit value=\"View Summary\">";
    echo "</td></tr>";
    echo "</form></table>";
}
if (isset($_REQUEST['startx'])) {
    $startx = $_REQUEST['startx'];
} else {
    $startx = mktime(0, 0, 0, $td_mon, $td_day, $td_yr);
}
if (isset($_REQUEST['finishx'])) {
    $finishx = $_REQUEST['finishx'];
} else {
    $finishx = mktime(23, 59, 59, $td_mon, $td_day, $td_yr);
}
echo "<br><b>From </b>" . nicedt($startx) . " <b>to</b> " . nicedt($finishx) . "<br><br>";
if ($nodeid == "*") {
    //
    $q = "SELECT testid,nodeid FROM fnrecord WHERE recordx>=" . ss($startx) . " AND recordx<=" . ss($finishx);
    $q .= " GROUP BY testid ORDER BY nodeid";
} else {
    if ($nodeid == " custom") {
        $q = "SELECT testid,nodeid FROM fnrecord WHERE recordx>=" . ss($startx) . " AND recordx<=" . ss($finishx) . " ";
        $q .= "AND nodeid IN ( ";
        $first = true;
        foreach ($_REQUEST['nodelist'] as $node) {
            if ($first) {
                $first = false;
            } else {
                $q .= ",";
            }
Пример #10
0
$q="SELECT * FROM fntestrun WHERE trid=".ss($_REQUEST['trid'])." LIMIT 0,1";
$r=$NATS->DB->Query($q);
if (!$row=$NATS->DB->Fetch_Array($r))
	{
	echo "<b>Error fetching test run data</b><br><br>";
	Screen_Footer();
	exit();
	}
$NATS->DB->Free($r);

echo "<table border=0>";
echo "<tr><td>Started : </td>";
echo "<td>".nicedt($row['startx'])." (".dtago($row['startx']).")</td></tr>";
echo "<tr><td>Finished : </td>";
echo "<td>";
if ($row['finishx']>0) echo nicedt($row['finishx'])." (".dtago($row['finishx']).")";
else echo "Still Running (<a href=testrun.php?trid=".$_REQUEST['trid']."&action=finish>Manually Mark Finished</a>)";
echo "</td>";
echo "<tr><td>Node Filter :</td>";
echo "<td>";
if ($row['fnode']=="") echo "All Nodes";
else echo "<a href=node.php?nodeid=".$row['fnode'].">".$row['fnode']."</a>";
echo "</td></tr>";

echo "<tr><td>Sysem Log :</td>";
echo "<td><a href=log.php?f_entry=Tester+".$row['trid'].">Log Events for Tester ".$row['trid']."</a>";
echo "</td></tr>";

echo "<tr><td align=left valign=top>Output : </td>";
echo "<td align=left valign=top>";
echo $row['routput'];
Пример #11
0
         $fx = $nowx;
     } else {
         $fx = $finishx;
     }
     $p = $fx - $startx;
     $five_min = 60 * 5;
     $shouldhave = floor($p / $five_min);
 }
 echo "<tr><td colspan=3>&nbsp;<br></td></tr>";
 echo "<tr><td>First Test Record";
 echo "</td><td>&nbsp;</td><td>";
 echo nicedt($firstx);
 echo "</td></tr>";
 echo "<tr><td>Last Test Record";
 echo "</td><td>&nbsp;</td><td>";
 echo nicedt($lastx);
 echo "</td></tr>";
 echo "<tr><td colspan=3>&nbsp;<br></td></tr>";
 echo "<tr><td><b>Service Availability</b>";
 echo "</td><td>&nbsp;</td><td><b>";
 // Service level is tested-failed
 echo np($tested, $tested - $failc);
 echo "</b></td></tr>";
 echo "</table><br>";
 /* - zoom period debugging
 echo "Period: $p s (".($p/$five_min).")<br>";
 echo "sx: ".$startx." fx: ".$finishx."<br>";
 echo "diffx: ".($finishx-$startx)."<br>";
 echo "fx2: ".$fx." p: ".$p."<br>";
 */
 echo "<br><hr style=\"width: 400px; border: 0 solid #a0a0a0; height: 1px; background-color: #a0a0a0; align: left;\" align=\"left\"><br>";
Пример #12
0
 if ($wc != "") {
     $q .= " WHERE " . $wc;
 }
 $q .= " ORDER BY logid";
 if ($first) {
     $q .= " DESC LIMIT 0," . $pull;
     //$first=false;
 } else {
     $q .= " ASC";
 }
 $r = $NATS->DB->Query($q);
 if ($first) {
     $s = array();
 }
 while ($row = $NATS->DB->Fetch_Array($r)) {
     $line = nicedt($row['postedx']) . "\t" . $row['loglevel'] . "\t" . $row['modid'] . ":" . $row['catid'] . "\t" . $row['logevent'] . "\n";
     if ($first) {
         $s[] = $line;
     } else {
         echo $line;
     }
     if ($row['logid'] > $lastlog) {
         $lastlog = $row['logid'];
     }
 }
 $NATS->DB->Free($r);
 if ($first) {
     for ($a = count($s) - 1; $a >= 0; $a--) {
         echo $s[$a];
     }
 }
Пример #13
0
echo "<a href=log.php?d_from=".$dto."&d_show=".$d_show."&f_mod=".$f_mod."&f_cat=".$f_cat."&f_lvl=".$f_lvl."&f_entry=".urlencode($f_entry).">";
echo "&lt;&lt; Previous";
echo "</a></td>";
echo "<td colspan=2 align=right>";
$dto=$d_from+$d_show;
if ($dto<0) $dto=0;
echo "<a href=log.php?d_from=".$dto."&d_show=".$d_show."&f_mod=".$f_mod."&f_cat=".$f_cat."&f_lvl=".$f_lvl."&f_entry=".urlencode($f_entry).">";
echo "Next &gt;&gt;";
echo "</a></td></tr>";

//echo "<tr><td colspan=5>".$q."</td></tr>";
// <a href=log.php?d_from=".$d_from."&d_show=".$d_show."&f_mod=".$f_mod."&f_cat=".$f_cat."&f_lvl=".$f_lvl."&f_entry=".$fentry.">
$r=$NATS->DB->Query($q);
while ($row=$NATS->DB->Fetch_Array($r))
	{
	echo "<tr><td>".nicedt($row['postedx'])."</td>";
	echo "<td>";
	echo "<a href=log.php?d_from=".$d_from."&d_show=".$d_show."&f_mod=".$row['modid']."&f_cat=".$f_cat."&f_lvl=".$f_lvl."&f_entry=".urlencode($f_entry).">";
	echo $row['modid']."</a></td>";
	echo "<td>";
	echo "<a href=log.php?d_from=".$d_from."&d_show=".$d_show."&f_mod=".$f_mod."&f_cat=".$row['catid']."&f_lvl=".$f_lvl."&f_entry=".urlencode($f_entry).">";
	echo $row['catid']."</a></td>";
	echo "<td>";
	echo "<a href=log.php?d_from=".$d_from."&d_show=".$d_show."&f_mod=".$f_mod."&f_cat=".$f_cat."&f_lvl=".$row['loglevel']."&f_entry=".urlencode($f_entry).">";
	echo $row['loglevel']."</a></td>";
	echo "<td>".$row['logevent']."</td>";
	echo "</tr>";
	}
$NATS->DB->Free($r);

echo "<tr><td colspan=3>";
Пример #14
0
$q .= "testid=\"" . ss($_REQUEST['testid']) . "\" AND recordx>=" . ss($startx) . " AND recordx<=" . ss($finishx);
//if (!isset($_REQUEST['disp_pass'])) $q.=" AND alertlevel!=0";
$q .= " ORDER BY recordx DESC";
//echo $q;
$r = $NATS->DB->Query($q);
$testc = 0;
$tested = 0;
$untested = 0;
$passc = 0;
$warnc = 0;
$failc = 0;
$levelt = 0;
echo "<table class=\"nicetable\">";
while ($row = $NATS->DB->Fetch_Array($r)) {
    if ((isset($_REQUEST['disp_pass']) || $row['alertlevel'] != 0) && !isset($_REQUEST['disp_hdata'])) {
        echo "<tr><td>" . nicedt($row['recordx']) . "</td>";
        echo "<td><b class=\"al" . $row['alertlevel'] . "\">" . oText($row['alertlevel']) . "</b></td>";
        echo "<td>" . $row['testvalue'] . "</td>";
        echo "</tr>";
    }
    $testc++;
    switch ($row['alertlevel']) {
        case 0:
            $passc++;
            $tested++;
            $levelt += $row['testvalue'];
            // for passed only
            break;
        case 1:
            $warnc++;
            $tested++;
Пример #15
0
        $still_running = true;
    }
    // either never timesout or newer than timelimit ago
}
$NATS->DB->Free($cr);
// and if it is then don't continue
if ($still_running) {
    $NATS->Event("Tester Already Running: Aborted", 1, "Tester", "Error");
    db("Tester Already Running: Aborted");
    $NATS->Stop();
    exit;
}
$gq = "INSERT INTO fntestrun(startx,fnode) VALUES(" . time() . ",\"" . ss($nfilter) . "\")";
$NATS->DB->Query($gq);
$trid = $NATS->DB->Insert_Id();
db("Test ID: " . $trid . " (Started at " . nicedt(time()) . ")");
$NATS->Event("Tester " . $trid . " Started", 5, "Tester", "Start");
db(" ");
// Find node to test - must be enabled, have id if set, and be due to be tested (nextrunx)
$q = "SELECT * FROM fnnode WHERE nodeenabled=1";
if ($nfilter != "") {
    $q .= " AND nodeid=\"" . ss($nfilter) . "\"";
}
$q .= " AND nextrunx<=" . time();
$r = $NATS->DB->Query($q);
while ($row = $NATS->DB->Fetch_Array($r)) {
    $dotests = true;
    $alertlevel = 0;
    $alerts = array();
    $alertc = 0;
    db("NodeID: " . $row['nodeid']);