Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 9485)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 9486)
@@ -18,4 +18,43 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2009/08/11 Daniela Dorner
+
+   * datacenter/db/menu.php:
+     - added mc function (corsika production)
+
+   * datacenter/db/magicdefs.php:
+     - added $timelimits array
+
+   * datacenter/db/include.php:
+     - added usage of $timelimits array in function StatusQuery(), i.e.
+       provides possibility to set different values for time after 
+       which job is marked as 'crashef' for diffent steps
+
+   * datacenter/db/builddatasets.php, datacenter/db/datacheck.php, 
+     datacenter/db/datasetinfo-aio.php, datacenter/db/datasetinfo.php, 
+     datacenter/db/dbstatus.php, datacenter/db/findoffdata.php, 
+     datacenter/db/runinfo-aio.php, datacenter/db/runinfo.php, 
+     datacenter/db/sequinfo-aio.php, datacenter/db/sequinfo.php, 
+     datacenter/db/statusrps.php, datacenter/db/statussbs.php, 
+     datacenter/db/statussps.php, datacenter/db/ctamcinfo.php:
+     - added $timelimits to function StatusQuery()
+
+   * datacenter/db/ctamcinfo.php:
+     - bugfix: combining of normal and status group-by is possible now
+     - added # of events and # of kilo-events in 'group-by'
+
+   * datacenter/db/ctadefs.php:
+     - changed time limit for corsika from 30 to 48 hours
+     - added # of events and # of kilo-events for 'group-by'
+
+   * datacenter/db/mcinfo.php:
+     - added (interface to monitor mc production (up to now only test
+       version for corsika))
+
+   * datacenter/db/mcdefs.php:
+     - added (definition of variables for mc production)
+
+
 
  2009/08/03 Daniel Hoehne-Moench, Stefan Ruegamer
Index: /trunk/MagicSoft/Mars/datacenter/db/builddatasets.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/builddatasets.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/builddatasets.php	(revision 9486)
@@ -124,10 +124,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fSequenceFileWritten", $needs);
-        $query0 .= StatusQuery("fAllFilesAvail", $needs);
-        $query0 .= StatusQuery("fCallisto", $needs);
-        $query0 .= StatusQuery("fFillCallisto", $needs);
-        $query0 .= StatusQuery("fStar", $needs);
-        $query0 .= StatusQuery("fFillStar", $needs);
+        $query0 .= StatusQuery("fSequenceFileWritten", $needs, $timelimits);
+        $query0 .= StatusQuery("fAllFilesAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fStar", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillStar", $needs, $timelimits);
 
         if (!empty($_GET["fRunMin"]) && !empty($_GET["fRunMax"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/ctadefs.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/ctadefs.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/ctadefs.php	(revision 9486)
@@ -14,5 +14,5 @@
 $timelimits = array
     (
-     "fCorsikaSimTelarray"   => "30",
+     "fCorsikaSimTelarray"   => "48",
      "fChimp"                => "4",
      "fCTAStar"              => "2",
@@ -49,18 +49,19 @@
     (
 //     "fRunNumber"                       => "Run#",
-     "Run#"                  => "Run#",
-     "fNumEvents"            => "#Evts",
-     "SUM(fNumEvents)"       => "Evts",
-     "fParticleTypeName"     => "Particle",
-     "fCorsikaSimTelarray"   => "CorsikaSimtel",
-     "fChimp"                => "Chimp",
-     "fCTAStar"              => "Star",
-     "fStereoB"              => "StereoB",
-     "fStereoC"              => "StereoC",
-     "fStereoG"              => "StereoG",
-     "fStartTime"            => "Process",
-     "fFailedTime"           => "Failed",
-     "fReturnCode"           => "Ret<br>Code",
-     "fProgramId"            => "Prgr<br>Id",
+     "Run#"                     => "Run#",
+     "fNumEvents"               => "#Evts",
+     "SUM(fNumEvents)"          => "Evts",
+     "SUM(fNumEvents) DIV 1000" => "kEvts",
+     "fParticleTypeName"        => "Particle",
+     "fCorsikaSimTelarray"      => "CorsikaSimtel",
+     "fChimp"                   => "Chimp",
+     "fCTAStar"                 => "Star",
+     "fStereoB"                 => "StereoB",
+     "fStereoC"                 => "StereoC",
+     "fStereoG"                 => "StereoG",
+     "fStartTime"               => "Process",
+     "fFailedTime"              => "Failed",
+     "fReturnCode"              => "Ret<br>Code",
+     "fProgramId"               => "Prgr<br>Id",
     );
 
@@ -70,4 +71,5 @@
 //     $alias["fRunNumber"]                => "1",
      $alias["fNumEvents"]                => "1",
+     $alias["SUM(fNumEvents) DIV 1000"]  => "1",
      "Time"                              => "1",
      "Runs"                              => "1",
Index: /trunk/MagicSoft/Mars/datacenter/db/ctamcinfo.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/ctamcinfo.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/ctamcinfo.php	(revision 9486)
@@ -17,25 +17,24 @@
         $query0 = "SELECT ";
 
-        if ($groups>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
-        {
+        if ($groups>0 || $statusgroups>0)
+        {
+            if ($groups>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)"] . "', ";
+                 */
+            }
             if ($statusgroups>0)
             {
@@ -43,26 +42,29 @@
                     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 " . $timelimits[$key] . " 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 '# Runs'";
+                //                        $query0 .= " (if(IsNull(" . $key . "), 'not done' ,if(" . $key . "='1970-01-01 00:00:00','dont do','done'))) as '" . $alias[$key] . "', ";
+
+//                $query0 .= " count(*) as '# Runs'";
 
             }
-            else
-            {
-                $query0 .= " MCRunData.fMCRunNumber as 'Run#' ";
+            $query0 .= " COUNT(*) as '# Runs' ";
+            $query0 .= ", SUM(fNumEvents) as '" . $alias["SUM(fNumEvents)"] . "' ";
+            $query0 .= ", SUM(fNumEvents) DIV 1000 as '" . $alias["SUM(fNumEvents) DIV 1000"] . "' ";
+        }
+        else
+        {
+            $query0 .= " MCRunData.fMCRunNumber as 'Run' ";
 //                $query0 .= " Concat(RunData.fTelescopeNumber,':', RunData.fRunNumber,':', RunData.fFileNumber) as 'Run' ";
 //                $query0 .= " Concat('M', RunData.fTelescopeNumber,':', LPAD(RunData.fRunNumber,8, ' '),'/', LPAD(RunData.fFileNumber, 3, ' ')) as 'Tel:Run/File' ";
 
-                if (empty($_GET["fSendTxt"]) && !empty($_GET["fLinks"]))
-                {
-                    $query0 .= ", CONCAT('<A&ws;HREF=\"queryrbk.php?fNight=', date_format(adddate(fRunStart, interval +13 HOUR), '%Y-%m-%d') , '&amp;fDate=2\">rbk</A>') ";
-                    $query0 .= " as 'Links'";
-                }
-
-                foreach ($_GET as $key => $element)
-                    if ($key!="fLinks" && $_GET[$key]=="On" && $key!="fTest")
-                        if (empty($checkwhere[$key]) || $checkwhere[$key]==0)
-                            $query0 .= ", " . $key . " as '" . $alias[$key] . "' ";
+            if (empty($_GET["fSendTxt"]) && !empty($_GET["fLinks"]))
+            {
+                $query0 .= ", CONCAT('<A&ws;HREF=\"queryrbk.php?fNight=', date_format(adddate(fRunStart, interval +13 HOUR), '%Y-%m-%d') , '&amp;fDate=2\">rbk</A>') ";
+                $query0 .= " as 'Links'";
             }
+
+            foreach ($_GET as $key => $element)
+                if ($key!="fLinks" && $_GET[$key]=="On" && $key!="fTest")
+                    if (empty($checkwhere[$key]) || $checkwhere[$key]==0)
+                        $query0 .= ", " . $key . " as '" . $alias[$key] . "' ";
         }
 
@@ -105,10 +107,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fCorsikaSimTelarray", $needs);
-        $query0 .= StatusQuery("fChimp", $needs);
-        $query0 .= StatusQuery("fCTAStar", $needs);
-        $query0 .= StatusQuery("fStereoB", $needs);
-        $query0 .= StatusQuery("fStereoC", $needs);
-        $query0 .= StatusQuery("fStereoG", $needs);
+        $query0 .= StatusQuery("fCorsikaSimTelarray", $needs, $timelimits);
+        $query0 .= StatusQuery("fChimp", $needs, $timelimits);
+        $query0 .= StatusQuery("fCTAStar", $needs, $timelimits);
+        $query0 .= StatusQuery("fStereoB", $needs, $timelimits);
+        $query0 .= StatusQuery("fStereoC", $needs, $timelimits);
+        $query0 .= StatusQuery("fStereoG", $needs, $timelimits);
 
         if ((!empty($_GET["fRunMin"]) || $_GET["fRunMin"]=="0") && !empty($_GET["fRunMax"]))
@@ -176,5 +178,9 @@
         if ($statusgroups>0)
         {
-            $query0 .= " GROUP BY ";
+//            $query0 .= " GROUP BY ";
+            if (strpos($query0, " GROUP BY ")==FALSE)
+                $query0 .= " GROUP BY ";
+            else
+                $query0 .= ", ";
             $num = $statusgroups;
             foreach ($checkstatusgroup as $key => $element)
Index: /trunk/MagicSoft/Mars/datacenter/db/datacheck.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/datacheck.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/datacheck.php	(revision 9486)
@@ -101,6 +101,6 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fRawFileAvail", $needs);
-        $query0 .= StatusQuery("fDataCheckDone", $needs);
+        $query0 .= StatusQuery("fRawFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fDataCheckDone", $needs, $timelimits);
 
         $query0 .= EnumQuery("fHasSignal");
Index: /trunk/MagicSoft/Mars/datacenter/db/datasetinfo-aio.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/datasetinfo-aio.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/datasetinfo-aio.php	(revision 9486)
@@ -97,8 +97,8 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fDataSetInserted", $needs);
-        $query0 .= StatusQuery("fStarFilesAvail", $needs);
-        $query0 .= StatusQuery("fGanymed", $needs);
-        $query0 .= StatusQuery("fFillGanymed", $needs);
+        $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"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/datasetinfo.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/datasetinfo.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/datasetinfo.php	(revision 9486)
@@ -85,8 +85,8 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fDataSetInserted", $needs);
-        $query0 .= StatusQuery("fStarFilesAvail", $needs);
-        $query0 .= StatusQuery("fGanymed", $needs);
-        $query0 .= StatusQuery("fFillGanymed", $needs);
+        $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"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/dbstatus.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/dbstatus.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/dbstatus.php	(revision 9486)
@@ -124,10 +124,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fSequenceFileWritten", $needs);
-        $query0 .= StatusQuery("fAllFilesAvail", $needs);
-        $query0 .= StatusQuery("fCallisto", $needs);
-        $query0 .= StatusQuery("fFillCallisto", $needs);
-        $query0 .= StatusQuery("fStar", $needs);
-        $query0 .= StatusQuery("fFillStar", $needs);
+        $query0 .= StatusQuery("fSequenceFileWritten", $needs, $timelimits);
+        $query0 .= StatusQuery("fAllFilesAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fStar", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillStar", $needs, $timelimits);
 
         if (!empty($_GET["fRunMin"]) && !empty($_GET["fRunMax"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/findoffdata.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/findoffdata.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/findoffdata.php	(revision 9486)
@@ -120,5 +120,5 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fStar", $needs);
+        $query0 .= StatusQuery("fStar", $needs, $timelimits);
 
         if (!empty($_GET["fRunMin"]) && !empty($_GET["fRunMax"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/include.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/include.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/include.php	(revision 9486)
@@ -50,6 +50,10 @@
 }
 
-function StatusQuery($name, $needs)
-{
+function StatusQuery($name, $needs, $timelimits)
+{
+    if (empty($timelimits[$name]))
+        $timelimit="12";
+    else
+        $timelimit=$timelimits[$name];
     $var  = $name . "Status";
     $txt  = "";
@@ -61,7 +65,7 @@
     case 2: $txt .= "IsNull(" . $name . ") AND "; break; //not done no matter what status of previous step is
     case 3: $txt .= $name ."='1970-01-01 00:00:00' AND "; break;
-    case 4: $txt .= " (IsNull(" . $name . ") AND IsNull(fFailedTime) AND NOT IsNull(fStartTime) AND date_sub(Now(),interval 12 hour) < fStartTime AND NOT IsNull(" . $needs[$name] . ")) AND "; break;
+    case 4: $txt .= " (IsNull(" . $name . ") AND IsNull(fFailedTime) AND NOT IsNull(fStartTime) AND date_sub(Now(),interval " . $timelimit . " hour) < fStartTime AND NOT IsNull(" . $needs[$name] . ")) AND "; break;
     case 5: $txt .= " (IsNull(" . $name . ") AND NOT IsNull(fFailedTime) AND NOT IsNull(fStartTime) AND NOT IsNull(" . $needs[$name] . ")) AND "; break;
-    case 6: $txt .= " (IsNull(" . $name . ") AND IsNull(fFailedTime) AND NOT IsNull(fStartTime) AND date_sub(Now(),interval 12 hour) > fStartTime AND NOT IsNull(" . $needs[$name] . ")) AND "; break;
+    case 6: $txt .= " (IsNull(" . $name . ") AND IsNull(fFailedTime) AND NOT IsNull(fStartTime) AND date_sub(Now(),interval " . $timelimit . " hour) > fStartTime AND NOT IsNull(" . $needs[$name] . ")) AND "; break;
 //    case 6: $txt .= "crashed"; break;
     case 7: $txt .= ""; break;
Index: /trunk/MagicSoft/Mars/datacenter/db/magicdefs.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/magicdefs.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/magicdefs.php	(revision 9486)
@@ -24,4 +24,7 @@
      "fFillGanymed"          => "fGanymed",
      );
+
+
+$timelimits = array();
 
 
Index: /trunk/MagicSoft/Mars/datacenter/db/mcdefs.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/mcdefs.php	(revision 9486)
+++ /trunk/MagicSoft/Mars/datacenter/db/mcdefs.php	(revision 9486)
@@ -0,0 +1,173 @@
+<?php
+
+$needs = array
+    (
+     "fCorsikaInputCreated" => "MCRunProcessStatus.fMCRunNumber",
+     "fCorsikaFileAvail"    => "MCRunProcessStatus.fCorsikaInputCreated",
+     );
+
+
+$timelimits = array
+    (
+     "fCorsikaInputCreated" => "1",
+     "fCorsikaFileAvail"    => "60",
+     );
+
+
+$checkwhere = array
+    (
+     "fParticleTypeName"                 => CheckWhere("fParticleTypeKEY",                 $_GET),
+     "fAtmosphericModelName"             => CheckWhere("fAtmosphericModelKEY",             $_GET),
+    );
+
+$checkgroup = array
+    (
+     "fParticleTypeName"                 => CheckGroup("fParticleTypeKEY",                 $_GET),
+     "fAtmosphericModelName"             => CheckGroup("fAtmosphericModelKEY",             $_GET),
+    );
+
+
+$checkstatusgroup = array
+    (
+     "fCorsikaInputCreated" => CheckStatusGroup("fCorsikaInputCreatedStatus", $_GET),
+     "fCorsikaFileAvail" => CheckStatusGroup("fCorsikaFileAvailStatus", $_GET),
+    );
+
+
+
+$alias = array
+    (
+//     "fRunNumber"                       => "Run#",
+     "Run#"                    => "Run#",
+     "fNumEvents"              => "#Evts",
+     "SUM(fNumEvents)"         => "Evts",
+     "fParticleTypeName"       => "Particle",
+     "fAtmosphericModelName"   => "Atm.Model",
+     "fCorsikaInputCreated"    => "Input",
+     "fCorsikaFileAvail"       => "Corsika",
+     "fStartTime"              => "Process",
+     "fFailedTime"             => "Failed",
+     "fReturnCode"             => "Ret<br>Code",
+     "fProgramId"              => "Prgr<br>Id",
+     "fZenithDistanceMin"      => "Zd<br>Min",
+     "fZenithDistanceMax"      => "Zd<br>Max",
+     "fAzimuthMin"             => "Az<br>Min",
+     "fAzimuthMax"             => "Az<br>Max",
+     "Min(fZenithDistanceMin)" => "ZDMin",
+     "Max(fZenithDistanceMax)" => "ZDMax",
+     "fEnergyMin"              => "EMin<br>[GeV]",
+     "fEnergyMax"              => "EMax<br>[GeV]",
+     "fImpactMax"              => "Impact<br>[cm]",
+     "fViewConeMax"            => "View<br>cone<br>[deg]",
+     "fEnergySlope"            => "Slope",
+     "fNumReUseShower"         => "#ShowerReUse",
+     "fStartingAltitude"       => "Altitude<br>[g/sqcm]",
+     "fMirrorDiameter"         => "Mirror<br>diam.<br>[cm]",
+    );
+
+
+$rightalign = array
+    (
+//     $alias["fRunNumber"]                => "1",
+     $alias["fNumEvents"]                => "1",
+     $alias["fZenithDistanceMin"]        => "1",
+     $alias["fZenithDistanceMax"]        => "1",
+     $alias["fAzimuthMin"]               => "1",
+     $alias["fAzimuthMax"]               => "1",
+     $alias["fEnergyMin"]                => "1",
+     $alias["fEnergyMax"]                => "1",
+     $alias["fImpactMax"]                => "1",
+     $alias["fViewConeMax"]              => "1",
+     $alias["fEnergySlope"]              => "1",
+     $alias["fNumReUseShower"]           => "1",
+     $alias["fStartingAltitude"]         => "1",
+     $alias["fMirrorDiameter"]           => "1",
+     "Time"                              => "1",
+     "Runs"                              => "1",
+     "Evts"                              => "1",
+);
+
+function GetCheck($fromtable, $val)
+{
+    $checks = array
+        (
+         "fParticleTypeName"         => $fromtable . ".fParticleTypeKEY",
+         "fAtmosphericModelName"     => $fromtable . ".fAtmosphericModelKEY",
+        );
+
+    $check="";
+    if (!empty($checks[$val]))
+        $check=$checks[$val];
+    return $check;
+}
+
+
+function GetTable($fromtable, $val)
+{
+    $tables = array
+        (
+         "fNumEvents"                        => $fromtable . ".fNumEvents",
+         "fMCRunNumber"                      => "MCCorsikaRunData.fMCRunNumber",
+         "fRawFileAvail"                     => "RunProcessStatus.fRawFileAvail",
+         "SUM(fRunTime)/3600"                => "'Time [h]'",
+         "SUM(fNumEvents)"                   => "'Evts'",
+         "fStartTime"                        => "fStartTime",
+         "fFailedTime"                       => "fFailedTime",
+         "fReturnCode"                       => "fReturnCode",
+         "fProgramId"                        => "fProgramId",
+         "fParticleTypeName"                 => "ParticleType.fParticleTypeName",
+         "fAtmosphericModelName"             => "AtmosphericModel.fAtmosphericModelName",
+         "fAzimuthMin"                       => $fromtable . ".fAzimuthMin",
+         "fAzimuthMax"                       => $fromtable . ".fAzimuthMax",
+         "fZenithDistanceMin"                => $fromtable . ".fZenithDistanceMin",
+         "fZenithDistanceMax"                => $fromtable . ".fZenithDistanceMax",
+         "fEnergyMin"                        => $fromtable . ".fEnergyMin",
+         "fEnergyMax"                        => $fromtable . ".fEnergyMax",
+         "fImpactMax"                        => $fromtable . ".fImpactMax",
+         "fViewConeMax"                      => $fromtable . ".fViewConeMax",
+         "fEnergySlope"                      => $fromtable . ".fEnergySlope",
+         "fNumReUseShower"                   => $fromtable . ".fNumReUseShower",
+         "fStartingAltitude"                 => $fromtable . ".fStartingAltitude",
+         "fMirrorDiameter"                   => $fromtable . ".fMirrorDiameter",
+         "Min(fZenithDistanceMin)"           => "'ZDMin'",
+         "Max(fZenithDistanceMax)"           => "'ZDMax'",
+        );
+
+    $table="";
+    if (!empty($tables[$val]))
+        $table=$tables[$val];
+    if ($val=="Tel:Run/File")
+        $table="'Tel:Run/File'";
+    if ($val=="Tel:Sequ")
+        $table="CONCAT('M', Sequences.fTelescopeNumber, ':', LPAD(Sequences.fSequenceFirst, 8, '0'))";
+    if ($val=="NumRuns")
+        $table="'# Runs'";
+    if ($val=="NumSequ")
+        $table="'# Sequ'";
+    if ($val=="NumDS")
+        $table="'# Datasets'";
+    if ($val=="NumDays")
+        $table="'# days'";
+    if (empty($table))
+        $table=$val;
+    return $table;
+}
+
+
+function GetJoin($fromtable, $val)
+{
+    $joins = array
+        (
+         "fParticleTypeName"           => " LEFT JOIN ParticleType         USING(fParticleTypeKEY) ",
+         "fAtmosphericModelName"       => " LEFT JOIN AtmosphericModel     USING(fAtmosphericModelKEY) ",
+        );
+
+
+    $join="";
+    if (!empty($joins[$val]))
+        $join=$joins[$val];
+    return $join;
+}
+
+
+?>
Index: /trunk/MagicSoft/Mars/datacenter/db/mcinfo.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/mcinfo.php	(revision 9486)
+++ /trunk/MagicSoft/Mars/datacenter/db/mcinfo.php	(revision 9486)
@@ -0,0 +1,339 @@
+<?php
+{
+    function CreateQuery($_GET, $alias, $checkwhere, $checkgroup, $checkstatusgroup, $needs, $timelimits)
+    {
+        $fromtable="MCCorsikaRunData";
+
+        $groups = 0;
+        foreach ($checkgroup as $element)
+            if ($element==-1)
+                $groups++;
+
+        $statusgroups = 0;
+        foreach ($checkstatusgroup as $element)
+            if ($element==-1)
+                $statusgroups++;
+
+        $query0 = "SELECT ";
+
+        if ($groups>0 || $statusgroups>0)
+        {
+            if ($groups>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)"] . "', ";
+                 */
+            }
+
+            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 " . $timelimits[$key] . " 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 '# Runs'";
+//                $query0 .= ", SUM(fNumEvents) as '" . $alias["SUM(fNumEvents)"] . "' ";
+
+            }
+            $query0 .= " COUNT(*) as '# Runs' ";
+            $query0 .= ", SUM(fNumEvents) as '" . $alias["SUM(fNumEvents)"] . "' ";
+        }
+        else
+        {
+            $query0 .= " MCCorsikaRunData.fCorsikaRunNumber as 'Run' ";
+//                $query0 .= " Concat(RunData.fTelescopeNumber,':', RunData.fRunNumber,':', RunData.fFileNumber) as 'Run' ";
+//                $query0 .= " Concat('M', RunData.fTelescopeNumber,':', LPAD(RunData.fRunNumber,8, ' '),'/', LPAD(RunData.fFileNumber, 3, ' ')) as 'Tel:Run/File' ";
+
+            if (empty($_GET["fSendTxt"]) && !empty($_GET["fLinks"]))
+            {
+                $query0 .= ", CONCAT('<A&ws;HREF=\"queryrbk.php?fNight=', date_format(adddate(fRunStart, interval +13 HOUR), '%Y-%m-%d') , '&amp;fDate=2\">rbk</A>') ";
+                $query0 .= " as 'Links'";
+            }
+
+            foreach ($_GET as $key => $element)
+                if ($key!="fLinks" && $_GET[$key]=="On" && $key!="fTest")
+                    if (empty($checkwhere[$key]) || $checkwhere[$key]==0)
+                        $query0 .= ", " . $key . " as '" . $alias[$key] . "' ";
+        }
+
+        $query0 .= " FROM MCCorsikaRunData ";
+
+        $query0 .= " LEFT JOIN MCRunProcessStatus ON MCCorsikaRunData.fCorsikaRunNumber=MCRunProcessStatus.fMCRunNumber ";
+
+        foreach ($_GET as $key => $element)
+            if (($_GET[$key]=="On" || $groups>0))// && !empty($joins[$key]))
+                $query0 .= GetJoin($fromtable,$key);
+
+        /*
+        if ($_GET["fTest"]!="On")
+        {
+            if ($_GET["fSourceName"]!="On")
+                $query0 .= " LEFT JOIN Source USING(fSourceKEY) ";
+            $query0 .= " WHERE fTest='no'";
+        }
+        */
+
+        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 ";
+
+        $query0 .= StatusQuery("fCorsikaInputCreated", $needs, $timelimits);
+        $query0 .= StatusQuery("fCorsikaFileAvail", $needs, $timelimits);
+
+        if ((!empty($_GET["fRunMin"]) || $_GET["fRunMin"]=="0") && !empty($_GET["fRunMax"]))
+            $query0 .= "MCCorsikaRunData.fCorsikaRunNumber BETWEEN " . $_GET["fRunMin"] . " AND " . $_GET["fRunMax"] . " ";
+
+//        if ((!empty($_GET["fZDMin"]) || $_GET["fZDMin"]==0) && !empty($_GET["fZDMax"]))
+//            $query0 .= "AND fZenithDistance BETWEEN " . $_GET["fZDMin"] . " AND  " . $_GET["fZDMax"] . " ";
+
+/*
+        if (!empty($_GET["fDate"]))
+            $query0 .= " AND fRunStart REGEXP \"^" . $_GET["fDate"] . "\" ";
+*/
+
+        /*
+        if (!empty($_GET["fSourceN"]))
+            $query0 .= " AND fSourceName REGEXP \"^" . $_GET["fSourceN"] . "\" ";
+
+        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"]) || $_GET["fSequenceNo"]=="0")
+        {
+            if (strpos(strrev($query0), " DNA ")!=0)
+                $query0 .= " AND ";
+
+            $query0 .= " fSequenceFirst = '" . $_GET["fSequenceNo"] . "' ";
+        }
+        */
+
+        //remove WHERE or AND in the end of the query
+        $query0=ereg_replace(" WHERE \$", " ", $query0);
+        $query0=ereg_replace(" AND \$", " ", $query0);
+
+        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 ";
+            if (strpos($query0, " GROUP BY ")==FALSE)
+                $query0 .= " GROUP BY ";
+            else
+                $query0 .= ", ";
+            $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";
+        }
+        else
+            $query0 .=" ORDER BY MCCorsikaRunData.fCorsikaRunNumber 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"]);
+
+        InitMCRunInfo($_GET, $first);
+    }
+
+    function PrintForm($_GET, $host, $user, $pw, $db)
+    {
+        printf("<center>\n");
+        printf("<form action=\"mcinfo.php\" METHOD=\"GET\">\n");
+
+        printf("<input id='sh' type='hidden' name='fShowHide' value='");
+        if (!empty($_GET["fShowHide"]))
+            printf("%s", $_GET["fShowHide"]);
+        else
+            printf("1000000010");
+        printf("'>\n");
+        printf("<img id='allbutton' src='minus.png' alt='-' onclick=\"showhide('all')\"> <b>Menu</b>&nbsp;&nbsp;&nbsp;&nbsp;\n");
+        printf("&nbsp;&nbsp;<img id='infobutton'   src='plus.png' alt='+' onClick=\"showhide('info');showhide('info2')\"> MCRunInfo  \n");
+        printf("&nbsp;&nbsp;<img id='statbutton'   src='plus.png' alt='+' onClick=\"showhide('stat');showhide('fail')\">  StatusInfo \n");
+        printf("&nbsp;&nbsp;<img id='rangesbutton' src='plus.png' alt='+' onClick=\"showhide('ranges')\">                 Ranges     \n");
+
+        printf(" <div id='all' style='display:block'>");
+        PrintMCRunInfoMenu($host,$user,$pw,$db);
+//        PrintRunInfo2Menu($host,$user,$pw,$db);
+        PrintMCRunStatMenu();
+        PrintFailMenu();
+        printf(" <div id='ranges' style='display:none'>");
+//        PrintSequMenu($host,$user,$pw,$db);
+//        PrintNightRangeMenu($host,$user,$pw,$db, "RunData");
+        printf("<p>");
+//        PrintZdRangeMenu($host,$user,$pw,$db);
+        PrintMCRunRangeMenu($host,$user,$pw,$db);
+//        printf(" <P>\n");
+//        PrintSourceMenu($host,$user,$pw,$db);
+        printf("<p>");
+        printf("</div>");
+        printf("</div>");
+        printf(" <P>\n");
+
+        ini_set("mysql.trace_mode", "Off");
+        ini_set("display_errors", "Off");
+
+        PrintNumResPullDown();
+        PrintButtons("mcinfo.php");
+
+        printf("</form>\n");
+        printf("</center>\n");
+        printf("</td>\n");
+        printf("</tr>\n");
+        printf("<tr class='Block'>\n");
+        printf("<td>\n");
+    }
+
+    function PrintPage($html, $host, $user, $pw, $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup, $needs, $timelimits)
+    {
+        $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, $needs, $timelimits);
+
+        $result0 = mysql_query($query0, $db_id);
+
+        if ($result0)
+        {
+            if ($html=="1" || $html=="2")
+                PrintMagicTable($result0, $alias, $rightalign, "", "", "", "", $_GET);
+            else
+                PrintText($result0);
+
+            mysql_free_result($result0);
+        }
+        mysql_close($db_id);
+
+        PrintSubmittedQuery($query0, $html, $db, "");
+    }
+
+    include ("include.php");
+    include ("db2.php");
+    include ("menu.php");
+    include ("mcdefs.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, $needs, $timelimits);
+    }
+    else
+    {
+        if (empty($_GET["fPrintTable"]))
+            echo (file_get_contents("index-header.html"));
+
+        $environment = sizeof($_GET);
+
+        InitGet($_GET);
+        if (empty($_GET["fPrintTable"]))
+            PrintForm($_GET, $host, $user, $pw, $db);
+
+        if ($environment==0)
+            printf("No query submitted yet.<BR>");
+        else
+        {
+            if (empty($_GET["fPrintTable"]))
+                PrintPage("1", $host, $user, $pw, $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup, $needs, $timelimits);
+            else
+                PrintPage("2", $host, $user, $pw, $db, $alias, $rightalign, $checkwhere, $checkgroup, $checkstatusgroup, $needs, $timelimits);
+        }
+
+        if (empty($_GET["fPrintTable"]))
+            echo (file_get_contents("index-footer.html"));
+    }
+
+    ini_set("display_errors",   "Off");
+    ini_set("mysql.trace_mode", "Off");
+}
+?>
Index: /trunk/MagicSoft/Mars/datacenter/db/menu.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/menu.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/menu.php	(revision 9486)
@@ -1,5 +1,6 @@
 <?php
 
-function PrintCTAMCRunInfoMenu($host,$user,$pw,$db)
+//MC stuff
+function PrintMCRunInfoMenu($host,$user,$pw,$db)
 {
     printf(" <div id='info' style='display:none'>");
@@ -8,8 +9,32 @@
 
     CheckBox("fNumEvents",        "Num of events");
-
+    CheckBox("fEnergyMin",        "Emin");
+    CheckBox("fEnergyMax",        "Emax");
+    CheckBox("fEnergySlope",      "Slope");
+
+    printf("  </tr><tr>\n");
+
+    CheckBox("fImpactMax",        "Impact");
+    CheckBox("fViewConeMax",      "Viewcone");
+    CheckBox("fNumReUseShower",   "#Shower reuse");
+    CheckBox("fStartingAltitude", "Starting alt.");
+
+    printf("  </tr><tr>\n");
+
+    CheckBox("fMirrorDiameter", "Mirror diam.");
+
+    printf("  </tr><tr>\n");
+
+    CheckBox("fZenithDistanceMin", "Zenith distance min");
+    CheckBox("fZenithDistanceMax", "Zenith distance max");
+    CheckBox("fAzimuthMin",        "Azimuth min");
+    CheckBox("fAzimuthMax",        "Azimuth max");
+
+    printf("  </tr><tr>\n");
     printf("  <td>\n");
     PrintPullDown($host, $user, $pw, $db, "ParticleType",     "fParticleTypeName",     "fParticleTypeKEY", "Particle type");
     printf("  </td><td>\n");
+    PrintPullDown($host, $user, $pw, $db, "AtmosphericModel",     "fAtmosphericModelName",     "fAtmosphericModelKEY", "Atm. model");
+    printf("  </td>\n");
 
     printf("  </tr>\n");
@@ -18,5 +43,5 @@
 }
 
-function PrintCTAMCRunStatMenu()
+function PrintMCRunStatMenu()
 {
     printf(" <div id=\"stat\" style='display:none'>\n");
@@ -24,17 +49,7 @@
     printf("  <tr><td>\n");
 
-    PrintStatusMenu("fCorsikaSimTelarray",    "Corsika and Simtel");
-    printf("  </td><td>\n");
-    PrintStatusMenu("fChimp",   "Chimp");
-    printf("  </td><td>\n");
-    PrintStatusMenu("fCTAStar", "Star");
-
-    printf("  </td></tr><tr><td>\n");
-
-    PrintStatusMenu("fStereoB", "StereoB");
-    printf("  </td><td>\n");
-    PrintStatusMenu("fStereoC", "StereoC");
-    printf("  </td><td>\n");
-    PrintStatusMenu("fStereoG", "StereoG");
+    PrintStatusMenu("fCorsikaInputCreated",    "Input");
+    printf("  </td><td>\n");
+    PrintStatusMenu("fCorsikaFileAvail",    "Corsika");
 
     printf(" </td></tr></table>\n");
@@ -43,4 +58,48 @@
 }
 
+//cta mc stuff
+function PrintCTAMCRunInfoMenu($host,$user,$pw,$db)
+{
+    printf(" <div id='info' style='display:none'>");
+    printf(" <table>\n");
+    printf("  <tr valign='top'>\n");
+
+    CheckBox("fNumEvents",        "Num of events");
+
+    printf("  <td>\n");
+    PrintPullDown($host, $user, $pw, $db, "ParticleType",     "fParticleTypeName",     "fParticleTypeKEY", "Particle type");
+    printf("  </td><td>\n");
+
+    printf("  </tr>\n");
+    printf(" </table>\n");
+    printf(" </div><p>\n");
+}
+
+function PrintCTAMCRunStatMenu()
+{
+    printf(" <div id=\"stat\" style='display:none'>\n");
+    printf(" <table>\n");
+    printf("  <tr><td>\n");
+
+    PrintStatusMenu("fCorsikaSimTelarray",    "Corsika and Simtel");
+    printf("  </td><td>\n");
+    PrintStatusMenu("fChimp",   "Chimp");
+    printf("  </td><td>\n");
+    PrintStatusMenu("fCTAStar", "Star");
+
+    printf("  </td></tr><tr><td>\n");
+
+    PrintStatusMenu("fStereoB", "StereoB");
+    printf("  </td><td>\n");
+    PrintStatusMenu("fStereoC", "StereoC");
+    printf("  </td><td>\n");
+    PrintStatusMenu("fStereoG", "StereoG");
+
+    printf(" </td></tr></table>\n");
+    printf(" <p>\n");
+    printf(" </div><p>\n");
+}
+
+//magic data stuff
 function PrintRunInfoMenu()
 {
Index: /trunk/MagicSoft/Mars/datacenter/db/runinfo-aio.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/runinfo-aio.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/runinfo-aio.php	(revision 9486)
@@ -118,10 +118,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fCCFileAvail", $needs);
-        $query0 .= StatusQuery("fCaCoFileAvail", $needs);
-        $query0 .= StatusQuery("fCaCoFileFound", $needs);
-        $query0 .= StatusQuery("fRawFileAvail", $needs);
-        $query0 .= StatusQuery("fDataCheckDone", $needs);
-        $query0 .= StatusQuery("fTimingCorrection", $needs);
+        $query0 .= StatusQuery("fCCFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCaCoFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCaCoFileFound", $needs, $timelimits);
+        $query0 .= StatusQuery("fRawFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fDataCheckDone", $needs, $timelimits);
+        $query0 .= StatusQuery("fTimingCorrection", $needs, $timelimits);
 
         if ((!empty($_GET["fRunMin"]) || $_GET["fRunMin"]=="0") && !empty($_GET["fRunMax"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/runinfo.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/runinfo.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/runinfo.php	(revision 9486)
@@ -93,10 +93,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fCCFileAvail", $needs);
-        $query0 .= StatusQuery("fCaCoFileAvail", $needs);
-        $query0 .= StatusQuery("fCaCoFileFound", $needs);
-        $query0 .= StatusQuery("fRawFileAvail", $needs);
-        $query0 .= StatusQuery("fDataCheckDone", $needs);
-        $query0 .= StatusQuery("fTimingCorrection", $needs);
+        $query0 .= StatusQuery("fCCFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCaCoFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCaCoFileFound", $needs, $timelimits);
+        $query0 .= StatusQuery("fRawFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fDataCheckDone", $needs, $timelimits);
+        $query0 .= StatusQuery("fTimingCorrection", $needs, $timelimits);
 
         if (!empty($_GET["fRunMin"]) && !empty($_GET["fRunMax"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/sequinfo-aio.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/sequinfo-aio.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/sequinfo-aio.php	(revision 9486)
@@ -167,10 +167,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fSequenceFileWritten", $needs);
-        $query0 .= StatusQuery("fAllFilesAvail", $needs);
-        $query0 .= StatusQuery("fCallisto", $needs);
-        $query0 .= StatusQuery("fFillCallisto", $needs);
-        $query0 .= StatusQuery("fStar", $needs);
-        $query0 .= StatusQuery("fFillStar", $needs);
+        $query0 .= StatusQuery("fSequenceFileWritten", $needs, $timelimits);
+        $query0 .= StatusQuery("fAllFilesAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fStar", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillStar", $needs, $timelimits);
 
         if (!empty($_GET["fRunMin"]) && !empty($_GET["fRunMax"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/sequinfo.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/sequinfo.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/sequinfo.php	(revision 9486)
@@ -112,10 +112,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fSequenceFileWritten", $needs);
-        $query0 .= StatusQuery("fAllFilesAvail", $needs);
-        $query0 .= StatusQuery("fCallisto", $needs);
-        $query0 .= StatusQuery("fFillCallisto", $needs);
-        $query0 .= StatusQuery("fStar", $needs);
-        $query0 .= StatusQuery("fFillStar", $needs);
+        $query0 .= StatusQuery("fSequenceFileWritten", $needs, $timelimits);
+        $query0 .= StatusQuery("fAllFilesAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fStar", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillStar", $needs, $timelimits);
 
         if (!empty($_GET["fRunMin"]) && !empty($_GET["fRunMax"]))
Index: /trunk/MagicSoft/Mars/datacenter/db/statusrps.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/statusrps.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/statusrps.php	(revision 9486)
@@ -37,10 +37,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fCCFileAvail", $needs);
-        $query0 .= StatusQuery("fCaCoFileAvail", $needs);
-        $query0 .= StatusQuery("fCaCoFileFound", $needs);
-        $query0 .= StatusQuery("fRawFileAvail", $needs);
-        $query0 .= StatusQuery("fDataCheckDone", $needs);
-        $query0 .= StatusQuery("fTimingCorrection", $needs);
+        $query0 .= StatusQuery("fCCFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCaCoFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCaCoFileFound", $needs, $timelimits);
+        $query0 .= StatusQuery("fRawFileAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fDataCheckDone", $needs, $timelimits);
+        $query0 .= StatusQuery("fTimingCorrection", $needs, $timelimits);
 
         $query0 .= "fRunNumber BETWEEN " . $_GET["fRunMin"] . " AND " . $_GET["fRunMax"] . " ";
Index: /trunk/MagicSoft/Mars/datacenter/db/statussbs.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/statussbs.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/statussbs.php	(revision 9486)
@@ -44,7 +44,7 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fCCFilled", $needs);
-        $query0 .= StatusQuery("fExclusionsDone", $needs);
-        $query0 .= StatusQuery("fSequenceEntriesBuilt", $needs);
+        $query0 .= StatusQuery("fCCFilled", $needs, $timelimits);
+        $query0 .= StatusQuery("fExclusionsDone", $needs, $timelimits);
+        $query0 .= StatusQuery("fSequenceEntriesBuilt", $needs, $timelimits);
 
         $query0 .= "fDate BETWEEN '" . $_GET["fRunMin"] . "' AND '" . $_GET["fRunMax"] . "' ";
Index: /trunk/MagicSoft/Mars/datacenter/db/statussps.php
===================================================================
--- /trunk/MagicSoft/Mars/datacenter/db/statussps.php	(revision 9485)
+++ /trunk/MagicSoft/Mars/datacenter/db/statussps.php	(revision 9486)
@@ -41,10 +41,10 @@
             $query0 .= " AND ";
 
-        $query0 .= StatusQuery("fSequenceFileWritten", $needs);
-        $query0 .= StatusQuery("fAllFilesAvail", $needs);
-        $query0 .= StatusQuery("fCallisto", $needs);
-        $query0 .= StatusQuery("fFillCallisto", $needs);
-        $query0 .= StatusQuery("fStar", $needs);
-        $query0 .= StatusQuery("fFillStar", $needs);
+        $query0 .= StatusQuery("fSequenceFileWritten", $needs, $timelimits);
+        $query0 .= StatusQuery("fAllFilesAvail", $needs, $timelimits);
+        $query0 .= StatusQuery("fCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillCallisto", $needs, $timelimits);
+        $query0 .= StatusQuery("fStar", $needs, $timelimits);
+        $query0 .= StatusQuery("fFillStar", $needs, $timelimits);
 
         $query0 .= "fSequenceFirst BETWEEN " . $_GET["fRunMin"] . " AND " . $_GET["fRunMax"] . " ";
