0) { foreach ($checkgroup as $key => $element) if ($element==-1) $query0 .= $key . " as '" . $alias[$key] . "' " . ", "; $query0 .= " COUNT(*) as '# Datasets' "; } else { if ($statusgroups>0) { foreach ($checkstatusgroup as $key => $element) if ($element==-1) $query0 .= " (if(IsNull(" . $key . "), if(isnull(fStartTime), 'not done', if(isnull(fFailedTime),if(isnull(" . $needs[$key] . "),'not done',if(date_sub(Now(),interval 12 hour) < fStartTime,'running','crashed')),if(isnull(" . $needs[$key] . "),'not done','failed'))) ,if(" . $key . "='1970-01-01 00:00:00','dont do','done'))) as '" . $alias[$key] . "', "; // $query0 .= " (if(IsNull(" . $key . "), 'not done' ,if(" . $key . "='1970-01-01 00:00:00','dont do','done'))) as '" . $alias[$key] . "', "; $query0 .= " COUNT(*) as '# Datasets'"; } else { $query0 .= " " . $fromtable . ".fDataSetNumber as '" . $alias["fDataSetNumber"] . "' "; if (!empty($_GET["fLinks"])) { $query0 .= ", CONCAT('f' "; $query0 .= ", ' g'"; $query0 .= ", ' i') "; $query0 .= " as 'Links'"; } foreach ($_GET as $key => $element) if ($_GET[$key]=="On") if ($key!="fLinks") if (empty($checkwhere[$key]) || $checkwhere[$key]==0) $query0 .= ", " . $key . " as '" . $alias[$key] . "' "; } } $query0 .= " FROM " . $fromtable; $query0 .= " LEFT JOIN DataSetProcessStatus USING(fDataSetNumber) "; $query0 .= " LEFT JOIN Ganymed USING(fDataSetNumber) "; foreach ($_GET as $key => $element) if (($_GET[$key]=="On" || $groups>0))// && !empty($joins[$key])) $query0 .= GetJoin($fromtable,$key); foreach ($checkwhere as $key => $element) { if (empty($element) || $element<=0) continue; if (strpos($query0, " WHERE ")==FALSE) $query0 .= " WHERE "; else if ($element!=-1) if (strrpos($query0, " AND ")!=strlen($query0)-5) $query0 .= " AND "; if ($element!=-1) $query0 .= GetCheck($fromtable, $key) . "=" . $element; } if (strpos($query0, " WHERE ")==FALSE) $query0 .= " WHERE "; else $query0 .= " AND "; $query0 .= StatusQuery("fDataSetInserted", $needs, $timelimits); $query0 .= StatusQuery("fStarFilesAvail", $needs, $timelimits); $query0 .= StatusQuery("fGanymed", $needs, $timelimits); $query0 .= StatusQuery("fFillGanymed", $needs, $timelimits); if (!empty($_GET["fRunMin"]) && !empty($_GET["fRunMax"])) $query0 .= "DataSets.fDataSetNumber BETWEEN " . $_GET["fRunMin"] . " AND " . $_GET["fRunMax"] . " "; /* if (!empty($_GET["fDate"])) $query0 .= " AND fRunStart REGEXP \"^" . $_GET["fDate"] . "\" "; */ if (!empty($_GET["fSourceN"])) $query0 .= " AND fSourceName REGEXP \"^" . $_GET["fSourceN"] . "\" "; if ($groups>0) { $query0 .= " GROUP BY "; $num = $groups; foreach ($checkgroup as $key => $element) if ($element==-1) { $query0 .= GetCheck($fromtable,$key); if ($num-->1) $query0 .= ", "; } } if ($statusgroups>0) { $query0 .= " GROUP BY "; $num = $statusgroups; foreach ($checkstatusgroup as $key => $element) if ($element==-1) { $query0 .= $alias[$key]; if ($num-->1) $query0 .= ", "; } } if (!empty($_GET["fSortBy"])) { $val=substr($_GET["fSortBy"], 0, -1); $query0 .= " ORDER BY " . GetTable($fromtable, $val) . " "; if (substr($_GET["fSortBy"], -1)=="-") $query0 .= "DESC"; } if (empty($_GET["fSortBy"]) && $groups==0 && $statusgroups==0) $query0 .= "ORDER BY DataSets.fDataSetNumber ASC "; if (empty($_GET["fNumStart"])) $_GET["fNumStart"]=0; if (empty($_GET["fSendTxt"])) $query0 .= " LIMIT " . $_GET["fNumStart"] . ", " . $_GET["fNumResults"]; return $query0; } function InitGet($_GET) { // Find out whether it is the first call to the php script $first = empty($_GET["fRunMin"]) && empty($_GET["fRunMax"]); if (empty($_GET["fNumResults"])) $_GET["fNumResults"]="50"; if (empty($_GET["fLastUpdate"])) $_GET["fLastUpdate"]="Off"; if (empty($_GET["fLinks"])) $_GET["fLinks"]=$first?"On":""; if (empty($_GET["fComment"])) $_GET["fComment"]="Off"; if (empty($_GET["fWobble"])) $_GET["fWobble"]=$first?"On":""; if (empty($_GET["fExcessEvents"])) $_GET["fExcessEvents"]=$first?"On":""; if (empty($_GET["fExcessEvents*60/fEffOnTime"])) $_GET["fExcessEvents*60/fEffOnTime"]=$first?"Off":""; if (empty($_GET["fBackgroundEvents*60/fEffOnTime"])) $_GET["fBackgroundEvents*60/fEffOnTime"]=$first?"On":""; if (empty($_GET["fBackgroundEvents"])) $_GET["fBackgroundEvents"]=$first?"On":""; if (empty($_GET["fSignalEvents"])) $_GET["fSignalEvents"]=$first?"On":""; if (empty($_GET["fSignalEvents*60/fEffOnTime"])) $_GET["fSignalEvents*60/fEffOnTime"]=$first?"Off":""; if (empty($_GET["fSignificance"])) $_GET["fSignificance"]=$first?"On":""; if (empty($_GET["Round(fSignificance/Sqrt(fEffOnTime/3600),2)"])) $_GET["Round(fSignificance/Sqrt(fEffOnTime/3600),2)"]=$first?"Off":""; if (empty($_GET["fScaleFactor"])) $_GET["fScaleFactor"]=$first?"On":""; if (empty($_GET["fEffOnTime/3600"])) $_GET["fEffOnTime/3600"]=$first?"On":""; if (empty($_GET["fDataSetInserted"])) $_GET["fDataSetInserted"]="Off"; if (empty($_GET["fDataSetInsertedStatus"])) $_GET["fDataSetInsertedStatus"]="0"; if (empty($_GET["fStarFilesAvail"])) $_GET["fStarFilesAvail"]="Off"; if (empty($_GET["fStarFilesAvailStatus"])) $_GET["fStarFilesAvailStatus"]="0"; if (empty($_GET["fGanymed"])) $_GET["fGanymed"]=$first?"On":""; if (empty($_GET["fGanymedStatus"])) $_GET["fGanymedStatus"]="0"; if (empty($_GET["fFillGanymed"])) $_GET["fFillGanymed"]="Off"; if (empty($_GET["fFillGanymedStatus"])) $_GET["fFillGanymedStatus"]="0"; if (empty($_GET["fSourceName"])) $_GET["fSourceName"]=$first?"On":""; if (empty($_GET["fLastUpdate"])) $_GET["fLastUpdate"]="Off"; if (empty($_GET["fStartTime"])) $_GET["fStartTime"]="Off"; if (empty($_GET["fFailedTime"])) $_GET["fFailedTime"]="Off"; if (empty($_GET["fReturnCode"])) $_GET["fReturnCode"]="Off"; if (empty($_GET["fProgramId"])) $_GET["fProgramId"]="Off"; } function PrintForm($_GET, $host, $user, $pw, $db) { printf("