diff --git a/includes/functions.php b/includes/functions.php
index 575dc55..2e30a76 100644
--- a/includes/functions.php
+++ b/includes/functions.php
@@ -127,7 +127,7 @@ function initialize() {
}
- if (($_POST['Poll'] == "Poll Now!" || $_SESSION['timemachine']['date'] == "") && $queryarray[$GETVars['qq']]["polltype"]=="snapshot" || $_POST['s'] != "") {
+ if (($_POST['Poll'] == "Poll Now!" || $_SESSION['timemachine']['date'] == "") && $queryarray[$GETVars['qq']]["polltype"]=="snapshot" || $_POST['s'] != "" && $GETVars['qq'] != "overview") {
$qtable = $configarray["queryarray"][$GETVars['qq']]["name"];
$sql = "SELECT MAX(TimeStamp) FROM res_".$qtable."_".$GETVars["server"];
$res = fetchArrayDB($sql, $conn);
@@ -734,14 +734,8 @@ function execute($type = 'table') {
$outp_cache = '';
$stop=FALSE;
$tablearray = array();
+ $bContinue = TRUE;
- /**
- $query = ereg_replace("NOTEQUAL","<>",$query);
- $query = ereg_replace("LESS","<",$query);
-
- if (isset($timetablestarttime) && $timetablestarttime != "") {
- $query = ereg_replace("SEARCHFIELD","$timetablestarttime",$query);
- **/
if ($GETVars['ob'] != '' ) {
$sqlappend = " order by `".$GETVars['ob']."` ".$GETVars['orderdir'];
} elseif ($configarray["queryarray"][$GETVars['qq']]["orderby"] != '') {
@@ -752,7 +746,6 @@ function execute($type = 'table') {
$polltype = $configarray["queryarray"][$GETVars['qq']]["polltype"];
if ($polltype == "snapshot") {
- //if ($_SESSION['timemachine']['time'] == date) {
if ($_SESSION['timemachine']['time'] == $_SESSION['timemachine']['date']) {
$timestampquery = " WHERE timestamp=(SELECT MAX(TimeStamp) FROM res_".$qtable."_".$server.")";
} else {
@@ -763,8 +756,6 @@ function execute($type = 'table') {
}
// get only latest entry
-
- //if ($whereclause["field"]!="" && $whereclause["val"]!="") {
$searcharr = $_SESSION["search"][$GETVars['qq']];
if (isset($searcharr) && $searcharr["field"] != "" && $searcharr["val"] != "") {
if ($polltype == "snapshot") {
@@ -785,69 +776,73 @@ function execute($type = 'table') {
$columnnames = getTableFields("res_".$qtable."_".$server);
+ if ($columnnames == "") $bContinue = FALSE;
+
//execute the constructed query
$sql = "SELECT ".$columnnames." from res_".$qtable."_".$server.$timestampquery.$wc.$sqlappend;
$_SESSION["lastsql"] = $sql;
if ($sqlres) $message = $sql;
- if ($type == "table") {
- $i = 1;
- $rs = fetchSplitArrayDB($sql,$conn,20);
+ if ($bContinue) {
+ if ($type == "table") {
+ $i = 1;
+ $rs = fetchSplitArrayDB($sql,$conn,20);
- foreach ($rs as $row) {
- $color = "";
- $col = $queryarray["alert_field"];
- if ($col != '') {
- $error = checkAlert($queryarray["alert_comp"], $queryarray["alert_val"], $row[$col]);
- if($error) {
- $color = $queryarray["alert_col"];
- } else {
- $color = "ok";
- }
- $colorzebra = $colorsarray[$color][$i];
- }
- if ($i % 2 == 0) {
- $outp = $outp."
";
- }else{
- $outp = $outp."
";
- }
- $i++;
-
- while(list($keycell, $valcell) = each($row)) {
- if($color!="" && $col==$keycell) {
-
- if ($i % 2 == 0) {
- $cellcol = $colorsarray[$color."_light"];
+ foreach ($rs as $row) {
+ $color = "";
+ $col = $queryarray["alert_field"];
+ if ($col != '') {
+ $error = checkAlert($queryarray["alert_comp"], $queryarray["alert_val"], $row[$col]);
+ if($error) {
+ $color = $queryarray["alert_col"];
} else {
- $cellcol = $colorsarray[$color."_dark"];
+ $color = "ok";
}
- $outp = $outp."".$valcell." | ";
- } else {
- $outp = $outp."".$valcell." | ";
+ $colorzebra = $colorsarray[$color][$i];
}
+ if ($i % 2 == 0) {
+ $outp = $outp."
";
+ }else{
+ $outp = $outp."
";
+ }
+ $i++;
+
+ while(list($keycell, $valcell) = each($row)) {
+ if($color!="" && $col==$keycell) {
+
+ if ($i % 2 == 0) {
+ $cellcol = $colorsarray[$color."_light"];
+ } else {
+ $cellcol = $colorsarray[$color."_dark"];
+ }
+ $outp = $outp."".$valcell." | ";
+ } else {
+ $outp = $outp."".$valcell." | ";
+ }
- }
- $outp = $outp."
\n";
- }
- }
- else if ($type == "verticaltable") {
- $outp = fetchArrayDB($sql, $conn);
- }
- else if ($type == "timetable") {
- $sqlres = fetchArrayDB($sql, $conn);
- $outp = array();;
- foreach ($sqlres as $row) {
- $rowarray2 = array();
- while(list($keycell, $valcell) = each($row)) {
- if ($keycell == "Start Time" || $keycell == "End Time") {
- $date = $row[$keycell];
- $rowarray2[] = mktime(substr($date,11,2),substr($date,14,2),substr($date,17,2),substr($date,5,2),substr($date,8,2),substr($date,0,4));
- } else {
- $rowarray2[] = $valcell;
}
+ $outp = $outp."\n";
+ }
+ }
+ else if ($type == "verticaltable") {
+ $outp = fetchArrayDB($sql, $conn);
+ }
+ else if ($type == "timetable") {
+ $sqlres = fetchArrayDB($sql, $conn);
+ $outp = array();;
+ foreach ($sqlres as $row) {
+ $rowarray2 = array();
+ while(list($keycell, $valcell) = each($row)) {
+ if ($keycell == "Start Time" || $keycell == "End Time") {
+ $date = $row[$keycell];
+ $rowarray2[] = mktime(substr($date,11,2),substr($date,14,2),substr($date,17,2),substr($date,5,2),substr($date,8,2),substr($date,0,4));
+ } else {
+ $rowarray2[] = $valcell;
+ }
+ }
+ array_push($outp, $rowarray2);
}
- array_push($outp, $rowarray2);
}
}
@@ -863,7 +858,7 @@ function execute($type = 'table') {
*
* @return string
*/
-
+/**
function getCustomQuery() {
global $GETVars;
@@ -929,6 +924,8 @@ function getCustomQuery() {
return $input.$header.$outp;
}
+**/
+
/**
* getSearchfield - returns the HTML code of the upper searchfield panel
@@ -1066,7 +1063,7 @@ function getPollDStat() {
}
$nav = showPageNavigation("20");
if ($nav!="") {
- $outp = $outp."
";
+ $outp = $outp."
";
}
return $outp."";
@@ -1339,7 +1336,6 @@ function getConfigArray() {
$menuarrayxml = $queryconfigarray["navigation"]["mainmenuitem"];
$mainmenuarrayxml = $menuarrayxml;
$mainmenuarray["trennlinie"] = "trennlinie";
- $mainmenuarray["q=custom&m=main"] = "Custom TSM Query";
$mainmenuarray["q=polldstat&m=main"] = "Polling Daemon Log";
$mainmenuarray["q=serverlist&m=main"] = "Change Server";
if ($_SESSION["logindata"]["role"] == "admin") $mainmenuarray["admin"] = "Admin";
@@ -1366,7 +1362,6 @@ function getConfigArray() {
$submenuarray[$url] = $submenuitem_label;
}
$submenuarray["trennlinie"] = "trennlinie";
- $submenuarray["q=custom&m=".$submenu['name']] = "Custom TSM Query";
$submenuarray["q=polldstat&m=".$submenu['name']] = "Polling Daemon Log";
$submenuarray["q=serverlist&m=".$submenu['name']] = "Change Server";
if ($_SESSION["logindata"]["role"] == "admin") $submenuarray["admin"] = "Admin";
diff --git a/includes/polld.php b/includes/polld.php
index a8c376a..116042a 100644
--- a/includes/polld.php
+++ b/includes/polld.php
@@ -220,6 +220,8 @@ function execute($query = '', $servername = '', $restable = '', $timestamp = '',
$read = fgets($handle, 4096);
$hashstring .= $read;
$stop = strstr($read, 'ANR2034E');
+ $stop = strstr($read, 'ANS1017E');
+ $stop = strstr($read, 'ANS8023E');
//$stop = strstr($read, 'ANS8023E');
if ($read != ' ' && $read != '' && !$stop) {
$read = preg_replace('/[\n]+/', '', $read);
@@ -237,7 +239,11 @@ function execute($query = '', $servername = '', $restable = '', $timestamp = '',
}
$return["sql"] = $out;
$return["md5"] = md5($hashstring);
- return $return;
+ if (!$stop){
+ return $return;
+ } else {
+ return "";
+ }
}
@@ -351,24 +357,28 @@ function pollQuery($query = "", $server = "", $ignorePollFreq = FALSE, $timestam
$this->fireMySQLQuery($ctsql, FALSE);
}
// execute query and store result in mysql db
- $result = $this->execute($query["tsmquery"], $server["servername"], $tablename, $timestamp);
if ($ignorePollFreq || !$this->checkFreq($tablename, $query["pollfreq"], $timestamp)){
- if (!$this->checkHash($tablename, $result["md5"])) {
- if ($query["polltype"]=="update") {
- $dropsql = "truncate table ".$tablename;
- $this->fireMySQLQuery($dropsql, FALSE);
- if (!$ignorePollFreq) echo " TRUNCATED TABLE and ";
+ $result = $this->execute($query["tsmquery"], $server["servername"], $tablename, $timestamp);
+ if ($result != "") {
+ if (!$this->checkHash($tablename, $result["md5"])) {
+ if ($query["polltype"]=="update") {
+ $dropsql = "truncate table ".$tablename;
+ $this->fireMySQLQuery($dropsql, FALSE);
+ if (!$ignorePollFreq) echo " TRUNCATED TABLE and ";
+ }
+ foreach ($result["sql"] as $insertquery) {
+ if ($query["name"] == "querysession") echo "\n\n".$insertquery."\n\n";
+ $this->fireMySQLQuery($insertquery, FALSE);
+ }
+ if (!$ignorePollFreq) echo "inserted new rows into ".$tablename."\n";
+ $this->log_updated++;
+ } else {
+ if (!$ignorePollFreq) echo "no need to update result -> result is the same as last time\n";
+ $this->log_unchangedresult++;
}
- foreach ($result["sql"] as $insertquery) {
- if ($query["name"] == "querysession") echo "\n\n".$insertquery."\n\n";
- $this->fireMySQLQuery($insertquery, FALSE);
- }
- if (!$ignorePollFreq) echo "inserted new rows into ".$tablename."\n";
- $this->log_updated++;
} else {
- if (!$ignorePollFreq) echo "no need to update result -> result is the same as last time\n";
- $this->log_unchangedresult++;
- }
+ echo "There was a problem querying the TSM Server ".$server["servername"]."!\n";
+ }
} else {
if (!$ignorePollFreq) echo "no need to update result -> pollfreq not reached!\n";
$this->log_pollfreqnoreached++;
@@ -396,10 +406,14 @@ function pollOverviewQuery($query = "", $server = "", $timestamp){
$ctsql = "CREATE TABLE IF NOT EXISTS ".$tablename." ( `name` varchar(35) collate utf8_unicode_ci NOT NULL, `result` varchar(255) collate utf8_unicode_ci NOT NULL, UNIQUE KEY `name` (`name`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";
$this->fireMySQLQuery($ctsql, FALSE);
$result = $this->execute($query["query"], $server["servername"], $tablename, '', $query["name"]);
- foreach ($result["sql"] as $insertquery) {
- $this->fireMySQLQuery($insertquery, FALSE);
- echo "inserted row\n";
- }
+ if ($result != "") {
+ foreach ($result["sql"] as $insertquery) {
+ $this->fireMySQLQuery($insertquery, FALSE);
+ echo "inserted row\n";
+ }
+ } else {
+ echo "There was a problem querying the TSM Server ".$server["servername"]."!\n";
+ }
}
diff --git a/includes/topnav.php b/includes/topnav.php
index c2fc489..cf6050e 100644
--- a/includes/topnav.php
+++ b/includes/topnav.php
@@ -33,10 +33,11 @@