Code

Udpated tree class
[gosa.git] / include / sieve / class_My_Tree.inc
index 7691ed361c2c012982334c13b6e47e7e5166397e..361fa3f916518e1ee9567a1958e66a42104095b3 100644 (file)
@@ -54,6 +54,9 @@ class My_Tree extends Tree
 
     $this -> dump_ = "";
     $ends = array();
+    if(!count($this->pap)){
+#      $this->pap[] = new sieve_comment(NULL,preg_replace("/[^0-9]/","",microtime()),$this);
+    }
     foreach($this->pap as $key => $object){
       if(is_object($object)){
         $end = $this->get_block_end($key);
@@ -223,6 +226,11 @@ class My_Tree extends Tree
   /* Remove the object at the given position */
   function remove_object($key_id)
   {
+    if(count($this->pap) == 1){
+      print_red(_("Can't remove last element."));
+      return;
+    }
+
     $class = get_class($this->pap[$key_id]);
     if(in_array($class,array("sieve_if","sieve_elsif","sieve_else"))){
       $block_start= $key_id;
@@ -524,6 +532,7 @@ class My_Tree extends Tree
         if(!$include_self){
           $key_id ++;
         }
+        $include_self = FALSE;
         $current_class  = get_class($test[$key_id]);
         if(in_array($current_class, $allowed_to_add_after)){
           return($key_id);
@@ -573,7 +582,7 @@ class My_Tree extends Tree
       }
     }
     if(!preg_match("/Generated by GOsa - Gonicus System Administrator/",$tmp)){
-      $tmp = "#Generated by GOsa - Gonicus System Administrator \n ".$tmp;
+#      $tmp = "#Generated by GOsa - Gonicus System Administrator \n ".$tmp;
     }
     return($tmp);
   }