mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Update boolean toggle and the database boolean type (#7522)
* Change the data type to boolean
* Use boolean values in SQL and Conditional Statements
* Schema Data Types: Drop views so that alter tables statements complete
* Update settings.php
* Add extension for call_screen_enabled
* Gateway handle boolean
Add the boolean toggle
- distinct_to
- caller_id_in_from
- supress_cng
- extension_in_contact
- contact_in_ping
* Update gateways.php
* Update voicemail_edit.php
* Replace the ${caller_id_name} with the extensions caller id name
* Phrase - Edit: Update slide toggle with new select beneath.
* Update the input toggle style
* Set the input_toggle_style_switch as boolean
* Update the input toggle style
* Theme: Adjust CSS to wrap description text on form fields.
* Add domain_uuid and domain_name to the SQL SELECT
* Unset the parameters to fix the next query
* Gateway: Integrate new slide toggle switch.
* Dashboard: Update the input toggle style (#7499)
* Dashboard: Update the input toggle style
* Update dashboard_widget_edit.php
* Update dashboard_edit.php
* Inbound Route - Add: Integrate new slide toggle switch and boolean.
* User Settings: Integrate new slide toggle switch.
* Call Block Edit: Update the input toggle style (#7500)
* Bridge Edit: Update the input toggle style (#7501)
* Update phrases.php
* Update domain_edit.php
* Domain Settings Edit: Update the input toggle style
* User Edit: Update the input toggle style
* Update install.php
* Remove fields marked as deprecated
* Use boolean in the select statement
* Streams: New slide toggle and boolean.
* Streams: Remove unnecessary default.
* Queues (FIFO): New slide toggle.
* Call Detail Records: Update the input toggle style (#7503)
* Call Detail Records: Update the input toggle style
* Update xml_cdr_extension_summary.php
* Update xml_cdr_extension_summary.php
* Update xml_cdr_extension_summary.php
* Call Centers: Update the input toggle style (#7502)
* Call Centers: Update the input toggle style
* Update call_center_agent_edit.php
* Conference Centers: Update the input toggle style (#7506)
* Conference Centers: Update the input toggle style
* Update app_config.php
* Update conference_center_edit.php
* Use boolean data type (#7505)
* Call Flow Edit: Update the input toggle style (#7504)
* Devices: Update the input toggle style
* IVR Menus: New slide toggle.
* IVR Menu: Remove deprected file.
* SIP Profile - Edit: New slide toggle.
* Device Profiles: Update the input toggle style
* Ring Groups - List: Fix syntax.
* Theme: Fire onchange event when switching slide toggle control.
* Device Vendors: Update the input toggle style
* Update enabled boolean
* Update device_edit.php
* Ring Groups: New slide toggle.
* Update domain_edit.php
* Email Templates: Update the input toggle style
* Header: Correct default value on input toggle style.
* Default/Domain/User Settings: Adjust Select option label for better clarity.
* Use true boolean types for switch theme toggle or drop-down box (#7507)
* Groups: Update the input toggle style
* Conference Controls: Update the input toggle style (#7509)
* Conference Controls: Update the input toggle style
* Update conference_control_edit.php
* Update conference_control_details.php
* Update conference_control_detail_edit.php
* Conferences: Update the input toggle style (#7511)
* Use true boolean types for switch theme toggle or drop-down box (#7513)
* Dialplans: Update the input toggle style
Also updated outbound route add
* Ring Group: Only adjust ring group forward destination top margin when slide toggle enabled.
* Default/Domain/User Settings - List: Adjust for new 'Select Box' label on input_toggle_style value.
* Use true boolean types for switch theme toggle or drop-down box (#7514)
* Call Forward / Follow Me: Minor javascript adjustments to mirror previous behavior.
* Ring Groups [Dashboard]: New slide toggle.
* Get the contacts details with a seperate SQL Query
* Remove debug info
* Destinations: Update the input toggle style
* Conference Profiles: Update the input toggle style (#7515)
* Conference Profiles: Update the input toggle style
* Update conference_profiles.php
* Update conference_profile_params.php
* Update conference_profile_param_edit.php
* Update conference_profile_edit.php
* Extensions: Update the input toggle style
* Contacts: Update the input toggle style (#7517)
* Contacts: Update the input toggle style
* Update contact_address_edit.php
* Update contact_attachment_edit.php
* Update contact_edit.php
* Update contact_email_edit.php
* Update contact_phone_edit.php
* Update contact_relation_edit.php
* Update contact_setting_edit.php
* Update contact_url_edit.php
* Update contacts.php
* Voicemails: New slide toggle.
* Voicemail Greeting: New slide toggle.
* Modules: New slide toggle.
* Recordings: New slide toggle
* Variables: New slide toggle.
* Time Conditions: New slide toggle.
* Extensions - List: Remove invalid column name.
* Extension Settings: New slide toggle.
* Number Translations: New slide toggle and boolean.
* Sofia global settings: Update the input toggle style
* Update alter table convert to boolean
* Fix contact relation search (#7518)
* Sip Profile Edit: Fix setting enabled labels (#7519)
* Sip Profile Edit: Fix setting enabled labels
* Update sip_profile_edit.php
* Update dialplan_edit.php (#7520)
* Update SQL queries to use true/false for contact primary settings (#7521)
* Update SQL queries to use true/false for contact primary settings
* Update contacts_vcard.php
* Update email.php
* Update totp.php
* Update contact_url_edit.php
* Update contact_email_edit.php
* Update contact_address_edit.php
* Update contact_attachment_edit.php
* Update contact_phone_edit.php
* Add a database views method
* Add database view groups
* Add database users view
* Add database call_recordings view
* Update users.php
* Add database view call block
* Update schema to use the database views method
* Update conference.conf.lua boolean
* Update directory.lua boolean
* Update callcenter.conf.lua agent_status boolean
* Update sofia.conf.lua boolean
* Update number translations lua boolean
* Update directory.lua boolean
* Update group_call.lua fix the cache
* Update reverse-auth-lookup.lua boolean
* Update directory.lua boolean
* Use concat instead of ||
* Update index.lua
---------
Co-authored-by: fusionate <nate@fusionpbx.com>
Co-authored-by: Alex <alex@fusionpbx.com>
Co-authored-by: frytimo <tim@fusionpbx.com>
This commit is contained in:
@@ -35,7 +35,7 @@
|
||||
$apps[$x]['destinations'][$y]['type'] = "sql";
|
||||
$apps[$x]['destinations'][$y]['label'] = "ivr_menus";
|
||||
$apps[$x]['destinations'][$y]['name'] = "ivr_menus";
|
||||
$apps[$x]['destinations'][$y]['where'] = "where domain_uuid = '\${domain_uuid}' and ivr_menu_enabled = 'true' ";
|
||||
$apps[$x]['destinations'][$y]['where'] = "where domain_uuid = '\${domain_uuid}' and ivr_menu_enabled = true ";
|
||||
$apps[$x]['destinations'][$y]['order_by'] = "natural_sort(ivr_menu_extension) asc";
|
||||
$apps[$x]['destinations'][$y]['field']['ivr_menu_uuid'] = "ivr_menu_uuid";
|
||||
$apps[$x]['destinations'][$y]['field']['uuid'] = "ivr_menu_uuid";
|
||||
@@ -52,7 +52,7 @@
|
||||
$apps[$x]['destinations'][$y]['label'] = "ivr_menus_sub";
|
||||
$apps[$x]['destinations'][$y]['name'] = "ivr_menus_sub";
|
||||
$apps[$x]['destinations'][$y]['sql'] = "select ivr_menu_name as name, ivr_menu_uuid as uuid from v_ivr_menus ";
|
||||
$apps[$x]['destinations'][$y]['where'] = "where domain_uuid = '\${domain_uuid}' and ivr_menu_enabled = 'true' ";
|
||||
$apps[$x]['destinations'][$y]['where'] = "where domain_uuid = '\${domain_uuid}' and ivr_menu_enabled = true ";
|
||||
$apps[$x]['destinations'][$y]['order_by'] = "natural_sort(ivr_menu_extension) asc";
|
||||
$apps[$x]['destinations'][$y]['field']['name'] = "ivr_menu_name";
|
||||
$apps[$x]['destinations'][$y]['field']['uuid'] = "ivr_menu_uuid";
|
||||
@@ -370,7 +370,7 @@
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = "ivr_menu_direct_dial";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = "boolean";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = "ivr_menu_ringback";
|
||||
@@ -386,7 +386,7 @@
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = "ivr_menu_enabled";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = "boolean";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name']['text'] = "ivr_menu_description";
|
||||
@@ -484,9 +484,7 @@
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = "ivr_menu_option_enabled";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "boolean";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "text";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = "boolean";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['toggle'] = ['true','false'];
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||
$z++;
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2019
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//includes files
|
||||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
require_once "resources/paging.php";
|
||||
|
||||
//check permissions
|
||||
if (permission_exists('ivr_menu_edit')) {
|
||||
//access granted
|
||||
}
|
||||
else {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
|
||||
//add multi-lingual support
|
||||
$language = new text;
|
||||
$text = $language->get();
|
||||
|
||||
//set the http get/post variable(s) to a php variable
|
||||
$ivr_menu_uuid = $_GET["id"];
|
||||
|
||||
if (is_uuid($ivr_menu_uuid)) {
|
||||
|
||||
//get the ivr_menus data
|
||||
$sql = "select * from v_ivr_menus ";
|
||||
$sql .= "where ivr_menu_uuid = :ivr_menu_uuid ";
|
||||
$sql .= "and domain_uuid = :domain_uuid ";
|
||||
$parameters['ivr_menu_uuid'] = $ivr_menu_uuid;
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$database = new database;
|
||||
$ivr_menus = $database->select($sql, $parameters, 'all');
|
||||
if (!is_array($ivr_menus)) {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
unset($sql, $parameters);
|
||||
|
||||
//get the the ivr menu options
|
||||
$sql = "select * from v_ivr_menu_options ";
|
||||
$sql .= "where ivr_menu_uuid = :ivr_menu_uuid ";
|
||||
$sql .= "and domain_uuid = :domain_uuid ";
|
||||
$sql .= "order by ivr_menu_uuid asc ";
|
||||
$parameters['ivr_menu_uuid'] = $ivr_menu_uuid;
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$database = new database;
|
||||
$ivr_menu_options = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
//create the uuids
|
||||
$ivr_menu_uuid = uuid();
|
||||
$dialplan_uuid = uuid();
|
||||
|
||||
//set the row id
|
||||
$x = 0;
|
||||
|
||||
//set the variables
|
||||
$ivr_menu_name = $ivr_menus[$x]['ivr_menu_name'];
|
||||
$ivr_menu_extension = $ivr_menus[$x]['ivr_menu_extension'];
|
||||
$ivr_menu_ringback = $ivr_menus[$x]['ivr_menu_ringback'];
|
||||
$ivr_menu_language = $ivr_menus[$x]['ivr_menu_language'];
|
||||
$ivr_menu_dialect = $ivr_menus[$x]['ivr_menu_dialect'];
|
||||
$ivr_menu_voice = $ivr_menus[$x]['ivr_menu_voice'];
|
||||
$ivr_menu_cid_prefix = $ivr_menus[$x]['ivr_menu_cid_prefix'];
|
||||
$ivr_menu_context = $ivr_menus[$x]['ivr_menu_context'];
|
||||
$ivr_menu_description = $ivr_menus[$x]['ivr_menu_description'].' ('.$text['label-copy'].')';
|
||||
|
||||
//prepare the ivr menu array
|
||||
$ivr_menus[$x]['ivr_menu_uuid'] = $ivr_menu_uuid;
|
||||
$ivr_menus[$x]['dialplan_uuid'] = $dialplan_uuid;
|
||||
$ivr_menus[$x]['ivr_menu_name'] = $ivr_menu_name;
|
||||
$ivr_menus[$x]['ivr_menu_description'] = $ivr_menu_description;
|
||||
|
||||
//get the the ivr menu options
|
||||
$y = 0;
|
||||
foreach ($ivr_menu_options as $row) {
|
||||
//update the uuids
|
||||
$row['ivr_menu_uuid'] = $ivr_menu_uuid;
|
||||
$row['ivr_menu_option_uuid'] = uuid();
|
||||
//add the row to the array
|
||||
$ivr_menus[$x]["ivr_menu_options"][$y] = $row;
|
||||
//increment the ivr menu option row id
|
||||
$y++;
|
||||
}
|
||||
|
||||
//build the xml dialplan
|
||||
$dialplan_xml = "<extension name=\"".xml::sanitize($ivr_menu_name)."\" continue=\"\" uuid=\"".xml::sanitize($dialplan_uuid)."\">\n";
|
||||
$dialplan_xml .= " <condition field=\"destination_number\" expression=\"^".xml::sanitize($ivr_menu_extension)."\">\n";
|
||||
$dialplan_xml .= " <action application=\"ring_ready\" data=\"\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"answer\" data=\"\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"sleep\" data=\"1000\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"hangup_after_bridge=true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"ringback=".xml::sanitize($ivr_menu_ringback)."\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"transfer_ringback=".xml::sanitize($ivr_menu_ringback)."\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"presence_id=".xml::sanitize($ivr_menu_extension)."@".$_SESSION['domain_name']."\"/>\n";
|
||||
if (!empty($ivr_menu_language)) {
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"default_language=".xml::sanitize($ivr_menu_language)."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"default_dialect=".xml::sanitize($ivr_menu_dialect)."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"default_voice=".xml::sanitize($ivr_menu_voice)."\" inline=\"true\"/>\n";
|
||||
}
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"ivr_menu_uuid=".xml::sanitize($ivr_menu_uuid)."\"/>\n";
|
||||
if (!empty($ivr_menu_cid_prefix)) {
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"caller_id_name=".xml::sanitize($ivr_menu_cid_prefix)."#\${caller_id_name}\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"effective_caller_id_name=\${caller_id_name}\"/>\n";
|
||||
}
|
||||
$dialplan_xml .= " <action application=\"ivr\" data=\"".xml::sanitize($ivr_menu_uuid)."\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"hangup\" data=\"\"/>\n";
|
||||
$dialplan_xml .= " </condition>\n";
|
||||
$dialplan_xml .= "</extension>\n";
|
||||
|
||||
//build the dialplan array
|
||||
$dialplan[$x]["domain_uuid"] = $_SESSION['domain_uuid'];
|
||||
$dialplan[$x]["dialplan_uuid"] = $dialplan_uuid;
|
||||
$dialplan[$x]["dialplan_name"] = $ivr_menu_name;
|
||||
$dialplan[$x]["dialplan_number"] = $ivr_menu_extension;
|
||||
$dialplan[$x]["dialplan_context"] = $ivr_menu_context;
|
||||
$dialplan[$x]["dialplan_continue"] = "false";
|
||||
$dialplan[$x]["dialplan_xml"] = $dialplan_xml;
|
||||
$dialplan[$x]["dialplan_order"] = "101";
|
||||
$dialplan[$x]["dialplan_enabled"] = "true";
|
||||
$dialplan[$x]["dialplan_description"] = $ivr_menu_description;
|
||||
$dialplan[$x]["app_uuid"] = "a5788e9b-58bc-bd1b-df59-fff5d51253ab";
|
||||
|
||||
//prepare the array
|
||||
$array['ivr_menus'] = $ivr_menus;
|
||||
$array['dialplans'] = $dialplan;
|
||||
|
||||
//add the dialplan permission
|
||||
$p = permissions::new();
|
||||
$p->add("dialplan_add", "temp");
|
||||
$p->add("dialplan_edit", "temp");
|
||||
|
||||
//save the array to the database
|
||||
$database = new database;
|
||||
$database->app_name = 'ivr_menus';
|
||||
$database->app_uuid = 'a5788e9b-58bc-bd1b-df59-fff5d51253ab';
|
||||
if (is_uuid($ivr_menu_uuid)) {
|
||||
$database->uuid($ivr_menu_uuid);
|
||||
}
|
||||
$database->save($array);
|
||||
$message = $database->message;
|
||||
|
||||
//remove the temporary permission
|
||||
$p->delete("dialplan_add", "temp");
|
||||
$p->delete("dialplan_edit", "temp");
|
||||
|
||||
//clear the cache
|
||||
$cache = new cache;
|
||||
$cache->delete("dialplan:".$ivr_menu_context);
|
||||
|
||||
//set message
|
||||
message::add($text['message-copy']);
|
||||
}
|
||||
|
||||
//redirect the user
|
||||
header("Location: ivr_menus.php");
|
||||
|
||||
?>
|
||||
@@ -142,10 +142,10 @@
|
||||
$ivr_menu_max_failures = $_POST["ivr_menu_max_failures"];
|
||||
$ivr_menu_max_timeouts = $_POST["ivr_menu_max_timeouts"];
|
||||
$ivr_menu_digit_len = $_POST["ivr_menu_digit_len"];
|
||||
$ivr_menu_direct_dial = $_POST["ivr_menu_direct_dial"] ?? 'false';
|
||||
$ivr_menu_direct_dial = $_POST["ivr_menu_direct_dial"];
|
||||
$ivr_menu_ringback = $_POST["ivr_menu_ringback"];
|
||||
$ivr_menu_cid_prefix = $_POST["ivr_menu_cid_prefix"];
|
||||
$ivr_menu_enabled = $_POST["ivr_menu_enabled"] ?? 'false';
|
||||
$ivr_menu_enabled = $_POST["ivr_menu_enabled"];
|
||||
$ivr_menu_description = $_POST["ivr_menu_description"];
|
||||
$ivr_menu_options_delete = $_POST["ivr_menu_options_delete"] ?? null;
|
||||
$dialplan_uuid = $_POST["dialplan_uuid"] ?? null;
|
||||
@@ -228,7 +228,7 @@
|
||||
if (empty($ivr_menu_max_failures)) { $msg .= $text['message-required'].$text['label-max_failures']."<br>\n"; }
|
||||
if (empty($ivr_menu_max_timeouts)) { $msg .= $text['message-required'].$text['label-max_timeouts']."<br>\n"; }
|
||||
if (empty($ivr_menu_digit_len)) { $msg .= $text['message-required'].$text['label-digit_length']."<br>\n"; }
|
||||
if (empty($ivr_menu_direct_dial)) { $msg .= $text['message-required'].$text['label-direct_dial']."<br>\n"; }
|
||||
//if (empty($ivr_menu_direct_dial)) { $msg .= $text['message-required'].$text['label-direct_dial']."<br>\n"; }
|
||||
//if (empty($ivr_menu_ringback)) { $msg .= $text['message-required'].$text['label-ring_back']."<br>\n"; }
|
||||
|
||||
//if (empty($ivr_menu_description)) { $msg .= $text['message-required'].$text['label-description']."<br>\n"; }
|
||||
@@ -343,7 +343,7 @@
|
||||
}
|
||||
$array['ivr_menus'][0]['ivr_menu_options'][$y]["ivr_menu_option_order"] = $row["ivr_menu_option_order"];
|
||||
$array['ivr_menus'][0]['ivr_menu_options'][$y]["ivr_menu_option_description"] = $row["ivr_menu_option_description"];
|
||||
$array['ivr_menus'][0]["ivr_menu_options"][$y]["ivr_menu_option_enabled"] = !empty($row['ivr_menu_option_enabled']) ?? 'false';
|
||||
$array['ivr_menus'][0]["ivr_menu_options"][$y]["ivr_menu_option_enabled"] = $row['ivr_menu_option_enabled'];
|
||||
$y++;
|
||||
}
|
||||
}
|
||||
@@ -396,7 +396,7 @@
|
||||
if (isset($ivr_menu_context)) {
|
||||
$array['dialplans'][0]["dialplan_context"] = $ivr_menu_context;
|
||||
}
|
||||
$array['dialplans'][0]["dialplan_continue"] = "false";
|
||||
$array['dialplans'][0]["dialplan_continue"] = 'false';
|
||||
$array['dialplans'][0]["dialplan_xml"] = $dialplan_xml;
|
||||
$array['dialplans'][0]["dialplan_order"] = "101";
|
||||
$array['dialplans'][0]["dialplan_enabled"] = $ivr_menu_enabled;
|
||||
@@ -416,7 +416,7 @@
|
||||
$database->app_name = 'ivr_menus';
|
||||
$database->app_uuid = 'a5788e9b-58bc-bd1b-df59-fff5d51253ab';
|
||||
$database->save($array);
|
||||
//$message = $database->message;
|
||||
$message = $database->message;
|
||||
|
||||
//remove the temporary permission
|
||||
$p->delete("dialplan_add", "temp");
|
||||
@@ -443,12 +443,12 @@
|
||||
$sql .=" select ivr_menu_parent_uuid ";
|
||||
$sql .=" from v_ivr_menus ";
|
||||
$sql .=" where ivr_menu_parent_uuid = :ivr_menu_parent_uuid ";
|
||||
$sql .=" and ivr_menu_enabled = 'true' ";
|
||||
$sql .=" and ivr_menu_enabled = true ";
|
||||
$sql .=" union all ";
|
||||
$sql .=" select parent.ivr_menu_parent_uuid ";
|
||||
$sql .=" from v_ivr_menus as parent, ivr_menus as child ";
|
||||
$sql .=" where parent.ivr_menu_uuid = child.ivr_menu_parent_uuid ";
|
||||
$sql .=" and parent.ivr_menu_enabled = 'true' ";
|
||||
$sql .=" and parent.ivr_menu_enabled = true ";
|
||||
$sql .=" ) ";
|
||||
$sql .=" select * from ivr_menus ";
|
||||
$parameters['ivr_menu_parent_uuid'] = $ivr_menu_parent_uuid;
|
||||
@@ -568,7 +568,7 @@
|
||||
$ivr_menu_options[$id]['ivr_menu_option_param'] = '';
|
||||
$ivr_menu_options[$id]['ivr_menu_option_order'] = '';
|
||||
$ivr_menu_options[$id]['ivr_menu_option_description'] = '';
|
||||
$ivr_menu_options[$id]['ivr_menu_option_enabled'] = '';
|
||||
$ivr_menu_options[$id]['ivr_menu_option_enabled'] = false;
|
||||
$id++;
|
||||
}
|
||||
|
||||
@@ -612,9 +612,7 @@
|
||||
}
|
||||
}
|
||||
if (empty($ivr_menu_digit_len)) { $ivr_menu_digit_len = '5'; }
|
||||
if (empty($ivr_menu_direct_dial)) { $ivr_menu_direct_dial = 'false'; }
|
||||
if (!isset($ivr_menu_context)) { $ivr_menu_context = $_SESSION['domain_name']; }
|
||||
if (empty($ivr_menu_enabled)) { $ivr_menu_enabled = 'true'; }
|
||||
if (!isset($ivr_menu_exit_action)) { $ivr_menu_exit_action = ''; }
|
||||
|
||||
//get installed languages
|
||||
@@ -1055,12 +1053,8 @@
|
||||
if (strlen($field['ivr_menu_option_order']) == 2) { $field['ivr_menu_option_order'] = "0".$field['ivr_menu_option_order']; }
|
||||
echo " <option value='".escape($field['ivr_menu_option_order'])."'>".escape($field['ivr_menu_option_order'])."</option>\n";
|
||||
}
|
||||
$i=0;
|
||||
while($i<=999) {
|
||||
if (strlen($i) == 1) { echo " <option value='00$i'>00$i</option>\n"; }
|
||||
if (strlen($i) == 2) { echo " <option value='0$i'>0$i</option>\n"; }
|
||||
if (strlen($i) == 3) { echo " <option value='$i'>$i</option>\n"; }
|
||||
$i++;
|
||||
for ($i = 0; $i <= 999; $i++) {
|
||||
echo " <option value='".str_pad($i, 3, '0', STR_PAD_LEFT)."'>".str_pad($i, 3, '0', STR_PAD_LEFT)."</option>\n";
|
||||
}
|
||||
echo " </select>\n";
|
||||
echo "</td>\n";
|
||||
@@ -1069,19 +1063,16 @@
|
||||
echo " <input class='formfld' style='width:100px' type='text' name='ivr_menu_options[".$x."][ivr_menu_option_description]' maxlength='255' value=\"".escape($field['ivr_menu_option_description'])."\">\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='formfld'>\n";
|
||||
// switch
|
||||
if (substr($settings->get('theme', 'input_toggle_style'), 0, 6) == 'switch') {
|
||||
echo " <label class='switch'>\n";
|
||||
echo " <input type='checkbox' id='ivr_menu_options_".$x."_ivr_menu_option_enabled' name='ivr_menu_options[".$x."][ivr_menu_option_enabled]' value='true' ".($field['ivr_menu_option_enabled'] == 'true' ? "checked='checked'" : null).">\n";
|
||||
echo " <span class='slider'></span>\n";
|
||||
echo " </label>\n";
|
||||
if ($input_toggle_style_switch) {
|
||||
echo " <span class='switch'>\n";
|
||||
}
|
||||
// select
|
||||
else {
|
||||
echo " <select class='formfld' id='ivr_menu_options_".$x."_ivr_menu_option_enabled' name='ivr_menu_options[".$x."][ivr_menu_option_enabled]'>\n";
|
||||
echo " <option value='false'>".$text['option-false']."</option>\n";
|
||||
echo " <option value='true' ".(!empty($field['ivr_menu_option_enabled']) && $field['ivr_menu_option_enabled'] == 'true' ? "selected='selected'" : null).">".$text['option-true']."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " <select class='formfld' id='ivr_menu_options_".$x."_ivr_menu_option_enabled' name='ivr_menu_options[".$x."][ivr_menu_option_enabled]'>\n";
|
||||
echo " <option value='false' ".($field['ivr_menu_option_enabled'] === false ? "selected='selected'" : null).">".$text['option-false']."</option>\n";
|
||||
echo " <option value='true' ".($field['ivr_menu_option_enabled'] === true ? "selected='selected'" : null).">".$text['option-true']."</option>\n";
|
||||
echo " </select>\n";
|
||||
if ($input_toggle_style_switch) {
|
||||
echo " <span class='slider'></span>\n";
|
||||
echo " </span>\n";
|
||||
}
|
||||
echo "</td>\n";
|
||||
if ($show_option_delete && permission_exists('ivr_menu_option_delete')) {
|
||||
@@ -1177,17 +1168,16 @@
|
||||
echo " ".$text['label-direct_dial']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
if (substr($_SESSION['theme']['input_toggle_style']['text'], 0, 6) == 'switch') {
|
||||
echo " <label class='switch'>\n";
|
||||
echo " <input type='checkbox' name='ivr_menu_direct_dial' value='true' ".(!empty($ivr_menu_direct_dial) && $ivr_menu_direct_dial == 'true' ? "checked='checked'" : null).">\n";
|
||||
echo " <span class='slider'></span>\n";
|
||||
echo " </label>\n";
|
||||
if ($input_toggle_style_switch) {
|
||||
echo " <span class='switch'>\n";
|
||||
}
|
||||
else {
|
||||
echo " <select class='formfld' name='ivr_menu_direct_dial'>\n";
|
||||
echo " <option value='true'>".$text['option-true']."</option>\n";
|
||||
echo " <option value='false' ".(!empty($ivr_menu_direct_dial) && $ivr_menu_direct_dial == 'false' ? "selected='selected'" : null).">".$text['option-false']."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " <select class='formfld' id='ivr_menu_direct_dial' name='ivr_menu_direct_dial'>\n";
|
||||
echo " <option value='true' ".($ivr_menu_direct_dial === true ? "selected='selected'" : null).">".$text['option-true']."</option>\n";
|
||||
echo " <option value='false' ".($ivr_menu_direct_dial === false ? "selected='selected'" : null).">".$text['option-false']."</option>\n";
|
||||
echo " </select>\n";
|
||||
if ($input_toggle_style_switch) {
|
||||
echo " <span class='slider'></span>\n";
|
||||
echo " </span>\n";
|
||||
}
|
||||
echo "<br />\n";
|
||||
echo $text['description-direct_dial']."\n";
|
||||
@@ -1537,17 +1527,16 @@
|
||||
echo " ".$text['label-enabled']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td width=\"70%\" class='vtable' align='left'>\n";
|
||||
if (substr($settings->get('theme', 'input_toggle_style'), 0, 6) == 'switch') {
|
||||
echo " <label class='switch'>\n";
|
||||
echo " <input type='checkbox' id='ivr_menu_enabled' name='ivr_menu_enabled' value='true' ".($ivr_menu_enabled == 'true' ? "checked='checked'" : null).">\n";
|
||||
echo " <span class='slider'></span>\n";
|
||||
echo " </label>\n";
|
||||
if ($input_toggle_style_switch) {
|
||||
echo " <span class='switch'>\n";
|
||||
}
|
||||
else {
|
||||
echo " <select class='formfld' id='ivr_menu_enabled' name='ivr_menu_enabled'>\n";
|
||||
echo " <option value='true' ".($ivr_menu_enabled == 'true' ? "selected='selected'" : null).">".$text['option-true']."</option>\n";
|
||||
echo " <option value='false' ".($ivr_menu_enabled == 'false' ? "selected='selected'" : null).">".$text['option-false']."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " <select class='formfld' id='ivr_menu_enabled' name='ivr_menu_enabled'>\n";
|
||||
echo " <option value='true' ".($ivr_menu_enabled === true ? "selected='selected'" : null).">".$text['option-true']."</option>\n";
|
||||
echo " <option value='false' ".($ivr_menu_enabled === false ? "selected='selected'" : null).">".$text['option-false']."</option>\n";
|
||||
echo " </select>\n";
|
||||
if ($input_toggle_style_switch) {
|
||||
echo " <span class='slider'></span>\n";
|
||||
echo " </span>\n";
|
||||
}
|
||||
echo "<br />\n";
|
||||
echo $text['description-enabled']."\n";
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2024
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2025
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
@@ -110,7 +110,6 @@
|
||||
$sql .= "and (";
|
||||
$sql .= " lower(ivr_menu_name) like :search ";
|
||||
$sql .= " or lower(ivr_menu_extension) like :search ";
|
||||
$sql .= " or lower(ivr_menu_enabled) like :search ";
|
||||
$sql .= " or lower(ivr_menu_description) like :search ";
|
||||
$sql .= ")";
|
||||
$parameters['search'] = '%'.$search.'%';
|
||||
@@ -129,7 +128,14 @@
|
||||
$offset = $rows_per_page * $page;
|
||||
|
||||
//get the list
|
||||
$sql = "select * from v_ivr_menus ";
|
||||
$sql = "select ";
|
||||
$sql .= "ivr_menu_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "ivr_menu_name, ";
|
||||
$sql .= "ivr_menu_extension, ";
|
||||
$sql .= "cast(ivr_menu_enabled as text), ";
|
||||
$sql .= "ivr_menu_description ";
|
||||
$sql .= "from v_ivr_menus ";
|
||||
if ($show == "all" && permission_exists('ivr_menu_all')) {
|
||||
$sql .= "where true ";
|
||||
}
|
||||
@@ -142,7 +148,6 @@
|
||||
$sql .= "and (";
|
||||
$sql .= " lower(ivr_menu_name) like :search ";
|
||||
$sql .= " or lower(ivr_menu_extension) like :search ";
|
||||
$sql .= " or lower(ivr_menu_enabled) like :search ";
|
||||
$sql .= " or lower(ivr_menu_description) like :search ";
|
||||
$sql .= ")";
|
||||
$parameters['search'] = '%'.$search.'%';
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
}
|
||||
unset($sub_sql, $sub_result, $sub_row);
|
||||
|
||||
if ($ivr_menu_direct_dial == "true") {
|
||||
if ($ivr_menu_direct_dial == true) {
|
||||
$tmp .= " <entry action=\"menu-exec-app\" digits=\"/(^\d{3,6}$)/\" param=\"transfer $1 XML ".$ivr_menu_context."\"/>\n";
|
||||
}
|
||||
$tmp .= " </menu>\n";
|
||||
|
||||
Reference in New Issue
Block a user