diff --git a/include/sieve/class_sieveElement_Vacation.inc b/include/sieve/class_sieveElement_Vacation.inc
index f2a562fcaaf518ccc820a70de711c825c734d129..9bb4a41b4ef1c8a8fad1ccb26fcfecb6a1bf64b9 100644 (file)
var $from = "";
var $mime = "";
var $handle = "";
- var $reason = "";
+ var $reason = "\"I am not available, currently.\"";
var $addresses= array();
var $object_id= -1;
var $Expert = FALSE;
+ var $parent = NULL;
- function sieve_vacation($data,$object_id)
+ function sieve_vacation($data,$object_id,$parent)
{
+ $this->parent = $parent;
+ $this->object_id = $object_id;
+ $this->parent->add_require("vacation");
+
/* Usage: vacation [":days" number] [":subject" string]
[":from" string] [":addresses" string-list]
[":mime"] [":handle" string] <reason: string> */
$known_attrs = array(":days",":subject",":from",":mime",":handle");
/* skip if empty */
- if($data == NULL) return;
+ if(($data == NULL) || !is_array($data)) return;
/* Walk through elements */
for($i = 0 ; $i < count($data['ELEMENTS']) ; $i ++){
}
/* Add the vacation message */
- if($node['class'] == "quoted-string"){
- $this->reason = $node['text'];
+ if(in_array($node['class'],array("quoted-string","multi-line"))){
+
+ $tmp = sieve_get_strings($data['ELEMENTS'],$i);
+ $strs= $tmp['STRINGS'];
+
+ $data = "";
+ foreach($strs as $str){
+ $data .= $str;
+ }
+ $this->reason = $data;//preg_replace("/\"/","",$data);
}
}
}
$object_container = $smarty->fetch(get_template_path("templates/object_container.tpl",TRUE,dirname(__FILE__)));
$object= $smarty->fetch(get_template_path("templates/element_vacation.tpl",TRUE,dirname(__FILE__)));
- $str = preg_replace("/%%OBJECT_CONTENT%%/",$object,$object_container);
+ $str = preg_replace("/%%OBJECT_CONTENT%%/",addcslashes($object,"\\"),$object_container);
return($str);
}
}