Portions created by the Initial Developer are Copyright (C) 2008-2019 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ //includes require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; //check permissions if (permission_exists('user_setting_view')) { //access granted } else { echo "access denied"; exit; } //toggle setting enabled if ( is_uuid($_REQUEST["user_id"]) && is_array($_REQUEST["id"]) && sizeof($_REQUEST["id"]) == 1 && ($_REQUEST['enabled'] === 'true' || $_REQUEST['enabled'] === 'false') ) { //get input $user_setting_uuids = $_REQUEST["id"]; $enabled = $_REQUEST['enabled']; //update setting $array['user_settings'][0]['user_setting_uuid'] = $user_setting_uuids[0]; $array['user_settings'][0]['user_setting_enabled'] = $enabled; $database = new database; $database->app_name = 'user_settings'; $database->app_uuid = '3a3337f7-78d1-23e3-0cfd-f14499b8ed97'; $database->save($array); unset($array); //redirect message::add($text['message-update']); header("Location: /core/users/user_edit.php?id=".$_REQUEST["user_id"]); exit; } //include the paging require_once "resources/paging.php"; //get the variables $order_by = $_GET["order_by"]; $order = $_GET["order"]; //show the content echo "
"; echo ""; //common sql where $sql_where = "where user_uuid = :user_uuid "; $sql_where .= "and not ( "; $sql_where .= "(user_setting_category = 'domain' and user_setting_subcategory = 'language') "; $sql_where .= "or (user_setting_category = 'domain' and user_setting_subcategory = 'time_zone') "; $sql_where .= "or (user_setting_category = 'message' and user_setting_subcategory = 'key') "; $sql_where .= ") "; $parameters['user_uuid'] = $user_uuid; //prepare to page the results $sql = "select count(*) from v_user_settings "; $sql .= $sql_where; $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); unset($sql); //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 100; $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_user_settings "; $sql .= $sql_where; if ($order_by != '') { $sql .= "order by user_setting_category, user_setting_subcategory, user_setting_order asc "; } else { $sql .= order_by($order_by, $order); } $sql .= limit_offset($rows_per_page, $offset); $database = new database; $user_settings = $database->select($sql, $parameters, 'all'); unset($sql, $sql_where, $parameters); $c = 0; $row_style["0"] = "row_style0"; $row_style["1"] = "row_style1"; //show the content echo "\n"; if (is_array($user_settings) && sizeof($user_settings) != 0) { $previous_category = ''; foreach($user_settings as $row) { if ($previous_category != $row['user_setting_category']) { $c = 0; echo "\n"; echo " \n"; echo "\n"; echo "\n"; if ((permission_exists("domain_select") && permission_exists("user_setting_add") && count($_SESSION['domains']) > 1) || permission_exists('user_setting_delete')) { echo ""; } echo ""; echo ""; echo ""; echo ""; echo ""; echo "\n"; echo "\n"; } $tr_link = (permission_exists('user_setting_edit')) ? " href='/core/user_settings/user_setting_edit.php?user_uuid=".$row['user_uuid']."&id=".$row['user_setting_uuid']."'" : null; echo "\n"; if ( (permission_exists("domain_select") && permission_exists("user_setting_add") && count($_SESSION['domains']) > 1) || permission_exists("user_setting_delete") ) { echo " \n"; $subcat_ids[strtolower($row['user_setting_category'])][] = 'checkbox_'.$row['user_setting_uuid']; } echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "\n"; $previous_category = $row['user_setting_category']; $c = $c ? 0 : 1; } } unset($sql); echo "\n"; echo "\n"; echo "\n"; echo "
\n"; if ($previous_category != '') { echo "

\n"; } echo " \n"; if (strtolower($row['user_setting_category']) == "cdr") { echo " CDR"; } elseif (strtolower($row['user_setting_category']) == "ldap") { echo " LDAP"; } else { echo " ".ucfirst($row['user_setting_category']); } echo " \n"; echo "
".$text['label-subcategory']."".$text['label-type']."".$text['label-value']."".$text['label-enabled']."".$text['label-description'].""; if (permission_exists('user_setting_add')) { echo "".$v_link_label_add.""; } if (permission_exists('user_setting_delete')) { echo "".$v_link_label_delete.""; } echo "
"; if (permission_exists('user_setting_edit')) { echo "".$row['user_setting_subcategory'].""; } else { echo $row['user_setting_subcategory']; } echo " ".$row['user_setting_name']." \n"; $category = $row['user_setting_category']; $subcategory = $row['user_setting_subcategory']; $name = $row['user_setting_name']; if ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) { $sql = "select * from v_menus "; $sql .= "where menu_uuid = :menu_uuid "; $parameters['menu_uuid'] = $row['user_setting_value']; $database = new database; $sub_result = $database->select($sql, $parameters, 'all'); if (is_array($sub_result) && sizeof($sub_result) != 0) { foreach ($sub_result as &$sub_row) { echo $sub_row["menu_language"]." - ".$sub_row["menu_name"]."\n"; } } unset($sql, $parameters, $sub_result, $sub_row); } elseif ($category == "domain" && $subcategory == "template" && $name == "name" ) { echo " ".ucwords($row['user_setting_value']); } else if ($category == "domain" && $subcategory == "time_format" && $name == "text" ) { switch ($row['user_setting_value']) { case '12h': echo $text['label-12-hour']; break; case '24h': echo $text['label-24-hour']; break; } } else if ( ( $category == "theme" && $subcategory == "menu_main_icons" && $name == "boolean" ) || ( $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['user_setting_value']]; } else if ($subcategory == 'password' || substr_count($subcategory, '_password') > 0 || $category == "login" && $subcategory == "password_reset_key" && $name == "text") { echo " ".str_repeat('*', strlen($row['user_setting_value'])); } else { if ($category == "theme" && substr_count($subcategory, "_color") > 0 && ($name == "text" || $name == 'array')) { echo " ".(img_spacer('15px', '15px', 'background: '.$row['user_setting_value'].'; margin-right: 4px; vertical-align: middle; border: 1px solid '.(color_adjust($row['user_setting_value'], -0.18)).'; padding: -1px;')); echo "".htmlspecialchars($row['user_setting_value'])."\n"; } else { echo " ".htmlspecialchars($row['user_setting_value'])."\n"; } } echo " ".escape($row['user_setting_description'])." "; if (permission_exists('user_setting_edit')) { echo "$v_link_label_edit"; } if (permission_exists('user_setting_delete')) { echo "$v_link_label_delete"; } echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
 $paging_controls"; if (permission_exists('user_setting_add')) { echo "$v_link_label_add"; } if (permission_exists('user_setting_delete') && is_array($user_settings)) { echo "".$v_link_label_delete.""; } echo "
\n"; echo "
"; echo "
"; echo "

"; unset($user_settings); // check or uncheck all category checkboxes if (is_array($subcat_ids) && sizeof($subcat_ids) > 0) { echo "\n"; } ?>