Index: /trunk/ippMonitor/raw/czartool_labels.php
===================================================================
--- /trunk/ippMonitor/raw/czartool_labels.php	(revision 28162)
+++ /trunk/ippMonitor/raw/czartool_labels.php	(revision 28163)
@@ -88,16 +88,47 @@
 
         $link = "czartool_labels.php?pass=" . $pass . "&proj=" . $proj . "&selection=" . $state;
+        $defaultlink = "czartool_labels.php?pass=" . $pass . "&proj=" . $proj;
 
         echo "<tr><td></td>\n";
         write_table_cell($class, '%s', $link, $state);
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"chipRun", $state, "chip"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"camRun", $state, "cam"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"fakeRun", $state, "fake"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"warpRun", $state, "warp"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"stackRun", $state, "stack"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"diffRun", $state, "diff"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"magicRun", $state, "magic"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"magicDSRun", $state, "magicDS"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $label,"distRun", $state, "dist"));
+
+        $str = "";
+        $anyFaults = false; 
+        $link = "chipProcessedImfile_failure.php?menu=ipp.science.dat&pass=" . $pass . "&proj=" . $proj . "&label=" . $stdsLabel;
+        getStateAndFaults($db, $label,"chipRun", $state, "chip", $str, $anyFaults);
+        write_table_cell($class, '%s', $anyFaults ? $link : "", $str);
+
+        $link = "camProcessedExp_failure.php?pass=" . $pass . "&proj=" . $proj . "&label=" . $stdsLabel;
+        getStateAndFaults($db, $label,"camRun", $state, "cam", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
+        $link = $defaultlink;
+        getStateAndFaults($db, $label,"fakeRun", $state, "fake", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
+        $link = "warpFailedSkyfiles.php?pass=" . $pass . "&proj=" . $proj;
+        getStateAndFaults($db, $label,"warpRun", $state, "warp", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "",  $str);
+        
+        $link = "stackFailedSkyfile.php?pass=" . $pass . "&proj=" . $proj;
+        getStateAndFaults($db, $label,"stackRun", $state, "stack", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
+        $link = "diffFailedSkyfile.php?pass=" . $pass . "&proj=" . $proj;
+        getStateAndFaults($db, $label,"diffRun", $state, "diff", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "",  $str);
+
+        $link = $defaultlink;
+        getStateAndFaults($db, $label,"magicRun", $state, "magic", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
+        $link = $defaultlink;
+        getStateAndFaults($db, $label,"magicDSRun", $state, "magicDS", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+       
+        $link = $defaultlink;
+        getStateAndFaults($db, $label,"distRun", $state, "dist", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
         echo "</tr>\n";
     }
@@ -105,5 +136,6 @@
     echo "</table>\n";
 
-    echo "<p> Click on a state to see all labels for that state </p>";
+    echo "<p> Click on a state to see all labels for that state <br>";
+    echo "- Click on a fault to find logfile </p>";
 }
 
@@ -148,17 +180,49 @@
         // create link to label summary page for each label
         $link = "czartool_labels.php?pass=" . $pass . "&proj=" . $proj . "&selection=" . $stdsLabel;
+        $defaultlink = "czartool_labels.php?pass=" . $pass . "&proj=" . $proj;
 
         echo "<tr><td></td>\n";
         write_table_cell($class, '%s', $link, $stdsLabel);
         write_table_cell($class, '%s', "", $distributing ? "yes" : "NO");
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"chipRun", $selectedState, "chip"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"camRun", $selectedState, "cam"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"fakeRun", $selectedState, "fake"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"warpRun", $selectedState, "warp"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"stackRun", $selectedState, "stack"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"diffRun", $selectedState, "diff"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"magicRun", $selectedState, "magic"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"magicDSRun", $selectedState, "magicDS"));
-        write_table_cell($class, '%s', "", getStateAndFaults($db, $stdsLabel,"distRun", $selectedState, "dist"));
+
+        $str = "";
+        $anyFaults = false; 
+
+        $link = "chipProcessedImfile_failure.php?menu=ipp.science.dat&pass=" . $pass . "&proj=" . $proj . "&label=" . $stdsLabel;
+        getStateAndFaults($db, $stdsLabel,"chipRun", $selectedState, "chip", $str, $anyFaults);
+        write_table_cell($class, '%s', $anyFaults ? $link : "", $str);
+
+        $link = "camProcessedExp_failure.php?pass=" . $pass . "&proj=" . $proj . "&label=" . $stdsLabel;
+        getStateAndFaults($db, $stdsLabel,"camRun", $selectedState, "cam", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
+        $link = $defaultlink;
+        getStateAndFaults($db, $stdsLabel,"fakeRun", $selectedState, "fake", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
+        $link = "warpFailedSkyfiles.php?pass=" . $pass . "&proj=" . $proj;
+        getStateAndFaults($db, $stdsLabel,"warpRun", $selectedState, "warp", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "",  $str);
+        
+        $link = "stackFailedSkyfile.php?pass=" . $pass . "&proj=" . $proj;
+        getStateAndFaults($db, $stdsLabel,"stackRun", $selectedState, "stack", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
+        $link = "diffFailedSkyfile.php?pass=" . $pass . "&proj=" . $proj;
+        getStateAndFaults($db, $stdsLabel,"diffRun", $selectedState, "diff", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "",  $str);
+
+        $link = $defaultlink;
+        getStateAndFaults($db, $stdsLabel,"magicRun", $selectedState, "magic", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
+        $link = $defaultlink;
+        getStateAndFaults($db, $stdsLabel,"magicDSRun", $selectedState, "magicDS", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+       
+        $link = $defaultlink;
+        getStateAndFaults($db, $stdsLabel,"distRun", $selectedState, "dist", $str, $anyFaults);
+        write_table_cell($class, '%s',  $anyFaults ? $link : "", $str);
+
         echo "</tr>\n";
     }
@@ -166,5 +230,6 @@
     echo "</table>\n";
 
-    echo "<p> Click on a label to see all states for that label (full, new, drop etc) </p>";
+    echo "<p> - Click on a label to see all states for that label (full, new, drop etc)<br>";
+    echo "- Click on a fault to find logfile </p>";
 }
 
@@ -174,15 +239,20 @@
 #
 ###########################################################################
-function getStateAndFaults($db, $label, $table, $state, $stage) {
-
-    $new = checkLabel($db, $label, $table, $state, $stage);
-
-    if ($state != "new") {return $new;}
-
-    $faults = countFaults($db, $label,$table,$stage);
-
-    if ($faults < 1) {return $new;}
-
-    return $new."(".$faults.")";
+function getStateAndFaults($db, $label, $table, $state, $stage, &$str, &$anyFaults) {
+
+    $anyFaults = false;
+
+    $str = checkLabel($db, $label, $table, $state, $stage);
+
+    if ($state == "new") {
+
+        $faults = countFaults($db, $label,$table,$stage);
+
+        if ($faults > 0) {
+
+            $str = $str."(".$faults.")";
+            $anyFaults = true;
+        }
+    }
 }
 
@@ -202,4 +272,5 @@
     return $row[0];
 }
+
 ###########################################################################
 #
