Index: /trunk/ippTasks/survey.pro
===================================================================
--- /trunk/ippTasks/survey.pro	(revision 41546)
+++ /trunk/ippTasks/survey.pro	(revision 41547)
@@ -148,4 +148,74 @@
 end
 
+macro survey.stage
+  if ($0 != 3)
+    echo "USAGE: survey.stage (stage) (mode)"
+    echo " turn the specified survey stage on or off"
+    echo " stage = diff, warpstack.diff, stackstack.diff, magic, destreak, dist, addstar"
+    echo " mode = on, off"
+    break
+  end
+
+  local found stage mode
+
+  $stage = $1
+  $mode = $2
+
+  $found = 0
+  if ("$stage" == "diff") 
+    $found = 1
+  end
+  if ("$stage" == "warpstack.diff") 
+    $found = 1
+  end
+  if ("$stage" == "stackstack.diff") 
+    $found = 1
+  end
+  if ("$stage" == "magic") 
+    $found = 1
+  end
+  if ("$stage" == "destreak") 
+    $found = 1
+  end
+  if ("$stage" == "dist") 
+    $found = 1
+  end
+  if ("$stage" == "addstar") 
+    $found = 1
+  end
+  if ($found == 0) 
+    echo "unknown stage $stage"
+    break
+  end
+
+  if (("$mode" != "on") && ("$mode" != "off"))
+    echo "unknown mode $mode"
+    break
+  end
+
+  if ("$mode" == "on")
+    task survey.$stage
+      active true
+    end
+  end
+
+  if ("$mode" == "off")
+    task survey.$stage
+      active false
+    end
+  end
+end
+
+macro survey.publish.status
+  if ($0 != 2) 
+    echo "USAGE: survey.publish.status (true/false)"
+    break
+  end
+
+  task survey.publish
+    active $1
+  end
+end
+
 # user functions to manipulate diff labels
 macro survey.add.diff
