From bffeac9a8faffb3c951901785c6d713b2f0efac2 Mon Sep 17 00:00:00 2001 From: Nate Jones Date: Tue, 14 Apr 2015 00:42:15 +0000 Subject: [PATCH] Call Center Agents / Dialplan Edit: Optimize Gateway Name lookup (only do if necessary). --- app/call_center/call_center_agents.php | 20 +++++++++----------- app/dialplan/dialplan_edit.php | 22 ++++++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/app/call_center/call_center_agents.php b/app/call_center/call_center_agents.php index e967c5904a..79d69a57f1 100644 --- a/app/call_center/call_center_agents.php +++ b/app/call_center/call_center_agents.php @@ -141,24 +141,22 @@ else { echo " \n"; echo " ".$row['agent_type']." \n"; echo " ".$row['agent_call_timeout']." \n"; - echo " "; + $agent_contact = $row['agent_contact']; // parse out gateway uuid $bridge_statement = explode('/', $row['agent_contact']); - if ($bridge_statement[0] == 'sofia' && $bridge_statement[1] == 'gateway') { - $gateway_uuid = $bridge_statement[2]; + if ($bridge_statement[0] == 'sofia' && $bridge_statement[1] == 'gateway' && is_uuid($bridge_statement[2])) { // retrieve gateway name from db - $sql = "select gateway from v_gateways where gateway_uuid = '".$gateway_uuid."' "; + $sql = "select gateway from v_gateways where gateway_uuid = '".$bridge_statement[2]."' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - if (count($result) > 0) { $gateway_name = $result[0]['gateway']; } - unset ($prep_statement, $sql); - echo str_replace($gateway_uuid, $gateway_name, $row['agent_contact']); + if (count($result) > 0) { + $gateway_name = $result[0]['gateway']; + $agent_contact = str_replace($bridge_statement[2], $gateway_name, $agent_contact); + } + unset ($prep_statement, $sql, $bridge_statement); } - else { - echo $row['agent_contact']; - } - echo "  \n"; + echo " ".$agent_contact." \n"; echo " ".$row['agent_max_no_answer']." \n"; echo " ".$row['agent_status']." \n"; //echo " ".$row[agent_wrap_up_time]." \n"; diff --git a/app/dialplan/dialplan_edit.php b/app/dialplan/dialplan_edit.php index f209bbce71..2d9b846c6b 100644 --- a/app/dialplan/dialplan_edit.php +++ b/app/dialplan/dialplan_edit.php @@ -650,21 +650,23 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //data echo "\n"; if ($element['hidden']) { + $dialplan_detail_data_mod = $dialplan_detail_data; if ($dialplan_detail_type == 'bridge') { // parse out gateway uuid $bridge_statement = explode('/', $dialplan_detail_data); - if ($bridge_statement[0] == 'sofia' && $bridge_statement[1] == 'gateway') { - $gateway_uuid = $bridge_statement[2]; + if ($bridge_statement[0] == 'sofia' && $bridge_statement[1] == 'gateway' && is_uuid($bridge_statement[2])) { + // retrieve gateway name from db + $sql = "select gateway from v_gateways where gateway_uuid = '".$bridge_statement[2]."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + if (count($result) > 0) { + $gateway_name = $result[0]['gateway']; + $dialplan_detail_data_mod = str_replace($bridge_statement[2], $gateway_name, $dialplan_detail_data); + } + unset ($prep_statement, $sql, $bridge_statement); } - // retrieve gateway name from db - $sql = "select gateway from v_gateways where gateway_uuid = '".$gateway_uuid."' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - if (count($result) > 0) { $gateway_name = $result[0]['gateway']; } - unset ($prep_statement, $sql); } - $dialplan_detail_data_mod = ($gateway_name != '') ? str_replace($gateway_uuid, $gateway_name, $dialplan_detail_data) : $dialplan_detail_data; echo " \n"; } echo " \n";