Code

Updated comment handling
[gosa.git] / include / sieve / class_sieveElement_Reject.inc
index e930456fd8a0dd69c851f410f2629177526756ed..cdb89f9fb391ec737bd45e4c49f0f700d601e639 100644 (file)
@@ -2,9 +2,9 @@
 
 class sieve_reject 
 {
-  var $data = array();
+  var $data = "";
   var $object_id = -1;
-
+  var $parent = NULL;
 
   function save_object()
   {
@@ -20,29 +20,42 @@ class sieve_reject
     return(array());
   }
 
-  function sieve_reject($data,$object_id)
+  function sieve_reject($data,$object_id,$parent)
   {
     $this->object_id = $object_id;
-    $str = "";
-    foreach($data['ELEMENTS'] as $node ){
-      if(in_array($node['class'],array("quoted-string","text","multi-line"))){
+    $this->parent = $parent;
+    $this->parent->add_require("reject");
+
+    /* If the given data is emtpy 
+     *  (This is the case when we add new elements in the ui) 
+     * Set a default text. 
+     */
+    if($data == NULL){
+      $this->data = _("Your reject text here");
+    }else{
+
+      /* Get reject text */
+      $str = "";
+      foreach($data['ELEMENTS'] as $node ){
+        if(in_array($node['class'],array("quoted-string","text","multi-line"))){
 
-        if($node['class'] == "multi-line"){
-          $str .= preg_replace("/^text:[ \n\r]*/","",$node['text']);
-          $str =  preg_replace("/[  \n\r]*\.[  \n\r]*$/","",$str);
-        }else{
-          $str .= $node['text'];
+          if($node['class'] == "multi-line"){
+            $str .= preg_replace("/^text:[ \n\r]*/","",$node['text']);
+            $str =  preg_replace("/[  \n\r]*\.[  \n\r]*$/","",$str);
+          }else{
+            $str .= $node['text'];
+          }
         }
       }
+      $this->data = preg_replace("/\"/","",$str);
     }
-    $this->data = preg_replace("/\"/","",$str);
   }
 
   function get_sieve_script_part()
   {
-    return("reject ".sieve_create_strings($this->data).";\n");
+    return("reject ".sieve_create_strings($this->data).";");
   } 
-    
+
   function execute()
   {
     /* check if this will be a 
@@ -61,5 +74,5 @@ class sieve_reject
     return($str);
   }
 }
-
-
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>