diff --git a/app/ivr_menus/ivr_menu_edit.php b/app/ivr_menus/ivr_menu_edit.php
index 78d87139ed..0baf5f776e 100644
--- a/app/ivr_menus/ivr_menu_edit.php
+++ b/app/ivr_menus/ivr_menu_edit.php
@@ -103,6 +103,7 @@
$ivr_menu_direct_dial = check_str($_POST["ivr_menu_direct_dial"]);
$ivr_menu_ringback = check_str($_POST["ivr_menu_ringback"]);
$ivr_menu_cid_prefix = check_str($_POST["ivr_menu_cid_prefix"]);
+ $ivr_menu_context = check_str($_POST["ivr_menu_context"]);
$ivr_menu_enabled = check_str($_POST["ivr_menu_enabled"]);
$ivr_menu_description = check_str($_POST["ivr_menu_description"]);
$dialplan_uuid = check_str($_POST["dialplan_uuid"]);
@@ -154,6 +155,7 @@
if (strlen($ivr_menu_digit_len) == 0) { $msg .= $text['message-required'].$text['label-digit_length']."
\n"; }
if (strlen($ivr_menu_direct_dial) == 0) { $msg .= $text['message-required'].$text['label-direct_dial']."
\n"; }
//if (strlen($ivr_menu_ringback) == 0) { $msg .= $text['message-required'].$text['label-ring_back']."
\n"; }
+ if (strlen($ivr_menu_context) == 0) { $msg .= $text['message-required'].$text['label-enabled']."
\n"; }
if (strlen($ivr_menu_enabled) == 0) { $msg .= $text['message-required'].$text['label-enabled']."
\n"; }
//if (strlen($ivr_menu_description) == 0) { $msg .= $text['message-required'].$text['label-description']."
\n"; }
if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
@@ -272,7 +274,7 @@
$dialplan["dialplan_uuid"] = $dialplan_uuid;
$dialplan["dialplan_name"] = $ivr_menu_name;
$dialplan["dialplan_number"] = $ivr_menu_extension;
- $dialplan["dialplan_context"] = $_SESSION["context"];
+ $dialplan["dialplan_context"] = $ivr_menu_context;
$dialplan["dialplan_continue"] = "false";
$dialplan["dialplan_xml"] = $dialplan_xml;
$dialplan["dialplan_order"] = "101";
@@ -346,43 +348,46 @@
$ivr->domain_uuid = $_SESSION["domain_uuid"];
$ivr->ivr_menu_uuid = $ivr_menu_uuid;
$ivr_menus = $ivr->find();
- if (is_array($ivr_menus)) foreach ($ivr_menus as &$row) {
- $dialplan_uuid = $row["dialplan_uuid"];
- $ivr_menu_name = $row["ivr_menu_name"];
- $ivr_menu_extension = $row["ivr_menu_extension"];
- $ivr_menu_language = $row["ivr_menu_language"];
- $ivr_menu_dialect = $row["ivr_menu_dialect"];
- $ivr_menu_voice = $row["ivr_menu_voice"];
- $ivr_menu_greet_long = $row["ivr_menu_greet_long"];
- $ivr_menu_greet_short = $row["ivr_menu_greet_short"];
- $ivr_menu_invalid_sound = $row["ivr_menu_invalid_sound"];
- $ivr_menu_exit_sound = $row["ivr_menu_exit_sound"];
- $ivr_menu_confirm_macro = $row["ivr_menu_confirm_macro"];
- $ivr_menu_confirm_key = $row["ivr_menu_confirm_key"];
- $ivr_menu_tts_engine = $row["ivr_menu_tts_engine"];
- $ivr_menu_tts_voice = $row["ivr_menu_tts_voice"];
- $ivr_menu_confirm_attempts = $row["ivr_menu_confirm_attempts"];
- $ivr_menu_timeout = $row["ivr_menu_timeout"];
- $ivr_menu_exit_app = $row["ivr_menu_exit_app"];
- $ivr_menu_exit_data = $row["ivr_menu_exit_data"];
- $ivr_menu_inter_digit_timeout = $row["ivr_menu_inter_digit_timeout"];
- $ivr_menu_max_failures = $row["ivr_menu_max_failures"];
- $ivr_menu_max_timeouts = $row["ivr_menu_max_timeouts"];
- $ivr_menu_digit_len = $row["ivr_menu_digit_len"];
- $ivr_menu_direct_dial = $row["ivr_menu_direct_dial"];
- $ivr_menu_ringback = $row["ivr_menu_ringback"];
- $ivr_menu_cid_prefix = $row["ivr_menu_cid_prefix"];
- $ivr_menu_enabled = $row["ivr_menu_enabled"];
- $ivr_menu_description = $row["ivr_menu_description"];
-
- //replace the dash with a space
- $ivr_menu_name = str_replace("-", " ", $ivr_menu_name);
-
- if (strlen($ivr_menu_exit_app) > 0) {
- $ivr_menu_exit_action = $ivr_menu_exit_app.":".$ivr_menu_exit_data;
+ if (is_array($ivr_menus)) {
+ foreach ($ivr_menus as &$row) {
+ $dialplan_uuid = $row["dialplan_uuid"];
+ $ivr_menu_name = $row["ivr_menu_name"];
+ $ivr_menu_extension = $row["ivr_menu_extension"];
+ $ivr_menu_language = $row["ivr_menu_language"];
+ $ivr_menu_dialect = $row["ivr_menu_dialect"];
+ $ivr_menu_voice = $row["ivr_menu_voice"];
+ $ivr_menu_greet_long = $row["ivr_menu_greet_long"];
+ $ivr_menu_greet_short = $row["ivr_menu_greet_short"];
+ $ivr_menu_invalid_sound = $row["ivr_menu_invalid_sound"];
+ $ivr_menu_exit_sound = $row["ivr_menu_exit_sound"];
+ $ivr_menu_confirm_macro = $row["ivr_menu_confirm_macro"];
+ $ivr_menu_confirm_key = $row["ivr_menu_confirm_key"];
+ $ivr_menu_tts_engine = $row["ivr_menu_tts_engine"];
+ $ivr_menu_tts_voice = $row["ivr_menu_tts_voice"];
+ $ivr_menu_confirm_attempts = $row["ivr_menu_confirm_attempts"];
+ $ivr_menu_timeout = $row["ivr_menu_timeout"];
+ $ivr_menu_exit_app = $row["ivr_menu_exit_app"];
+ $ivr_menu_exit_data = $row["ivr_menu_exit_data"];
+ $ivr_menu_inter_digit_timeout = $row["ivr_menu_inter_digit_timeout"];
+ $ivr_menu_max_failures = $row["ivr_menu_max_failures"];
+ $ivr_menu_max_timeouts = $row["ivr_menu_max_timeouts"];
+ $ivr_menu_digit_len = $row["ivr_menu_digit_len"];
+ $ivr_menu_direct_dial = $row["ivr_menu_direct_dial"];
+ $ivr_menu_ringback = $row["ivr_menu_ringback"];
+ $ivr_menu_cid_prefix = $row["ivr_menu_cid_prefix"];
+ $ivr_menu_context = $row["ivr_menu_context"];
+ $ivr_menu_enabled = $row["ivr_menu_enabled"];
+ $ivr_menu_description = $row["ivr_menu_description"];
+
+ //replace the dash with a space
+ $ivr_menu_name = str_replace("-", " ", $ivr_menu_name);
+
+ if (strlen($ivr_menu_exit_app) > 0) {
+ $ivr_menu_exit_action = $ivr_menu_exit_app.":".$ivr_menu_exit_data;
+ }
}
+ unset ($prep_statement);
}
- unset ($prep_statement);
}
//get the ivr menu options
@@ -428,9 +433,15 @@
if (strlen($ivr_menu_max_timeouts) == 0) { $ivr_menu_max_timeouts = '1'; }
if (strlen($ivr_menu_digit_len) == 0) { $ivr_menu_digit_len = '5'; }
if (strlen($ivr_menu_direct_dial) == 0) { $ivr_menu_direct_dial = 'false'; }
+ if (strlen($ivr_menu_context) == 0) { $ivr_menu_context = $_SESSION['domain_name']; }
if (strlen($ivr_menu_enabled) == 0) { $ivr_menu_enabled = 'true'; }
if (!isset($ivr_menu_exit_action)) { $ivr_menu_exit_action = ''; }
+//set the context for users that do not have the permission
+ if (!permission_exists('ivr_menu_context')) {
+ $ivr_menu_context = $_SESSION['domain_name'];
+ }
+
//get installed languages
$language_paths = glob($_SESSION["switch"]['sounds']['dir']."/*/*/*");
foreach ($language_paths as $key => $path) {
@@ -1355,6 +1366,19 @@
//--- end: show_advanced -----------------------
+ if (permission_exists('ivr_menu_context')) {
+ echo "
| \n"; |