0) { foreach ($checkgroup as $key => $element) if ($element==-1) $query0 .= $key . " as '" . $alias[$key] . "' " . ", "; //don't put a '#' at the beginning of the alias, else SortBy won't work anymore $query0 .= " COUNT(*) as 'NumRuns', "; //$query0 .= " Round(Sum(TimeDiff(fRunStop,fRunStart))/60./60.,2) as 'Time [h]' "; $query0 .= " Sec_to_time(Sum(Time_to_sec(TimeDiff(fRunStop,fRunStart)))) as 'Time
[hh:mm:ss]' "; } else { $query0 .= " Concat(fNight,'_', LPAD(fRunID, 3, 0)) as 'Run' "; foreach ($_GET as $key => $element) if ($_GET[$key]=="On") if ($key!="fComments") if (empty($checkwhere[$key]) || $checkwhere[$key]==0) $query0 .= ", " . $key . " as '" . $alias[$key] . "' "; if (!empty($_GET["fComments"])) { //$query0 .= ", if (Count(fComment)>0, Concat('', Count(fComment), ''), ' ') "; $query0 .= ", CONCAT(if (Count(fComment)>0, Concat('', Count(fComment), '')"; $query0 .= ", ' '), ' ', "; $query0 .= "CONCAT('lbk', '')) "; //$query0 .= ", if (Count(fComment)>0, Concat('', Count(fComment), ''), ' ') "; $query0 .= " as 'Comments'"; } } $query0 .= " FROM " . $fromtable; foreach ($_GET as $key => $element) if (($_GET[$key]=="On" || $groups>0))// && !empty($joins[$key])) $query0 .= GetJoin($fromtable, $key); $query0 .= " LEFT JOIN RunComments USING (fNight, fRunID) "; 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)// this if clause doesn't work $query0 .= " AND "; if ($element!=-1) $query0 .= GetCheck($fromtable, $key) . "=" . $element; } if (strpos($query0, " WHERE ")==FALSE) $query0 .= " WHERE "; else $query0 .= " AND "; if (!empty($_GET["fStartDate"])) { $startdate=substr($_GET["fStartDate"], 0, 10); // if ($startdate=="0000-00-00") $query0 .=" fNight >= " . $startdate . " "; // else // $query0 .= " fNight >= " . $startdate . " - 1 "; } if (!empty($_GET["fStopDate"])) { // if (strpos(strrev($query0), " DNA ")!=0) // $query0 .= " AND "; $stopdate=substr($_GET["fStopDate"], 0, 10); $query0 .= " AND fNight <= " . $stopdate . " "; } if ($groups>0) { $query0 .= " GROUP BY "; $num = $groups; foreach ($checkgroup as $key => $element) if ($element==-1) { $query0 .= GetCheck($fromtable, $key); if ($num-->1) $query0 .= ", "; } } else $query0 .= " GROUP BY fNight, fRunID "; if (!empty($_GET["fSortBy"])) { $query0 .= " ORDER BY " . substr($_GET["fSortBy"], 0, -1) . " "; if (substr($_GET["fSortBy"], -1)=="-") $query0 .= "DESC"; } else if ($groups==0) $query0 .= " ORDER BY Run DESC"; 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["fStartDate"]) && empty($_GET["fStopDate"]); if (empty($_GET["fNumResults"])) $_GET["fNumResults"]="200"; if (empty($_GET["fNumEvents"])) $_GET["fNumEvents"]=$first?"Off":""; if (empty($_GET["fComments"])) $_GET["fComments"]=$first?"On":""; if (empty($_GET["fNumPhysicsTrigger"])) $_GET["fNumPhysicsTrigger"]=$first?"On":""; if (empty($_GET["Round(fNumPhysicsTrigger/Time_to_sec(TimeDiff(fRunStop,fRunStart)),1)"])) $_GET["Round(fNumPhysicsTrigger/Time_to_sec(TimeDiff(fRunStop,fRunStart)),1)"]=$first?"On":""; if (empty($_GET["fNumPedestalTrigger"])) $_GET["fNumPedestalTrigger"]=$first?"On":""; if (empty($_GET["fNumELPTrigger"])) $_GET["fNumELPTrigger"]=$first?"On":""; if (empty($_GET["fNumTimeTrigger"])) $_GET["fNumTimeTrigger"]=$first?"Off":""; if (empty($_GET["fNumExt1Trigger"])) $_GET["fNumExt1Trigger"]=$first?"Off":""; if (empty($_GET["fNumExt2Trigger"])) $_GET["fNumExt2Trigger"]=$first?"Off":""; if (empty($_GET["fNumILPTrigger"])) $_GET["fNumILPTrigger"]=$first?"Off":""; if (empty($_GET["fNumOtherTrigger"])) $_GET["fNumOtherTrigger"]=$first?"Off":""; if (empty($_GET["TimeDiff(fRunStop,fRunStart)"])) $_GET["TimeDiff(fRunStop,fRunStart)"]=$first?"On":""; if (empty($_GET["fRunStart"])) $_GET["fRunStart"]=$first?"On":""; if (empty($_GET["fRunStop"])) $_GET["fRunStop"]=$first?"Off":""; if (empty($_GET["fROI"])) $_GET["fROI"]=$first?"On":""; if (empty($_GET["fROITimeMarker"])) $_GET["fROITimeMarker"]=$first?"Off":""; if (empty($_GET["fFitsFileErrors"])) $_GET["fFitsFileErrors"]=$first?"Off":""; if (empty($_GET["fCompileTime"])) $_GET["fCompileTime"]=$first?"Off":""; if (empty($_GET["fRevisionNumber"])) $_GET["fRevisionNumber"]=$first?"Off":""; if (empty($_GET["if(fHasDrsFile=0,\"N\",fDrsStep)"])) $_GET["if(fHasDrsFile=0,\"N\",fDrsStep)"]=$first?"Off":""; if (empty($_GET["if(!isnull(fCheckSum)+!isnull(fDataSum),Concat(fCheckSum,\"/\",fDataSum),Concat(fMd5sumRaw,\"/\",fMd5sumRawZip))"])) $_GET["if(!isnull(fCheckSum)+!isnull(fDataSum),Concat(fCheckSum,\"/\",fDataSum),Concat(fMd5sumRaw,\"/\",fMd5sumRawZip))"]=$first?"Off":""; if (empty($_GET["fRunTypeName"])) $_GET["fRunTypeName"]=$first?"On":""; if (empty($_GET["fTriggerRateMedian"])) $_GET["fTriggerRateMedian"]=$first?"Off":""; if (empty($_GET["fThresholdMedian"])) $_GET["fThresholdMedian"]=$first?"On":""; if (empty($_GET["fBiasVoltageMedian"])) $_GET["fBiasVoltageMedian"]=$first?"Off":""; if (empty($_GET["fRightAscension"])) $_GET["fRightAscension"]=$first?"Off":""; if (empty($_GET["fDeclination"])) $_GET["fDeclination"]=$first?"Off":""; if (empty($_GET["fZenithDistanceMean"])) $_GET["fZenithDistanceMean"]=$first?"On":""; if (empty($_GET["fAzimuthMean"])) $_GET["fAzimuthMean"]=$first?"On":""; } function PrintForm($_GET, $host, $user, $pw, $db) { printf("
\n"); printf("
\n"); // pull down boxes printf(" \n"); printf("
\n"); PrintPullDown($host, $user, $pw, $db, "RunType", "fRunTypeName", "fRunTypeKEY", "RunType"); printf("
\n"); printf("

\n"); printf(" \n"); printf(" \n"); CheckBox("fComments", "comments"); CheckBox("fRunStart", "start time"); CheckBox("fRunStop", "stop time"); CheckBox("TimeDiff(fRunStop,fRunStart)", "duration"); CheckBox("fNumEvents", "#Evts"); CheckBox("fROI", "roi"); printf(" \n"); printf(" \n"); CheckBox("Round(fNumPhysicsTrigger/Time_to_sec(TimeDiff(fRunStop,fRunStart)),1)", "phys rate"); CheckBox("fNumPhysicsTrigger", "#Phys"); CheckBox("fNumPedestalTrigger", "#Ped"); CheckBox("fNumELPTrigger", "#ELP"); CheckBox("fNumTimeTrigger", "#Time"); printf(" \n"); printf(" \n"); CheckBox("fNumExt1Trigger", "#Ext1"); CheckBox("fNumExt2Trigger", "#Ext2"); CheckBox("fNumILPTrigger", "#ILP"); CheckBox("fNumOtherTrigger", "#Other"); printf(" \n"); printf(" \n"); CheckBox("fTriggerRateMedian", "rate"); CheckBox("fThresholdMedian", "threshold"); CheckBox("fBiasVoltageMedian", "voltage"); CheckBox("if(fHasDrsFile=0,\"N\",fDrsStep)", "drs"); CheckBox("fROITimeMarker", "roi-tm"); printf(" \n"); printf(" \n"); CheckBox("fZenithDistanceMean", "ZdMean"); CheckBox("fAzimuthMean", "AzMean"); CheckBox("fRightAscension", "RA"); CheckBox("fDeclination", "Dec"); printf(" \n"); printf(" \n"); CheckBox("fFitsFileErrors", "file err"); CheckBox("fCompileTime", "compiled"); CheckBox("fRevisionNumber", "rev#"); CheckBox("if(!isnull(fCheckSum)+!isnull(fDataSum),Concat(fCheckSum,\"/\",fDataSum),Concat(fMd5sumRaw,\"/\",fMd5sumRawZip))", "checksum"); printf(" \n"); printf("
\n"); printf("

\n"); if (empty($_GET["fStartDate"])) $timemin = GetMin("fNight", "RunInfo", $host, $user, $pw, $db); else $timemin = $_GET["fStartDate"]; if (empty($_GET["fStopDate"])) $timemax = GetMax("fNight", "RunInfo", $host, $user, $pw, $db); else $timemax = $_GET["fStopDate"]; printf("Run (yyyymmdd) from \n", $timemin); printf("to     \n", $timemax); printf(" Results:\n"); printf(" \n"); printf("    \n"); ini_set("mysql.trace_mode", "Off"); ini_set("display_errors", "Off"); printf("   \n"); printf("   \n"); if (strchr($_SERVER["REQUEST_URI"], '?')!=FALSE) printf("   \n", $_SERVER["REQUEST_URI"]); printf("

\n"); printf("
\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); } function PrintPage($html, $host, $user, $pw, $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup) { $db_id = mysql_connect($host, $user, $pw); if ($db_id==FALSE) { printf("mysql_connect returned the following error: %s\n", mysql_error()); die(""); } mysql_select_db($db); mysql_query("SET BIG_TABLES=1"); // necessary for mySQL <= 4 $query0 = CreateQuery($_GET, $alias, $checkwhere, $checkgroup, $checkstatusgroup); $result0 = mysql_query($query0, $db_id); $result1 = mysql_query("SELECT FOUND_ROWS()", $db_id); if ($result0) { if ($html=="1") PrintMagicTable($result0, $alias, $rightalign, "", "", "", $result1); else PrintText($result0); mysql_free_result($result0); mysql_free_result($result1); } mysql_close($db_id); if ($html=="1") PrintSubmittedQuery($query0, $db, "old"); } include ("include.php"); include ("db.php"); include ("factdefs.php"); ini_set("display_errors", "On"); ini_set("mysql.trace_mode", "On"); if (!empty($_GET["fSendTxt"])) { header("Content-type: application/octet"); header("Content-Disposition: attachment; filename=query-result.txt"); PrintPage("0", $host, $user, $pw, $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup); } else { echo (file_get_contents("index-header.html")); $environment = sizeof($_GET); InitGet($_GET); PrintForm($_GET, $host, $user, $pw, $db); if ($environment==0) printf("No query submitted yet.
"); else PrintPage("1", $host, $user, $pw, $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup); echo (file_get_contents("index-footer.html")); } ini_set("display_errors", "Off"); ini_set("mysql.trace_mode", "Off"); } ?>