Code

Fixed comment handling inside tags
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 23 Mar 2007 08:09:32 +0000 (08:09 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 23 Mar 2007 08:09:32 +0000 (08:09 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@5869 594d385d-05f5-0310-b6e9-bd551577e9d8

include/sieve/class_My_Tree.inc
include/sieve/class_sieveElement_If.inc

index f54312d48ee19e96b2000a184156aaaaebf5655c..839f82e5fe6742d561f1cf267ab4eb1ee8a2b709 100644 (file)
@@ -131,7 +131,7 @@ class My_Tree extends Tree
     }
 
     /* We can't handle comments within if tag right now */
-    if($last_type != "if"){
+    if(!in_array_ics($last_type,array("if","elsif"))){
 
       /* Comments require special attention.
        * We do not want to create a single comment element 
index 56a25b385855c15872b76246ead4401f33d20d24..60b04c9394d673b48c6d057ce7048d3371a02110 100644 (file)
@@ -51,6 +51,15 @@ class sieve_if
         "gt"  => _("greater than"),
         "ne"  => _("not equal"));
 
+    /* Remove comments from tests */  
+    $tmp = array();
+    foreach($elements['ELEMENTS'] as $ele){
+      if($ele['class'] != "comment"){
+        $tmp[] = $ele;
+      }
+    }
+    $elements['ELEMENTS'] = $tmp;
+
     $this->object_id       = $object_id;
     if($elements!=NULL){
       $this->elements = $elements;