From 1335bef8a60eefc37964d6477fc6da7b81d67a46 Mon Sep 17 00:00:00 2001 From: luis daniel lucio quiroz Date: Wed, 24 Sep 2014 01:03:34 +0000 Subject: [PATCH] billing compatibility for callbroadcast --- app/call_broadcast/app_config.php | 7 +- app/call_broadcast/app_languages.php | 12 +++- app/call_broadcast/call_broadcast_edit.php | 79 ++++++++++++++++++++-- app/call_broadcast/call_broadcast_send.php | 8 ++- 4 files changed, 96 insertions(+), 10 deletions(-) diff --git a/app/call_broadcast/app_config.php b/app/call_broadcast/app_config.php index 8548f1cb18..a029a24558 100644 --- a/app/call_broadcast/app_config.php +++ b/app/call_broadcast/app_config.php @@ -143,5 +143,8 @@ $apps[$x]['db'][$y]['fields'][$z]['name'] = "broadcast_destination_data"; $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; - -?> \ No newline at end of file + $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = "broadcast_accountcode"; + $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ""; +?> diff --git a/app/call_broadcast/app_languages.php b/app/call_broadcast/app_languages.php index 17d30ae1b3..6086b187d4 100644 --- a/app/call_broadcast/app_languages.php +++ b/app/call_broadcast/app_languages.php @@ -83,11 +83,21 @@ $text['label-timeout']['pt-pt'] = "Timeout"; $text['label-timeout']['fr-fr'] = "Timeout"; + $text['label-accountcode']['en-us'] = "Accountcode"; + $text['label-accountcode']['es-cl'] = "Código de cuenta"; + $text['label-accountcode']['pt-pt'] = "Accountcode"; + $text['label-accountcode']['fr-fr'] = "Code de l'account"; + $text['description-timeout']['en-us'] = "Limit the length of the call. Leave this empty for no limit."; $text['description-timeout']['es-cl'] = "Limitar la duración de la llamada. Deje en blanco para no establecer un límite."; $text['description-timeout']['pt-pt'] = "Limitar a duração da chamada. Deixe este campo em branco para não ter limite."; $text['description-timeout']['fr-fr'] = "Limiter la durée de l'appel. Laisser vide pour illimité."; + $text['description-timeout']['en-us'] = ""; + $text['description-timeout']['es-cl'] = ""; + $text['description-timeout']['pt-pt'] = ""; + $text['description-timeout']['fr-fr'] = ""; + $text['description-concurrent-limit']['en-us'] = "Limit the approximate number of concurrent calls. Leave this empty for no limit."; $text['description-concurrent-limit']['es-cl'] = "Limitar el número de llamadas simultaneas. Deje en blanco para no establecer un límite."; $text['description-concurrent-limit']['pt-pt'] = "Limitar o número de chamadas concurrentes. Deixe este campo em branco para não ter limite."; @@ -199,4 +209,4 @@ $text['label-has-been']['pt-pt'] = "foi inicializada"; $text['label-has-been']['fr-fr'] = "a commencé"; -?> \ No newline at end of file +?> diff --git a/app/call_broadcast/call_broadcast_edit.php b/app/call_broadcast/call_broadcast_edit.php index 1f280be493..edf75f00ea 100644 --- a/app/call_broadcast/call_broadcast_edit.php +++ b/app/call_broadcast/call_broadcast_edit.php @@ -22,6 +22,7 @@ Contributor(s): Mark J Crane + Luis Daniel Lucio Quiroz */ include "root.php"; require_once "resources/require.php"; @@ -62,6 +63,26 @@ else { $broadcast_phone_numbers = check_str($_POST["broadcast_phone_numbers"]); $broadcast_avmd = check_str($_POST["broadcast_avmd"]); $broadcast_destination_data = check_str($_POST["broadcast_destination_data"]); + + if (if_group("superadmin")){ + $broadcast_accountcode = check_str($_POST["broadcast_accountcode"]); + } + elseif (if_group("admin") && file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){ + $sql_accountcode = "SELECT COUNT(*) as count FROM v_billings WHERE domain_uuid = '".$_SESSION['domain_uuid']."' AND type_value='".$_POST["accountcode"]."'"; + $prep_statement_accountcode = $db->prepare(check_sql($sql_accountcode)); + $prep_statement_accountcode->execute(); + $row_accountcode = $prep_statement_accountcode->fetch(PDO::FETCH_ASSOC); + if ($row_accountcode['count'] > 0) { + $broadcast_accountcode = check_str($_POST["broadcast_accountcode"]); + } + else { + $broadcast_accountcode = $_SESSION['domain_name']; + } + unset($sql_accountcode, $prep_statement_accountcode, $row_accountcode); + } + else{ + $broadcast_accountcode = $_SESSION['domain_name']; + } } if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { @@ -114,7 +135,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $sql .= "broadcast_destination_type, "; $sql .= "broadcast_phone_numbers, "; $sql .= "broadcast_avmd, "; - $sql .= "broadcast_destination_data "; + $sql .= "broadcast_destination_data, "; + $sql .= "broadcast_accountcode "; $sql .= ")"; $sql .= "values "; $sql .= "("; @@ -140,7 +162,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $sql .= "'$broadcast_destination_type', "; $sql .= "'$broadcast_phone_numbers', "; $sql .= "'$broadcast_avmd', "; - $sql .= "'$broadcast_destination_data' "; + $sql .= "'$broadcast_destination_data', "; + $sql .= "'$broadcast_accountcode' "; $sql .= ")"; $db->exec(check_sql($sql)); unset($sql); @@ -172,15 +195,14 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $sql .= "broadcast_destination_type = '$broadcast_destination_type', "; $sql .= "broadcast_phone_numbers = '$broadcast_phone_numbers', "; $sql .= "broadcast_avmd = '$broadcast_avmd', "; - $sql .= "broadcast_destination_data = '$broadcast_destination_data' "; + $sql .= "broadcast_destination_data = '$broadcast_destination_data', "; + $sql .= "broadcast_accountcode = '$broadcast_accountcode' "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and call_broadcast_uuid = '$call_broadcast_uuid'"; echo $sql."

"; $db->exec(check_sql($sql)); unset($sql); - - $_SESSION["message"] = $text['confirm-update']; header("Location: call_broadcast.php"); return; @@ -208,6 +230,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $broadcast_phone_numbers = $row["broadcast_phone_numbers"]; $broadcast_avmd = $row["broadcast_avmd"]; $broadcast_destination_data = $row["broadcast_destination_data"]; + $broadcast_accountcode = $row["broadcast_accountcode"]; break; //limit to 1 row } unset ($prep_statement); @@ -253,6 +276,50 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo "\n"; echo "\n"; + + if (if_group("superadmin")){ + echo "\n"; + echo "\n"; + echo " ".$text['label-accountcode'].":\n"; + echo "\n"; + echo "\n"; + if ($action == "add"){ $accountcode=$_SESSION['domain_name']; } + echo " \n"; + echo "
\n"; + echo $text['description-accountcode']."\n"; + echo "\n"; + echo "\n"; + }elseif (if_group("admin") && file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){ + $sql_accountcode = "SELECT type_value FROM v_billings WHERE domain_uuid = '".$_SESSION['domain_uuid']."'"; + + echo "\n"; + echo "\n"; + echo " ".$text['label-accountcode'].":\n"; + echo "\n"; + echo "\n"; + echo " "; + echo "
\n"; + echo $text['description-accountcode']."\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; echo "\n"; echo " ".$text['label-timeout'].":\n"; @@ -572,4 +639,4 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo ""; require_once "resources/footer.php"; -?> \ No newline at end of file +?> diff --git a/app/call_broadcast/call_broadcast_send.php b/app/call_broadcast/call_broadcast_send.php index ff36f57ced..9269dfb26f 100644 --- a/app/call_broadcast/call_broadcast_send.php +++ b/app/call_broadcast/call_broadcast_send.php @@ -22,6 +22,7 @@ Contributor(s): Mark J Crane + Luis Daniel Lucio Quiroz */ include "root.php"; require_once "resources/require.php"; @@ -86,6 +87,7 @@ function cmd_async($cmd) { $broadcast_phone_numbers = $row["broadcast_phone_numbers"]; $broadcast_destination_data = $row["broadcast_destination_data"]; $broadcast_avmd = $row["broadcast_avmd"]; + $broadcast_accountcode = $row["broadcast_accountcode"]; //if (strlen($row["broadcast_destination_data"]) == 0) { // $broadcast_destination_application = ''; // $broadcast_destination_data = ''; @@ -105,6 +107,9 @@ function cmd_async($cmd) { if (strlen($broadcast_caller_id_number) == 0) { $broadcast_caller_id_number = "0000000000"; } + if (strlen($broadcast_accountcode) == 0) { + $broadcast_accountcode = $_SESSION['domain_name'];; + } //get the recording name //$recording_filename = get_recording_filename($recordingid); @@ -166,6 +171,7 @@ function cmd_async($cmd) { $channel_variables .= ",domain_uuid=".$_SESSION['domain_uuid']; $channel_variables .= ",domain=".$_SESSION['domain_name']; $channel_variables .= ",domain_name=".$_SESSION['domain_name']; + $channel_variables .= ",accountcode='$broadcast_accountcode'"; if ($broadcast_avmd == "true") { $channel_variables .= ",execute_on_answer='avmd start'"; } @@ -379,4 +385,4 @@ unset ($key); unset ($val); unset ($c); */ -?> \ No newline at end of file +?>