Index: trunk/MagicSoft/Mars/datacenter/db/include.php
===================================================================
--- trunk/MagicSoft/Mars/datacenter/db/include.php	(revision 9548)
+++ trunk/MagicSoft/Mars/datacenter/db/include.php	(revision 9599)
@@ -50,5 +50,5 @@
 }
 
-function StatusQuery($name, $needs, $timelimits)
+function StatusQuery($name, $timelimits)
 {
     if (empty($timelimits[$name]))
@@ -60,14 +60,41 @@
     switch ($_GET[$var])
     {
-    case 0: $txt .= ""; break;
-    case 1: $txt .= "NOT (IsNull(" . $name . ") OR " . $name . "='1970-01-01 00:00:00') AND "; break;
-//    case 2: $txt .= "IsNull(" . $name . ") AND IsNull(fStartTime) AND IsNull(fFailedTime) AND NOT IsNull(" . $needs[$name] . ") AND "; break; //not done but step before is done
-    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 " . $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 " . $timelimit . " hour) > fStartTime AND NOT IsNull(" . $needs[$name] . ")) AND "; break;
-//    case 6: $txt .= "crashed"; break;
-    case 7: $txt .= ""; break;
+    case 0://all
+        $txt .= " ";
+        break;
+    case 1://done
+        $txt .= " NOT ISNULL(" . $name . "Status.fStartTime) AND "
+            ." NOT ISNULL(" . $name . "Status.fStopTime) AND "
+            ." ISNULL(" . $name . "Status.fReturnCode) AND ";
+        break;
+    case 2://not done
+        $txt .= " ISNULL(" . $name . "Status.fStartTime) AND "
+            ." ISNULL(" . $name . "Status.fStopTime) AND "
+            ." ISNULL(" . $name . "Status.fReturnCode) AND ";
+        break;
+    case 3://not to be done
+        $txt .= $name ."Status.fStartTime='1970-01-01 00:00:00' AND "
+            . $name ."Status.fStopTime='1970-01-01 00:00:00' AND ";
+        break;
+    case 4://running
+        $txt .= " NOT ISNULL(" . $name . "Status.fStartTime) AND "
+            ." DATE_SUB(Now(),INTERVAL " . $timelimit . " HOUR) < " . $name . "Status.fStartTime AND "
+            ." ISNULL(" . $name . "Status.fStopTime) AND "
+            ." ISNULL(" . $name . "Status.fReturnCode) AND ";
+        break;
+    case 5://failed
+        $txt .= " NOT ISNULL(" . $name . "Status.fStartTime) AND "
+            ." NOT ISNULL(" . $name . "Status.fStopTime) AND "
+            ." NOT ISNULL(" . $name . "Status.fReturnCode) AND ";
+        break;
+    case 6://crashed
+        $txt .= " NOT ISNULL(" . $name . "Status.fStartTime) AND "
+            ." DATE_SUB(Now(),INTERVAL " . $timelimit . " HOUR) > " . $name . "Status.fStartTime AND "
+            ." ISNULL(" . $name . "Status.fStopTime) AND "
+            ." ISNULL(" . $name . "Status.fReturnCode) AND ";
+        break;
+    case 7://group by
+        $txt .= "";
+        break;
     }
     return $txt;
@@ -108,14 +135,4 @@
     }
 
-    /*
-    $status = array("all", "done", "not done", "not to be done");
-    $counter = 0;
-    foreach ($status as $element)
-    {
-        if ($counter==$_GET[$var])
-            printf("<option value=\"%d\" selected>%3s</option>\n", $counter++, $element);
-        else
-            printf("<option value=\"%d\">%3s</option>\n", $counter++, $element);
-    }*/
     printf(" </select>\n");
     printf(" &nbsp;&nbsp;&nbsp;\n");
@@ -329,5 +346,5 @@
 {
     foreach ($_GET as $key => $element)
-        if ($key==$column)
+        if ($key==$column."Status")
             if ($element==7)
                 return -1;
