mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Fixed call_block loop on forward to answer machine and cache clean on delete/edit
This commit is contained in:
@@ -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' ";
|
||||
|
||||
@@ -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', ";
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user