if (!$thisstaff->canBanEmails()) { $errors['err'] = __('Permission Denied. You are not allowed to ban emails'); } elseif (BanList::includes($ticket->getEmail())) { $errors['err'] = __('Email already in banlist'); } elseif (Banlist::add($ticket->getEmail(), $thisstaff->getName())) { $msg = sprintf(__('Email %s added to banlist'), $ticket->getEmail()); } else { $errors['err'] = __('Unable to add the email to banlist'); } break; case 'unbanemail': if (!$thisstaff->canBanEmails()) { $errors['err'] = __('Permission Denied. You are not allowed to remove emails from banlist.'); } elseif (Banlist::remove($ticket->getEmail())) { $msg = __('Email removed from banlist'); } elseif (!BanList::includes($ticket->getEmail())) { $warn = __('Email is not in the banlist'); } else { $errors['err'] = __('Unable to remove the email from banlist. Try again.'); } break; case 'changeuser': if (!$thisstaff->canEditTickets()) { $errors['err'] = __('Permission Denied. You are not allowed to edit tickets'); } elseif (!$_POST['user_id'] || !($user = User::lookup($_POST['user_id']))) { $errors['err'] = __('Unknown user selected'); } elseif ($ticket->changeOwner($user)) { $msg = sprintf(__('Ticket ownership changed to %s'), Format::htmlchars($user->getName())); } else { $errors['err'] = __('Unable to change ticket ownership. Try again'); }
//Useful warnings and errors the user might want to know! if ($ticket->isClosed() && !$ticket->isReopenable()) { $warn = sprintf(__('Current ticket status (%s) does not allow the end user to reply.'), $ticket->getStatus()); } elseif ($ticket->isAssigned() && ($staff && $staff->getId() != $thisstaff->getId() || $team && !$team->hasMember($thisstaff))) { $warn .= sprintf(' <span class="Icon assignedTicket">%s</span>', sprintf(__('Ticket is assigned to %s'), implode('/', $ticket->getAssignees()))); } if (!$errors['err']) { if ($lock && $lock->getStaffId() != $thisstaff->getId()) { $errors['err'] = sprintf(__('This ticket is currently locked by %s'), $lock->getStaffName()); } elseif ($emailBanned = TicketFilter::isBanned($ticket->getEmail())) { $errors['err'] = __('Email is in banlist! Must be removed before any reply/response'); } // elseif (!Validator::is_valid_email($ticket->getEmail())) // $errors['err'] = __('EndUser email address is not valid! Consider updating it before responding'); } $unbannable = $emailBanned ? BanList::includes($ticket->getEmail()) : false; if ($ticket->isOverdue()) { $warn .= ' <span class="Icon overdueTicket">' . __('Marked overdue!') . '</span>'; } ?> <table width="940" cellpadding="2" cellspacing="0" border="0"> <tr> <td width="20%" class="has_bottom_border"> <h2><a href="tickets.php?id=<?php echo $ticket->getId(); ?> " title="<?php echo __('Reload'); ?> "><i class="icon-refresh"></i>
$errors['err'] = $errors['val'] = 'Valid email address required'; } elseif (!$errors) { $vars = array('w' => 'email', 'h' => 'equal', 'v' => trim($_POST['val']), 'filter_id' => $filter->getId(), 'isactive' => $_POST['isactive'], 'notes' => $_POST['notes']); if ($rule->update($vars, $errors)) { $msg = 'Email updated successfully'; } elseif (!$errors['err']) { $errors['err'] = 'Error updating ban rule. Try again!'; } } break; case 'add': if (!$filter) { $errors['err'] = 'Unknown or invalid ban list'; } elseif (!$_POST['val'] || !Validator::is_email($_POST['val'])) { $errors['err'] = $errors['val'] = 'Valid email address required'; } elseif (BanList::includes(trim($_POST['val']))) { $errors['err'] = $errors['val'] = 'Email already in the ban list'; } elseif ($filter->addRule('email', 'equal', trim($_POST['val']), array('isactive' => $_POST['isactive'], 'notes' => $_POST['notes']))) { $msg = 'Email address added to ban list successfully'; $_REQUEST['a'] = null; //Add filter rule here. } elseif (!$errors['err']) { $errors['err'] = 'Error creating ban rule. Try again!'; } break; case 'mass_process': if (!$_POST['ids'] || !is_array($_POST['ids']) || !count($_POST['ids'])) { $errors['err'] = 'You must select at least one email to process.'; } else { $count = count($_POST['ids']); switch (strtolower($_POST['a'])) {