X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fsieve%2Fclass_sieveElement_Require.inc;h=535c591e86a73da987331e3766b6d2d89719b371;hb=4ef5a0ec2c799536446dd29d5d828488cc14608f;hp=3b91b8205f8d0b065fb55953dd3be32e1f4c85af;hpb=49911a658c471aeada4e5e90ec17d2e6d7742359;p=gosa.git diff --git a/include/sieve/class_sieveElement_Require.inc b/include/sieve/class_sieveElement_Require.inc index 3b91b8205..535c591e8 100644 --- a/include/sieve/class_sieveElement_Require.inc +++ b/include/sieve/class_sieveElement_Require.inc @@ -4,12 +4,14 @@ class sieve_require { var $data = array(); var $object_id = -1; - - function sieve_require($data,$object_id) + var $parent = NULL; + + function sieve_require($data,$object_id,$parent) { + $this->parent = $parent; + $this->object_id = $object_id; if($data != NULL){ - $this->object_id = $object_id; foreach($data['ELEMENTS'] as $node ){ if(in_array($node['class'],array("quoted-string","text"))){ $this->data[] = preg_replace("/\"/","",$node['text']); @@ -18,6 +20,22 @@ class sieve_require } } + /* Add a new require statement and ensure + * that it is not specified twice + */ + function Add_Require($str) + { + $current = array(); + + foreach($this->data as $dat){ + $current[] = preg_replace("/\"/","",$dat); + } + if(!in_array($str,$current)){ + $this->data[] = $str; + } + $this->data = array_unique($this->data);; + } + function save_object() { /* Get the values should check for, they are seperated by , */ @@ -32,7 +50,7 @@ class sieve_require if(empty($val)) continue; - $tmp[] = "\"".$val."\""; + $tmp[] = $val; } $this->data = $tmp; } @@ -50,15 +68,19 @@ class sieve_require function get_sieve_script_part() { + if(count($this->data)){ $tmp = sieve_create_strings($this->data); return("require ".$tmp.";\n"); + }else{ + return(""); + } } function execute() { $Require = ""; foreach($this->data as $key){ - $Require .= $key.", "; + $Require .= "\"".$key."\"".", "; } $Require = preg_replace("/,$/","",trim($Require)); @@ -70,7 +92,7 @@ class sieve_require $smarty->assign("ID", $this->object_id); $object_container = $smarty->fetch(get_template_path("templates/object_container.tpl",TRUE,dirname(__FILE__))); $object= $smarty->fetch(get_template_path("templates/element_require.tpl",TRUE,dirname(__FILE__))); - $str = preg_replace("/%%OBJECT_CONTENT%%/",$object,$object_container); + $str = preg_replace("/%%OBJECT_CONTENT%%/",addcslashes($object,"\\"),$object_container); return($str); } }