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."".$nav.""; + $outp = $outp."".$nav.""; } 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 @@
"; - } +//if ($GETVars['qq'] != "admin" && !$_POST["edit"] == "edit") { +if ($GETVars['qq'] != "index" && $GETVars['qq'] != "overview" && $GETVars['qq'] != "serverlist") { + echo ""; +} +if ($GETVars['qq'] != "polldstat" && $GETVars['qq'] != "serverlist") { echo "