|
@@ -1,27 +1,27 @@
|
|
<?php
|
|
<?php
|
|
/*
|
|
/*
|
|
- FusionPBX
|
|
|
|
- Version: MPL 1.1
|
|
|
|
|
|
+ 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/
|
|
|
|
|
|
+ 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.
|
|
|
|
|
|
+ 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 Original Code is FusionPBX
|
|
|
|
|
|
- The Initial Developer of the Original Code is
|
|
|
|
- Mark J Crane <[email protected]>
|
|
|
|
- Portions created by the Initial Developer are Copyright (C) 2008-2019
|
|
|
|
- the Initial Developer. All Rights Reserved.
|
|
|
|
|
|
+ The Initial Developer of the Original Code is
|
|
|
|
+ Mark J Crane <[email protected]>
|
|
|
|
+ Portions created by the Initial Developer are Copyright (C) 2008 - 2019
|
|
|
|
+ the Initial Developer. All Rights Reserved.
|
|
|
|
|
|
- Contributor(s):
|
|
|
|
- Mark J Crane <[email protected]>
|
|
|
|
|
|
+ Contributor(s):
|
|
|
|
+ Mark J Crane <[email protected]>
|
|
*/
|
|
*/
|
|
|
|
|
|
//includes
|
|
//includes
|
|
@@ -42,159 +42,76 @@
|
|
$language = new text;
|
|
$language = new text;
|
|
$text = $language->get();
|
|
$text = $language->get();
|
|
|
|
|
|
-//get posted values, if any
|
|
|
|
- if (sizeof($_REQUEST) > 0) {
|
|
|
|
- $action = $_REQUEST["action"];
|
|
|
|
- $default_setting_uuids = $_REQUEST["id"];
|
|
|
|
- $enabled = $_REQUEST['enabled'];
|
|
|
|
- $category = $_REQUEST['category'];
|
|
|
|
- $search = $_REQUEST['search'];
|
|
|
|
-
|
|
|
|
- if (is_array($default_setting_uuids) && sizeof($default_setting_uuids) == 1 && $enabled != '' && is_uuid($default_setting_uuids[0])) {
|
|
|
|
- $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);
|
|
|
|
|
|
+//get the http post data
|
|
|
|
+ if (is_array($_POST['default_settings'])) {
|
|
|
|
+ $action = $_POST['action'];
|
|
|
|
+ $search = $_POST['search'];
|
|
|
|
+ $default_settings = $_POST['default_settings'];
|
|
|
|
+ }
|
|
|
|
|
|
- message::add($text['message-update']);
|
|
|
|
- header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null)."#anchor_".escape($category));
|
|
|
|
- exit;
|
|
|
|
|
|
+//process the http post data by action
|
|
|
|
+ if ($action != '' && is_array($default_settings) && @sizeof($default_settings) != 0) {
|
|
|
|
+ switch ($action) {
|
|
|
|
+ case 'copy':
|
|
|
|
+ if (permission_exists('default_setting_add')) {
|
|
|
|
+ $obj = new default_settings;
|
|
|
|
+ $obj->copy($default_settings);
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case 'toggle':
|
|
|
|
+ if (permission_exists('default_setting_edit')) {
|
|
|
|
+ $obj = new default_settings;
|
|
|
|
+ $obj->toggle($default_settings);
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case 'delete':
|
|
|
|
+ if (permission_exists('default_setting_delete')) {
|
|
|
|
+ $obj = new default_settings;
|
|
|
|
+ $obj->delete($default_settings);
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
|
|
|
|
- if ($action == 'copy' && permission_exists('domain_setting_add')) {
|
|
|
|
- $target_domain_uuid = $_POST["target_domain_uuid"];
|
|
|
|
-
|
|
|
|
- if (is_uuid($target_domain_uuid) && is_array($default_setting_uuids) && sizeof($default_setting_uuids) > 0) {
|
|
|
|
- $settings_copied = 0;
|
|
|
|
- foreach ($default_setting_uuids as $default_setting_uuid) {
|
|
|
|
-
|
|
|
|
- // get default setting from db
|
|
|
|
- $sql = "select * from v_default_settings ";
|
|
|
|
- $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) {
|
|
|
|
- $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"];
|
|
|
|
- }
|
|
|
|
- unset($sql, $parameters, $row);
|
|
|
|
-
|
|
|
|
- //set a random password for http_auth_password
|
|
|
|
- if ($default_setting_subcategory == "http_auth_password") {
|
|
|
|
- $default_setting_value = generate_password();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // check if exists
|
|
|
|
- $sql = "select domain_setting_uuid from v_domain_settings ";
|
|
|
|
- $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 ";
|
|
|
|
- $sql .= "and domain_setting_name <> 'array' ";
|
|
|
|
- $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');
|
|
|
|
- $message = $database->message;
|
|
|
|
-
|
|
|
|
- $action = is_uuid($target_domain_setting_uuid) ? 'update' : 'add';
|
|
|
|
- unset($sql, $parameters);
|
|
|
|
-
|
|
|
|
- // fix null
|
|
|
|
- $default_setting_order = $default_setting_order != '' ? $default_setting_order : null;
|
|
|
|
-
|
|
|
|
- //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
|
|
|
|
- if ($action == "add" && permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
|
|
|
- $array['domain_settings'][0]['domain_setting_uuid'] = uuid();
|
|
|
|
- }
|
|
|
|
- //update
|
|
|
|
- if ($action == "update" && permission_exists('domain_setting_edit')) {
|
|
|
|
- $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);
|
|
|
|
-
|
|
|
|
- $settings_copied++;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- } // foreach
|
|
|
|
-
|
|
|
|
- // set message
|
|
|
|
- message::add($text['message-copy'].": ".escape($settings_copied));
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- // set message
|
|
|
|
- message::add($text['message-copy_failed']);
|
|
|
|
- }
|
|
|
|
|
|
+ header('Location: default_settings.php'.($search != '' ? '?search='.urlencode($search) : null));
|
|
|
|
+ exit;
|
|
|
|
+ }
|
|
|
|
|
|
- header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null));
|
|
|
|
- exit;
|
|
|
|
- }
|
|
|
|
|
|
+//get order and order by
|
|
|
|
+ $order_by = $_GET["order_by"];
|
|
|
|
+ $order = $_GET["order"];
|
|
|
|
|
|
- if ($action == 'delete' && permission_exists('default_setting_delete')) {
|
|
|
|
- if (sizeof($default_setting_uuids) > 0) {
|
|
|
|
- foreach ($default_setting_uuids as $index => $default_setting_uuid) {
|
|
|
|
- //delete default_setting(s)
|
|
|
|
- $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);
|
|
|
|
- }
|
|
|
|
- // set message
|
|
|
|
- $_SESSION["message"] = $text['message-delete'].": ".sizeof($default_setting_uuids);
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- // set message
|
|
|
|
- message::add($text['message-delete_failed'], 'negative');
|
|
|
|
- }
|
|
|
|
|
|
+//add the search string
|
|
|
|
+ if (isset($_GET["search"])) {
|
|
|
|
+ $search = strtolower($_GET["search"]);
|
|
|
|
+ $sql_search = " (";
|
|
|
|
+ $sql_search .= " lower(default_setting_category) like :search ";
|
|
|
|
+ $sql_search .= " or lower(default_setting_subcategory) like :search ";
|
|
|
|
+ $sql_search .= " or lower(default_setting_name) like :search ";
|
|
|
|
+ $sql_search .= " or lower(default_setting_value) like :search ";
|
|
|
|
+ $sql_search .= " or lower(default_setting_description) like :search ";
|
|
|
|
+ $sql_search .= ") ";
|
|
|
|
+ $parameters['search'] = '%'.$search.'%';
|
|
|
|
+ }
|
|
|
|
|
|
- header("Location: default_settings.php".(($search != '') ? "?search=".escape($search) : null));
|
|
|
|
- exit;
|
|
|
|
|
|
+//get the count
|
|
|
|
+ $sql = "select count(default_setting_uuid) from v_default_settings ";
|
|
|
|
+ if (isset($sql_search)) {
|
|
|
|
+ $sql .= "where ".$sql_search;
|
|
}
|
|
}
|
|
- } // post
|
|
|
|
|
|
+ $database = new database;
|
|
|
|
+ $num_rows = $database->select($sql, $parameters, 'column');
|
|
|
|
|
|
-//header and paging
|
|
|
|
- require_once "resources/header.php";
|
|
|
|
- $document['title'] = $text['title-default_settings'];
|
|
|
|
- require_once "resources/paging.php";
|
|
|
|
|
|
+//get the list
|
|
|
|
+ $sql = str_replace('count(default_setting_uuid)', '*', $sql);
|
|
|
|
+ $sql .= order_by($order_by, $order, 'default_setting_category', 'asc');
|
|
|
|
+ $sql .= limit_offset($rows_per_page, $offset);
|
|
|
|
+ $database = new database;
|
|
|
|
+ $default_settings = $database->select($sql, $parameters, 'all');
|
|
|
|
+ unset($sql, $parameters);
|
|
|
|
|
|
-//get variables used to control the order
|
|
|
|
- $order_by = $_GET["order_by"];
|
|
|
|
- $order = $_GET["order"];
|
|
|
|
|
|
+//create token
|
|
|
|
+ $object = new token;
|
|
|
|
+ $token = $object->create($_SERVER['PHP_SELF']);
|
|
|
|
|
|
//copy settings javascript
|
|
//copy settings javascript
|
|
if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
|
if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
|
@@ -237,144 +154,119 @@
|
|
echo "</script>";
|
|
echo "</script>";
|
|
}
|
|
}
|
|
|
|
|
|
-//prevent enter key submit on search field
|
|
|
|
- echo "<script language='javascript' type='text/javascript'>\n";
|
|
|
|
- echo " $(document).ready(function() {\n";
|
|
|
|
- echo " $('#default_setting_search').on('keydown',function(event){\n";
|
|
|
|
- echo " if (event.keyCode == 13) {\n";
|
|
|
|
- echo " event.preventDefault();\n";
|
|
|
|
- echo " return false;\n";
|
|
|
|
- echo " }\n";
|
|
|
|
- echo " });\n";
|
|
|
|
- echo " });\n";
|
|
|
|
- echo "</script>\n";
|
|
|
|
|
|
+//include the header
|
|
|
|
+ require_once "resources/header.php";
|
|
|
|
|
|
//show the content
|
|
//show the content
|
|
- echo "<form name='frm' id='frm' method='post' action=''>";
|
|
|
|
- echo "<input type='hidden' name='action' id='action' value=''>";
|
|
|
|
-
|
|
|
|
- echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
|
|
|
|
- echo " <tr>\n";
|
|
|
|
- echo " <td align='left' valign='top' nowrap='nowrap'>";
|
|
|
|
- echo " <b>".$text['header-default_settings']."</b>";
|
|
|
|
- echo " <br><br>";
|
|
|
|
- echo " ".$text['description-default_settings'];
|
|
|
|
- echo " </td>\n";
|
|
|
|
- echo " <td align='right' valign='top' nowrap='nowrap'>";
|
|
|
|
- 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";
|
|
|
|
- if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
|
|
|
- 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) {
|
|
|
|
- echo " <option value='".escape($domain["domain_uuid"])."'>".escape($domain["domain_name"])."</option>\n";
|
|
|
|
|
|
+ echo "<div class='action_bar' id='action_bar'>\n";
|
|
|
|
+ echo " <div class='heading'><b>".$text['title-default_settings']." (".$num_rows.")</b></div>\n";
|
|
|
|
+ echo " <div class='actions'>\n";
|
|
|
|
+ if (permission_exists('default_setting_add')) {
|
|
|
|
+ echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'link'=>'default_setting_edit.php']);
|
|
|
|
+ }
|
|
|
|
+ if (permission_exists('default_setting_add') && $default_settings) {
|
|
|
|
+ //echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'onclick'=>"if (confirm('".$text['confirm-copy']."')) { list_action_set('copy'); list_form_submit('form_list'); } else { this.blur(); return false; }"]);
|
|
|
|
+ if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
|
|
|
+ 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) {
|
|
|
|
+ echo " <option value='".escape($domain["domain_uuid"])."'>".escape($domain["domain_name"])."</option>\n";
|
|
|
|
+ }
|
|
|
|
+ echo " </select>\n";
|
|
|
|
+ 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();\">";
|
|
}
|
|
}
|
|
- echo " </select>\n";
|
|
|
|
- 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";
|
|
|
|
|
|
+ if (permission_exists('default_setting_edit') && $default_settings) {
|
|
|
|
+ echo button::create(['type'=>'button','label'=>$text['button-toggle'],'icon'=>$_SESSION['theme']['button_icon_toggle'],'onclick'=>"if (confirm('".$text['confirm-toggle']."')) { list_action_set('toggle'); list_form_submit('form_list'); } else { this.blur(); return false; }"]);
|
|
}
|
|
}
|
|
- 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();\">";
|
|
|
|
- echo " </td>\n";
|
|
|
|
- echo " </tr>\n";
|
|
|
|
- echo "</table>\n";
|
|
|
|
- echo "<br>";
|
|
|
|
-
|
|
|
|
-//prepare to page the results
|
|
|
|
- $sql = "select count(*) from v_default_settings ";
|
|
|
|
- $database = new database;
|
|
|
|
- $num_rows = $database->select($sql, null, 'column');
|
|
|
|
- unset($sql);
|
|
|
|
-
|
|
|
|
-//prepare to page the results
|
|
|
|
- $rows_per_page = 1000;
|
|
|
|
- $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 ";
|
|
|
|
- if ($order_by == '') {
|
|
|
|
- $sql .= "order by default_setting_category, default_setting_subcategory, default_setting_order asc, default_setting_name, default_setting_value ";
|
|
|
|
|
|
+ if (permission_exists('default_setting_delete') && $default_settings) {
|
|
|
|
+ echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'onclick'=>"if (confirm('".$text['confirm-delete']."')) { list_action_set('delete'); list_form_submit('form_list'); } else { this.blur(); return false; }"]);
|
|
}
|
|
}
|
|
- else {
|
|
|
|
- $sql .= order_by($order_by, $order);
|
|
|
|
|
|
+ echo "<form id='form_search' class='inline' method='get'>\n";
|
|
|
|
+ echo "<input type='text' class='txt list-search' name='search' id='search' value=\"".escape($search)."\" placeholder=\"".$text['label-search']."\" onkeydown='list_search_reset();'>";
|
|
|
|
+ echo button::create(['label'=>$text['button-search'],'icon'=>$_SESSION['theme']['button_icon_search'],'type'=>'submit','id'=>'btn_search','style'=>($search != '' ? 'display: none;' : null)]);
|
|
|
|
+ echo button::create(['label'=>$text['button-reset'],'icon'=>$_SESSION['theme']['button_icon_reset'],'type'=>'button','id'=>'btn_reset','link'=>'default_settings.php','style'=>($search == '' ? 'display: none;' : null)]);
|
|
|
|
+ if ($paging_controls_mini != '') {
|
|
|
|
+ echo "<span style='margin-left: 15px;'>".$paging_controls_mini."</span>\n";
|
|
}
|
|
}
|
|
- $sql .= limit_offset($rows_per_page, $offset);
|
|
|
|
- $database = new database;
|
|
|
|
- $result = $database->select($sql, null, 'all');
|
|
|
|
- unset($sql);
|
|
|
|
-
|
|
|
|
- $c = 0;
|
|
|
|
- $row_style["0"] = "row_style0";
|
|
|
|
- $row_style["1"] = "row_style1";
|
|
|
|
-
|
|
|
|
- if (is_array($result) && sizeof($result) != 0) {
|
|
|
|
- $previous_category = '';
|
|
|
|
- foreach($result as $row) {
|
|
|
|
-
|
|
|
|
- if ($previous_category != $row['default_setting_category']) {
|
|
|
|
- $c = 0;
|
|
|
|
- if ($previous_category != '') {
|
|
|
|
- echo "</table>";
|
|
|
|
- echo "</div>";
|
|
|
|
- }
|
|
|
|
- echo "<div id='category_".escape($row['default_setting_category'])."' style='padding-top: 20px;'>";
|
|
|
|
- echo "<span id='anchor_".escape($row['default_setting_category'])."'></span>";
|
|
|
|
- echo "<b>";
|
|
|
|
- switch (strtolower($row['default_setting_category'])) {
|
|
|
|
- case "api" : echo "API"; break;
|
|
|
|
- case "cdr" : echo "CDR"; break;
|
|
|
|
- case "ldap" : echo "LDAP"; break;
|
|
|
|
- case "ivr_menu" : echo "IVR Menu"; break;
|
|
|
|
- default: echo escape(ucwords(str_replace("_", " ", $row['default_setting_category'])));
|
|
|
|
- }
|
|
|
|
- echo "</b>\n";
|
|
|
|
|
|
+ echo " </form>\n";
|
|
|
|
+ echo " </div>\n";
|
|
|
|
+ echo " <div style='clear: both;'></div>\n";
|
|
|
|
+ echo "</div>\n";
|
|
|
|
+
|
|
|
|
+ echo $text['description-default_settings']."\n";
|
|
|
|
+ echo "<br /><br />\n";
|
|
|
|
+
|
|
|
|
+ echo "<form id='form_list' method='post'>\n";
|
|
|
|
+ echo "<input type='hidden' id='action' name='action' value=''>\n";
|
|
|
|
+ echo "<input type='hidden' name='search' value=\"".escape($search)."\">\n";
|
|
|
|
+
|
|
|
|
+ echo "<table class='list'>\n";
|
|
|
|
+ if (is_array($default_settings) && @sizeof($default_settings) != 0) {
|
|
|
|
+ $x = 0;
|
|
|
|
+ foreach ($default_settings as $row) {
|
|
|
|
+ $default_setting_category = $row['default_setting_category'];
|
|
|
|
+ $default_setting_category = strtolower($default_setting_category);
|
|
|
|
+
|
|
|
|
+ $label_default_setting_category = $row['default_setting_category'];
|
|
|
|
+ switch (strtolower($label_default_setting_category)) {
|
|
|
|
+ case "api" : $label_default_setting_category = "API"; break;
|
|
|
|
+ case "cdr" : $label_default_setting_category = "CDR"; break;
|
|
|
|
+ case "ldap" : $label_default_setting_category = "LDAP"; break;
|
|
|
|
+ case "ivr_menu" : $label_default_setting_category = "IVR Menu"; break;
|
|
|
|
+ default:
|
|
|
|
+ $label_default_setting_category = str_replace("_", " ", $label_default_setting_category);
|
|
|
|
+ $label_default_setting_category = str_replace("-", " ", $label_default_setting_category);
|
|
|
|
+ $label_default_setting_category = ucwords($label_default_setting_category);
|
|
|
|
+ }
|
|
|
|
|
|
- echo "<table class='tr_hover' style='margin-top: 5px;' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
|
|
|
- echo "<tr>\n";
|
|
|
|
- if ( (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) || permission_exists('default_setting_delete') ) {
|
|
|
|
- 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>";
|
|
|
|
|
|
+ if ($previous_default_setting_category !== $row['default_setting_category']) {
|
|
|
|
+ echo " <tr>";
|
|
|
|
+ echo " <td align='left' colspan='999'> </td>\n";
|
|
|
|
+ echo " </tr>";
|
|
|
|
+ echo " <tr>";
|
|
|
|
+ echo " <td align='left' colspan='999' nowrap='nowrap'><b>".escape($label_default_setting_category)."</b></td>\n";
|
|
|
|
+ echo " </tr>";
|
|
|
|
+ echo "<tr class='list-header'>\n";
|
|
|
|
+ if (permission_exists('default_setting_add') || permission_exists('default_setting_edit') || permission_exists('default_setting_delete')) {
|
|
|
|
+ echo " <th class='checkbox'>\n";
|
|
|
|
+ echo " <input type='checkbox' id='checkbox_all_".$default_setting_category."' name='checkbox_all' onclick=\"list_all_toggle('".$default_setting_category."');\">\n";
|
|
|
|
+ echo " </th>\n";
|
|
}
|
|
}
|
|
- echo "<th width='23%'>".$text['label-subcategory']."</th>";
|
|
|
|
- echo "<th width='7%'>".$text['label-type']."</th>";
|
|
|
|
- echo "<th width='30%'>".$text['label-value']."</th>";
|
|
|
|
- echo "<th style='text-align: center;'>".$text['label-enabled']."</th>";
|
|
|
|
- echo "<th width='40%'>".$text['label-description']."</th>";
|
|
|
|
- echo "<td class='list_control_icons'>";
|
|
|
|
- if (permission_exists('default_setting_add')) {
|
|
|
|
- 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>";
|
|
|
|
|
|
+ if ($_GET['show'] == 'all' && permission_exists('default_setting_all')) {
|
|
|
|
+ echo th_order_by('domain_name', $text['label-domain'], $order_by, $order);
|
|
}
|
|
}
|
|
- if (permission_exists('default_setting_delete')) {
|
|
|
|
- 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>";
|
|
|
|
|
|
+ echo th_order_by('default_setting_subcategory', $text['label-default_setting_subcategory'], $order_by, $order);
|
|
|
|
+ echo th_order_by('default_setting_name', $text['label-default_setting_name'], $order_by, $order);
|
|
|
|
+ echo th_order_by('default_setting_value', $text['label-default_setting_value'], $order_by, $order);
|
|
|
|
+ echo th_order_by('default_setting_enabled', $text['label-default_setting_enabled'], $order_by, $order, null, "class='center'");
|
|
|
|
+ echo " <th class='hide-sm-dn'>".$text['label-default_setting_description']."</th>\n";
|
|
|
|
+ if (permission_exists('default_setting_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
|
|
|
+ echo " <td class='action-button'> </td>\n";
|
|
}
|
|
}
|
|
- echo "</td>\n";
|
|
|
|
echo "</tr>\n";
|
|
echo "</tr>\n";
|
|
- }
|
|
|
|
|
|
|
|
- $tr_link = (permission_exists('default_setting_edit')) ? "href=\"default_setting_edit.php?id=".urlencode($row['default_setting_uuid'])."\"" : null;
|
|
|
|
- echo "<tr id='setting_".$row['default_setting_uuid']."' ".$tr_link.">\n";
|
|
|
|
- if ( (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) || permission_exists("default_setting_delete") ) {
|
|
|
|
- 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";
|
|
|
|
- $subcat_ids[strtolower($row['default_setting_category'])][] = 'checkbox_'.escape($row['default_setting_uuid']);
|
|
|
|
}
|
|
}
|
|
- echo " <td valign='top' class='".$row_style[$c]."'>";
|
|
|
|
if (permission_exists('default_setting_edit')) {
|
|
if (permission_exists('default_setting_edit')) {
|
|
- echo "<a href=\"default_setting_edit.php?id=".urlencode($row['default_setting_uuid'])."\">".escape($row['default_setting_subcategory'])."</a>";
|
|
|
|
|
|
+ $list_row_url = "default_setting_edit.php?id=".urlencode($row['default_setting_uuid']);
|
|
}
|
|
}
|
|
- else {
|
|
|
|
- echo $row['default_setting_subcategory'];
|
|
|
|
|
|
+ echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
|
|
|
+ if (permission_exists('default_setting_add') || permission_exists('default_setting_edit') || permission_exists('default_setting_delete')) {
|
|
|
|
+ echo " <td class='checkbox'>\n";
|
|
|
|
+ echo " <input type='checkbox' name='default_settings[$x][checked]' id='checkbox_".$x."' class='checkbox_".$default_setting_category."' value='true' onclick=\"if (!this.checked) { document.getElementById('checkbox_all_".$default_setting_category."').checked = false; }\">\n";
|
|
|
|
+ echo " <input type='hidden' name='default_settings[$x][uuid]' value='".escape($row['default_setting_uuid'])."' />\n";
|
|
|
|
+ echo " </td>\n";
|
|
}
|
|
}
|
|
- echo " </td>\n";
|
|
|
|
- echo " <td valign='top' class='".$row_style[$c]."'>".escape($row['default_setting_name'])." </td>\n";
|
|
|
|
- echo " <td valign='top' class='".$row_style[$c]."' style='width: 30%; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;'>\n";
|
|
|
|
|
|
+ if ($_GET['show'] == 'all' && permission_exists('default_setting_all')) {
|
|
|
|
+ echo " <td>".escape($_SESSION['domains'][$row['domain_uuid']]['domain_name'])."</td>\n";
|
|
|
|
+ }
|
|
|
|
+ echo " <td>".escape($row['default_setting_subcategory'])."</td>\n";
|
|
|
|
+ echo " <td>".escape($row['default_setting_name'])."</td>\n";
|
|
|
|
|
|
|
|
+ //echo " <td>".escape($row['default_setting_value'])."</td>\n";
|
|
|
|
+ echo " <td valign='top' class='".$row_style[$c]."' style='width: 30%; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;'>\n";
|
|
$category = $row['default_setting_category'];
|
|
$category = $row['default_setting_category'];
|
|
$subcategory = $row['default_setting_subcategory'];
|
|
$subcategory = $row['default_setting_subcategory'];
|
|
$name = $row['default_setting_name'];
|
|
$name = $row['default_setting_name'];
|
|
@@ -428,116 +320,36 @@
|
|
echo " ".escape($row['default_setting_value'])."\n";
|
|
echo " ".escape($row['default_setting_value'])."\n";
|
|
}
|
|
}
|
|
echo " </td>\n";
|
|
echo " </td>\n";
|
|
- echo " <td valign='top' class='".$row_style[$c]." tr_link_void' style='text-align: center;'>\n";
|
|
|
|
|
|
+
|
|
if (permission_exists('default_setting_edit')) {
|
|
if (permission_exists('default_setting_edit')) {
|
|
- 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";
|
|
|
|
|
|
+ echo " <td class='no-link center'>\n";
|
|
|
|
+ echo button::create(['type'=>'submit','class'=>'link','label'=>$text['label-'.$row['default_setting_enabled']],'title'=>$text['button-toggle'],'onclick'=>"list_self_check('checkbox_".$x."'); list_action_set('toggle'); list_form_submit('form_list')"]);
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- echo " ".$text['label-'.$row['default_setting_enabled']]."\n";
|
|
|
|
|
|
+ echo " <td class='center'>\n";
|
|
|
|
+ echo $text['label-'.$row['default_setting_enabled']];
|
|
}
|
|
}
|
|
echo " </td>\n";
|
|
echo " </td>\n";
|
|
- 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";
|
|
|
|
- echo " <td class='list_control_icons' nowrap='nowrap'>";
|
|
|
|
- if (permission_exists('default_setting_edit')) {
|
|
|
|
- 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>";
|
|
|
|
- }
|
|
|
|
- if (permission_exists('default_setting_delete')) {
|
|
|
|
- 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>";
|
|
|
|
|
|
+ echo " <td class='description overflow hide-sm-dn'>".escape($row['default_setting_description'])."</td>\n";
|
|
|
|
+ if (permission_exists('default_setting_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
|
|
|
+ echo " <td class='action-button'>\n";
|
|
|
|
+ echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
|
|
|
+ echo " </td>\n";
|
|
}
|
|
}
|
|
- echo " </td>\n";
|
|
|
|
echo "</tr>\n";
|
|
echo "</tr>\n";
|
|
|
|
|
|
- //populate search/filter arrays
|
|
|
|
- $array_categories[] = $row['default_setting_category'];
|
|
|
|
- $array_categories_displayed[] = str_replace("_", " ", $row['default_setting_category']);
|
|
|
|
- $array_setting_uuids[] = $row['default_setting_uuid'];
|
|
|
|
- $array_setting_subcategories[] = $row['default_setting_subcategory'];
|
|
|
|
- $array_setting_types[] = $row['default_setting_name'];
|
|
|
|
- if (!($category == "theme" && $subcategory == "custom_css_code" && $name == "text" )) {
|
|
|
|
- $array_setting_values[] = str_replace('"','\"',$row['default_setting_value']);
|
|
|
|
- }
|
|
|
|
- $array_setting_descriptions[] = str_replace('"','\"',$row['default_setting_description']);
|
|
|
|
-
|
|
|
|
- $previous_category = $row['default_setting_category'];
|
|
|
|
- $c = ($c == 0) ? 1 : 0;
|
|
|
|
-
|
|
|
|
- } //end foreach
|
|
|
|
-
|
|
|
|
- echo "</table>";
|
|
|
|
- echo "</div>";
|
|
|
|
-
|
|
|
|
- unset($sql, $result, $row_count);
|
|
|
|
- } //end if results
|
|
|
|
-
|
|
|
|
- echo "<br />";
|
|
|
|
- echo $paging_controls;
|
|
|
|
- echo "<br /><br /><br />";
|
|
|
|
-
|
|
|
|
- echo "</form>";
|
|
|
|
-
|
|
|
|
- //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) {
|
|
|
|
- echo "if (category == '".escape($default_setting_category)."') {\n";
|
|
|
|
- foreach ($checkbox_ids as $index => $checkbox_id) {
|
|
|
|
- echo "document.getElementById('".$checkbox_id."').checked = (what == 'all') ? true : false;\n";
|
|
|
|
- }
|
|
|
|
- echo "}\n";
|
|
|
|
- }
|
|
|
|
- echo " }\n";
|
|
|
|
- echo "</script>\n";
|
|
|
|
|
|
+ //set the previous category
|
|
|
|
+ $previous_default_setting_category = $row['default_setting_category'];
|
|
|
|
+ $x++;
|
|
}
|
|
}
|
|
|
|
+ unset($default_settings);
|
|
|
|
+ }
|
|
|
|
|
|
- //setting search script
|
|
|
|
- echo "<script>\n";
|
|
|
|
- echo " var categories = new Array(\"".implode('","', $array_categories)."\");\n";
|
|
|
|
- echo " var categories_displayed = new Array(\"".implode('","', $array_categories_displayed)."\");\n";
|
|
|
|
- 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";
|
|
|
|
- echo " function setting_search() {\n";
|
|
|
|
- echo " var criteria = $('#default_setting_search').val();\n";
|
|
|
|
- echo " if (criteria.length >= 2) {\n";
|
|
|
|
- echo " $('.chk_all').hide();\n";
|
|
|
|
- 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";
|
|
|
|
- echo " categories_displayed[x].toLowerCase().match(criteria.toLowerCase()) ||\n";
|
|
|
|
- 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";
|
|
|
|
- echo " }\n";
|
|
|
|
- echo " }\n";
|
|
|
|
- echo " else {\n";
|
|
|
|
- echo " $('.chk_all').show();\n";
|
|
|
|
- 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";
|
|
|
|
- echo " }\n";
|
|
|
|
- echo " }\n";
|
|
|
|
- echo " }\n";
|
|
|
|
- echo "\n";
|
|
|
|
-
|
|
|
|
- //auto run, if search term passed back
|
|
|
|
- if ($search != '') {
|
|
|
|
- echo " setting_search();";
|
|
|
|
- }
|
|
|
|
- echo "</script>\n";
|
|
|
|
|
|
+ echo "</table>\n";
|
|
|
|
+ echo "<br />\n";
|
|
|
|
+ echo "<div align='center'>".$paging_controls."</div>\n";
|
|
|
|
+ echo "<input type='hidden' name='".$token['name']."' value='".$token['hash']."'>\n";
|
|
|
|
+ echo "</form>\n";
|
|
|
|
|
|
//include the footer
|
|
//include the footer
|
|
require_once "resources/footer.php";
|
|
require_once "resources/footer.php";
|