static function AssignHandler($prodid, $deptid, $catid) { //echo "Assigning hander for $prodid, $deptid, $catid<br>"; $admin_id = 0; $assignuser = FST_Settings::get('support_autoassign'); if ($assignuser == 1) { $okusers = FST_Ticket_Helper::ListHandlers($prodid, $deptid, $catid); if (count($okusers) > 0) { $count = count($okusers); $picked = mt_rand(0, $count - 1); $admin_id = $okusers[$picked]; } } return $admin_id; }
static function AdminTo($mailer, &$ticket) { $rcpt = 0; // keep track of how many recipients // if email all admins if (FST_Settings::get('support_email_all_admins')) { if (!FST_Settings::get('support_email_all_admins_only_unassigned') || $ticket['admin_id'] > 0) { // Build a list of all available ticket handlers $handlers = FST_Ticket_Helper::ListHandlers($ticket['prod_id'], $ticket['ticket_dept_id'], $ticket['ticket_cat_id'], FST_Settings::get('support_email_all_admins_ignore_auto'), FST_Settings::get('support_email_all_admins_can_view')); // add handlers to the email to list $rcpt += FST_EMail::AddAdminAddress($mailer, $handlers); } } if ($ticket['admin_id'] < 1) { $rcpt += FST_EMail::AddMultiAddress($mailer, FST_Settings::get('support_email_unassigned')); } else { $rcpt += FST_EMail::AddAdminAddress($mailer, $ticket['admin_id']); } // any cc emails need adding if (FST_Settings::get('support_email_admincc')) { $rcpt += FST_EMail::AddMultiAddress($mailer, FST_Settings::get('support_email_admincc')); } return $rcpt; }