From 20d80aea5cd4ff84e24269acb3979823eb76387c Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 19 Dec 2019 08:46:22 -0700 Subject: [PATCH] Update default_settings.php --- core/default_settings/default_settings.php | 570 +++++++-------------- 1 file changed, 191 insertions(+), 379 deletions(-) diff --git a/core/default_settings/default_settings.php b/core/default_settings/default_settings.php index e1d1d60a86..0a559550ec 100644 --- a/core/default_settings/default_settings.php +++ b/core/default_settings/default_settings.php @@ -1,27 +1,27 @@ - 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 + Portions created by the Initial Developer are Copyright (C) 2008 - 2019 + the Initial Developer. All Rights Reserved. - Contributor(s): - Mark J Crane + Contributor(s): + Mark J Crane */ //includes @@ -42,160 +42,77 @@ $language = new text; $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']; +//get the http post data + if (is_array($_POST['default_settings'])) { + $action = $_POST['action']; + $search = $_POST['search']; + $default_settings = $_POST['default_settings']; + } - 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); - - 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; +//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); } - 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); + break; + case 'toggle': + if (permission_exists('default_setting_edit')) { + $obj = new default_settings; + $obj->toggle($default_settings); } - // set message - $_SESSION["message"] = $text['message-delete'].": ".sizeof($default_setting_uuids); - } - else { - // set message - message::add($text['message-delete_failed'], 'negative'); - } - - header("Location: default_settings.php".(($search != '') ? "?search=".escape($search) : null)); - exit; + break; + case 'delete': + if (permission_exists('default_setting_delete')) { + $obj = new default_settings; + $obj->delete($default_settings); + } + break; } - } // post -//header and paging - require_once "resources/header.php"; - $document['title'] = $text['title-default_settings']; - require_once "resources/paging.php"; + header('Location: default_settings.php'.($search != '' ? '?search='.urlencode($search) : null)); + exit; + } -//get variables used to control the order +//get order and order by $order_by = $_GET["order_by"]; $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 if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) { echo ""; } -//prevent enter key submit on search field - echo "\n"; +//include the header + require_once "resources/header.php"; //show the content - echo "
"; - echo ""; - - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
"; - echo " ".$text['header-default_settings'].""; - echo "

"; - echo " ".$text['description-default_settings']; - echo "
"; - echo " \n"; - if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) { - echo " "; - echo " "; - echo " "; + echo " "; + echo " \n"; + echo " "; } - echo " \n"; - echo " "; } - if (permission_exists('default_setting_edit')) { - echo " \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 " "; - echo "
\n"; - echo "
"; - -//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 "\n"; + echo ""; + 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 "".$paging_controls_mini."\n"; } - $sql .= limit_offset($rows_per_page, $offset); - $database = new database; - $result = $database->select($sql, null, 'all'); - unset($sql); + echo "
\n"; + echo " \n"; + echo "
\n"; + echo "\n"; - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; + echo $text['description-default_settings']."\n"; + echo "

\n"; - if (is_array($result) && sizeof($result) != 0) { - $previous_category = ''; - foreach($result as $row) { + echo "
\n"; + echo "\n"; + echo "\n"; - if ($previous_category != $row['default_setting_category']) { - $c = 0; - if ($previous_category != '') { - echo ""; - echo ""; - } - echo "
"; - echo ""; - echo ""; - 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 "\n"; + echo "\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); - echo "
\n"; - echo "\n"; - if ( (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) || permission_exists('default_setting_delete') ) { - echo ""; + $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); + } + + if ($previous_default_setting_category !== $row['default_setting_category']) { + echo " "; + echo " \n"; + echo " "; + echo " "; + echo " \n"; + echo " "; + echo "\n"; + if (permission_exists('default_setting_add') || permission_exists('default_setting_edit') || permission_exists('default_setting_delete')) { + echo " \n"; } - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo "\n"; + if (permission_exists('default_setting_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + echo " \n"; } - echo "\n"; echo "\n"; - } - $tr_link = (permission_exists('default_setting_edit')) ? "href=\"default_setting_edit.php?id=".urlencode($row['default_setting_uuid'])."\"" : null; - echo "\n"; - if ( (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) || permission_exists("default_setting_delete") ) { - echo " \n"; - $subcat_ids[strtolower($row['default_setting_category'])][] = 'checkbox_'.escape($row['default_setting_uuid']); } - echo " \n"; + if (permission_exists('default_setting_add') || permission_exists('default_setting_edit') || permission_exists('default_setting_delete')) { + echo " \n"; } - echo " \n"; - echo " \n"; - echo " \n"; + } + echo " \n"; + echo " \n"; + //echo " \n"; + echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + if (permission_exists('default_setting_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + echo " \n"; } - if (permission_exists('default_setting_delete')) { - echo "$v_link_label_delete"; - } - echo " \n"; echo "\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 "
 
".escape($label_default_setting_category)."
\n"; + echo " \n"; + echo " ".$text['label-subcategory']."".$text['label-type']."".$text['label-value']."".$text['label-enabled']."".$text['label-description'].""; - if (permission_exists('default_setting_add')) { - echo "".$v_link_label_add.""; + 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 "".$v_link_label_delete.""; + 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 " ".$text['label-default_setting_description']." 
"; if (permission_exists('default_setting_edit')) { - echo "".escape($row['default_setting_subcategory']).""; + $list_row_url = "default_setting_edit.php?id=".urlencode($row['default_setting_uuid']); } - else { - echo $row['default_setting_subcategory']; + echo "
\n"; + echo " \n"; + echo " \n"; + echo " ".escape($row['default_setting_name'])." \n"; + if ($_GET['show'] == 'all' && permission_exists('default_setting_all')) { + echo " ".escape($_SESSION['domains'][$row['domain_uuid']]['domain_name'])."".escape($row['default_setting_subcategory'])."".escape($row['default_setting_name'])."".escape($row['default_setting_value'])."\n"; $category = $row['default_setting_category']; $subcategory = $row['default_setting_subcategory']; $name = $row['default_setting_name']; @@ -428,116 +320,36 @@ echo " ".escape($row['default_setting_value'])."\n"; } echo " \n"; + echo $text['label-'.$row['default_setting_enabled']]; } echo " ".escape($row['default_setting_description'])." "; - if (permission_exists('default_setting_edit')) { - echo "$v_link_label_edit"; + echo " ".escape($row['default_setting_description'])."\n"; + echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]); + echo "
"; - echo "
"; - - unset($sql, $result, $row_count); - } //end if results - - echo "
"; - echo $paging_controls; - echo "


"; - - echo "
"; - - //check or uncheck all category checkboxes - if (sizeof($subcat_ids) > 0) { - echo "\n"; + //set the previous category + $previous_default_setting_category = $row['default_setting_category']; + $x++; } + unset($default_settings); + } - //setting search script - echo "\n"; + echo "\n"; + echo "
\n"; + echo "
".$paging_controls."
\n"; + echo "\n"; + echo "\n"; //include the footer require_once "resources/footer.php";