Portions created by the Initial Developer are Copyright (C) 2008-2019 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane Luis Daniel Lucio Quiroz */ //includes include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; //check permissions if (permission_exists('operator_panel_view')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //set user status if (isset($_REQUEST['status']) && $_REQUEST['status'] != '') { //create the database object $database = new database; //validate the user status $user_status = $_REQUEST['status']; switch ($user_status) { case "Available" : break; case "Available (On Demand)" : break; case "On Break" : break; case "Do Not Disturb" : break; default : $user_status = ''; } //update the status if (permission_exists("user_account_setting_edit")) { $sql = "update v_users set "; $sql .= "user_status = :user_status "; $sql .= "where domain_uuid = :domain_uuid "; $sql .= "and user_uuid = :user_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $parameters['user_uuid'] = $_SESSION['user']['user_uuid']; $parameters['user_status'] = $user_status; $database->execute($sql, $parameters); unset($parameters); } //if call center app is installed then update the user_status if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/call_centers')) { //get the call center agent uuid $sql = "select call_center_agent_uuid from v_call_center_agents "; $sql .= "where domain_uuid = :domain_uuid "; $sql .= "and user_uuid = :user_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $parameters['user_uuid'] = $_SESSION['user']['user_uuid']; $result = $database->select($sql, $parameters); if (is_array($result)) { $call_center_agent_uuid = $result[0]['call_center_agent_uuid']; } //update the user_status if (isset($call_center_agent_uuid)) { $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); $switch_cmd .= "callcenter_config agent set status ".$call_center_agent_uuid." '".$user_status."'"; $switch_result = event_socket_request($fp, 'api '.$switch_cmd); } //update the user state if (isset($call_center_agent_uuid)) { $cmd = "api callcenter_config agent set state ".$call_center_agent_uuid." Waiting"; $response = event_socket_request($fp, $cmd); } } //stop execution exit; } //set the title $document['title'] = $text['title-operator_panel']; //include the header require_once "resources/header.php"; ?>