diff --git a/include/class.filter.php b/include/class.filter.php index 3f01e5d0ea7e5b4b7be2b12ca56109d234e51edc..db1256250081c8ebc4271620a1c709ead8ef87db 100644 --- a/include/class.filter.php +++ b/include/class.filter.php @@ -679,6 +679,8 @@ class TicketFilter { //Extract the vars we care about (fields we filter by!). $this->vars = array('body'=>$vars['message']); $interest = Filter::getSupportedMatchFields(); + // emailId is always significant to the filter process + $interest[] = 'emailId'; foreach ($vars as $k=>$v) { if (in_array($k, $interest)) $this->vars[$k] = trim($v); diff --git a/include/class.ticket.php b/include/class.ticket.php index 616656207b4f57e6c7f37dc59907cd9419f04fbf..10798a28eb90d75a532b3b0b2395bf6e75f63257 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -2012,12 +2012,14 @@ class Ticket { //Any error above is fatal. if($errors) return 0; - $user = User::fromForm($user_info); - $user_email = UserEmail::ensure($user_info['email']); - # Perform ticket filter actions on the new ticket arguments if ($ticket_filter) $ticket_filter->apply($vars); + // Allow vars to be changed in ticket filter and applied to the user + // account created or detected + $user = User::fromForm($vars); + $user_email = UserEmail::ensure($vars['email']); + # Some things will need to be unpacked back into the scope of this # function if (isset($vars['autorespond'])) $autorespond=$vars['autorespond'];