echo "</table>"; echo "<br><br>"; if ($node['nsenabled'] == 1) { echo "<b class=\"subtitle\">" . $NATS->Lang->Item("nodeside.tests") . "</b><br><br>"; echo "<table class=\"nicetable\">"; $q = "SELECT * FROM fnnstest WHERE nodeid=\"" . ss($_REQUEST['nodeid']) . "\" AND testenabled=1 ORDER BY testtype"; $r = $NATS->DB->Query($q); while ($row = $NATS->DB->Fetch_Array($r)) { echo "<tr><td>"; if ($row['testname'] == "") { echo $row['testdesc']; } else { echo $row['testname']; } echo "</td>"; echo "<td><b class=\"al" . $row['alertlevel'] . "\">" . oText($row['alertlevel']) . "</b></td>"; echo "<td>(" . dtago($row['lastrunx']) . ")</td>"; echo "<td>"; if ($row['testrecord'] == 1) { echo "[ <a href=\"history.test.php?testid=N" . $row['nstestid'] . "\">" . $NATS->Lang->Item("history") . "</a> ]"; } else { echo " "; } echo "</td>"; echo "</tr>"; } echo "</table>"; } ?>
*/ $t = "<b class=\"sectitle\">" . $NATS->Lang->Item("test.evals") . "</b>"; Start_Round($t, 600); echo "<table border=0 width=100%>"; echo "<tr><td colspan=2> <br>"; if ($row['simpleeval'] == 1) { echo "<i>" . $NATS->Lang->Item("test.evals.simple") . "</i><br>"; } echo "</td></tr>"; $q = "SELECT * FROM fneval WHERE testid=\"N" . ss($_REQUEST['nstestid']) . "\" ORDER BY weight ASC"; $r = $NATS->DB->Query($q); while ($row = $NATS->DB->Fetch_Array($r)) { echo "<tr><td colspan=2>"; echo "<a href=\"eval.action.php?action=delete&back=" . urlencode("nodeside.edit.php?nstestid=" . $_REQUEST['nstestid'] . "&message=" . $NATS->Lang->Item("eval.deleted")) . "&evalid=" . $row['evalid'] . "\">"; echo "<img src=images/options/action_delete.png border=0 style=\"vertical-align: bottom;\"></a> "; echo $NATS->Lang->Item("result") . " " . eval_operator_text($row['eoperator']) . " " . $row['evalue'] . " => " . oText($row['eoutcome']) . ""; //echo " | <a href=eval.action.php?action=move&dir=up&evalid=".$row['evalid'].">Up</a>/<a href=eval.action.php?action=move&dir=dn&evalid=".$row['evalid'].">Down</a>"; echo "</td></tr>"; //echo "<tr><td colspan=2> </td></tr>"; } echo "<form action=eval.action.php>"; echo "<input type=hidden name=action value=create>"; echo "<input type=hidden name=testid value=N" . $_REQUEST['nstestid'] . ">"; echo "<input type=hidden name=back value=\"nodeside.edit.php?nstestid=" . $_REQUEST['nstestid'] . "\">"; echo "<tr><td colspan=2> <br></td></tr>"; echo "<tr><td><b>" . $NATS->Lang->Item("add.eval") . " :</b></td>"; echo "<td><select name=eoperator>"; echo "<option value=ET>" . $NATS->Lang->Item("eval.equal") . "</option><option value=LT>" . $NATS->Lang->Item("eval.lt") . "</option>"; echo "<option value=GT>" . $NATS->Lang->Item("eval.gt") . "</option>"; echo "</select> <input type=text name=evalue size=4 value=0> => "; echo "<select name=eoutcome>";
function np_big($nodeid,$nodename="",$nodedesc="",$nodeicon="") { global $NATS; if ($nodedesc=="") $nodedesc=" "; if ($nodeicon=="") $nodeicon=NodeIcon($nodeid); $al=$NATS->NodeAlertLevel($nodeid); echo "<table class=\"npbig-al".$al."\">"; echo "<tr><td align=left valign=top>"; echo "<table class=\"nicetable\" width=300>"; echo "<tr><td align=right>Node Name :"; if ($nodename=="") $nodename=$nodeid; echo "</td><td align=left><a href=node.php?nodeid=".$nodeid.">".$nodename."</a></td></tr>"; echo "<tr><td align=right>Description :"; echo "</td><td align=left>".$nodedesc."</td></tr>"; echo "<tr><td align=right>Status :</td><td align=left>"; echo "<b class=\"al".$al."\">".oText($al)."</b></td></tr>"; echo "</table></td>"; //echo "<td align=left valign=top align=right width=60>"; //echo "<img src=icons/".GroupIcon($groupid).">"; //echo "</td>"; echo "</tr>"; echo "</table>"; }
exit; } $NATS->DB->Free($r); echo "<table border=0><tr><td align=left valign=top>"; echo "<b class=\"minortitle\">Group: " . $row['groupname'] . "</b><br><br>"; echo "<table class=\"nicetable\">"; echo "<tr><td align=right>\nGroup Name\n:</td><td align=left>"; echo $row['groupname']; echo "</td></tr>"; echo "<tr><td align=right>\nDescription\n:</td><td align=left>"; echo $row['groupdesc']; echo "</td></tr>"; echo "<tr><td align=right>\nStatus\n:</td><td align=left>"; $al = $NATS->GroupAlertLevel($_REQUEST['groupid']); echo "<b class=\"al" . $al . "\">"; echo oText($al); echo "</b>"; echo "</td></tr>"; if ($NATS_Session->userlevel > 4) { echo "<tr><td align=right>Settings :</td><td align=left><a href=group.edit.php?groupid=" . $_REQUEST['groupid'] . ">Group Options</a></td></tr>"; } echo "</table>"; echo "</td><td style=\"width: 50px;\"> </td><td align=left valign=top>"; ng_tiny($_REQUEST['groupid'], $row['groupname']); echo "</td></tr></table>"; echo "<br><br>"; echo "<table border=0>"; $a = 0; $q = "SELECT nodeid FROM fngrouplink WHERE groupid=" . ss($_REQUEST['groupid']); $r = $NATS->DB->Query($q); while ($row = $NATS->DB->Fetch_Array($r)) {
function aText($al) { return oText($al); // uses function in tests.inc.php with site config support /* -- depreciated switch($al) { case -1: return "Untested"; case 0: return "Passed"; case 1: return "Warning"; case 2: return "Failed"; default: return "Unknown"; } */ }
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; }
function large_alerts($item) { global $abs, $view, $colon, $dashes; $ob = array(); // our local copy $uri = $abs . "monitor.php"; if ($view['vlinkv'] != 0) { $uri = $abs . "view.php?viewid=" . $view['vlinkv']; } $link = $view['vclick']; if ($link == "disabled") { $l = "<a href=#>"; } else { if ($link == "standard") { $l = "<a href=\"" . $uri . "\">"; } else { if ($link == "frametop") { $l = "<a href=\"" . $uri . "\" target=_top>"; } else { if ($link == "newwindow") { $l = "<a href=\"" . $uri . "\" target=top>"; } else { $l = "<a href=#>"; } } } } if ($item['icolour'] == 1) { $col = true; } else { $col = false; } if ($col) { switch ($item['data']['status']) { case -1: $c = "#a0a0a0"; break; case 0: $c = "green"; break; case 1: $c = "orange"; break; case 2: $c = "red"; break; default: $c = "black"; break; } } else { $c = "#a0a0a0"; } $ss = "width: 250; border: dotted 1px " . $c . ";"; $ob[] = "<table style=\"" . $ss . "\">"; // alert lights only as no fancy full-on tables etc yet if ($item['igraphic'] > 0) { $is = "<img src=\"" . $abs . "images/lights/a" . $item['data']['status'] . ".png\"> "; //$ob[]=$is; } else { $is = " "; } $ob[] = "<tr><td align=left valign=center>"; if ($item['icolour'] == 1) { $ob[] = "<b class=\"al" . $item['data']['status'] . "\">"; } if ($item['data']['alerts'] == 0) { $out = "No System Alerts"; } else { $out = "System Alerts (" . $item['data']['alerts'] . ")"; } $ob[] = $out . "</a>"; if ($item['icolour'] == 1) { $ob[] = "</b>"; } $ob[] = "</td><td align=right valign=center>"; $ob[] = $is; $ob[] = "</td></tr>"; // detail like tests etc... if ($item['idetail'] > 0) { $a = 0; if ($item['data']['alerts'] == 0) { $ob[] = "<tr><td colspan=2 align=left> - <i>There are no alerts</i></td></tr>"; } else { foreach ($item['detail'] as $dline) { $a++; $ob[] = "<tr><td colspan=2> - "; $uri = $abs . $dline['link']; if ($view['vlinkv'] != 0) { $uri = $abs . "view.php?viewid=" . $view['vlinkv']; } $link = $view['vclick']; if ($link == "disabled") { $l = "<a href=#>"; } else { if ($link == "standard") { $l = "<a href=\"" . $uri . "\">"; } else { if ($link == "frametop") { $l = "<a href=\"" . $uri . "\" target=_top>"; } else { if ($link == "newwindow") { $l = "<a href=\"" . $uri . "\" target=top>"; } else { $l = "<a href=#>"; } } } } $ob[] = $l; if ($item['icolour'] == 1) { $ob[] = "<b class=\"al" . $dline['status'] . "\">"; } $out = $dline['nodeid']; if ($item['itextstatus'] == 1) { $out .= $colon . " " . oText($dline['status']); } $ob[] = $out . "</a>"; if ($item['icolour'] == 1) { $ob[] = "</b>"; } $ob[] = "</td></tr>"; } //if ($a>0) $ob[]="<br>"; } } $ob[] = "</table>"; return $ob; }
echo "<table border=0 width=100%>"; echo "<tr><td colspan=2> <br>"; if ($row['simpleeval']==1) { echo "<i>Custom evaluators will not be processed as<br>Simple Evaluation is checked (above)</i><br>"; } echo "</td></tr>"; $q="SELECT * FROM fneval WHERE testid=\"L".ss($_REQUEST['localtestid'])."\" ORDER BY weight ASC"; $r=$NATS->DB->Query($q); while ($row=$NATS->DB->Fetch_Array($r)) { echo "<tr><td colspan=2>"; echo "<a href=eval.action.php?action=delete&back=".urlencode("localtest.edit.php?localtestid=".$_REQUEST['localtestid']."&message=Evaluator+Deleted")."&evalid=".$row['evalid'].">"; echo "<img src=images/options/action_delete.png border=0 style=\"vertical-align: bottom;\"></a> "; echo "Result ".eval_operator_text($row['eoperator'])." ".$row['evalue']." => ".oText($row['eoutcome']).""; //echo " | <a href=eval.action.php?action=move&dir=up&evalid=".$row['evalid'].">Up</a>/<a href=eval.action.php?action=move&dir=dn&evalid=".$row['evalid'].">Down</a>"; echo "</td></tr>"; //echo "<tr><td colspan=2> </td></tr>"; } echo "<form action=eval.action.php>"; echo "<input type=hidden name=action value=create>"; echo "<input type=hidden name=testid value=L".$_REQUEST['localtestid'].">"; echo "<tr><td colspan=2> <br></td></tr>"; echo "<tr><td><b>Add New :</b></td>"; echo "<td><select name=eoperator>"; echo "<option value=ET>Equal To</option><option value=LT>Less Than</option><option value=GT>Greater Than</option>"; echo "</select> <input type=text name=evalue size=4 value=0> => "; echo "<select name=eoutcome>"; echo "<option value=1>Warning</option>";
function np_big($nodeid, $nodename = "", $nodedesc = "", $nodeicon = "", $jslink = false) { global $NATS; if ($nodedesc == "") { $nodedesc = " "; } if ($nodeicon == "") { $nodeicon = NodeIcon($nodeid); } $al = $NATS->NodeAlertLevel($nodeid); echo "<table class=\"npbig-al" . $al . "\">"; echo "<tr><td align=left valign=top>"; echo "<table class=\"nicetable\" width=300>"; echo "<tr><td align=right>" . $NATS->Lang->Item("node.name") . " :"; if ($nodename == "") { $nodename = $nodeid; } echo "</td><td align=left>"; if ($jslink) { echo "<a href=\"javascript:nodeClick('" . $nodeid . "');\">"; } else { echo "<a href=node.php?nodeid=" . $nodeid . ">"; } echo $nodename . "</a></td></tr>"; echo "<tr><td align=right>" . $NATS->Lang->Item("description") . " :"; echo "</td><td align=left>" . $nodedesc . "</td></tr>"; echo "<tr><td align=right>" . $NATS->Lang->item("status") . " :</td><td align=left>"; echo "<b class=\"al" . $al . "\">" . oText($al) . "</b></td></tr>"; echo "</table></td>"; //echo "<td align=left valign=top align=right width=60>"; //echo "<img src=icons/".GroupIcon($groupid).">"; //echo "</td>"; echo "</tr>"; echo "</table>"; }
} else { echo "<ul>"; li("Configuration"); //lititled($node['nodeid'],"nodeid"); //lititled($node['nodename'],"node name"); //lititled($node['hostname'],"hostname"); echo "<li><table border=0 style=\"font-size: 10pt; font-weight: normal;\">"; echo "<tr><td>Node ID: </td><td align=left>" . $node['nodeid'] . "</td></tr>"; echo "<tr><td>Node Name: </td><td>" . $node['nodename'] . "</td></tr>"; echo "<tr><td>Hostname: </td><td>" . $node['hostname'] . "</td></tr>"; echo "</table></li>\n"; echo "</ul>"; echo "<ul>\n"; $t = "Status: "; $t .= "<b class=\"al" . $node['alertlevel'] . "\">"; $t .= oText($node['alertlevel']); $t .= "</b>"; li($t); lititled($node['lastrunago'] . " ago", $node['lastrundt']); echo "</ul>"; echo "\n<ul>\n"; li("Standard Interface"); li("Node View", "node.php?nodeid=" . $node['nodeid']); li("Todays Summary", "summary.test.php?nodeid=" . $node['nodeid']); li("Node Edit", "node.edit.php?nodeid=" . $node['nodeid']); echo "</ul>\n"; } break; case "login": ipScreenHeader("FreeNATS"); echo "<form action=\"login.php\" name=\"loginform\" method=post>";
if ($row['nsfreshpush'] == 1) { $freshdata = true; $uq = "UPDATE fnnode SET nsfreshpush=0 WHERE nodeid=\"" . $row['nodeid'] . "\""; $NATS->DB->Query($uq); } // Process for alerts in here - whether pulled or not! $tq = "SELECT testtype,testname,alertlevel,lastvalue FROM fnnstest WHERE nodeid=\"" . $row['nodeid'] . "\" AND testenabled=1 AND testalerts=1 AND alertlevel>0"; $tr = $NATS->DB->Query($tq); while ($trow = $NATS->DB->Fetch_Array($tr)) { if ($trow['testname'] == "") { $tname = $trow['testtype']; } else { $tname = $trow['testname']; } if ($freshdata) { $s = $tname . " " . oText($trow['alertlevel']); $result = $trow['lastvalue']; if (is_numeric($result)) { if ($NATS->Cfg->Get("site.alert.showvalue", 0) == 1) { $s .= " (" . $result . ")"; } } else { if ($NATS->Cfg->Get("site.alert.showtext", 0) == 1) { $s .= " (" . $result . ")"; } } $alerts[$alertc++] = $s; } if ($trow['alertlevel'] > $alertlevel) { $alertlevel = $trow['alertlevel']; }