From e3929f1706bd92a6ca7517e7950fcefefdb4caec Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 14 Jan 2010 14:55:17 +0000
Subject: [PATCH] Fixed: FS#998 - Mail filters: Foldernames may not start with
 a dot

---
 interface/web/mail/form/mail_user_filter.tform.php  | 4 ++++
 interface/web/mail/lib/lang/en_mail_user_filter.lng | 1 +
 interface/web/mail/mail_user_filter_edit.php        | 3 +++
 3 files changed, 8 insertions(+)

diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php
index d08ef21d22..58eea0b546 100644
--- a/interface/web/mail/form/mail_user_filter.tform.php
+++ b/interface/web/mail/form/mail_user_filter.tform.php
@@ -109,6 +109,10 @@ $form["tabs"]['filter'] = array (
 		'target' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^[a-zA-Z0-9\.\-\_]{0,100}$/',
+														'errmsg'=> 'target_error_regex'),
+									),
 			'default'	=> '',
 			'value'		=> '',
 			'width'		=> '30',
diff --git a/interface/web/mail/lib/lang/en_mail_user_filter.lng b/interface/web/mail/lib/lang/en_mail_user_filter.lng
index 0ded74e4f9..28867c59c3 100644
--- a/interface/web/mail/lib/lang/en_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/en_mail_user_filter.lng
@@ -6,4 +6,5 @@ $wb["active_txt"] = 'Active';
 $wb["rulename_error_empty"] = 'Name is empty.';
 $wb["searchterm_is_empty"] = 'Search term is empty.';
 $wb["source_txt"] = 'Source';
+$wb["target_error_regex"] = 'The target may only contain these characters: a-z, 0-9, -, . and _';
 ?>
\ No newline at end of file
diff --git a/interface/web/mail/mail_user_filter_edit.php b/interface/web/mail/mail_user_filter_edit.php
index 03b5232f63..35ed135255 100644
--- a/interface/web/mail/mail_user_filter_edit.php
+++ b/interface/web/mail/mail_user_filter_edit.php
@@ -62,6 +62,9 @@ class page_action extends tform_actions {
 		// Set the mailuser_id
 		$this->dataRecord["mailuser_id"] = $mailuser["mailuser_id"];
 		
+		// Remove leading dots
+		if(substr($this->dataRecord['target'],0,1) == '.') $this->dataRecord['target'] = substr($this->dataRecord['target'],1);
+		
 		parent::onSubmit();
 	}
 	
-- 
GitLab