Update default_settings.php

This commit is contained in:
FusionPBX 2019-12-19 08:46:22 -07:00 committed by GitHub
parent 1666c30377
commit 20d80aea5c
1 changed files with 191 additions and 379 deletions

View File

@ -1,27 +1,27 @@
<?php <?php
/* /*
FusionPBX FusionPBX
Version: MPL 1.1 Version: MPL 1.1
The contents of this file are subject to the Mozilla Public License Version 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 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 the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/ http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis, Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the for the specific language governing rights and limitations under the
License. License.
The Original Code is FusionPBX The Original Code is FusionPBX
The Initial Developer of the Original Code is The Initial Developer of the Original Code is
Mark J Crane <markjcrane@fusionpbx.com> Mark J Crane <markjcrane@fusionpbx.com>
Portions created by the Initial Developer are Copyright (C) 2008-2019 Portions created by the Initial Developer are Copyright (C) 2008 - 2019
the Initial Developer. All Rights Reserved. the Initial Developer. All Rights Reserved.
Contributor(s): Contributor(s):
Mark J Crane <markjcrane@fusionpbx.com> Mark J Crane <markjcrane@fusionpbx.com>
*/ */
//includes //includes
@ -42,160 +42,77 @@
$language = new text; $language = new text;
$text = $language->get(); $text = $language->get();
//get posted values, if any //get the http post data
if (sizeof($_REQUEST) > 0) { if (is_array($_POST['default_settings'])) {
$action = $_REQUEST["action"]; $action = $_POST['action'];
$default_setting_uuids = $_REQUEST["id"]; $search = $_POST['search'];
$enabled = $_REQUEST['enabled']; $default_settings = $_POST['default_settings'];
$category = $_REQUEST['category']; }
$search = $_REQUEST['search'];
if (is_array($default_setting_uuids) && sizeof($default_setting_uuids) == 1 && $enabled != '' && is_uuid($default_setting_uuids[0])) { //process the http post data by action
$array['default_settings'][0]['default_setting_uuid'] = $default_setting_uuids[0]; if ($action != '' && is_array($default_settings) && @sizeof($default_settings) != 0) {
$array['default_settings'][0]['default_setting_enabled'] = $enabled; switch ($action) {
$database = new database; case 'copy':
$database->app_name = 'default_settings'; if (permission_exists('default_setting_add')) {
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09'; $obj = new default_settings;
$database->save($array); $obj->copy($default_settings);
$message = $database->message;
unset($array);
message::add($text['message-update']);
header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null)."#anchor_".escape($category));
exit;
}
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=".escape($search) : null));
exit;
}
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)) { break;
$database = new database; case 'toggle':
$database->app_name = 'default_settings'; if (permission_exists('default_setting_edit')) {
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09'; $obj = new default_settings;
$database->delete($array); $obj->toggle($default_settings);
$message = $database->message;
unset($array);
} }
// set message break;
$_SESSION["message"] = $text['message-delete'].": ".sizeof($default_setting_uuids); case 'delete':
} if (permission_exists('default_setting_delete')) {
else { $obj = new default_settings;
// set message $obj->delete($default_settings);
message::add($text['message-delete_failed'], 'negative'); }
} break;
header("Location: default_settings.php".(($search != '') ? "?search=".escape($search) : null));
exit;
} }
} // post
//header and paging header('Location: default_settings.php'.($search != '' ? '?search='.urlencode($search) : null));
require_once "resources/header.php"; exit;
$document['title'] = $text['title-default_settings']; }
require_once "resources/paging.php";
//get variables used to control the order //get order and order by
$order_by = $_GET["order_by"]; $order_by = $_GET["order_by"];
$order = $_GET["order"]; $order = $_GET["order"];
//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.'%';
}
//get the count
$sql = "select count(default_setting_uuid) from v_default_settings ";
if (isset($sql_search)) {
$sql .= "where ".$sql_search;
}
$database = new database;
$num_rows = $database->select($sql, $parameters, 'column');
//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);
//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) {
echo "<script language='javascript' type='text/javascript'>\n"; echo "<script language='javascript' type='text/javascript'>\n";
@ -237,144 +154,119 @@
echo "</script>"; echo "</script>";
} }
//prevent enter key submit on search field //include the header
echo "<script language='javascript' type='text/javascript'>\n"; require_once "resources/header.php";
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";
//show the content //show the content
echo "<form name='frm' id='frm' method='post' action=''>"; echo "<div class='action_bar' id='action_bar'>\n";
echo "<input type='hidden' name='action' id='action' value=''>"; echo " <div class='heading'><b>".$text['title-default_settings']." (".$num_rows.")</b></div>\n";
echo " <div class='actions'>\n";
echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n"; if (permission_exists('default_setting_add')) {
echo " <tr>\n"; echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'link'=>'default_setting_edit.php']);
echo " <td align='left' valign='top' nowrap='nowrap'>"; }
echo " <b>".$text['header-default_settings']."</b>"; if (permission_exists('default_setting_add') && $default_settings) {
echo " <br><br>"; //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; }"]);
echo " ".$text['description-default_settings']; if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
echo " </td>\n"; echo " <input type='button' class='btn' id='button_copy' alt='".$text['button-copy']."' onclick='show_domains();' value='".$text['button-copy']."'>";
echo " <td align='right' valign='top' nowrap='nowrap'>"; echo " <input type='button' class='btn' style='display: none;' id='button_back' alt='".$text['button-back']."' onclick='hide_domains();' value='".$text['button-back']."'> ";
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"; echo " <select class='formfld' style='display: none; width: auto;' name='target_domain_uuid' id='target_domain_uuid'>\n";
if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) { echo " <option value=''>Select Domain...</option>\n";
echo " <input type='button' class='btn' id='button_copy' alt='".$text['button-copy']."' onclick='show_domains();' value='".$text['button-copy']."'>"; foreach ($_SESSION['domains'] as $domain) {
echo " <input type='button' class='btn' style='display: none;' id='button_back' alt='".$text['button-back']."' onclick='hide_domains();' value='".$text['button-back']."'> "; echo " <option value='".escape($domain["domain_uuid"])."'>".escape($domain["domain_name"])."</option>\n";
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"; echo " </select>\n";
foreach ($_SESSION['domains'] as $domain) { 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 " <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();\">";
} }
if (permission_exists('default_setting_edit')) { if (permission_exists('default_setting_edit') && $default_settings) {
echo " <input type='button' class='btn' alt='".$text['button-toggle']."' onclick=\"$('#frm').attr('action', 'default_setting_toggle.php').submit();\" value='".$text['button-toggle']."'>\n"; 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();\">"; if (permission_exists('default_setting_delete') && $default_settings) {
echo " </td>\n"; 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; }"]);
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 ";
} }
else { echo "<form id='form_search' class='inline' method='get'>\n";
$sql .= order_by($order_by, $order); 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); echo " </form>\n";
$database = new database; echo " </div>\n";
$result = $database->select($sql, null, 'all'); echo " <div style='clear: both;'></div>\n";
unset($sql); echo "</div>\n";
$c = 0; echo $text['description-default_settings']."\n";
$row_style["0"] = "row_style0"; echo "<br /><br />\n";
$row_style["1"] = "row_style1";
if (is_array($result) && sizeof($result) != 0) { echo "<form id='form_list' method='post'>\n";
$previous_category = ''; echo "<input type='hidden' id='action' name='action' value=''>\n";
foreach($result as $row) { echo "<input type='hidden' name='search' value=\"".escape($search)."\">\n";
if ($previous_category != $row['default_setting_category']) { echo "<table class='list'>\n";
$c = 0; if (is_array($default_settings) && @sizeof($default_settings) != 0) {
if ($previous_category != '') { $x = 0;
echo "</table>"; foreach ($default_settings as $row) {
echo "</div>"; $default_setting_category = $row['default_setting_category'];
} $default_setting_category = strtolower($default_setting_category);
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 "<table class='tr_hover' style='margin-top: 5px;' width='100%' border='0' cellpadding='0' cellspacing='0'>\n"; $label_default_setting_category = $row['default_setting_category'];
echo "<tr>\n"; switch (strtolower($label_default_setting_category)) {
if ( (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) || permission_exists('default_setting_delete') ) { case "api" : $label_default_setting_category = "API"; break;
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>"; 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);
}
if ($previous_default_setting_category !== $row['default_setting_category']) {
echo " <tr>";
echo " <td align='left' colspan='999'>&nbsp;</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>"; if ($_GET['show'] == 'all' && permission_exists('default_setting_all')) {
echo "<th width='7%'>".$text['label-type']."</th>"; echo th_order_by('domain_name', $text['label-domain'], $order_by, $order);
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 (permission_exists('default_setting_delete')) { echo th_order_by('default_setting_subcategory', $text['label-default_setting_subcategory'], $order_by, $order);
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_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'>&nbsp;</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 "<tr class='list-row' href='".$list_row_url."'>\n";
echo $row['default_setting_subcategory']; 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"; if ($_GET['show'] == 'all' && permission_exists('default_setting_all')) {
echo " <td valign='top' class='".$row_style[$c]."'>".escape($row['default_setting_name'])."&nbsp;</td>\n"; echo " <td>".escape($_SESSION['domains'][$row['domain_uuid']]['domain_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"; }
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'])."&nbsp;</td>\n"; echo " <td class='description overflow hide-sm-dn'>".escape($row['default_setting_description'])."</td>\n";
echo " <td class='list_control_icons' nowrap='nowrap'>"; if (permission_exists('default_setting_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
if (permission_exists('default_setting_edit')) { echo " <td class='action-button'>\n";
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>"; echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
echo " </td>\n";
} }
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>\n";
echo "</tr>\n"; echo "</tr>\n";
//populate search/filter arrays //set the previous category
$array_categories[] = $row['default_setting_category']; $previous_default_setting_category = $row['default_setting_category'];
$array_categories_displayed[] = str_replace("_", " ", $row['default_setting_category']); $x++;
$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";
} }
unset($default_settings);
}
//setting search script echo "</table>\n";
echo "<script>\n"; echo "<br />\n";
echo " var categories = new Array(\"".implode('","', $array_categories)."\");\n"; echo "<div align='center'>".$paging_controls."</div>\n";
echo " var categories_displayed = new Array(\"".implode('","', $array_categories_displayed)."\");\n"; echo "<input type='hidden' name='".$token['name']."' value='".$token['hash']."'>\n";
echo " var setting_uuids = new Array(\"".implode('","', $array_setting_uuids)."\");\n"; echo "</form>\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";
//include the footer //include the footer
require_once "resources/footer.php"; require_once "resources/footer.php";