Index: trunk/MagicSoft/Mars/datacenter/db/runinfo-aio.php
===================================================================
--- trunk/MagicSoft/Mars/datacenter/db/runinfo-aio.php	(revision 9150)
+++ trunk/MagicSoft/Mars/datacenter/db/runinfo-aio.php	(revision 9249)
@@ -17,9 +17,28 @@
         $query0 = "SELECT ";
 
-        if ($groups>0)
+        if ($groups>0 || ((!empty($_GET["fGroupByDate"])) && !$_GET["fGroupByDate"]==0) || $statusgroups>0)
         {
             foreach ($checkgroup as $key => $element)
                 if ($element==-1)
                     $query0 .=  $key . " as '" . $alias[$key] . "' " . ", ";
+
+            if ((!empty($_GET["fGroupByDate"])) && !$_GET["fGroupByDate"]==0)
+            {
+                $query0 .= " DATE_FORMAT(ADDDATE(fRunStart,Interval 12 hour), '";
+                switch($_GET["fGroupByDate"])
+                {
+                case "Year":
+                    $query0 .= "%Y ";
+                    break;
+                case "Month":
+                    $query0 .= "%Y-%m ";
+                    break;
+                case "Night":
+                    $query0 .= "%Y-%m-%d ";
+                    break;
+                }
+                $query0 .= "')  AS GroupByDate, ";
+            }
+
             //--------------------------------------------------
             //$query0 .= " TIMEDIFF(fRunStop, fRunStart), ";
@@ -33,34 +52,32 @@
             $query0 .= " Max(fZenithDistance) as '" . $alias["Max(fZenithDistance)"] . "', ";
             $query0 .= " COUNT(*) as '# Runs' ";
-        }
-        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 . "), 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 '# Runs'";
+                $query0 .= ", COUNT(*) AS '# Runs'";
 
             }
-            else
+        }
+        else
+        {
+            //$query0 .= " RunData.fRunNumber 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 .= " RunData.fRunNumber 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 .= ", 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] . "' ";
         }
 
@@ -165,7 +182,16 @@
         }
 
+        if ((!empty($_GET["fGroupByDate"])) && !$_GET["fGroupByDate"]==0)
+            if (strpos($query0, " GROUP BY ")==FALSE)
+                $query0 .= " GROUP BY GroupByDate ";
+            else
+                $query0 .= ", GroupByDate ";
+
         if ($statusgroups>0)
         {
-            $query0 .= " GROUP BY ";
+            if (strpos($query0, " GROUP BY ")==FALSE)
+                $query0 .= " GROUP BY  ";
+            else
+                $query0 .= ",  ";
             $num = $statusgroups;
             foreach ($checkstatusgroup as $key => $element)
@@ -264,4 +290,5 @@
         printf(" <P>\n");
         PrintSourceMenu($host,$user,$pw,$db);
+        PrintGroupByDateMenu();
         printf("<p>");
         printf("</div>");
