0) { foreach ($checkgroup as $key => $element) if ($element==-1) $query0 .= $key . " as '" . $alias[$key] . "' " . ", "; //-------------------------------------------------- //$query0 .= " TIMEDIFF(fRunStop, fRunStart), "; // Only available in MySQL>4.1.1 $query0 .= "SUM(if(TIME_TO_SEC(fRunStop)-TIME_TO_SEC(fRunStart)<0, " . "TIME_TO_SEC(fRunStop)-TIME_TO_SEC(fRunStart)+24*60*60, " . "TIME_TO_SEC(fRunStop)-TIME_TO_SEC(fRunStart)))/3600 as '" . $alias["SUM(fRunTime)/3600"] . "', "; //-------------------------------------------------- $query0 .= " SUM(fNumEvents) as '" . $alias["SUM(fNumEvents)"] . "', "; $query0 .= " Min(fZenithDistance) as '" . $alias["Min(fZenithDistance)"] . "', "; $query0 .= " Max(fZenithDistance) as '" . $alias["Max(fZenithDistance)"] . "', "; $query0 .= " COUNT(*) as 'Runs#' "; } else { $query0 .= " fRunNumber as 'Run#' "; foreach ($_GET as $key => $element) if ($_GET[$key]=="On") if (empty($checkwhere[$key]) || $checkwhere[$key]==0) $query0 .= ", " . $key . " as '" . $alias[$key] . "' "; } $query0 .= " FROM RunData "; 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)// 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["fRunMin"]) && !empty($_GET["fRunMax"])) $query0 .= "fRunNumber BETWEEN " . $_GET["fRunMin"] . " AND " . $_GET["fRunMax"] . " "; /* if (!empty($_GET["fDate"])) $query0 .= " AND fRunStart REGEXP \"^" . $_GET["fDate"] . "\" "; */ if (!empty($_GET["fStartDate"])) { if (strpos(strrev($query0), " DNA ")!=0) $query0 .= " AND "; $startdate=substr($_GET["fStartDate"], 0, 10); if ($startdate=="0000-00-00") $query0 .=" fRunStart >= '" . $startdate . " 00:00:00' "; else $query0 .= " fRunStart >= ADDDATE('" . $startdate . " 13:00:00', INTERVAL -1 DAY) "; } if (!empty($_GET["fStopDate"])) { if (strpos(strrev($query0), " DNA ")!=0) $query0 .= " AND "; $stopdate=substr($_GET["fStopDate"], 0, 10); $query0 .= " fRunStart < '" . $stopdate . " 13:00:00' "; } if (!empty($_GET["fSequenceNo"])) { if (strpos(strrev($query0), " DNA ")!=0) $query0 .= " AND "; $query0 .= " fSequenceFirst = '" . $_GET["fSequenceNo"] . "' "; } 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 (!empty($_GET["fSortBy"])) { $query0 .= " ORDER BY " . substr($_GET["fSortBy"], 0, -1) . " "; if (substr($_GET["fSortBy"], -1)=="-") $query0 .= "DESC"; } if (empty($_GET["fNumStart"])) $_GET["fNumStart"]=0; if (empty($_GET["fSendTxt"])) $query0 .= " LIMIT " . $_GET["fNumStart"] . ", " . $_GET["fNumResults"]; return $query0; } function InitGet($_GET) { /* if (empty($_GET["fRawFileKEY"])) $_GET["fRawFileKEY"]="Off"; */ // 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"]="20"; if (empty($_GET["fLastUpdate"])) $_GET["fLastUpdate"]="Off"; if (empty($_GET["fFormatVersion"])) $_GET["fFormatVersion"]="Off"; if (empty($_GET["fNumEvents"])) $_GET["fNumEvents"]=$first?"On":""; if (empty($_GET["fRunStart"])) $_GET["fRunStart"]=$first?"On":""; if (empty($_GET["fRunStop"])) $_GET["fRunStop"]="Off"; if (empty($_GET["fAzimuth"])) $_GET["fAzimuth"]="Off"; if (empty($_GET["fZenithDistance"])) $_GET["fZenithDistance"]=$first?"On":""; if (empty($_GET["fRunTypeName"])) $_GET["fRunTypeName"]=$first?"On":""; if (empty($_GET["fMagicNumberName"])) $_GET["fMagicNumberName"]="Off"; if (empty($_GET["fSourceName"])) $_GET["fSourceName"]=$first?"On":""; if (empty($_GET["fProjectName"])) $_GET["fProjectName"]="Off"; if (empty($_GET["fL1TriggerTableName"])) $_GET["fL1TriggerTableName"]="Off"; if (empty($_GET["fL2TriggerTableName"])) $_GET["fL2TriggerTableName"]="Off"; if (empty($_GET["fMeanTriggerRate"])) $_GET["fMeanTriggerRate"]=$first?"On":""; if (empty($_GET["fHvSettingsName"])) $_GET["fHvSettingsName"]="Off"; if (empty($_GET["fCalibrationScriptName"])) $_GET["fCalibrationScriptName"]="Off"; if (empty($_GET["fDiscriminatorThresholdTableName"])) $_GET["fDiscriminatorThresholdTableName"]="Off"; if (empty($_GET["fTriggerDelayTableName"])) $_GET["fTriggerDelayTableName"]="Off"; if (empty($_GET["fLightConditionsName"])) $_GET["fLightConditionsName"]="Off"; if (empty($_GET["fTestFlagName"])) $_GET["fTestFlagName"]="Off"; if (empty($_GET["fDaqStoreRate"])) $_GET["fDaqStoreRate"]="Off"; if (empty($_GET["fDaqTriggerRate"])) $_GET["fDaqTriggerRate"]="Off"; if (empty($_GET["fL2RatePresc"])) $_GET["fL2RatePresc"]="Off"; if (empty($_GET["fL2RateUnpresc"])) $_GET["fL2RateUnpresc"]="Off"; if (empty($_GET["fExcludedFDAName"])) $_GET["fExcludedFDAName"]=$first?"On":""; if (empty($_GET["fSequenceFirst"])) $_GET["fSequenceFirst"]="Off"; } function PrintForm($_GET, $db) { printf("
\n"); printf("
\n"); printf(" \n"); printf(" \n"); CheckBox("fRunStart", "Run start time"); CheckBox("fL2RatePresc", "L2 presc Rate"); CheckBox("fDaqStoreRate", "DAQ Storage Rate"); CheckBox("fAzimuth", "Azimuth"); printf(" \n"); CheckBox("fRunStop", "Run stop time"); CheckBox("fL2RateUnpresc", "L2 unpresc Rate"); CheckBox("fDaqTriggerRate", "DAQ Trigger Rate"); CheckBox("fZenithDistance", "Zenith distance"); printf(" \n"); CheckBox("fFormatVersion", "File format"); CheckBox("fNumEvents", "Num of events"); CheckBox("fMeanTriggerRate", "Mean Trigger rate"); CheckBox("fSequenceFirst", "Sequence Number"); printf(" \n"); printf("
\n"); printf("

\n"); // pull down boxes printf(" \n"); printf("
\n"); PrintPullDown($db, "RunType", "fRunTypeName", "fRunTypeKEY", "Run type"); printf(" \n"); PrintPullDown($db, "Source", "fSourceName", "fSourceKEY", "Source Name"); printf(" \n"); PrintPullDown($db, "HvSettings", "fHvSettingsName", "fHvSettingsKEY", "HV Settings"); printf(" \n"); PrintPullDown($db, "L1TriggerTable", "fL1TriggerTableName", "fL1TriggerTableKEY", "L1 Trigger Table"); printf("
\n"); PrintPullDown($db, "TestFlag", "fTestFlagName", "fTestFlagKEY", "Test Flag"); printf(" \n"); PrintPullDown($db, "Project", "fProjectName", "fProjectKEY", "Project Name"); printf(" \n"); PrintPullDown($db, "DiscriminatorThresholdTable", "fDiscriminatorThresholdTableName", "fDiscriminatorThresholdTableKEY", "DT Table"); printf(" \n"); PrintPullDown($db, "L2TriggerTable", "fL2TriggerTableName", "fL2TriggerTableKEY", "L2 Trigger Table"); printf("
\n"); PrintPullDown($db, "ExcludedFDA", "fExcludedFDAName", "fExcludedFDAKEY", "Exclusions"); printf(" \n"); PrintPullDown($db, "LightConditions", "fLightConditionsName", "fLightConditionsKEY", "Light Conditions"); printf(" \n"); PrintPullDown($db, "CalibrationScript", "fCalibrationScriptName", "fCalibrationScriptKEY", "Cal Script"); printf(" \n"); PrintPullDown($db, "TriggerDelayTable", "fTriggerDelayTableName", "fTriggerDelayTableKEY", "Trigger Delay Table"); printf("
\n"); PrintPullDown($db, "MagicNumber", "fMagicNumberName", "fMagicNumberKEY", "Magic Number"); printf("
\n"); printf("

\n"); if (empty($_GET["fStartDate"])) $timemin = GetMin("fRunStart", "RunData", $db); else $timemin = $_GET["fStartDate"]; if (empty($_GET["fStopDate"])) $timemax = GetMax("fRunStart", "RunData", $db); else $timemax = $_GET["fStopDate"]; printf("Night (yyyy-mm-dd) from \n", $timemin); printf("to     \n", $timemax); /* printf("Date (yyyy-mm-dd)    \n"); */ if (empty($_GET["fRunMin"])) $min = GetMin("fRunNumber", "RunData", $db); else $min = $_GET["fRunMin"]; if (empty($_GET["fRunMax"])) $max = GetMax("fRunNumber", "RunData", $db); else $max = $_GET["fRunMax"]; printf("Runs from \n", $min); printf("to    \n", $max); printf("

\n"); printf("Sequ#    \n"); 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, $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup) { $db_id = mysql_connect("hercules.astro.uni-wuerzburg.de", "MAGIC", "d99swMT!"); 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); if ($result0) { if ($html=="1") PrintMagicTable($result0, $alias, $rightalign, "", "", $_GET); else PrintText($result0); mysql_free_result($result0); } mysql_close($db_id); if ($html=="1") printf("submitted query:
%s
", htmlspecialchars($query0)); } include ("include.php"); include ("db.php"); include ("magicdefs.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", $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup); } else { echo (file_get_contents("index-header.html")); $environment = sizeof($_GET); InitGet($_GET); PrintForm($_GET, $db); if ($environment==0) printf("No query submitted yet.
"); else PrintPage("1", $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup); echo (file_get_contents("index-footer.html")); } ini_set("display_errors", "Off"); ini_set("mysql.trace_mode", "Off"); } ?>