From 7411051f1fbcdf7d0ea3c432751587437b438d7e Mon Sep 17 00:00:00 2001 From: Nate Jones Date: Sat, 12 Jul 2014 07:02:38 +0000 Subject: [PATCH] Call Block: Enable dialplan entry if disabled when adding a number to block, ability to set custom name on recent call add. --- app/call_block/app_languages.php | 5 ++ app/call_block/call_block_cdr_add.php | 99 ++++++++++++++++----------- app/call_block/call_block_edit.php | 25 ++++++- 3 files changed, 88 insertions(+), 41 deletions(-) diff --git a/app/call_block/app_languages.php b/app/call_block/app_languages.php index 48887f89de..3de60b0157 100644 --- a/app/call_block/app_languages.php +++ b/app/call_block/app_languages.php @@ -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..."; ?> diff --git a/app/call_block/call_block_cdr_add.php b/app/call_block/call_block_cdr_add.php index 542af60f74..d4067dfe09 100644 --- a/app/call_block/call_block_cdr_add.php +++ b/app/call_block/call_block_cdr_add.php @@ -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"); ?> \ No newline at end of file diff --git a/app/call_block/call_block_edit.php b/app/call_block/call_block_edit.php index 0571792ecf..15840c71b1 100644 --- a/app/call_block/call_block_edit.php +++ b/app/call_block/call_block_edit.php @@ -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 ""; + echo "
"; // Show last 5-10 calls first, with add button @@ -351,7 +374,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo " \n"; echo " ".$tmp_start_epoch."\n"; echo " "; - echo "$v_link_label_add"; + echo "".$v_link_label_add.""; echo " "; echo "\n"; if ($c==0) { $c=1; } else { $c=0; }