billing compatibility for callbroadcast

This commit is contained in:
luis daniel lucio quiroz 2014-09-24 01:03:34 +00:00
parent c247e1c5a0
commit 1335bef8a6
4 changed files with 96 additions and 10 deletions

View File

@ -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'] = "";
?>
$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'] = "";
?>

View File

@ -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é";
?>
?>

View File

@ -22,6 +22,7 @@
Contributor(s):
Mark J Crane <markjcrane@fusionpbx.com>
Luis Daniel Lucio Quiroz <dlucio@okay.com.mx>
*/
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."<br><br>";
$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 "</td>\n";
echo "</tr>\n";
if (if_group("superadmin")){
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
echo " ".$text['label-accountcode'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
if ($action == "add"){ $accountcode=$_SESSION['domain_name']; }
echo " <input class='formfld' type='text' name='broadcast_accountcode' maxlength='255' value=\"$broadcast_accountcode\">\n";
echo "<br />\n";
echo $text['description-accountcode']."\n";
echo "</td>\n";
echo "</tr>\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 "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
echo " ".$text['label-accountcode'].":\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <select name='broadcast_accountcode' id='broadcast_accountcode' class='formfld'>\n";
$prep_statement_accountcode = $db->prepare(check_sql($sql_accountcode));
$prep_statement_accountcode->execute();
$result_accountcode = $prep_statement_accountcode->fetchAll(PDO::FETCH_NAMED);
foreach ($result_accountcode as &$row_accountcode) {
$selected = '';
if (($action == "add") && ($row_accountcode['type_value'] == $_SESSION['domain_name'])){
$selected='selected="selected"';
}
elseif ($row_accountcode['type_value'] == $accountcode){
$selected='selected="selected"';
}
echo " <option value=\"".$row_accountcode['type_value']."\" $selected>".$row_accountcode['type_value']."</option>\n";
}
unset($sql_accountcode, $prep_statement_accountcode, $result_accountcode);
echo "</select>";
echo "<br />\n";
echo $text['description-accountcode']."\n";
echo "</td>\n";
echo "</tr>\n";
}
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " ".$text['label-timeout'].":\n";
@ -572,4 +639,4 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo "</div>";
require_once "resources/footer.php";
?>
?>

View File

@ -22,6 +22,7 @@
Contributor(s):
Mark J Crane <markjcrane@fusionpbx.com>
Luis Daniel Lucio Quiroz <dlucio@okay.com.mx>
*/
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);
*/
?>
?>