diff --git a/mail/inc/class.mail_compose.inc.php b/mail/inc/class.mail_compose.inc.php index 28762fa9b7..b9a90240e0 100644 --- a/mail/inc/class.mail_compose.inc.php +++ b/mail/inc/class.mail_compose.inc.php @@ -3084,8 +3084,16 @@ class mail_compose return $_string; } } - - function ajax_searchFolder($_searchStringLength=2, $_returnList=false, $_mailaccountToSearch=null) { + /** + * Callback function to search mail folders + * + * @param int $_searchStringLength + * @param boolean $_returnList + * @param int $_mailaccountToSearch + * @param boolean $_noPrefixID = false, if set to true folders name does not get prefixed by account id + * @return type + */ + function ajax_searchFolder($_searchStringLength=2, $_returnList=false, $_mailaccountToSearch=null, $_noPrefixId=false) { //error_log(__METHOD__.__LINE__.':'.array2string($_REQUEST)); static $useCacheIfPossible = null; if (is_null($useCacheIfPossible)) $useCacheIfPossible = true; @@ -3116,7 +3124,7 @@ class mail_compose { //error_log(__METHOD__.__LINE__.$_searchString.'/'.$searchString.' in '.$k.'->'.$fA->displayName); $f=false; - $key = $_mailaccountToSearch.'::'.$k; + $key = $_noPrefixId?$k:$_mailaccountToSearch.'::'.$k; if ($_searchStringLength<=0) { $f=true; diff --git a/mail/inc/class.mail_sieve.inc.php b/mail/inc/class.mail_sieve.inc.php index 0dc7c56c54..b12eb69c4f 100644 --- a/mail/inc/class.mail_sieve.inc.php +++ b/mail/inc/class.mail_sieve.inc.php @@ -223,7 +223,7 @@ class mail_sieve { //Instantiate an etemplate_new object, representing sieve.edit template $etmpl = new etemplate_new('mail.sieve.edit'); - + $etmpl->setElementAttribute('action_folder_text','autocomplete_params', array('noPrefixId'=> true)); if (!is_array($content)) { if ( $this->getRules($_GET['ruleID']) && isset($_GET['ruleID'])) @@ -376,8 +376,7 @@ class mail_sieve ); //Set the preselect_options for mail/folders as we are not allow free entry for folder taglist - $mailCompose = new mail_compose(); - $sel_options['action_folder_text'] = $mailCompose->ajax_searchFolder(0,true); + $sel_options['action_folder_text'] = $this->ajax_getFolders(0,true,null,true); return $etmpl->exec('mail.mail_sieve.edit',$content,$sel_options,$readonlys,array(),2); } @@ -1233,5 +1232,18 @@ class mail_sieve ); return $actions; } + /** + * Callback function to get mail folders + * int $_searchStringLength + * @param boolean $_returnList + * @param int $_mailaccountToSearch + * @param boolean $_noPrefixID = false, if set to true folders name does not get prefixed by account id + */ + function ajax_getFolders ($_searchStringLength=2, $_returnList=false, $_mailaccountToSearch=null, $_noPrefixId=false) + { + $mailCompose = new mail_compose(); + if ($_REQUEST['noPrefixId']) $_noPrefixID = $_REQUEST['noPrefixId']; + $mailCompose->ajax_searchFolder($_searchStringLength,$_returnList,$_mailaccountToSearch,$_noPrefixID); + } } diff --git a/mail/templates/default/sieve.edit.xet b/mail/templates/default/sieve.edit.xet index 0589fd3c98..8089156258 100644 --- a/mail/templates/default/sieve.edit.xet +++ b/mail/templates/default/sieve.edit.xet @@ -92,7 +92,7 @@ - +