Fixed call_block loop on forward to answer machine and cache clean on delete/edit

This commit is contained in:
Toto Caruso
2014-10-21 16:16:10 +00:00
parent 6a0fe98ad8
commit 1b3ff71abc
3 changed files with 49 additions and 3 deletions

View File

@@ -49,6 +49,30 @@ else {
//delete the extension
if (strlen($id)>0) {
//read the call_block_number
$sql = " select c.call_block_number, d.domain_name from v_call_block as c ";
$sql .= "JOIN v_domains as d ON c.domain_uuid=d.domain_uuid ";
$sql .= "where c.domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "and c.call_block_uuid = '$id' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll();
$result_count = count($result);
if ($result_count > 0) {
$call_block_number = $result[0]["call_block_number"];
$domain_name = $result[0]["domain_name"];
//delete extension from memcache
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
if ($fp) {
$switch_cmd = "memcache delete app:call_block:".$domain_name.":".$call_block_number;
$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
}
}
unset ($prep_statement, $sql);
$sql = "delete from v_call_block ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "and call_block_uuid = '$id' ";

View File

@@ -157,7 +157,29 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
return;
} //if ($action == "add")
if ($action == "update") {
if ($action == "update") {
$sql = " select c.call_block_number, d.domain_name from v_call_block as c ";
$sql .= "JOIN v_domains as d ON c.domain_uuid=d.domain_uuid ";
$sql .= "where c.domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "and c.call_block_uuid = '$call_block_uuid'";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll();
$result_count = count($result);
if ($result_count > 0) {
$call_block_number = $result[0]["call_block_number"];
$domain_name = $result[0]["domain_name"];
//delete extension from memcache
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
if ($fp) {
$switch_cmd = "memcache delete app:call_block:".$domain_name.":".$call_block_number;
$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
}
}
unset ($prep_statement, $sql);
$sql = "update v_call_block set ";
$sql .= "call_block_name = '$call_block_name', ";
$sql .= "call_block_number = '$call_block_number', ";

View File

@@ -1,7 +1,7 @@
<context name="{v_context}">
<extension name="call_block" number="" continue="true" app_uuid="b1b31930-d0ee-4395-a891-04df94599f1f" enabled="false">
<condition>
<action application="lua" data="app.lua call_block"/>
<condition field="${call_block}" expression="^block$" >
<anti-action application="lua" data="app.lua call_block"/>
</condition>
</extension>
</context>