Update call_center_queue_edit.php

This commit is contained in:
FusionPBX 2018-04-04 13:15:54 -06:00 committed by GitHub
parent 5b4ee47563
commit fa089f090d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 101 additions and 88 deletions

View File

@ -128,8 +128,6 @@
}
unset ($prep_statement);
//delete the agent from freeswitch
//get the domain using the $_SESSION['domain_uuid']
$tmp_domain = $_SESSION['domains'][$_SESSION['domain_uuid']]['domain_name'];
//setup the event socket connection
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
//delete the agent over event socket
@ -204,6 +202,21 @@
$_POST["dialplan_uuid"] = $dialplan_uuid;
}
//update the call centier tiers array
$x = 0;
foreach ($_POST["call_center_tiers"] as $row) {
//add the domain_uuid
if (strlen($row["domain_uuid"]) == 0) {
$_POST["call_center_tiers"][$x]["domain_uuid"] = $_SESSION['domain_uuid'];
}
//unset ring_group_destination_uuid if the field has no value
if (strlen($row["call_center_agent_uuid"]) == 0) {
unset($_POST["call_center_tiers"][$x]);
}
//increment the row
$x++;
}
//get the application and data
$action_array = explode(":",$queue_timeout_action);
$queue_timeout_application = $action_array[0];
@ -241,18 +254,9 @@
$dialplan["dialplan_description"] = $queue_description;
$dialplan["app_uuid"] = "95788e50-9500-079e-2807-fd530b0ea370";
//set the queue name
$_POST["call_center_tiers"][0]["queue_name"] = $queue_name;
//check for to make sure the agent_name was provided if not then remove from the array
if (strlen($_POST["call_center_tiers"][0]["agent_name"]) == 0) {
unset($_POST["call_center_tiers"]);
}
//prepare the array
$array['call_center_queues'][] = $_POST;
$array['dialplans'][] = $dialplan;
//echo "<pre>". print_r($array, true) ."</pre>";
//add the dialplan permission
$p = new permissions;
@ -307,8 +311,6 @@
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
//add the agent using event socket
if ($fp) {
//get the domain using the $domain_uuid
$tmp_domain = $_SESSION['domains'][$domain_uuid]['domain_name'];
/* syntax:
callcenter_config tier add [queue_name] [agent_name] [level] [position]
callcenter_config tier set state [queue_name] [agent_name] [state]
@ -330,15 +332,15 @@
}
}
//syncrhonize configuration
save_call_center_xml();
//syncrhonize configuration
save_call_center_xml();
//remove the cache
remove_config_from_cache('configuration:callcenter.conf');
//remove the cache
remove_config_from_cache('configuration:callcenter.conf');
//redirect the user
header("Location: call_center_queue_edit.php?id=".$call_center_queue_uuid);
return;
//redirect the user
header("Location: call_center_queue_edit.php?id=".$call_center_queue_uuid);
return;
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
@ -347,7 +349,6 @@
//pre-populate the form
if (is_array($_GET) && is_uuid($_GET["id"]) && $_POST["persistformvar"] != "true") {
$call_center_queue_uuid = $_GET["id"];
$sql = "select * from v_call_center_queues ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
@ -386,7 +387,7 @@
}
//get the tiers
$sql = "select t.call_center_tier_uuid, t.tier_level, t.tier_position, a.agent_name ";
$sql = "select t.call_center_tier_uuid, t.call_center_agent_uuid, t.call_center_queue_uuid, t.tier_level, t.tier_position, a.agent_name ";
$sql .= "from v_call_center_tiers as t, v_call_center_agents as a ";
$sql .= "where t.call_center_queue_uuid = '".$call_center_queue_uuid."' ";
$sql .= "and t.call_center_agent_uuid = a.call_center_agent_uuid ";
@ -396,6 +397,36 @@
$prep_statement->execute();
$tiers = $prep_statement->fetchAll(PDO::FETCH_NAMED);
//add an empty row to the tiers array
if (count($tiers) == 0) {
$rows = $_SESSION['call_center']['agent_add_rows']['numeric'];
$id = 0;
}
if (count($tiers) > 0) {
$rows = $_SESSION['call_center']['agent_edit_rows']['numeric'];
$id = count($tiers)+1;
}
$rows = 1;
$id = count($tiers) + 1;
for ($x = 0; $x < $rows; $x++) {
$tiers[$id]['call_center_tier_uuid'] = uuid();
$tiers[$id]['call_center_agent_uuid'] = '';
$tiers[$id]['call_center_queue_uuid'] = $call_center_queue_uuid;
$tiers[$id]['tier_level'] = '';
$tiers[$id]['tier_position'] = '';
$tiers[$id]['agent_name'] = '';
$id++;
}
//get the agents
$sql = "select call_center_agent_uuid, agent_name from v_call_center_agents ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "order by agent_name asc";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$agents = $prep_statement->fetchAll(PDO::FETCH_NAMED);
//set default values
if (strlen($queue_strategy) == 0) { $queue_strategy = "longest-idle-agent"; }
if (strlen($queue_moh_sound) == 0) { $queue_moh_sound = "\$\${hold_music}"; }
@ -542,7 +573,7 @@
echo "<tr>";
echo " <td class='vncell' valign='top'>".$text['label-tiers']."</td>";
echo " <td class='vtable' align='left'>";
echo " <table width='45%' border='0' cellpadding='0' cellspacing='0'>\n";
echo " <table border='0' cellpadding='0' cellspacing='0'>\n";
echo " <tr>\n";
echo " <td class='vtable'>".$text['label-agent_name']."</td>\n";
echo " <td class='vtable' style='text-align: center;'>".$text['label-tier_level']."</td>\n";
@ -551,74 +582,56 @@
echo " </tr>\n";
if ($call_center_queue_uuid != null) {
if (is_array($tiers)) {
$x = 0;
foreach($tiers as $field) {
echo " <tr>\n";
echo " <td class='vtable'>".$field['agent_name']."</td>\n";
echo " <td class='vtable' style='text-align: center;'>".$field['tier_level']."&nbsp;</td>\n";
echo " <td class='vtable' style='text-align: center;'>".$field['tier_position']."&nbsp;</td>\n";
echo " <td class='list_control_icons'>";
if (permission_exists('call_center_tier_edit')) {
echo "<a href='call_center_tier_edit.php?id=".$field['call_center_tier_uuid']."' alt='".$text['button-edit']."'>".$v_link_label_edit."</a>";
echo " <td class=''>";
echo " <input type=\"hidden\" name=\"call_center_tiers[$x][call_center_queue_uuid]\" value=\"".$field['call_center_queue_uuid']."\">\n";
echo " <input type=\"hidden\" name=\"call_center_tiers[$x][call_center_tier_uuid]\" value=\"".$field['call_center_tier_uuid']."\">\n";
echo " <select name=\"call_center_tiers[$x][call_center_agent_uuid]\" class=\"formfld\">\n";
echo " <option value=\"\"></option>\n";
foreach($agents as $row) {
$selected = '';
if ($row['call_center_agent_uuid'] == $field['call_center_agent_uuid']) {
$selected = "selected=\"selected\"";
}
echo " <option value=\"".$row['call_center_agent_uuid']."\" $selected>".$row['agent_name']."</option>\n";
}
echo " </select>";
echo " </td>\n";
echo " <td class='' style='text-align: center;'>";
echo " <select name=\"call_center_tiers[$x][tier_level]\" class=\"formfld\">\n";
$i=0;
while($i<=9) {
$selected = ($i == $field['tier_level']) ? "selected" : null;
echo " <option value=\"$i\" ".$selected.">$i</option>\n";
$i++;
}
echo " </select>\n";
echo " </td>\n";
echo " <td class='' style='text-align: center;'>\n";
echo " <select name=\"call_center_tiers[$x][tier_position]\" class=\"formfld\">\n";
$i=0;
while($i<=9) {
$selected = ($i == $field['tier_position']) ? "selected" : null;
echo " <option value=\"$i\" ".$selected.">$i</option>\n";
$i++;
}
echo " </select>\n";
echo " </td>\n";
echo " <td class=''>";
if (permission_exists('call_center_tier_delete')) {
echo "<a href='call_center_queue_edit.php?id=".$call_center_queue_uuid."&call_center_tier_uuid=".$field['call_center_tier_uuid']."&a=delete' alt='".$text['button-delete']."' onclick=\"return confirm('".$text['confirm-delete']."')\">$v_link_label_delete</a>";
echo " <a href=\"call_center_queue_edit.php?id=".$call_center_queue_uuid."&call_center_tier_uuid=".$field['call_center_tier_uuid']."&a=delete\" alt=\"".$text['button-delete']."\" onclick=\"return confirm('".$text['confirm-delete']."');\">$v_link_label_delete</a>";
}
echo " </td>\n";
echo " </tr>\n";
$assigned_agents[] = $field['agent_name'];
$x++;
}
unset ($prep_statement, $sql, $tiers);
}
}
if (permission_exists('call_center_tier_add')) {
//get agents
$sql = "select agent_name from v_call_center_agents ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
if ($assigned_agents) {
foreach($assigned_agents as $assigned_agent) {
$sql .= "and agent_name <> '".$assigned_agent."' ";
}
}
$sql .= "order by agent_name asc";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$agents = $prep_statement->fetchAll(PDO::FETCH_NAMED);
if (is_array($agents) > 0) {
echo " <tr>\n";
echo " <td class='vtable'>\n";
echo " <input type=\"hidden\" name='call_center_tiers[0][call_center_tier_uuid]' value='".uuid()."'>\n";
echo " <select id='agent_name' name='call_center_tiers[0][agent_name]' class='formfld'>\n";
echo " <option value=''></option>\n";
foreach($agents as $field) {
echo " <option value='".$field['agent_name']."'>".$field['agent_name']."</option>\n";
}
unset($sql,$prep_statement);
echo " </select>";
echo " </td>\n";
echo " <td class='vtable' style='text-align: center;'>\n";
echo " <select class='formfld' name='call_center_tiers[0][tier_level]'>\n";
for ($t = 0; $t <= 9; $t++) {
echo " <option value='".$t."'>".$t."</option>\n";
}
echo " </select>\n";
echo " </td>\n";
echo " <td class='vtable' style='text-align: center;'>\n";
echo " <select class='formfld' name='call_center_tiers[0][tier_position]'>\n";
for ($t = 1; $t <= 9; $t++) {
echo " <option value='".$t."'>".$t."</option>\n";
}
echo " </select>\n";
echo " </td>\n";
echo " <td>";
echo " <input type=\"hidden\" name='call_center_tiers[0][domain_uuid]' value='".$_SESSION['domain_uuid']."'>\n";
//echo " <input type=\"hidden\" name='call_center_tiers[0][queue_name]' value='".$call_center_queue_uuid."'>\n";
echo " <input type=\"submit\" class='btn' value=\"".$text['button-add']."\">\n";
echo " </td>\n";
echo " </tr>\n";
}
}
echo " </table>\n";
echo " <br>\n";
echo " ".$text['description-tiers']."\n";
@ -886,15 +899,15 @@
echo "</tr>\n";
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " ".$text['label-exit_keys']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <input class='formfld' type='text' name='queue_cc_exit_keys' value='$queue_cc_exit_keys'>\n";
echo "<br />\n";
echo $text['description-exit_keys']."\n";
echo "</td>\n";
echo "</tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " ".$text['label-exit_keys']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <input class='formfld' type='text' name='queue_cc_exit_keys' value='$queue_cc_exit_keys'>\n";
echo "<br />\n";
echo $text['description-exit_keys']."\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";