2012-06-04 16:58:40 +02:00
|
|
|
<?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>
|
2019-10-01 20:20:25 +02:00
|
|
|
Portions created by the Initial Developer are Copyright (C) 2008-2019
|
2012-06-04 16:58:40 +02:00
|
|
|
the Initial Developer. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
Contributor(s):
|
|
|
|
|
Mark J Crane <markjcrane@fusionpbx.com>
|
|
|
|
|
*/
|
2018-06-30 07:43:22 +02:00
|
|
|
|
|
|
|
|
//includes
|
|
|
|
|
require_once "root.php";
|
|
|
|
|
require_once "resources/require.php";
|
|
|
|
|
require_once "resources/check_auth.php";
|
|
|
|
|
|
|
|
|
|
//check permissions
|
|
|
|
|
if (permission_exists('default_setting_view')) {
|
|
|
|
|
//access granted
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
echo "access denied";
|
|
|
|
|
exit;
|
|
|
|
|
}
|
2013-05-14 07:34:04 +02:00
|
|
|
|
|
|
|
|
//add multi-lingual support
|
2015-01-18 10:22:07 +01:00
|
|
|
$language = new text;
|
|
|
|
|
$text = $language->get();
|
2013-05-14 07:34:04 +02:00
|
|
|
|
2014-07-25 08:11:07 +02:00
|
|
|
//get posted values, if any
|
2015-03-21 06:36:52 +01:00
|
|
|
if (sizeof($_REQUEST) > 0) {
|
2019-07-10 04:06:17 +02:00
|
|
|
$action = $_REQUEST["action"];
|
2015-03-21 06:36:52 +01:00
|
|
|
$default_setting_uuids = $_REQUEST["id"];
|
2019-07-10 04:06:17 +02:00
|
|
|
$enabled = $_REQUEST['enabled'];
|
|
|
|
|
$category = $_REQUEST['category'];
|
|
|
|
|
$search = $_REQUEST['search'];
|
|
|
|
|
|
2019-10-01 20:20:25 +02:00
|
|
|
if (is_array($default_setting_uuids) && sizeof($default_setting_uuids) == 1 && $enabled != '' && is_uuid($default_setting_uuids[0])) {
|
2019-07-10 04:06:17 +02:00
|
|
|
$array['default_settings'][0]['default_setting_uuid'] = $default_setting_uuids[0];
|
|
|
|
|
$array['default_settings'][0]['default_setting_enabled'] = $enabled;
|
|
|
|
|
$database = new database;
|
|
|
|
|
$database->app_name = 'default_settings';
|
|
|
|
|
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
|
|
|
|
|
$database->save($array);
|
|
|
|
|
$message = $database->message;
|
|
|
|
|
unset($array);
|
2015-03-21 06:36:52 +01:00
|
|
|
|
2018-08-31 05:09:01 +02:00
|
|
|
message::add($text['message-update']);
|
2019-07-10 04:06:17 +02:00
|
|
|
header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null)."#anchor_".escape($category));
|
2015-03-21 06:36:52 +01:00
|
|
|
exit;
|
|
|
|
|
}
|
2014-07-27 06:09:25 +02:00
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
if ($action == 'copy' && permission_exists('domain_setting_add')) {
|
2019-07-10 04:06:17 +02:00
|
|
|
$target_domain_uuid = $_POST["target_domain_uuid"];
|
2014-07-27 06:09:25 +02:00
|
|
|
|
2019-07-24 01:23:00 +02:00
|
|
|
if (is_uuid($target_domain_uuid) && is_array($default_setting_uuids) && sizeof($default_setting_uuids) > 0) {
|
2015-03-21 06:36:52 +01:00
|
|
|
$settings_copied = 0;
|
|
|
|
|
foreach ($default_setting_uuids as $default_setting_uuid) {
|
2014-07-27 06:09:25 +02:00
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
// get default setting from db
|
|
|
|
|
$sql = "select * from v_default_settings ";
|
2019-07-10 04:06:17 +02:00
|
|
|
$sql .= "where default_setting_uuid = :default_setting_uuid ";
|
|
|
|
|
$parameters['default_setting_uuid'] = $default_setting_uuid;
|
|
|
|
|
$database = new database;
|
|
|
|
|
$row = $database->select($sql, $parameters, 'row');
|
|
|
|
|
if (is_array($row) && sizeof($row) != 0) {
|
2015-03-21 06:36:52 +01:00
|
|
|
$default_setting_category = $row["default_setting_category"];
|
|
|
|
|
$default_setting_subcategory = $row["default_setting_subcategory"];
|
|
|
|
|
$default_setting_name = $row["default_setting_name"];
|
|
|
|
|
$default_setting_value = $row["default_setting_value"];
|
|
|
|
|
$default_setting_order = $row["default_setting_order"];
|
|
|
|
|
$default_setting_enabled = $row["default_setting_enabled"];
|
|
|
|
|
$default_setting_description = $row["default_setting_description"];
|
2014-07-27 06:09:25 +02:00
|
|
|
}
|
2019-07-10 04:06:17 +02:00
|
|
|
unset($sql, $parameters, $row);
|
2014-07-27 06:09:25 +02:00
|
|
|
|
2017-12-14 08:27:45 +01:00
|
|
|
//set a random password for http_auth_password
|
|
|
|
|
if ($default_setting_subcategory == "http_auth_password") {
|
|
|
|
|
$default_setting_value = generate_password();
|
|
|
|
|
}
|
|
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
// check if exists
|
|
|
|
|
$sql = "select domain_setting_uuid from v_domain_settings ";
|
2019-07-10 04:06:17 +02:00
|
|
|
$sql .= "where domain_uuid = :domain_uuid ";
|
|
|
|
|
$sql .= "and domain_setting_category = :domain_setting_category ";
|
|
|
|
|
$sql .= "and domain_setting_subcategory = :domain_setting_subcategory ";
|
|
|
|
|
$sql .= "and domain_setting_name = :domain_setting_name ";
|
2015-03-21 06:36:52 +01:00
|
|
|
$sql .= "and domain_setting_name <> 'array' ";
|
2019-07-10 04:06:17 +02:00
|
|
|
$parameters['domain_uuid'] = $target_domain_uuid;
|
|
|
|
|
$parameters['domain_setting_category'] = $default_setting_category;
|
|
|
|
|
$parameters['domain_setting_subcategory'] = $default_setting_subcategory;
|
|
|
|
|
$parameters['domain_setting_name'] = $default_setting_name;
|
|
|
|
|
$database = new database;
|
|
|
|
|
$target_domain_setting_uuid = $database->select($sql, $parameters, 'column');
|
2019-07-24 01:23:00 +02:00
|
|
|
$message = $database->message;
|
|
|
|
|
|
2019-07-10 04:06:17 +02:00
|
|
|
$action = is_uuid($target_domain_setting_uuid) ? 'update' : 'add';
|
|
|
|
|
unset($sql, $parameters);
|
2014-07-27 06:09:25 +02:00
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
// fix null
|
2019-07-24 01:23:00 +02:00
|
|
|
$default_setting_order = $default_setting_order != '' ? $default_setting_order : null;
|
2019-07-10 04:06:17 +02:00
|
|
|
|
|
|
|
|
//begin array
|
|
|
|
|
$array['domain_settings'][0]['domain_uuid'] = $target_domain_uuid;
|
|
|
|
|
$array['domain_settings'][0]['domain_setting_category'] = $default_setting_category;
|
|
|
|
|
$array['domain_settings'][0]['domain_setting_subcategory'] = $default_setting_subcategory;
|
|
|
|
|
$array['domain_settings'][0]['domain_setting_name'] = $default_setting_name;
|
|
|
|
|
$array['domain_settings'][0]['domain_setting_value'] = $default_setting_value;
|
|
|
|
|
$array['domain_settings'][0]['domain_setting_order'] = $default_setting_order;
|
|
|
|
|
$array['domain_settings'][0]['domain_setting_enabled'] = $default_setting_enabled;
|
|
|
|
|
$array['domain_settings'][0]['domain_setting_description'] = $default_setting_description;
|
|
|
|
|
|
|
|
|
|
//insert
|
2015-03-21 06:36:52 +01:00
|
|
|
if ($action == "add" && permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
2019-07-10 04:06:17 +02:00
|
|
|
$array['domain_settings'][0]['domain_setting_uuid'] = uuid();
|
|
|
|
|
}
|
|
|
|
|
//update
|
2015-03-21 06:36:52 +01:00
|
|
|
if ($action == "update" && permission_exists('domain_setting_edit')) {
|
2019-07-10 04:06:17 +02:00
|
|
|
$array['domain_settings'][0]['domain_setting_uuid'] = $target_domain_setting_uuid;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//execute
|
|
|
|
|
if (is_uuid($array['domain_settings'][0]['domain_setting_uuid'])) {
|
|
|
|
|
$database = new database;
|
|
|
|
|
$database->app_name = 'default_settings';
|
|
|
|
|
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
|
|
|
|
|
$database->save($array);
|
|
|
|
|
$message = $database->message;
|
|
|
|
|
unset($array);
|
2015-03-21 06:36:52 +01:00
|
|
|
|
|
|
|
|
$settings_copied++;
|
2019-07-10 04:06:17 +02:00
|
|
|
}
|
|
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
} // foreach
|
|
|
|
|
|
|
|
|
|
// set message
|
2019-07-24 01:23:00 +02:00
|
|
|
message::add($text['message-copy'].": ".escape($settings_copied));
|
2015-03-21 06:36:52 +01:00
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
// set message
|
2018-08-31 05:09:01 +02:00
|
|
|
message::add($text['message-copy_failed']);
|
2015-03-21 06:36:52 +01:00
|
|
|
}
|
2014-07-25 09:23:35 +02:00
|
|
|
|
2019-07-10 04:06:17 +02:00
|
|
|
header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null));
|
2015-03-21 06:36:52 +01:00
|
|
|
exit;
|
2014-07-27 06:09:25 +02:00
|
|
|
}
|
2014-07-25 09:23:35 +02:00
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
if ($action == 'delete' && permission_exists('default_setting_delete')) {
|
|
|
|
|
if (sizeof($default_setting_uuids) > 0) {
|
2019-07-10 04:06:17 +02:00
|
|
|
foreach ($default_setting_uuids as $index => $default_setting_uuid) {
|
2015-03-21 06:36:52 +01:00
|
|
|
//delete default_setting(s)
|
2019-07-10 04:06:17 +02:00
|
|
|
$array['default_settings'][$index]['default_setting_uuid'] = $default_setting_uuid;
|
|
|
|
|
}
|
|
|
|
|
if (is_array($array)) {
|
|
|
|
|
$database = new database;
|
|
|
|
|
$database->app_name = 'default_settings';
|
|
|
|
|
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
|
|
|
|
|
$database->delete($array);
|
|
|
|
|
$message = $database->message;
|
|
|
|
|
unset($array);
|
2015-03-21 06:36:52 +01:00
|
|
|
}
|
|
|
|
|
// set message
|
|
|
|
|
$_SESSION["message"] = $text['message-delete'].": ".sizeof($default_setting_uuids);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
// set message
|
2018-08-31 05:09:01 +02:00
|
|
|
message::add($text['message-delete_failed'], 'negative');
|
2014-07-27 06:09:25 +02:00
|
|
|
}
|
2014-07-25 09:23:35 +02:00
|
|
|
|
2018-06-30 07:43:22 +02:00
|
|
|
header("Location: default_settings.php".(($search != '') ? "?search=".escape($search) : null));
|
2015-03-21 06:36:52 +01:00
|
|
|
exit;
|
2014-07-27 06:09:25 +02:00
|
|
|
}
|
2015-03-21 06:36:52 +01:00
|
|
|
} // post
|
2014-07-25 09:23:35 +02:00
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
//header and paging
|
|
|
|
|
require_once "resources/header.php";
|
|
|
|
|
$document['title'] = $text['title-default_settings'];
|
|
|
|
|
require_once "resources/paging.php";
|
2012-06-04 16:58:40 +02:00
|
|
|
|
|
|
|
|
//get variables used to control the order
|
|
|
|
|
$order_by = $_GET["order_by"];
|
|
|
|
|
$order = $_GET["order"];
|
|
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
//copy settings javascript
|
|
|
|
|
if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
|
|
|
|
echo "<script language='javascript' type='text/javascript'>\n";
|
|
|
|
|
echo " var fade_speed = 400;\n";
|
|
|
|
|
echo " function show_domains() {\n";
|
|
|
|
|
echo " document.getElementById('action').value = 'copy';\n";
|
|
|
|
|
echo " $('#button_copy').fadeOut(fade_speed, function() {\n";
|
|
|
|
|
echo " $('#button_back').fadeIn(fade_speed);\n";
|
|
|
|
|
echo " $('#target_domain_uuid').fadeIn(fade_speed);\n";
|
|
|
|
|
echo " $('#button_paste').fadeIn(fade_speed);\n";
|
|
|
|
|
echo " });";
|
|
|
|
|
echo " }";
|
|
|
|
|
echo " function hide_domains() {\n";
|
|
|
|
|
echo " document.getElementById('action').value = '';\n";
|
|
|
|
|
echo " $('#button_back').fadeOut(fade_speed);\n";
|
|
|
|
|
echo " $('#target_domain_uuid').fadeOut(fade_speed);\n";
|
|
|
|
|
echo " $('#button_paste').fadeOut(fade_speed, function() {\n";
|
|
|
|
|
echo " $('#button_copy').fadeIn(fade_speed);\n";
|
|
|
|
|
echo " document.getElementById('target_domain_uuid').selectedIndex = 0;\n";
|
|
|
|
|
echo " });\n";
|
|
|
|
|
echo " }\n";
|
|
|
|
|
echo "\n";
|
|
|
|
|
echo " $( document ).ready(function() {\n";
|
2019-08-21 02:15:50 +02:00
|
|
|
echo " $('#default_setting_search').trigger('focus').trigger('select');\n";
|
2015-04-15 08:08:18 +02:00
|
|
|
if ($search == '') {
|
|
|
|
|
echo " // scroll to previous category\n";
|
|
|
|
|
echo " var category_span_id;\n";
|
|
|
|
|
echo " var url = document.location.href;\n";
|
|
|
|
|
echo " var hashindex = url.indexOf('#');\n";
|
|
|
|
|
echo " if (hashindex == -1) { }\n";
|
|
|
|
|
echo " else {\n";
|
|
|
|
|
echo " category_span_id = url.substr(hashindex + 1);\n";
|
|
|
|
|
echo " }\n";
|
|
|
|
|
echo " if (category_span_id) {\n";
|
|
|
|
|
echo " $('#page').animate({scrollTop: $('#anchor_'+category_span_id).offset().top - 200}, 'slow');\n";
|
|
|
|
|
echo " }\n";
|
|
|
|
|
}
|
2015-03-21 06:36:52 +01:00
|
|
|
echo " });\n";
|
|
|
|
|
echo "</script>";
|
|
|
|
|
}
|
2014-07-25 08:11:07 +02:00
|
|
|
|
2016-03-31 00:44:51 +02:00
|
|
|
//prevent enter key submit on search field
|
|
|
|
|
echo "<script language='javascript' type='text/javascript'>\n";
|
|
|
|
|
echo " $(document).ready(function() {\n";
|
2019-08-21 02:15:50 +02:00
|
|
|
echo " $('#default_setting_search').on('keydown',function(event){\n";
|
2016-03-31 00:44:51 +02:00
|
|
|
echo " if (event.keyCode == 13) {\n";
|
|
|
|
|
echo " event.preventDefault();\n";
|
|
|
|
|
echo " return false;\n";
|
|
|
|
|
echo " }\n";
|
|
|
|
|
echo " });\n";
|
|
|
|
|
echo " });\n";
|
|
|
|
|
echo "</script>\n";
|
|
|
|
|
|
2012-06-04 16:58:40 +02:00
|
|
|
//show the content
|
2014-07-27 06:09:25 +02:00
|
|
|
echo "<form name='frm' id='frm' method='post' action=''>";
|
|
|
|
|
echo "<input type='hidden' name='action' id='action' value=''>";
|
2014-07-25 08:11:07 +02:00
|
|
|
|
2015-02-15 12:57:14 +01:00
|
|
|
echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
|
2012-06-04 16:58:40 +02:00
|
|
|
echo " <tr>\n";
|
2015-06-04 18:10:18 +02:00
|
|
|
echo " <td align='left' valign='top' nowrap='nowrap'>";
|
2014-11-30 05:34:23 +01:00
|
|
|
echo " <b>".$text['header-default_settings']."</b>";
|
|
|
|
|
echo " <br><br>";
|
|
|
|
|
echo " ".$text['description-default_settings'];
|
|
|
|
|
echo " </td>\n";
|
2015-06-04 18:10:18 +02:00
|
|
|
echo " <td align='right' valign='top' nowrap='nowrap'>";
|
2018-06-30 07:43:22 +02:00
|
|
|
echo " <input type='text' name='search' id='default_setting_search' class='formfld' style='min-width: 150px; width:150px; max-width: 150px;' placeholder=\"".$text['label-search']."\" value=\"".escape($search)."\" onkeyup='setting_search();'>\n";
|
2014-07-25 09:23:35 +02:00
|
|
|
if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
2014-07-25 08:11:07 +02:00
|
|
|
echo " <input type='button' class='btn' id='button_copy' alt='".$text['button-copy']."' onclick='show_domains();' value='".$text['button-copy']."'>";
|
|
|
|
|
echo " <input type='button' class='btn' style='display: none;' id='button_back' alt='".$text['button-back']."' onclick='hide_domains();' value='".$text['button-back']."'> ";
|
|
|
|
|
echo " <select class='formfld' style='display: none; width: auto;' name='target_domain_uuid' id='target_domain_uuid'>\n";
|
|
|
|
|
echo " <option value=''>Select Domain...</option>\n";
|
|
|
|
|
foreach ($_SESSION['domains'] as $domain) {
|
2018-06-30 07:43:22 +02:00
|
|
|
echo " <option value='".escape($domain["domain_uuid"])."'>".escape($domain["domain_name"])."</option>\n";
|
2014-07-25 08:11:07 +02:00
|
|
|
}
|
|
|
|
|
echo " </select>\n";
|
2016-03-31 00:44:51 +02:00
|
|
|
echo " <input type='button' class='btn' id='button_paste' style='display: none;' alt='".$text['button-paste']."' value='".$text['button-paste']."' onclick=\"$('#frm').attr('action', 'default_settings.php?search='+$('#default_setting_search').val()).submit();\">";
|
|
|
|
|
}
|
|
|
|
|
if (permission_exists('default_setting_edit')) {
|
|
|
|
|
echo " <input type='button' class='btn' alt='".$text['button-toggle']."' onclick=\"$('#frm').attr('action', 'default_setting_toggle.php').submit();\" value='".$text['button-toggle']."'>\n";
|
2014-07-25 08:11:07 +02:00
|
|
|
}
|
2015-04-17 22:26:14 +02:00
|
|
|
echo " <input type='button' class='btn' id='button_reload' alt='".$text['button-reload']."' value='".$text['button-reload']."' onclick=\"document.location.href='default_settings_reload.php?search='+$('#default_setting_search').val();\">";
|
2014-07-25 08:11:07 +02:00
|
|
|
echo " </td>\n";
|
2012-06-04 16:58:40 +02:00
|
|
|
echo " </tr>\n";
|
|
|
|
|
echo "</table>\n";
|
2014-11-30 05:34:23 +01:00
|
|
|
echo "<br>";
|
2012-06-04 16:58:40 +02:00
|
|
|
|
2015-03-21 06:36:52 +01:00
|
|
|
//prepare to page the results
|
2019-07-10 04:06:17 +02:00
|
|
|
$sql = "select count(*) from v_default_settings ";
|
|
|
|
|
$database = new database;
|
|
|
|
|
$num_rows = $database->select($sql, null, 'column');
|
|
|
|
|
unset($sql);
|
2015-03-21 06:36:52 +01:00
|
|
|
|
|
|
|
|
//prepare to page the results
|
2015-03-22 05:02:29 +01:00
|
|
|
$rows_per_page = 1000;
|
2015-03-21 06:36:52 +01:00
|
|
|
$param = "";
|
|
|
|
|
$page = $_GET['page'];
|
|
|
|
|
if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; }
|
|
|
|
|
list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page);
|
|
|
|
|
$offset = $rows_per_page * $page;
|
|
|
|
|
|
|
|
|
|
//get the list
|
|
|
|
|
$sql = "select * from v_default_settings ";
|
2019-07-10 04:06:17 +02:00
|
|
|
if ($order_by == '') {
|
2017-06-03 20:36:56 +02:00
|
|
|
$sql .= "order by default_setting_category, default_setting_subcategory, default_setting_order asc, default_setting_name, default_setting_value ";
|
2015-03-21 06:36:52 +01:00
|
|
|
}
|
|
|
|
|
else {
|
2019-07-10 04:06:17 +02:00
|
|
|
$sql .= order_by($order_by, $order);
|
2015-03-21 06:36:52 +01:00
|
|
|
}
|
2019-07-10 04:06:17 +02:00
|
|
|
$sql .= limit_offset($rows_per_page, $offset);
|
|
|
|
|
$database = new database;
|
|
|
|
|
$result = $database->select($sql, null, 'all');
|
|
|
|
|
unset($sql);
|
2012-06-04 16:58:40 +02:00
|
|
|
|
|
|
|
|
$c = 0;
|
|
|
|
|
$row_style["0"] = "row_style0";
|
|
|
|
|
$row_style["1"] = "row_style1";
|
|
|
|
|
|
2019-07-10 04:06:17 +02:00
|
|
|
if (is_array($result) && sizeof($result) != 0) {
|
2012-06-04 16:58:40 +02:00
|
|
|
$previous_category = '';
|
|
|
|
|
foreach($result as $row) {
|
2014-03-13 22:09:41 +01:00
|
|
|
|
2012-06-04 16:58:40 +02:00
|
|
|
if ($previous_category != $row['default_setting_category']) {
|
2014-10-28 10:17:58 +01:00
|
|
|
$c = 0;
|
2014-11-30 05:34:23 +01:00
|
|
|
if ($previous_category != '') {
|
2015-04-15 08:08:18 +02:00
|
|
|
echo "</table>";
|
|
|
|
|
echo "</div>";
|
2014-11-30 05:34:23 +01:00
|
|
|
}
|
2018-06-30 07:43:22 +02:00
|
|
|
echo "<div id='category_".escape($row['default_setting_category'])."' style='padding-top: 20px;'>";
|
|
|
|
|
echo "<span id='anchor_".escape($row['default_setting_category'])."'></span>";
|
2015-04-15 08:08:18 +02:00
|
|
|
echo "<b>";
|
|
|
|
|
switch (strtolower($row['default_setting_category'])) {
|
|
|
|
|
case "api" : echo "API"; break;
|
|
|
|
|
case "cdr" : echo "CDR"; break;
|
|
|
|
|
case "ldap" : echo "LDAP"; break;
|
2019-10-08 18:10:19 +02:00
|
|
|
case "ivr_menu" : echo "IVR Menu"; break;
|
|
|
|
|
default: echo escape(ucwords(str_replace("_", " ", $row['default_setting_category'])));
|
2015-04-14 22:10:27 +02:00
|
|
|
}
|
2015-04-15 08:08:18 +02:00
|
|
|
echo "</b>\n";
|
|
|
|
|
|
2015-04-15 08:19:44 +02:00
|
|
|
echo "<table class='tr_hover' style='margin-top: 5px;' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
2012-06-04 16:58:40 +02:00
|
|
|
echo "<tr>\n";
|
2016-03-31 00:44:51 +02:00
|
|
|
if ( (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) || permission_exists('default_setting_delete') ) {
|
2018-06-30 07:43:22 +02:00
|
|
|
echo "<th style='width: 30px; vertical-align: bottom; text-align: center; padding: 0px 3px 2px 8px;'><input type='checkbox' id='chk_all_".$row['default_setting_category']."' class='chk_all' onchange=\"(this.checked) ? check('all','".strtolower(escape($row['default_setting_category']))."') : check('none','".strtolower(escape($row['default_setting_category']))."');\"></th>";
|
2014-07-25 08:11:07 +02:00
|
|
|
}
|
2015-04-14 22:10:27 +02:00
|
|
|
echo "<th width='23%'>".$text['label-subcategory']."</th>";
|
|
|
|
|
echo "<th width='7%'>".$text['label-type']."</th>";
|
|
|
|
|
echo "<th width='30%'>".$text['label-value']."</th>";
|
2014-07-25 08:11:07 +02:00
|
|
|
echo "<th style='text-align: center;'>".$text['label-enabled']."</th>";
|
2015-04-14 22:10:27 +02:00
|
|
|
echo "<th width='40%'>".$text['label-description']."</th>";
|
2014-02-26 07:17:36 +01:00
|
|
|
echo "<td class='list_control_icons'>";
|
2012-09-27 02:34:10 +02:00
|
|
|
if (permission_exists('default_setting_add')) {
|
2016-03-25 23:29:20 +01:00
|
|
|
echo "<a href='javascript:void(0)' onclick=\"document.location.href='default_setting_edit.php?default_setting_category=".urlencode($row['default_setting_category'])."&search='+$('#default_setting_search').val();\" alt='".$text['button-add']."'>".$v_link_label_add."</a>";
|
2014-07-27 06:09:25 +02:00
|
|
|
}
|
|
|
|
|
if (permission_exists('default_setting_delete')) {
|
2016-03-31 00:44:51 +02:00
|
|
|
echo "<a href='javascript:void(0);' onclick=\"if (confirm('".$text['confirm-delete']."')) { document.getElementById('action').value = 'delete'; $('#frm').attr('action', 'default_settings.php?search='+$('#default_setting_search').val()).submit(); }\" alt='".$text['button-delete']."'>".$v_link_label_delete."</a>";
|
2012-09-27 02:34:10 +02:00
|
|
|
}
|
2012-06-04 16:58:40 +02:00
|
|
|
echo "</td>\n";
|
|
|
|
|
echo "</tr>\n";
|
|
|
|
|
}
|
2014-07-25 08:11:07 +02:00
|
|
|
|
2019-08-16 20:14:48 +02:00
|
|
|
$tr_link = (permission_exists('default_setting_edit')) ? "href=\"default_setting_edit.php?id=".urlencode($row['default_setting_uuid'])."\"" : null;
|
2015-04-14 22:10:27 +02:00
|
|
|
echo "<tr id='setting_".$row['default_setting_uuid']."' ".$tr_link.">\n";
|
2016-03-31 00:44:51 +02:00
|
|
|
if ( (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) || permission_exists("default_setting_delete") ) {
|
2019-08-16 20:14:48 +02:00
|
|
|
echo " <td valign='top' class='".$row_style[$c]." tr_link_void' style='text-align: center; padding: 3px 3px 0px 8px;'>\n";
|
|
|
|
|
echo " <input type='checkbox' name='id[]' id='checkbox_".escape($row['default_setting_uuid'])."' value='".escape($row['default_setting_uuid'])."' onclick=\"if (!this.checked) { document.getElementById('chk_all_".escape($row['default_setting_category'])."').checked = false; }\">\n";
|
|
|
|
|
echo " </td>\n";
|
2019-08-21 21:54:42 +02:00
|
|
|
$subcat_ids[strtolower($row['default_setting_category'])][] = 'checkbox_'.escape($row['default_setting_uuid']);
|
2014-07-25 08:11:07 +02:00
|
|
|
}
|
2014-06-21 09:51:31 +02:00
|
|
|
echo " <td valign='top' class='".$row_style[$c]."'>";
|
|
|
|
|
if (permission_exists('default_setting_edit')) {
|
2019-08-16 20:14:48 +02:00
|
|
|
echo "<a href=\"default_setting_edit.php?id=".urlencode($row['default_setting_uuid'])."\">".escape($row['default_setting_subcategory'])."</a>";
|
2014-06-21 09:51:31 +02:00
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
echo $row['default_setting_subcategory'];
|
|
|
|
|
}
|
2015-05-01 10:22:21 +02:00
|
|
|
echo " </td>\n";
|
2018-06-30 07:43:22 +02:00
|
|
|
echo " <td valign='top' class='".$row_style[$c]."'>".escape($row['default_setting_name'])." </td>\n";
|
2015-04-14 22:10:27 +02:00
|
|
|
echo " <td valign='top' class='".$row_style[$c]."' style='width: 30%; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;'>\n";
|
2012-06-04 16:58:40 +02:00
|
|
|
|
|
|
|
|
$category = $row['default_setting_category'];
|
|
|
|
|
$subcategory = $row['default_setting_subcategory'];
|
|
|
|
|
$name = $row['default_setting_name'];
|
|
|
|
|
if ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
|
2012-09-27 02:34:10 +02:00
|
|
|
$sql = "select * from v_menus ";
|
2019-07-10 04:06:17 +02:00
|
|
|
$sql .= "where menu_uuid = :menu_uuid ";
|
|
|
|
|
$parameters['menu_uuid'] = $row['default_setting_value'];
|
|
|
|
|
$database = new database;
|
|
|
|
|
$sub_result = $database->select($sql, $parameters, 'all');
|
2012-06-04 16:58:40 +02:00
|
|
|
foreach ($sub_result as &$sub_row) {
|
|
|
|
|
echo $sub_row["menu_language"]." - ".$sub_row["menu_name"]."\n";
|
|
|
|
|
}
|
2019-07-10 04:06:17 +02:00
|
|
|
unset($sql, $sub_result, $sub_row);
|
2012-10-17 06:09:22 +02:00
|
|
|
}
|
2015-04-14 22:10:27 +02:00
|
|
|
else if ($category == "domain" && $subcategory == "template" && $name == "name" ) {
|
2014-09-04 10:42:25 +02:00
|
|
|
echo " ".ucwords($row['default_setting_value']);
|
|
|
|
|
}
|
2016-03-25 23:29:20 +01:00
|
|
|
else if ($category == "domain" && $subcategory == "time_format" && $name == "text" ) {
|
|
|
|
|
switch ($row['default_setting_value']) {
|
2016-03-31 00:44:51 +02:00
|
|
|
case '12h': echo $text['label-12-hour']; break;
|
|
|
|
|
case '24h': echo $text['label-24-hour']; break;
|
2016-03-25 23:29:20 +01:00
|
|
|
}
|
|
|
|
|
}
|
2016-03-26 02:38:57 +01:00
|
|
|
else if (
|
2016-04-06 01:24:22 +02:00
|
|
|
( $category == "theme" && $subcategory == "menu_main_icons" && $name == "boolean" ) ||
|
2016-03-26 02:38:57 +01:00
|
|
|
( $category == "theme" && $subcategory == "menu_sub_icons" && $name == "boolean" ) ||
|
|
|
|
|
( $category == "theme" && $subcategory == "menu_brand_type" && $name == "text" ) ||
|
|
|
|
|
( $category == "theme" && $subcategory == "menu_style" && $name == "text" ) ||
|
|
|
|
|
( $category == "theme" && $subcategory == "menu_position" && $name == "text" ) ||
|
|
|
|
|
( $category == "theme" && $subcategory == "logo_align" && $name == "text" )
|
|
|
|
|
) {
|
|
|
|
|
echo " ".$text['label-'.$row['default_setting_value']];
|
2016-03-25 23:29:20 +01:00
|
|
|
}
|
2019-03-27 23:38:23 +01:00
|
|
|
else if ($category == 'theme' && $subcategory == 'custom_css_code' && $name == 'text') {
|
|
|
|
|
echo " [...]\n";
|
|
|
|
|
}
|
2019-04-23 16:15:25 +02:00
|
|
|
else if ($subcategory == 'password' || substr_count($subcategory, '_password') > 0 || $category == "login" && $subcategory == "password_reset_key" && $name == "text" || substr_count($subcategory, '_secret') > 0) {
|
2015-05-01 09:12:07 +02:00
|
|
|
echo " ".str_repeat('*', strlen($row['default_setting_value']));
|
2015-04-14 22:10:27 +02:00
|
|
|
}
|
2019-10-12 09:12:59 +02:00
|
|
|
else if ($category == 'theme' && $subcategory == 'button_icons' && $name == 'text') {
|
|
|
|
|
echo " ".$text['option-button_icons_'.$row['default_setting_value']]."\n";
|
|
|
|
|
}
|
2015-04-14 22:10:27 +02:00
|
|
|
else {
|
2016-03-29 06:29:15 +02:00
|
|
|
if ($category == "theme" && substr_count($subcategory, "_color") > 0 && ($name == "text" || $name == 'array')) {
|
2018-06-30 07:43:22 +02:00
|
|
|
echo " ".(img_spacer('15px', '15px', 'background: '.escape($row['default_setting_value']).'; margin-right: 4px; vertical-align: middle; border: 1px solid '.(color_adjust($row['default_setting_value'], -0.18)).'; padding: -1px;'));
|
|
|
|
|
echo "<span style=\"font-family: 'Courier New'; line-height: 6pt;\">".escape($row['default_setting_value'])."</span>\n";
|
2016-03-31 01:43:57 +02:00
|
|
|
}
|
|
|
|
|
else {
|
2018-06-30 07:43:22 +02:00
|
|
|
echo " ".escape($row['default_setting_value'])."\n";
|
2016-03-29 06:29:15 +02:00
|
|
|
}
|
2012-10-17 06:09:22 +02:00
|
|
|
}
|
2012-06-04 16:58:40 +02:00
|
|
|
echo " </td>\n";
|
2014-10-28 10:17:58 +01:00
|
|
|
echo " <td valign='top' class='".$row_style[$c]." tr_link_void' style='text-align: center;'>\n";
|
2016-03-31 00:44:51 +02:00
|
|
|
if (permission_exists('default_setting_edit')) {
|
2018-06-30 07:43:22 +02:00
|
|
|
echo " <a href=\"javascript:document.location.href='?id[]=".escape($row['default_setting_uuid'])."&enabled=".(($row['default_setting_enabled'] == 'true') ? 'false' : 'true')."&category=".escape($category)."&search='+$('#default_setting_search').val();\">".$text['label-'.$row['default_setting_enabled']]."</a>\n";
|
2016-03-31 00:44:51 +02:00
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
echo " ".$text['label-'.$row['default_setting_enabled']]."\n";
|
|
|
|
|
}
|
2014-10-28 10:17:58 +01:00
|
|
|
echo " </td>\n";
|
2018-06-30 07:43:22 +02:00
|
|
|
echo " <td valign='top' class='row_stylebg' style='width: 40%; max-width: 50px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;'>".escape($row['default_setting_description'])." </td>\n";
|
2015-04-14 22:16:52 +02:00
|
|
|
echo " <td class='list_control_icons' nowrap='nowrap'>";
|
2012-09-27 02:34:10 +02:00
|
|
|
if (permission_exists('default_setting_edit')) {
|
2018-06-30 07:43:22 +02:00
|
|
|
echo "<a href=\"javascript:document.location.href='default_setting_edit.php?id=".escape($row['default_setting_uuid'])."&search='+$('#default_setting_search').val();\" alt='".$text['button-edit']."'>$v_link_label_edit</a>";
|
2012-09-27 02:34:10 +02:00
|
|
|
}
|
|
|
|
|
if (permission_exists('default_setting_delete')) {
|
2018-06-30 07:43:22 +02:00
|
|
|
echo "<a href=\"javascript:document.location.href='default_settings.php?id[]=".escape($row['default_setting_uuid'])."&action=delete&search='+$('#default_setting_search').val();\" alt='".$text['button-delete']."' onclick=\"return confirm('".$text['confirm-delete']."')\">$v_link_label_delete</a>";
|
2012-09-27 02:34:10 +02:00
|
|
|
}
|
2012-06-04 16:58:40 +02:00
|
|
|
echo " </td>\n";
|
|
|
|
|
echo "</tr>\n";
|
2015-02-15 12:57:14 +01:00
|
|
|
|
2015-04-14 22:10:27 +02:00
|
|
|
//populate search/filter arrays
|
2015-04-15 08:08:18 +02:00
|
|
|
$array_categories[] = $row['default_setting_category'];
|
2015-04-15 20:28:53 +02:00
|
|
|
$array_categories_displayed[] = str_replace("_", " ", $row['default_setting_category']);
|
2015-04-14 22:10:27 +02:00
|
|
|
$array_setting_uuids[] = $row['default_setting_uuid'];
|
|
|
|
|
$array_setting_subcategories[] = $row['default_setting_subcategory'];
|
|
|
|
|
$array_setting_types[] = $row['default_setting_name'];
|
2019-03-27 23:38:23 +01:00
|
|
|
if (!($category == "theme" && $subcategory == "custom_css_code" && $name == "text" )) {
|
|
|
|
|
$array_setting_values[] = str_replace('"','\"',$row['default_setting_value']);
|
|
|
|
|
}
|
2015-04-14 22:10:27 +02:00
|
|
|
$array_setting_descriptions[] = str_replace('"','\"',$row['default_setting_description']);
|
|
|
|
|
|
2012-06-04 16:58:40 +02:00
|
|
|
$previous_category = $row['default_setting_category'];
|
2015-02-15 12:57:14 +01:00
|
|
|
$c = ($c == 0) ? 1 : 0;
|
|
|
|
|
|
2012-06-04 16:58:40 +02:00
|
|
|
} //end foreach
|
2015-04-15 08:08:18 +02:00
|
|
|
|
|
|
|
|
echo "</table>";
|
|
|
|
|
echo "</div>";
|
|
|
|
|
|
2012-06-04 16:58:40 +02:00
|
|
|
unset($sql, $result, $row_count);
|
|
|
|
|
} //end if results
|
|
|
|
|
|
2015-01-23 21:01:48 +01:00
|
|
|
echo "<br />";
|
|
|
|
|
echo $paging_controls;
|
2015-02-15 12:57:14 +01:00
|
|
|
echo "<br /><br /><br />";
|
2012-06-04 16:58:40 +02:00
|
|
|
|
2014-07-25 08:11:07 +02:00
|
|
|
echo "</form>";
|
|
|
|
|
|
2015-04-14 22:10:27 +02:00
|
|
|
//check or uncheck all category checkboxes
|
|
|
|
|
if (sizeof($subcat_ids) > 0) {
|
|
|
|
|
echo "<script>\n";
|
|
|
|
|
echo " function check(what, category) {\n";
|
|
|
|
|
foreach ($subcat_ids as $default_setting_category => $checkbox_ids) {
|
2018-06-30 07:43:22 +02:00
|
|
|
echo "if (category == '".escape($default_setting_category)."') {\n";
|
2015-04-14 22:10:27 +02:00
|
|
|
foreach ($checkbox_ids as $index => $checkbox_id) {
|
2019-08-21 21:54:42 +02:00
|
|
|
echo "document.getElementById('".$checkbox_id."').checked = (what == 'all') ? true : false;\n";
|
2015-04-14 22:10:27 +02:00
|
|
|
}
|
|
|
|
|
echo "}\n";
|
2014-07-25 08:11:07 +02:00
|
|
|
}
|
2015-04-14 22:10:27 +02:00
|
|
|
echo " }\n";
|
|
|
|
|
echo "</script>\n";
|
2014-07-25 08:11:07 +02:00
|
|
|
}
|
2015-04-14 22:10:27 +02:00
|
|
|
|
|
|
|
|
//setting search script
|
|
|
|
|
echo "<script>\n";
|
2015-04-15 08:08:18 +02:00
|
|
|
echo " var categories = new Array(\"".implode('","', $array_categories)."\");\n";
|
2015-04-15 20:28:53 +02:00
|
|
|
echo " var categories_displayed = new Array(\"".implode('","', $array_categories_displayed)."\");\n";
|
2015-04-14 22:10:27 +02:00
|
|
|
echo " var setting_uuids = new Array(\"".implode('","', $array_setting_uuids)."\");\n";
|
|
|
|
|
echo " var setting_subcategories = new Array(\"".implode('","', $array_setting_subcategories)."\");\n";
|
|
|
|
|
echo " var setting_types = new Array(\"".implode('","', $array_setting_types)."\");\n";
|
|
|
|
|
echo " var setting_values = new Array(\"".implode('","', $array_setting_values)."\");\n";
|
|
|
|
|
echo " var setting_descriptions = new Array(\"".implode('","', $array_setting_descriptions)."\");\n";
|
|
|
|
|
echo "\n";
|
2015-04-15 08:08:18 +02:00
|
|
|
echo " function setting_search() {\n";
|
|
|
|
|
echo " var criteria = $('#default_setting_search').val();\n";
|
|
|
|
|
echo " if (criteria.length >= 2) {\n";
|
2016-03-17 15:45:07 +01:00
|
|
|
echo " $('.chk_all').hide();\n";
|
2015-04-15 08:08:18 +02:00
|
|
|
echo " for (var x = 0; x < categories.length; x++) {\n";
|
|
|
|
|
echo " document.getElementById('category_'+categories[x]).style.display = 'none';\n";
|
|
|
|
|
echo " }\n";
|
|
|
|
|
echo " for (var x = 0; x < setting_uuids.length; x++) {\n";
|
|
|
|
|
echo " if (\n";
|
2015-04-15 20:28:53 +02:00
|
|
|
echo " categories_displayed[x].toLowerCase().match(criteria.toLowerCase()) ||\n";
|
2015-04-15 08:08:18 +02:00
|
|
|
echo " setting_subcategories[x].toLowerCase().match(criteria.toLowerCase()) ||\n";
|
|
|
|
|
echo " setting_types[x].toLowerCase().match(criteria.toLowerCase()) ||\n";
|
|
|
|
|
echo " setting_values[x].toLowerCase().match(criteria.toLowerCase()) ||\n";
|
|
|
|
|
echo " setting_descriptions[x].toLowerCase().match(criteria.toLowerCase())\n";
|
|
|
|
|
echo " ) {\n";
|
|
|
|
|
echo " document.getElementById('category_'+categories[x]).style.display = '';\n";
|
|
|
|
|
echo " document.getElementById('setting_'+setting_uuids[x]).style.display = '';\n";
|
|
|
|
|
echo " }\n";
|
|
|
|
|
echo " else {\n";
|
|
|
|
|
echo " document.getElementById('setting_'+setting_uuids[x]).style.display = 'none';\n";
|
|
|
|
|
echo " }\n";
|
2015-04-14 22:10:27 +02:00
|
|
|
echo " }\n";
|
2015-04-15 08:08:18 +02:00
|
|
|
echo " }\n";
|
|
|
|
|
echo " else {\n";
|
2016-03-17 15:45:07 +01:00
|
|
|
echo " $('.chk_all').show();\n";
|
2015-04-15 08:08:18 +02:00
|
|
|
echo " for (var x = 0; x < setting_uuids.length; x++) {\n";
|
|
|
|
|
echo " document.getElementById('category_'+categories[x]).style.display = '';\n";
|
|
|
|
|
echo " document.getElementById('setting_'+setting_uuids[x]).style.display = '';\n";
|
2015-04-14 22:10:27 +02:00
|
|
|
echo " }\n";
|
|
|
|
|
echo " }\n";
|
2014-07-25 08:11:07 +02:00
|
|
|
echo " }\n";
|
2015-04-15 08:08:18 +02:00
|
|
|
echo "\n";
|
2017-12-14 08:27:45 +01:00
|
|
|
|
2015-04-15 08:08:18 +02:00
|
|
|
//auto run, if search term passed back
|
|
|
|
|
if ($search != '') {
|
|
|
|
|
echo " setting_search();";
|
|
|
|
|
}
|
2014-07-25 08:11:07 +02:00
|
|
|
echo "</script>\n";
|
|
|
|
|
|
2012-06-04 16:58:40 +02:00
|
|
|
//include the footer
|
2013-07-06 08:29:50 +02:00
|
|
|
require_once "resources/footer.php";
|
2017-12-14 08:27:45 +01:00
|
|
|
|
|
|
|
|
?>
|