diff --git a/include/sieve/class_sieveElement_Fileinto.inc b/include/sieve/class_sieveElement_Fileinto.inc
index 80b4c3aaca76049d5034fb0184119ffe933148d2..dc3923f416975220c45ca29944871f42343d8719 100644 (file)
class sieve_fileinto
{
- var $data = array();
+ var $data = "";
var $object_id= -1;
var $options = array();
var $parent = NULL;
$mbs = $this->get_mail_boxes();
if(isset($_POST['fileinto_'.$this->object_id])){
- $mb = $_POST['fileinto_'.$this->object_id];
-
+ $mb = stripslashes($_POST['fileinto_'.$this->object_id]);
/* Depending on the user mode we only accept
* existing mailboxes
$mbs = $this->get_mail_boxes();
/* Set the default mailbox */
- if($data == NULL){
+ if($data === NULL){
$data = array('ELEMENTS' => array(array('class' => "quoted-string" ,"text" => $mbs[key($mbs)])));
}
- /* Set mailbox */
- foreach($data['ELEMENTS'] as $node ){
- if(in_array($node['class'],array("quoted-string","text"))){
- $this->data = preg_replace("/\"/","",$node['text']);
+ /* Load element contents, should normaly be only one string
+ * but if we found more than one, just append the following strings.
+ */
+ for($i = 0 ; $i < count($data['ELEMENTS']) ; $i++){
+ $tmp = sieve_get_strings($data['ELEMENTS'],$i);
+ $i = $i + $tmp['OFFSET'];
+ foreach($tmp['STRINGS'] as $str){
+ $this->data .= $str;
}
}
function execute()
{
$smarty = get_smarty();
- $smarty->assign("Selected",$this->data);
+ $smarty->assign("Selected",htmlentities($this->data));
$smarty->assign("Boxes", $this->get_mail_boxes());
$smarty->assign("User_Mode", $this->user_mode);
$smarty->assign("ID", $this->object_id);