function out() { $current_user = JFactory::getUser()->id; $manager = FSS_Permission::auth("fss.ticket_admin.ooo", "com_fss.support_admin", JFactory::getUser()->id); $user_id = FSS_Input::getInt('user_id'); if (!$manager && $current_user != $user_id) { return $this->cancel(); } // update the current users setting $values = SupportUsers::getAllSettings($user_id); $values->out_of_office = 1; SupportUsers::updateUserSettings($values, $user_id); $assign = FSS_Input::getCmd('assign'); $handler = FSS_Input::getInt('handler'); $body = FSS_Input::getHTML('body'); if ($assign == "auto" || $assign == "handler") { $this->loadTicketList($user_id); foreach ($this->tickets->tickets as $ticket) { if ($assign == "auto") { $handler = FSS_Ticket_Helper::AssignHandler($ticket->prod_id, $ticket->ticket_dept_id, $ticket->ticket_cat_id, true); } if ($assign == "unassigned") { $handler = 0; } $ticket->assignHandler($handler); if ($body) { $ticket->addMessage($body, "", $user_id, TICKET_MESSAGE_PRIVATE); FSS_EMail::Admin_Forward($ticket, $ticket->title, $body); } } } JFactory::getApplication()->redirect(FSSRoute::_("index.php?option=com_fss&view=admin_support&layout=listhandlers", false)); }
function Admin_ForwardHandler($ticket, $params) { $handler_msg = $params['handler_message']; $user_msg = $params['user_message']; if (FSS_Settings::Get('support_email_send_empty_handler')) { if (!$user_msg) { $user_msg = JText::_("THIS_TICKET_HAS_BEEN_FORWARDED_TO_ANOTHER_HANDLER"); } // translation message missing, provide english version just in case if (!$user_msg || $user_msg == "THIS_TICKET_HAS_BEEN_FORWARDED_TO_ANOTHER_HANDLER") { $user_msg = 'This ticket has been forwarded to another handler'; } } if ($handler_msg) { FSS_EMail::Admin_Forward($ticket, $params['subject'], $handler_msg, $params['files']); } else { if ($user_msg) { FSS_EMail::Admin_Forward($ticket, $params['subject'], $user_msg, $params['files']); } } if ($user_msg) { FSS_EMail::Admin_Reply($ticket, $params['subject'], $user_msg, $params['files']); } }