Index: /trunk/ippMonitor/raw/czartool_labels.php
===================================================================
--- /trunk/ippMonitor/raw/czartool_labels.php	(revision 28790)
+++ /trunk/ippMonitor/raw/czartool_labels.php	(revision 28791)
@@ -31,14 +31,19 @@
 $selectedLabel = $_GET[label];
 $selectedServer = $_GET[server];
-$revertServer = $_GET[revertserver];
-$revertStage = $_GET[revertstage];
-$revertMode = $_GET[revert];
+$selectedRevertServer = $_GET[revertserver];
+$selectedRevertStage = $_GET[revertstage];
+$selectedRevertMode = $_GET[revertmode];
 
 if ($selectedLabel == "") $selectedLabel = "all_labels";
 if ($selectedStage == "") $selectedStage = "all_stages";
 
-if ($revertStage != "" && $revertMode != "" && $revertServer != "" )
-exec("czartool_revert.pl -s $revertServer -t $revertStage -o $revertMode", $revertOnOff, $status);
-
+// deal with reverts: turn on or off if requested and pass current revert state for this stage onto labels table later
+$currentRevertMode;
+if ($selectedRevertStage != "" && $selectedRevertMode != "" && $selectedRevertServer != "" ) {
+
+    exec("czartool_revert.pl -s $selectedRevertServer -t $selectedRevertStage -o $selectedRevertMode", $response, $status);
+    if ($response[0] == "off") $currentRevertMode = 0;
+    else if ($response[0] == "on") $currentRevertMode = 1;
+}
 $debug = 0;
 
@@ -87,5 +92,5 @@
 
     echo "<td> \n";
-      createLabelsTable($pass, $proj, $czardb, $stdsLabels, $distLabels, $pubLabels, $stages, $states, "new", $selectedLabel, $selectedStage);
+      createLabelsTable($pass, $proj, $czardb, $stdsLabels, $distLabels, $pubLabels, $stages, $states, "new", $selectedLabel, $selectedStage, $selectedRevertStage, $currentRevertMode);
     echo "</td>\n";
 
@@ -198,5 +203,5 @@
 #
 ###########################################################################
-function createLabelsTable($pass, $proj, $db, $stdsLabels, $distLabels, $pubLabels, $stages, $states, $selectedState, $selectedLabel, $selectedStage) {
+function createLabelsTable($pass, $proj, $db, $stdsLabels, $distLabels, $pubLabels, $stages, $states, $selectedState, $selectedLabel, $selectedStage, $selectedRevertStage, $currentRevertMode) {
 
     // set up table columns
@@ -213,6 +218,7 @@
         if ($stage == "destreak" or $stage == "dist") $server = "distribution";
         else $server = "stdscience";
-        $reverting = getRevertStatus($db, $stage);
-        $link = "czartool_labels.php?pass=" . $pass . "&proj=" . $proj . "&revertserver=" . $server . "&revertstage=" . $stage . "&revert=";
+        if ($stage == $selectedRevertStage) $reverting = $currentRevertMode;
+        else $reverting = getRevertStatus($db, $stage);
+        $link = "czartool_labels.php?pass=" . $pass . "&proj=" . $proj . "&revertserver=" . $server . "&revertstage=" . $stage . "&revertmode=";
         if(!$reverting) {$label =  "Start";$link = $link . "on";}
         if($reverting) {$label = "Stop";$link = $link . "off";}
