Update ivr_menu_edit.php

Improve the indentation and some progress to separate getting the data from displaying it.
This commit is contained in:
FusionPBX 2016-07-11 17:06:32 -06:00 committed by GitHub
parent 9993a93546
commit c8a4a346ec
1 changed files with 158 additions and 153 deletions

View File

@ -112,154 +112,156 @@ else {
} }
} }
if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //process the http data
if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$msg = ''; //get the id
if ($action == "update") { if ($action == "update") {
$ivr_menu_uuid = check_str($_POST["ivr_menu_uuid"]); $ivr_menu_uuid = check_str($_POST["ivr_menu_uuid"]);
} }
//check for all required data //check for all required data
if (strlen($ivr_menu_name) == 0) { $msg .= $text['message-required'].$text['label-name']."<br>\n"; } $msg = '';
if (strlen($ivr_menu_extension) == 0) { $msg .= $text['message-required'].$text['label-extension']."<br>\n"; } if (strlen($ivr_menu_name) == 0) { $msg .= $text['message-required'].$text['label-name']."<br>\n"; }
if (strlen($ivr_menu_greet_long) == 0) { $msg .= $text['message-required'].$text['label-greet_long']."<br>\n"; } if (strlen($ivr_menu_extension) == 0) { $msg .= $text['message-required'].$text['label-extension']."<br>\n"; }
//if (strlen($ivr_menu_greet_short) == 0) { $msg .= $text['message-required'].$text['label-greet_short']."<br>\n"; } if (strlen($ivr_menu_greet_long) == 0) { $msg .= $text['message-required'].$text['label-greet_long']."<br>\n"; }
//if (strlen($ivr_menu_invalid_sound) == 0) { $msg .= $text['message-required'].$text['label-invalid_sound']."<br>\n"; } //if (strlen($ivr_menu_greet_short) == 0) { $msg .= $text['message-required'].$text['label-greet_short']."<br>\n"; }
//if (strlen($ivr_menu_exit_sound) == 0) { $msg .= $text['message-required'].$text['label-exit_sound']."<br>\n"; } //if (strlen($ivr_menu_invalid_sound) == 0) { $msg .= $text['message-required'].$text['label-invalid_sound']."<br>\n"; }
//if (strlen($ivr_menu_confirm_macro) == 0) { $msg .= $text['message-required'].$text['label-comfirm_macro']."<br>\n"; } //if (strlen($ivr_menu_exit_sound) == 0) { $msg .= $text['message-required'].$text['label-exit_sound']."<br>\n"; }
//if (strlen($ivr_menu_confirm_key) == 0) { $msg .= $text['message-required'].$text['label-comfirm_key']."<br>\n"; } //if (strlen($ivr_menu_confirm_macro) == 0) { $msg .= $text['message-required'].$text['label-comfirm_macro']."<br>\n"; }
//if (strlen($ivr_menu_tts_engine) == 0) { $msg .= $text['message-required'].$text['label-tts_engine']."<br>\n"; } //if (strlen($ivr_menu_confirm_key) == 0) { $msg .= $text['message-required'].$text['label-comfirm_key']."<br>\n"; }
//if (strlen($ivr_menu_tts_voice) == 0) { $msg .= $text['message-required'].$text['label-tts_voice']."<br>\n"; } //if (strlen($ivr_menu_tts_engine) == 0) { $msg .= $text['message-required'].$text['label-tts_engine']."<br>\n"; }
if (strlen($ivr_menu_confirm_attempts) == 0) { $msg .= $text['message-required'].$text['label-comfirm_attempts']."<br>\n"; } //if (strlen($ivr_menu_tts_voice) == 0) { $msg .= $text['message-required'].$text['label-tts_voice']."<br>\n"; }
if (strlen($ivr_menu_timeout) == 0) { $msg .= $text['message-required'].$text['label-timeout']."<br>\n"; } if (strlen($ivr_menu_confirm_attempts) == 0) { $msg .= $text['message-required'].$text['label-comfirm_attempts']."<br>\n"; }
//if (strlen($ivr_menu_exit_app) == 0) { $msg .= $text['message-required'].$text['label-exit_action']."<br>\n"; } if (strlen($ivr_menu_timeout) == 0) { $msg .= $text['message-required'].$text['label-timeout']."<br>\n"; }
if (strlen($ivr_menu_inter_digit_timeout) == 0) { $msg .= $text['message-required'].$text['label-inter_digit_timeout']."<br>\n"; } //if (strlen($ivr_menu_exit_app) == 0) { $msg .= $text['message-required'].$text['label-exit_action']."<br>\n"; }
if (strlen($ivr_menu_max_failures) == 0) { $msg .= $text['message-required'].$text['label-max_failures']."<br>\n"; } if (strlen($ivr_menu_inter_digit_timeout) == 0) { $msg .= $text['message-required'].$text['label-inter_digit_timeout']."<br>\n"; }
if (strlen($ivr_menu_max_timeouts) == 0) { $msg .= $text['message-required'].$text['label-max_timeouts']."<br>\n"; } if (strlen($ivr_menu_max_failures) == 0) { $msg .= $text['message-required'].$text['label-max_failures']."<br>\n"; }
if (strlen($ivr_menu_digit_len) == 0) { $msg .= $text['message-required'].$text['label-digit_length']."<br>\n"; } if (strlen($ivr_menu_max_timeouts) == 0) { $msg .= $text['message-required'].$text['label-max_timeouts']."<br>\n"; }
if (strlen($ivr_menu_direct_dial) == 0) { $msg .= $text['message-required'].$text['label-direct_dial']."<br>\n"; } if (strlen($ivr_menu_digit_len) == 0) { $msg .= $text['message-required'].$text['label-digit_length']."<br>\n"; }
//if (strlen($ivr_menu_ringback) == 0) { $msg .= $text['message-required'].$text['label-ring_back']."<br>\n"; } if (strlen($ivr_menu_direct_dial) == 0) { $msg .= $text['message-required'].$text['label-direct_dial']."<br>\n"; }
if (strlen($ivr_menu_enabled) == 0) { $msg .= $text['message-required'].$text['label-enabled']."<br>\n"; } //if (strlen($ivr_menu_ringback) == 0) { $msg .= $text['message-required'].$text['label-ring_back']."<br>\n"; }
//if (strlen($ivr_menu_description) == 0) { $msg .= $text['message-required'].$text['label-description']."<br>\n"; } if (strlen($ivr_menu_enabled) == 0) { $msg .= $text['message-required'].$text['label-enabled']."<br>\n"; }
if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { //if (strlen($ivr_menu_description) == 0) { $msg .= $text['message-required'].$text['label-description']."<br>\n"; }
require_once "resources/header.php"; if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
require_once "resources/persist_form_var.php"; require_once "resources/header.php";
echo "<div align='center'>\n"; require_once "resources/persist_form_var.php";
echo "<table><tr><td>\n"; echo "<div align='center'>\n";
echo $msg."<br />"; echo "<table><tr><td>\n";
echo "</td></tr></table>\n"; echo $msg."<br />";
persistformvar($_POST); echo "</td></tr></table>\n";
echo "</div>\n"; persistformvar($_POST);
require_once "resources/footer.php"; echo "</div>\n";
return; require_once "resources/footer.php";
} return;
}
//replace the space with a dash //replace the space with a dash
$ivr_menu_name = str_replace(" ", "-", $ivr_menu_name); $ivr_menu_name = str_replace(" ", "-", $ivr_menu_name);
//add or update the database //add or update the database
if ($_POST["persistformvar"] != "true") { if ($_POST["persistformvar"] != "true") {
//prepare the object //prepare the object
require_once "resources/classes/database.php";
require_once "resources/classes/ivr_menu.php";
$ivr = new ivr_menu;
$ivr->domain_uuid = $_SESSION["domain_uuid"];
$ivr->ivr_menu_name = $ivr_menu_name;
$ivr->ivr_menu_extension = $ivr_menu_extension;
$ivr->ivr_menu_greet_long = $ivr_menu_greet_long;
$ivr->ivr_menu_greet_short = $ivr_menu_greet_short;
$ivr->ivr_menu_invalid_sound = $ivr_menu_invalid_sound;
$ivr->ivr_menu_exit_sound = $ivr_menu_exit_sound;
$ivr->ivr_menu_confirm_macro = $ivr_menu_confirm_macro;
$ivr->ivr_menu_confirm_key = $ivr_menu_confirm_key;
$ivr->ivr_menu_tts_engine = $ivr_menu_tts_engine;
$ivr->ivr_menu_tts_voice = $ivr_menu_tts_voice;
$ivr->ivr_menu_confirm_attempts = $ivr_menu_confirm_attempts;
$ivr->ivr_menu_timeout = $ivr_menu_timeout;
$ivr->ivr_menu_exit_app = $ivr_menu_exit_app;
$ivr->ivr_menu_exit_data = $ivr_menu_exit_data;
$ivr->ivr_menu_inter_digit_timeout = $ivr_menu_inter_digit_timeout;
$ivr->ivr_menu_max_failures = $ivr_menu_max_failures;
$ivr->ivr_menu_max_timeouts = $ivr_menu_max_timeouts;
$ivr->ivr_menu_max_timeouts = $ivr_menu_max_timeouts;
$ivr->ivr_menu_digit_len = $ivr_menu_digit_len;
$ivr->ivr_menu_digit_len = $ivr_menu_digit_len;
$ivr->ivr_menu_direct_dial = $ivr_menu_direct_dial;
$ivr->ivr_menu_ringback = $ivr_menu_ringback;
$ivr->ivr_menu_cid_prefix = $ivr_menu_cid_prefix;
$ivr->ivr_menu_enabled = $ivr_menu_enabled;
$ivr->ivr_menu_description = $ivr_menu_description;
//add the data
if ($action == "add" && permission_exists('ivr_menu_add')) {
//set the ivr_menu_uuid
$ivr_menu_uuid = uuid();
$ivr->ivr_menu_uuid = $ivr_menu_uuid;
//run the add method in the ivr menu class
$ivr->add();
//set the message
$_SESSION['message'] = $text['message-add'];
}
//update the data
if ($action == "update" && permission_exists('ivr_menu_edit')) {
//get the ivr_menu_uuid
$ivr_menu_uuid = check_str($_REQUEST["id"]);
//run the update method in the ivr menu class
$ivr->ivr_menu_uuid = $ivr_menu_uuid;
$ivr->update();
//set the message
$_SESSION['message'] = $text['message-update'];
}
//add the ivr menu options
if (($action == "add" && permission_exists('ivr_menu_add')) || ($action == "update" && permission_exists('ivr_menu_edit'))) {
require_once "resources/classes/database.php"; require_once "resources/classes/database.php";
require_once "resources/classes/ivr_menu.php"; require_once "resources/classes/ivr_menu.php";
foreach ($ivr_menu_options as $row) { $ivr = new ivr_menu;
//seperate the action and the param $ivr->domain_uuid = $_SESSION["domain_uuid"];
$option_array = explode(":", $row["ivr_menu_option_param"]); $ivr->ivr_menu_name = $ivr_menu_name;
$ivr_menu_option_action = array_shift($option_array); $ivr->ivr_menu_extension = $ivr_menu_extension;
$ivr_menu_option_param = join(':', $option_array); $ivr->ivr_menu_greet_long = $ivr_menu_greet_long;
$ivr->ivr_menu_greet_short = $ivr_menu_greet_short;
$ivr->ivr_menu_invalid_sound = $ivr_menu_invalid_sound;
$ivr->ivr_menu_exit_sound = $ivr_menu_exit_sound;
$ivr->ivr_menu_confirm_macro = $ivr_menu_confirm_macro;
$ivr->ivr_menu_confirm_key = $ivr_menu_confirm_key;
$ivr->ivr_menu_tts_engine = $ivr_menu_tts_engine;
$ivr->ivr_menu_tts_voice = $ivr_menu_tts_voice;
$ivr->ivr_menu_confirm_attempts = $ivr_menu_confirm_attempts;
$ivr->ivr_menu_timeout = $ivr_menu_timeout;
$ivr->ivr_menu_exit_app = $ivr_menu_exit_app;
$ivr->ivr_menu_exit_data = $ivr_menu_exit_data;
$ivr->ivr_menu_inter_digit_timeout = $ivr_menu_inter_digit_timeout;
$ivr->ivr_menu_max_failures = $ivr_menu_max_failures;
$ivr->ivr_menu_max_timeouts = $ivr_menu_max_timeouts;
$ivr->ivr_menu_max_timeouts = $ivr_menu_max_timeouts;
$ivr->ivr_menu_digit_len = $ivr_menu_digit_len;
$ivr->ivr_menu_digit_len = $ivr_menu_digit_len;
$ivr->ivr_menu_direct_dial = $ivr_menu_direct_dial;
$ivr->ivr_menu_ringback = $ivr_menu_ringback;
$ivr->ivr_menu_cid_prefix = $ivr_menu_cid_prefix;
$ivr->ivr_menu_enabled = $ivr_menu_enabled;
$ivr->ivr_menu_description = $ivr_menu_description;
//add the ivr menu option //add the data
if (strlen($ivr_menu_option_action) > 0) { if ($action == "add" && permission_exists('ivr_menu_add')) {
$ivr = new ivr_menu; //set the ivr_menu_uuid
$ivr->domain_uuid = $_SESSION["domain_uuid"]; $ivr_menu_uuid = uuid();
$ivr->ivr_menu_uuid = $ivr_menu_uuid; $ivr->ivr_menu_uuid = $ivr_menu_uuid;
$ivr->ivr_menu_option_uuid = uuid();
$ivr->ivr_menu_option_digits = trim($row["ivr_menu_option_digits"]); //run the add method in the ivr menu class
$ivr->ivr_menu_option_action = $ivr_menu_option_action; $ivr->add();
$ivr->ivr_menu_option_param = $ivr_menu_option_param;
$ivr->ivr_menu_option_order = $row["ivr_menu_option_order"]; //set the message
$ivr->ivr_menu_option_description = $row["ivr_menu_option_description"]; $_SESSION['message'] = $text['message-add'];
$ivr->add();
}
} }
if ($action == "add") {
$action == "update"; //update the data
if ($action == "update" && permission_exists('ivr_menu_edit')) {
//get the ivr_menu_uuid
$ivr_menu_uuid = check_str($_REQUEST["id"]);
//run the update method in the ivr menu class
$ivr->ivr_menu_uuid = $ivr_menu_uuid;
$ivr->update();
//set the message
$_SESSION['message'] = $text['message-update'];
} }
}
//synchronize the xml config //add the ivr menu options
save_dialplan_xml(); if (($action == "add" && permission_exists('ivr_menu_add')) || ($action == "update" && permission_exists('ivr_menu_edit'))) {
require_once "resources/classes/database.php";
require_once "resources/classes/ivr_menu.php";
foreach ($ivr_menu_options as $row) {
//seperate the action and the param
$option_array = explode(":", $row["ivr_menu_option_param"]);
$ivr_menu_option_action = array_shift($option_array);
$ivr_menu_option_param = join(':', $option_array);
//clear the cache //add the ivr menu option
$cache = new cache; if (strlen($ivr_menu_option_action) > 0) {
$cache->delete("dialplan:".$_SESSION["context"]); $ivr = new ivr_menu;
$cache->delete("configuration:ivr.conf:".$ivr_menu_uuid); $ivr->domain_uuid = $_SESSION["domain_uuid"];
$ivr->ivr_menu_uuid = $ivr_menu_uuid;
$ivr->ivr_menu_option_uuid = uuid();
$ivr->ivr_menu_option_digits = trim($row["ivr_menu_option_digits"]);
$ivr->ivr_menu_option_action = $ivr_menu_option_action;
$ivr->ivr_menu_option_param = $ivr_menu_option_param;
$ivr->ivr_menu_option_order = $row["ivr_menu_option_order"];
$ivr->ivr_menu_option_description = $row["ivr_menu_option_description"];
$ivr->add();
}
}
if ($action == "add") {
$action == "update";
}
}
//redirect the user //synchronize the xml config
$_SESSION["message"] = $text['message-update']; save_dialplan_xml();
header("Location: ivr_menu_edit.php?id=".$ivr_menu_uuid);
return;
} //if ($_POST["persistformvar"] != "true") //clear the cache
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) $cache = new cache;
$cache->delete("dialplan:".$_SESSION["context"]);
$cache->delete("configuration:ivr.conf:".$ivr_menu_uuid);
//redirect the user
$_SESSION["message"] = $text['message-update'];
header("Location: ivr_menu_edit.php?id=".$ivr_menu_uuid);
return;
} //if ($_POST["persistformvar"] != "true")
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
//initialize the destinations object //initialize the destinations object
$destination = new destinations; $destination = new destinations;
@ -271,9 +273,8 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$ivr = new ivr_menu; $ivr = new ivr_menu;
$ivr->domain_uuid = $_SESSION["domain_uuid"]; $ivr->domain_uuid = $_SESSION["domain_uuid"];
$ivr->ivr_menu_uuid = $ivr_menu_uuid; $ivr->ivr_menu_uuid = $ivr_menu_uuid;
$result = $ivr->find(); $ivr_menus = $ivr->find();
$result_count = count($result); if (is_array($ivr_menus)) foreach ($ivr_menus as &$row) {
foreach ($result as &$row) {
$ivr_menu_name = $row["ivr_menu_name"]; $ivr_menu_name = $row["ivr_menu_name"];
$ivr_menu_extension = $row["ivr_menu_extension"]; $ivr_menu_extension = $row["ivr_menu_extension"];
$ivr_menu_greet_long = $row["ivr_menu_greet_long"]; $ivr_menu_greet_long = $row["ivr_menu_greet_long"];
@ -308,6 +309,15 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
unset ($prep_statement); unset ($prep_statement);
} }
//get the ivr menu options
$sql = "select * from v_ivr_menu_options ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "and ivr_menu_uuid = '$ivr_menu_uuid' ";
$sql .= "order by ivr_menu_option_digits, ivr_menu_option_order asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$ivr_menu_options = $prep_statement->fetchAll(PDO::FETCH_NAMED);
//set the defaults //set the defaults
if (strlen($ivr_menu_timeout) == 0) { $ivr_menu_timeout = '3000'; } if (strlen($ivr_menu_timeout) == 0) { $ivr_menu_timeout = '3000'; }
if (strlen($ivr_menu_ringback) == 0) { $ivr_menu_ringback = 'local_stream://default'; } if (strlen($ivr_menu_ringback) == 0) { $ivr_menu_ringback = 'local_stream://default'; }
@ -332,6 +342,12 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$prep_statement->execute(); $prep_statement->execute();
$recordings = $prep_statement->fetchAll(PDO::FETCH_ASSOC); $recordings = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
//get the phrases
$sql = "select * from v_phrases where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$phrases = $prep_statement->fetchAll(PDO::FETCH_NAMED);
//content //content
require_once "resources/header.php"; require_once "resources/header.php";
$document['title'] = $text['title-ivr_menu']; $document['title'] = $text['title-ivr_menu'];
@ -438,7 +454,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
} }
//recordings //recordings
$tmp_selected = false; $tmp_selected = false;
if (count($recordings) > 0) { if (is_array($recordings)) {
echo "<optgroup label='Recordings'>\n"; echo "<optgroup label='Recordings'>\n";
foreach ($recordings as &$row) { foreach ($recordings as &$row) {
$recording_name = $row["recording_name"]; $recording_name = $row["recording_name"];
@ -458,11 +474,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
echo "</optgroup>\n"; echo "</optgroup>\n";
} }
//phrases //phrases
$sql = "select * from v_phrases where domain_uuid = '".$domain_uuid."' "; if (is_array($phrases)) {
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
if (count($result) > 0) {
echo "<optgroup label='Phrases'>\n"; echo "<optgroup label='Phrases'>\n";
foreach ($result as &$row) { foreach ($result as &$row) {
if ($ivr_menu_greet_long == "phrase:".$row["phrase_uuid"]) { if ($ivr_menu_greet_long == "phrase:".$row["phrase_uuid"]) {
@ -635,15 +647,8 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
echo " <td></td>\n"; echo " <td></td>\n";
echo " </tr>\n"; echo " </tr>\n";
if (strlen($ivr_menu_uuid) > 0) { if (strlen($ivr_menu_uuid) > 0) {
$sql = "select * from v_ivr_menu_options ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; if (is_array($ivr_menu_options)) foreach($ivr_menu_options as $field) {
$sql .= "and ivr_menu_uuid = '$ivr_menu_uuid' ";
$sql .= "order by ivr_menu_option_digits, ivr_menu_option_order asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
$result_count = count($result);
foreach($result as $field) {
$ivr_menu_option_param = $field['ivr_menu_option_param']; $ivr_menu_option_param = $field['ivr_menu_option_param'];
if (strlen(trim($ivr_menu_option_param)) == 0) { if (strlen(trim($ivr_menu_option_param)) == 0) {
$ivr_menu_option_param = $field['ivr_menu_option_action']; $ivr_menu_option_param = $field['ivr_menu_option_action'];