Call Block: Enable dialplan entry if disabled when adding a number to block, ability to set custom name on recent call add.

This commit is contained in:
Nate Jones
2014-07-12 07:02:38 +00:00
parent 7e60c1c19c
commit 50ee05df62
3 changed files with 88 additions and 41 deletions

View File

@@ -176,4 +176,9 @@
$text['button-back']['es-cl'] = "Volver";
$text['button-back']['pt-pt'] = "Voltar";
$text['button-back']['fr-fr'] = "Retour";
$text['prompt-block_recent_name']['en-us'] = "Block Recent Call\\n\\nEdit the Name, if desired...";
$text['prompt-block_recent_name']['es-cl'] = "Bloqueo de llamadas recientes\\n\\nEdite el nombre, si lo desea...";
$text['prompt-block_recent_name']['pt-pt'] = "Bloquear Chamadas Recentes\\n\\nEdite o nome, se desejar...";
$text['prompt-block_recent_name']['fr-fr'] = "Bloquer appels récents\\n\\nModifiez le nom, si vous le souhaitez...";
?>

View File

@@ -45,49 +45,68 @@ else {
//action add from cdr
if (isset($_REQUEST["cdr_id"])) {
$action = "cdr_add";
$cdr_uuid = check_str($_REQUEST["cdr_id"]);
$call_block_name = check_str($_REQUEST["name"]);
// get the caller id info from cdr that user chose
$sql = "select ";
if ($call_block_name == '') {
$sql .= "caller_id_name, ";
}
$sql .= "caller_id_number ";
$sql .= "from v_xml_cdr ";
$sql .= "where uuid = '".$cdr_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetch();
unset ($prep_statement);
$call_block_name = ($call_block_name == '') ? $result["caller_id_name"] : $call_block_name;
$call_block_number = $result["caller_id_number"];
$call_block_enabled = "true";
$block_call_action = "Reject";
//ensure call block is enabled in the dialplan
$sql = "update v_dialplans set ";
$sql .= "dialplan_enabled = 'true' ";
$sql .= "where ";
$sql .= "app_uuid = 'b1b31930-d0ee-4395-a891-04df94599f1f' and ";
$sql .= "domain_uuid = '".$domain_uuid."' and ";
$sql .= "dialplan_enabled <> 'true' ";
$db->exec(check_sql($sql));
unset($sql);
// insert call block record
$sql = "insert into v_call_block ";
$sql .= "(";
$sql .= "domain_uuid, ";
$sql .= "call_block_uuid, ";
$sql .= "call_block_name, ";
$sql .= "call_block_number, ";
$sql .= "call_block_count, ";
$sql .= "call_block_action, ";
$sql .= "call_block_enabled, ";
$sql .= "date_added ";
$sql .= ") ";
$sql .= "values ";
$sql .= "(";
$sql .= "'".$_SESSION['domain_uuid']."', ";
$sql .= "'".uuid()."', ";
$sql .= "'".$call_block_name."', ";
$sql .= "'".$call_block_number."', ";
$sql .= "0, ";
$sql .= "'".$block_call_action."', ";
$sql .= "'".$call_block_enabled."', ";
$sql .= "'".time()."' ";
$sql .= ")";
$db->exec(check_sql($sql));
unset($sql);
$_SESSION["message"] = $text['label-add-complete'];
}
// get the caller id info from cdr that user chose
$sql = "select caller_id_name, caller_id_number from v_xml_cdr ";
$sql .= "where uuid = '$cdr_uuid' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetch();
unset ($prep_statement);
$call_block_name = $result["caller_id_name"];
$call_block_number = $result["caller_id_number"];
$call_block_enabled = "true";
$block_call_action = "Reject";
$sql = "insert into v_call_block ";
$sql .= "(";
$sql .= "domain_uuid, ";
$sql .= "call_block_uuid, ";
$sql .= "call_block_name, ";
$sql .= "call_block_number, ";
$sql .= "call_block_count, ";
$sql .= "call_block_action, ";
$sql .= "call_block_enabled, ";
$sql .= "date_added ";
$sql .= ") ";
$sql .= "values ";
$sql .= "(";
$sql .= "'".$_SESSION['domain_uuid']."', ";
$sql .= "'".uuid()."', ";
$sql .= "'$call_block_name', ";
$sql .= "'$call_block_number', ";
$sql .= "0, ";
$sql .= "'$block_call_action', ";
$sql .= "'$call_block_enabled', ";
$sql .= "'".time()."' ";
$sql .= ")";
$db->exec(check_sql($sql));
unset($sql);
$_SESSION["message"] = $text['label-add-complete'];
header("Location: call_block.php");
?>

View File

@@ -113,6 +113,19 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
//add or update the database
if (($_POST["persistformvar"] != "true")>0) {
if ($action == "add" || $action == "update") {
//ensure call block is enabled in the dialplan
$sql = "update v_dialplans set ";
$sql .= "dialplan_enabled = 'true' ";
$sql .= "where ";
$sql .= "app_uuid = 'b1b31930-d0ee-4395-a891-04df94599f1f' and ";
$sql .= "domain_uuid = '".$domain_uuid."' and ";
$sql .= "dialplan_enabled <> 'true' ";
$db->exec(check_sql($sql));
unset($sql);
}
if ($action == "add") {
$sql = "insert into v_call_block ";
$sql .= "(";
@@ -186,6 +199,16 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
require_once "resources/header.php";
//show the content
echo "<script type=\"text/javascript\" language=\"JavaScript\">\n";
echo " function call_block_recent(cdr_uuid, cur_name) {\n";
echo " var new_name = prompt('".$text['prompt-block_recent_name']."', cur_name);\n";
echo " if (new_name != null) {\n";
echo " block_name = (new_name != '') ? new_name : cur_name;\n";
echo " document.location.href='call_block_cdr_add.php?cdr_id=' + cdr_uuid + '&name=' + escape(block_name)\n";
echo " }\n";
echo " }\n";
echo "</script>";
echo "<div align='center'>";
// Show last 5-10 calls first, with add button
@@ -351,7 +374,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo " </td>\n";
echo " <td valign='top' class='".$row_style[$c]."'>".$tmp_start_epoch."</td>\n";
echo " <td class='list_control_icons' style='width: 25px;'>";
echo "<a href='call_block_cdr_add.php?cdr_id=".$row['uuid']."' alt='add'>$v_link_label_add</a>";
echo "<a href='javascript:void(0);' onclick=\"call_block_recent('".$row['uuid']."','".urlencode($row['caller_id_name'])."');\" alt='".$text['button-add']."'>".$v_link_label_add."</a>";
echo " </td>";
echo "</tr>\n";
if ($c==0) { $c=1; } else { $c=0; }