Portions created by the Initial Developer are Copyright (C) 2021-2024 the Initial Developer. All Rights Reserved. */ //includes files require_once dirname(__DIR__, 2) . "/resources/require.php"; require_once "resources/check_auth.php"; //check permissions if (permission_exists('dashboard_add') || permission_exists('dashboard_edit')) { //access granted } else { echo "access denied"; exit; } //initialize the database $database = new database; //add multi-lingual support $language = new text; $text = $language->get(); //set the defaults $dashboard_name = ''; $dashboard_path = 'dashboard/icon'; //$dashboard_path = ''; $dashboard_icon = ''; $dashboard_url = ''; $dashboard_target = 'self'; $dashboard_width = ''; $dashboard_height = ''; $dashboard_content = ''; $dashboard_content_text_align = ''; $dashboard_content_details = ''; $dashboard_label_enabled = 'true'; $dashboard_label_text_color = ''; $dashboard_label_background_color = ''; $dashboard_number_text_color = ''; $dashboard_groups = []; $dashboard_column_span = ''; $dashboard_row_span = ''; $dashboard_details_state = ''; $dashboard_parent_uuid = ''; $dashboard_order = ''; $dashboard_enabled = 'true'; $dashboard_description = ''; $dashboard_uuid = ''; //action add or update if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) { $action = "update"; $dashboard_uuid = $_REQUEST["id"]; $id = $_REQUEST["id"]; } else { $action = "add"; } //get http post variables and set them to php variables if (!empty($_POST)) { $dashboard_name = $_POST["dashboard_name"] ?? ''; $dashboard_path = $_POST["dashboard_path"] ?? ''; $dashboard_icon = $_POST["dashboard_icon"] ?? ''; $dashboard_url = $_POST["dashboard_url"] ?? ''; $dashboard_target = $_POST["dashboard_target"] ?? 'self'; $dashboard_width = $_POST["dashboard_width"] ?? ''; $dashboard_height = $_POST["dashboard_height"] ?? ''; $dashboard_content = $_POST["dashboard_content"] ?? ''; $dashboard_content_text_align = $_POST["dashboard_content_text_align"] ?? ''; $dashboard_content_details = $_POST["dashboard_content_details"] ?? ''; $dashboard_groups = $_POST["dashboard_groups"] ?? ''; $dashboard_chart_type = $_POST["dashboard_chart_type"] ?? ''; $dashboard_label_enabled = $_POST["dashboard_label_enabled"] ?? 'false'; $dashboard_label_text_color = $_POST["dashboard_label_text_color"] ?? ''; $dashboard_label_text_color_hover = $_POST["dashboard_label_text_color_hover"] ?? ''; $dashboard_label_background_color = $_POST["dashboard_label_background_color"] ?? ''; $dashboard_label_background_color_hover = $_POST["dashboard_label_background_color_hover"] ?? ''; $dashboard_number_text_color = $_POST["dashboard_number_text_color"] ?? ''; $dashboard_number_text_color_hover = $_POST["dashboard_number_text_color_hover"] ?? ''; $dashboard_background_color = $_POST["dashboard_background_color"] ?? ''; $dashboard_background_color_hover = $_POST["dashboard_background_color_hover"] ?? ''; $dashboard_detail_background_color = $_POST["dashboard_detail_background_color"] ?? ''; $dashboard_background_gradient_style = $_POST["dashboard_background_gradient_style"] ?? 'mirror'; $dashboard_background_gradient_angle = $_POST["dashboard_background_gradient_angle"] ?? '90'; $dashboard_column_span = $_POST["dashboard_column_span"] ?? ''; $dashboard_row_span = $_POST["dashboard_row_span"] ?? ''; $dashboard_details_state = $_POST["dashboard_details_state"] ?? ''; $dashboard_parent_uuid = $_POST["dashboard_parent_uuid"] ?? ''; $dashboard_order = $_POST["dashboard_order"] ?? ''; $dashboard_enabled = $_POST["dashboard_enabled"] ?? 'false'; $dashboard_description = $_POST["dashboard_description"] ?? ''; //define the regex patterns $uuid_pattern = '/[^-A-Fa-f0-9]/'; $number_pattern = '/[^-A-Za-z0-9()*#]/'; $text_pattern = '/[^a-zA-Z0-9 _\-\/.\?:\=#\n]/'; //sanitize the data $dashboard_name = trim(preg_replace('/[^a-zA-Z0-9 _\-\/.#]/', '', $dashboard_name)); $dashboard_path = preg_replace($text_pattern, '', strtolower($dashboard_path)); $dashboard_icon = preg_replace($text_pattern, '', $dashboard_icon); $dashboard_url = trim(preg_replace($text_pattern, '', $dashboard_url)); $dashboard_target = trim(preg_replace($text_pattern, '', $dashboard_target)); $dashboard_width = trim(preg_replace($text_pattern, '', $dashboard_width)); $dashboard_height = trim(preg_replace($text_pattern, '', $dashboard_height)); $dashboard_content = trim(preg_replace($text_pattern, '', $dashboard_content)); $dashboard_content_text_align = trim(preg_replace($text_pattern, '', $dashboard_content_text_align)); $dashboard_content_details = trim(preg_replace($text_pattern, '', $dashboard_content_details)); $dashboard_chart_type = preg_replace($text_pattern, '', $dashboard_chart_type); $dashboard_label_enabled = preg_replace($text_pattern, '', $dashboard_label_enabled); $dashboard_label_text_color = preg_replace($text_pattern, '', $dashboard_label_text_color); $dashboard_label_text_color_hover = preg_replace($text_pattern, '', $dashboard_label_text_color_hover); $dashboard_label_background_color = preg_replace($text_pattern, '', $dashboard_label_background_color); $dashboard_label_background_color_hover = preg_replace($text_pattern, '', $dashboard_label_background_color_hover); $dashboard_number_text_color = preg_replace($text_pattern, '', $dashboard_number_text_color); $dashboard_number_text_color_hover = preg_replace($text_pattern, '', $dashboard_number_text_color_hover); $dashboard_background_color = preg_replace($text_pattern, '', $dashboard_background_color); $dashboard_background_color_hover = preg_replace($text_pattern, '', $dashboard_background_color_hover); $dashboard_detail_background_color = preg_replace($text_pattern, '', $dashboard_detail_background_color); $dashboard_background_gradient_style = preg_replace($text_pattern, '', $dashboard_background_gradient_style); $dashboard_background_gradient_angle = preg_replace($text_pattern, '', $dashboard_background_gradient_angle); $dashboard_column_span = preg_replace($number_pattern, '', $dashboard_column_span); $dashboard_row_span = preg_replace($number_pattern, '', $dashboard_row_span); $dashboard_details_state = preg_replace($text_pattern, '', $dashboard_details_state); $dashboard_parent_uuid = preg_replace($uuid_pattern, '', $dashboard_parent_uuid); $dashboard_order = preg_replace($number_pattern, '', $dashboard_order); $dashboard_enabled = preg_replace($text_pattern, '', $dashboard_enabled); $dashboard_description = preg_replace($text_pattern, '', $dashboard_description); } //delete the group from the sub table if (isset($_REQUEST["a"]) && $_REQUEST["a"] == "delete" && permission_exists("dashboard_group_delete") && is_uuid($_GET["dashboard_group_uuid"]) && is_uuid($_GET["dashboard_uuid"])) { //get the uuid $dashboard_group_uuid = $_GET["dashboard_group_uuid"]; $dashboard_uuid = $_GET["dashboard_uuid"]; //delete the group from the users $array['dashboard_groups'][0]['dashboard_group_uuid'] = $dashboard_group_uuid; $database->app_name = 'dashboard'; $database->app_uuid = '55533bef-4f04-434a-92af-999c1e9927f7'; $database->delete($array); unset($array); //redirect the user message::add($text['message-delete']); header("Location: dashboard_edit.php?id=".urlencode($dashboard_uuid)); return; } //process the user data and save it to the database if (count($_POST) > 0 && empty($_POST["persistformvar"])) { //validate the token $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { message::add($text['message-invalid_token'],'negative'); header('Location: dashboard.php'); exit; } //process the http post data by submitted action if (!empty($_POST['action'])) { //prepare the array(s) //send the array to the database class switch ($_POST['action']) { case 'copy': if (permission_exists('dashboard_add')) { $database->copy($array); } break; case 'delete': if (permission_exists('dashboard_delete')) { $database->delete($array); } break; case 'toggle': if (permission_exists('dashboard_update')) { $database->toggle($array); } break; } //redirect the user if (in_array($_POST['action'], array('copy', 'delete', 'toggle'))) { header('Location: dashboard_edit.php?id='.$id); exit; } } //check for all required data $msg = ''; //if (empty($dashboard_name)) { $msg .= $text['message-required']." ".$text['label-dashboard_name']."
\n"; } //if (empty($dashboard_path)) { $msg .= $text['message-required']." ".$text['label-dashboard_path']."
\n"; } //if (empty($dashboard_groups)) { $msg .= $text['message-required']." ".$text['label-dashboard_groups']."
\n"; } //if (empty($dashboard_order)) { $msg .= $text['message-required']." ".$text['label-dashboard_order']."
\n"; } //if (empty($dashboard_enabled)) { $msg .= $text['message-required']." ".$text['label-dashboard_enabled']."
\n"; } //if (empty($dashboard_description)) { $msg .= $text['message-required']." ".$text['label-dashboard_description']."
\n"; } if (!empty($msg) && empty($_POST["persistformvar"])) { require_once "resources/header.php"; require_once "resources/persist_form_var.php"; echo "
\n"; echo "
\n"; echo $msg."
"; echo "
\n"; persistformvar($_POST); echo "
\n"; require_once "resources/footer.php"; return; } //add the dashboard_uuid if (!is_uuid($_POST["dashboard_uuid"])) { $dashboard_uuid = uuid(); } //remove empty values and convert to json if (!empty($dashboard_background_color)) { if (is_array($dashboard_background_color)) { $dashboard_background_color = array_filter($dashboard_background_color); if (count($dashboard_background_color) > 0) { $dashboard_background_color = json_encode($dashboard_background_color); } else { $dashboard_background_color = ''; } } } if (!empty($dashboard_background_color_hover)) { if (is_array($dashboard_background_color_hover)) { $dashboard_background_color_hover = array_filter($dashboard_background_color_hover); if (count($dashboard_background_color_hover) > 0) { $dashboard_background_color_hover = json_encode($dashboard_background_color_hover); } else { $dashboard_background_color_hover = ''; } } } if (!empty($dashboard_detail_background_color)) { if (is_array($dashboard_detail_background_color)) { $dashboard_detail_background_color = array_filter($dashboard_detail_background_color); if (count($dashboard_detail_background_color) > 0) { $dashboard_detail_background_color = json_encode($dashboard_detail_background_color); } else { $dashboard_detail_background_color = ''; } } } //prepare the array $array['dashboard'][0]['dashboard_uuid'] = $dashboard_uuid; $array['dashboard'][0]['dashboard_name'] = $dashboard_name; $array['dashboard'][0]['dashboard_path'] = $dashboard_path; $array['dashboard'][0]['dashboard_icon'] = $dashboard_icon; $array['dashboard'][0]['dashboard_url'] = $dashboard_url; $array['dashboard'][0]['dashboard_width'] = $dashboard_width; $array['dashboard'][0]['dashboard_height'] = $dashboard_height; $array['dashboard'][0]['dashboard_target'] = $dashboard_target; $array['dashboard'][0]['dashboard_content'] = $dashboard_content; $array['dashboard'][0]['dashboard_content_text_align'] = $dashboard_content_text_align; $array['dashboard'][0]['dashboard_content_details'] = $dashboard_content_details; $array['dashboard'][0]['dashboard_chart_type'] = $dashboard_chart_type; $array['dashboard'][0]['dashboard_label_enabled'] = $dashboard_label_enabled; $array['dashboard'][0]['dashboard_label_text_color'] = $dashboard_label_text_color; $array['dashboard'][0]['dashboard_label_text_color_hover'] = $dashboard_label_text_color_hover; $array['dashboard'][0]['dashboard_label_background_color'] = $dashboard_label_background_color; $array['dashboard'][0]['dashboard_label_background_color_hover'] = $dashboard_label_background_color_hover; $array['dashboard'][0]['dashboard_number_text_color'] = $dashboard_number_text_color; $array['dashboard'][0]['dashboard_number_text_color_hover'] = $dashboard_number_text_color_hover; $array['dashboard'][0]['dashboard_background_color'] = $dashboard_background_color; $array['dashboard'][0]['dashboard_background_color_hover'] = $dashboard_background_color_hover; $array['dashboard'][0]['dashboard_detail_background_color'] = $dashboard_detail_background_color; $array['dashboard'][0]['dashboard_background_gradient_style'] = $dashboard_background_gradient_style; $array['dashboard'][0]['dashboard_background_gradient_angle'] = $dashboard_background_gradient_angle; $array['dashboard'][0]['dashboard_column_span'] = $dashboard_column_span; $array['dashboard'][0]['dashboard_row_span'] = $dashboard_row_span; $array['dashboard'][0]['dashboard_details_state'] = $dashboard_details_state; $array['dashboard'][0]['dashboard_parent_uuid'] = $dashboard_parent_uuid; $array['dashboard'][0]['dashboard_order'] = $dashboard_order; $array['dashboard'][0]['dashboard_enabled'] = $dashboard_enabled; $array['dashboard'][0]['dashboard_description'] = $dashboard_description; $y = 0; if (is_array($dashboard_groups)) { foreach ($dashboard_groups as $row) { if (isset($row['group_uuid']) && is_uuid($row['group_uuid'])) { $array['dashboard'][0]['dashboard_groups'][$y]['dashboard_group_uuid'] = uuid(); $array['dashboard'][0]['dashboard_groups'][$y]['group_uuid'] = $row["group_uuid"]; $y++; } } } //save the data $database->app_name = 'dashboard'; $database->app_uuid = '55533bef-4f04-434a-92af-999c1e9927f7'; $result = $database->save($array); //view_array($result); //redirect the user if (isset($action)) { if ($action == "add") { $_SESSION["message"] = $text['message-add']; } if ($action == "update") { $_SESSION["message"] = $text['message-update']; } //header('Location: dashboard.php'); header('Location: dashboard_edit.php?id='.urlencode($dashboard_uuid)); return; } } //pre-populate the form if (empty($_POST["persistformvar"])) { $sql = "select "; $sql .= " dashboard_uuid, "; $sql .= " dashboard_name, "; $sql .= " dashboard_path, "; $sql .= " dashboard_icon, "; $sql .= " dashboard_url, "; $sql .= " dashboard_width, "; $sql .= " dashboard_height, "; $sql .= " dashboard_target, "; $sql .= " dashboard_content, "; $sql .= " dashboard_content_text_align, "; $sql .= " dashboard_content_details, "; $sql .= " dashboard_chart_type, "; $sql .= " cast(dashboard_label_enabled as text), "; $sql .= " dashboard_label_text_color, "; $sql .= " dashboard_label_text_color_hover, "; $sql .= " dashboard_label_background_color, "; $sql .= " dashboard_label_background_color_hover, "; $sql .= " dashboard_number_text_color, "; $sql .= " dashboard_number_text_color_hover, "; $sql .= " dashboard_background_color, "; $sql .= " dashboard_background_color_hover, "; $sql .= " dashboard_detail_background_color, "; $sql .= " dashboard_background_gradient_style, "; $sql .= " dashboard_background_gradient_angle, "; $sql .= " dashboard_column_span, "; $sql .= " dashboard_row_span, "; $sql .= " dashboard_details_state, "; $sql .= " dashboard_parent_uuid, "; $sql .= " dashboard_order, "; $sql .= " dashboard_enabled, "; $sql .= " dashboard_description "; $sql .= "from v_dashboard "; $sql .= "where dashboard_uuid = :dashboard_uuid "; $parameters['dashboard_uuid'] = $dashboard_uuid; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $dashboard_name = $row["dashboard_name"]; $dashboard_path = $row["dashboard_path"]; $dashboard_icon = $row["dashboard_icon"]; $dashboard_url = $row["dashboard_url"]; $dashboard_width = $row["dashboard_width"]; $dashboard_height = $row["dashboard_height"]; $dashboard_target = $row["dashboard_target"]; $dashboard_content = $row["dashboard_content"]; $dashboard_content_text_align = $row["dashboard_content_text_align"]; $dashboard_content_details = $row["dashboard_content_details"]; $dashboard_chart_type = $row["dashboard_chart_type"]; $dashboard_label_enabled = $row["dashboard_label_enabled"]; $dashboard_label_text_color = $row["dashboard_label_text_color"]; $dashboard_label_text_color_hover = $row["dashboard_label_text_color_hover"]; $dashboard_label_background_color = $row["dashboard_label_background_color"]; $dashboard_label_background_color_hover = $row["dashboard_label_background_color_hover"]; $dashboard_number_text_color = $row["dashboard_number_text_color"]; $dashboard_number_text_color_hover = $row["dashboard_number_text_color_hover"]; $dashboard_background_color = $row["dashboard_background_color"]; $dashboard_background_color_hover = $row["dashboard_background_color_hover"]; $dashboard_detail_background_color = $row["dashboard_detail_background_color"]; $dashboard_background_gradient_style = $row["dashboard_background_gradient_style"]; $dashboard_background_gradient_angle = $row["dashboard_background_gradient_angle"]; $dashboard_column_span = $row["dashboard_column_span"]; $dashboard_row_span = $row["dashboard_row_span"]; $dashboard_details_state = $row["dashboard_details_state"]; $dashboard_parent_uuid = $row["dashboard_parent_uuid"]; $dashboard_order = $row["dashboard_order"]; $dashboard_enabled = $row["dashboard_enabled"] ?? 'false'; $dashboard_description = $row["dashboard_description"]; } unset($sql, $parameters, $row); } //get the child data if (!empty($dashboard_uuid) && is_uuid($dashboard_uuid)) { $sql = "select "; $sql .= " dashboard_group_uuid, "; $sql .= " group_uuid "; $sql .= "from v_dashboard_groups "; $sql .= "where dashboard_uuid = :dashboard_uuid "; $parameters['dashboard_uuid'] = $dashboard_uuid; $dashboard_groups = $database->select($sql, $parameters, 'all'); unset ($sql, $parameters); } //add the $dashboard_group_uuid if (empty($dashboard_group_uuid) || !empty($dashboard_group_uuid) && !is_uuid($dashboard_group_uuid)) { $dashboard_group_uuid = uuid(); } //convert the json to an array if (!empty($dashboard_background_color) && is_json($dashboard_background_color)) { $dashboard_background_color = json_decode($dashboard_background_color, true); } if (!empty($dashboard_background_color_hover) && is_json($dashboard_background_color_hover)) { $dashboard_background_color_hover = json_decode($dashboard_background_color_hover, true); } if (!empty($dashboard_detail_background_color) && is_json($dashboard_detail_background_color)) { $dashboard_detail_background_color = json_decode($dashboard_detail_background_color, true); } //add a default value to $dashboard_details_state if (!isset($dashboard_details_state)) { $dashboard_details_state = "expanded"; } //add a default value to $dashboard_row_span if (empty($dashboard_row_span)) { $dashboard_row_span = 2; } //add an empty row $x = is_array($dashboard_groups) ? count($dashboard_groups) : 0; $dashboard_groups[$x]['dashboard_uuid'] = $dashboard_uuid; $dashboard_groups[$x]['dashboard_group_uuid'] = uuid(); $dashboard_groups[$x]['group_uuid'] = ''; //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); //show the header $document['title'] = $text['title-dashboard']; require_once "resources/header.php"; //get the child groups $sql = "SELECT * FROM v_dashboard_groups as x, v_groups as g "; $sql .= "WHERE x.dashboard_uuid = :dashboard_uuid "; $sql .= "AND x.group_uuid = g.group_uuid "; $parameters['dashboard_uuid'] = $dashboard_uuid ?? ''; $dashboard_groups = $database->select($sql, $parameters, 'all'); unset ($sql, $parameters); //get the groups $sql = "SELECT group_uuid, group_name FROM v_groups "; $sql .= "WHERE (domain_uuid = :domain_uuid or domain_uuid is null)"; $sql .= "ORDER by group_name asc "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $groups = $database->execute($sql, $parameters, 'all'); unset ($sql, $parameters); //get the dashboards $sql = "SELECT dashboard_uuid, dashboard_name FROM v_dashboard "; $sql .= "WHERE dashboard_parent_uuid is null "; $sql .= "ORDER by dashboard_order, dashboard_name asc "; $parameters = null; $dashboard_parents = $database->execute($sql, $parameters, 'all'); unset ($sql, $parameters); //set the assigned_groups array if (is_array($dashboard_groups) && sizeof($dashboard_groups) != 0) { $assigned_groups = array(); foreach ($dashboard_groups as $field) { if (!empty($field['group_name'])) { if (is_uuid($field['group_uuid'])) { $assigned_groups[] = $field['group_uuid']; } } } } //build the $dashboard_tools array $i = 0; foreach(glob($_SERVER["DOCUMENT_ROOT"].'/*/*/resources/dashboard/*.php') as $value) { //skip adding config.php to the array if (basename($value) === 'config.php') { continue; } //ensure the slashes are consistent $value = str_replace('\\', '/', $value); //prepare the key $key_replace[] = $_SERVER["DOCUMENT_ROOT"].'/core/'; $key_replace[] = $_SERVER["DOCUMENT_ROOT"].'/app/'; $key_replace[] = 'resources/dashboard/'; $key_replace[] = '.php'; $key = str_replace($key_replace, '', $value); //prepare the value $value_replace[] = $_SERVER["DOCUMENT_ROOT"].'/'; $value = str_replace($value_replace, '', $value); //build the array $dashboard_tools[$key] = $value; $i++; } //adjust form by type entered echo "\n"; //show the content echo "
\n"; echo "\n"; echo "
\n"; echo "
".$text['title-dashboard']."
\n"; echo "
\n"; echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','collapse'=>'hide-xs','style'=>'margin-right: 15px;','link'=>'dashboard.php']); if ($action == 'update') { if (permission_exists('dashboard_group_add')) { echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'id'=>'btn_copy','name'=>'btn_copy','style'=>'display: none;','onclick'=>"modal_open('modal-copy','btn_copy');"]); } if (permission_exists('dashboard_group_delete')) { echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'btn_delete','style'=>'display: none; margin-right: 15px;','onclick'=>"modal_open('modal-delete','btn_delete');"]); } } echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','collapse'=>'hide-xs']); echo "
\n"; echo "
\n"; echo "
\n"; //echo $text['title_description-dashboard']."\n"; //echo "

\n"; if (!empty($action) && $action == 'update') { if (permission_exists('dashboard_add')) { echo modal::create(['id'=>'modal-copy','type'=>'copy','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_copy','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'copy','onclick'=>"modal_close();"])]); } if (permission_exists('dashboard_delete')) { echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'delete','onclick'=>"modal_close();"])]); } } echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($action == "add" || $dashboard_path == "dashboard/icon" || $dashboard_chart_type == "icon") { echo " "; // ".(($dashboard_path != 'dashboard/icon' || $dashboard_chart_type == "icon") ? "style='display: none;'" : null)." echo " "; echo " "; echo " "; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } if ( $action == "add" || $dashboard_path == "dashboard/content" ) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } if ( $action == "add" || $dashboard_path == "dashboard/content" || $dashboard_path == "dashboard/icon" ) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ( $dashboard_path == "voicemails/voicemails" || $dashboard_path == "xml_cdr/missed_calls" || $dashboard_path == "xml_cdr/recent_calls" || $dashboard_path == "system/system_status" || $dashboard_path == "system/system_cpu_status" || $dashboard_path == "system/system_disk_usage" || $dashboard_path == "system/system_counts" || $dashboard_path == "switch/switch_status" || $dashboard_path == "domain_limits/domain_limits" || $dashboard_path == "call_forward/call_forward" || $dashboard_path == "ring_groups/ring_group_forward" || $dashboard_path == "registrations/registrations" || $dashboard_path == "domains/domains" || $dashboard_path == "extensions/caller_id" || $dashboard_path == "maintenance/maintenance" ) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($action == "add" || $dashboard_path == "dashboard/icon") { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($action == "add" || $dashboard_path == "dashboard/icon") { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($action == "add" || $dashboard_path == "dashboard/icon") { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($action == "add" || $dashboard_path == "dashboard/icon") { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; 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('dashboard_parent_uuid')) { echo " "; echo " "; echo " "; echo " "; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
\n"; echo $text['label-dashboard_name'] ?? ''; echo "\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_name']."\n"; echo "
\n"; echo " ".$text['label-dashboard_path']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_path']."\n"; echo "
".$text['label-icon'].""; if (file_exists($_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fa_icons.php')) { include $_SERVER["PROJECT_ROOT"].'/resources/fontawesome/fa_icons.php'; } if (!empty($font_awesome_icons) && is_array($font_awesome_icons)) { echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " \n"; echo " \n"; echo " "; echo " = 3) { delay_submit(this.value); } else if (this.value == '') { load_icons(); } else { $('#icons').html(''); }\" placeholder=\"".$text['label-search']."\">\n"; echo "
\n"; echo ""; echo "\n"; } else { echo " "; } echo "
\n"; echo " ".$text['label-link']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_url'] ?? ''; echo "\n"; echo "
\n"; echo " ".$text['label-width']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_width'] ?? ''; echo "\n"; echo "
\n"; echo " ".$text['label-height']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_height'] ?? ''; echo "\n"; echo "
\n"; echo " ".$text['label-content']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_content']."\n"; echo "
\n"; echo " ".$text['label-dashboard_content_text_align']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_content_text_align']."\n"; echo "
\n"; echo " ".$text['label-details']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_content_details']."\n"; echo "
\n"; echo " ".$text['label-dashboard_groups']."\n"; echo "\n"; if (is_array($dashboard_groups) && sizeof($dashboard_groups) != 0) { echo "\n"; foreach($dashboard_groups as $field) { if (!empty($field['group_name'])) { echo "\n"; echo " \n"; if (permission_exists('dashboard_group_delete') || if_group("superadmin")) { echo " \n"; } echo "\n"; } } echo "
\n"; echo $field['group_name'].((!empty($field['group_domain_uuid'])) ? "@".$_SESSION['domains'][$field['group_domain_uuid']]['domain_name'] : null); echo " \n"; echo "".$v_link_label_delete."\n"; echo "
\n"; } if (!empty($groups) && is_array($groups)) { if (!empty($dashboard_groups)) { echo "
\n"; } echo "\n"; echo button::create(['type'=>'submit','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add']]); } echo "
\n"; echo $text['description-dashboard_groups']."\n"; echo "
\n"; echo $text['label-dashboard_chart_type']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_chart_type']."\n"; echo "
\n"; echo $text['label-dashboard_label_enabled'] ?? ''; echo "\n"; echo "\n"; if (substr($_SESSION['theme']['input_toggle_style']['text'], 0, 6) == 'switch') { echo " \n"; } else { echo " \n"; } echo "
\n"; echo $text['description-dashboard_label_enabled']."\n"; echo "
\n"; echo $text['label-dashboard_label_text_color']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_label_text_color']."\n"; echo "
\n"; echo $text['label-dashboard_label_text_color_hover']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_label_text_color_hover']."\n"; echo "
\n"; echo $text['label-dashboard_label_background_color']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_label_background_color']."\n"; echo "
\n"; echo $text['label-dashboard_label_background_color_hover']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_label_background_color_hover']."\n"; echo "
\n"; echo $text['label-dashboard_number_text_color']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_number_text_color']."\n"; echo "
\n"; echo $text['label-dashboard_number_text_color_hover']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_number_text_color_hover']."\n"; echo "
\n"; echo $text['label-dashboard_background_color']."\n"; echo "\n"; if (!empty($dashboard_background_color) && is_array($dashboard_background_color)) { foreach ($dashboard_background_color as $c => $background_color) { echo " \n"; if ($c < sizeof($dashboard_background_color) - 1) { echo "
\n"; } } //swap button if (!empty($dashboard_background_color) && is_array($dashboard_background_color) && sizeof($dashboard_background_color) > 1) { echo " \n"; echo button::create(['type'=>'button','title'=>$text['button-swap'],'icon'=>'fa-solid fa-arrow-right-arrow-left fa-rotate-90','style'=>"z-index: 0; position: absolute; display: inline-block; margin: -14px 0 0 7px;",'onclick'=>"document.getElementById('dashboard_background_color_temp').value = document.getElementById('dashboard_background_color_0').value; document.getElementById('dashboard_background_color_0').value = document.getElementById('dashboard_background_color_1').value; document.getElementById('dashboard_background_color_1').value = document.getElementById('dashboard_background_color_temp').value; this.blur();"])."
\n"; } else { echo "
\n"; } } if (empty($dashboard_background_color) || (is_array($dashboard_background_color) && count($dashboard_background_color) < 2)) { echo " \n"; if (empty($dashboard_background_color)) { echo " \n"; } echo "
\n"; } echo $text['description-dashboard_background_color']."\n"; echo "
\n"; echo $text['label-dashboard_background_color_hover']."\n"; echo "\n"; if (!empty($dashboard_background_color_hover) && is_array($dashboard_background_color_hover)) { foreach ($dashboard_background_color_hover as $c => $background_color) { echo " \n"; if ($c < sizeof($dashboard_background_color_hover) - 1) { echo "
\n"; } } //swap button if (!empty($dashboard_background_color_hover) && is_array($dashboard_background_color_hover) && sizeof($dashboard_background_color_hover) > 1) { echo " \n"; echo button::create(['type'=>'button','title'=>$text['button-swap'],'icon'=>'fa-solid fa-arrow-right-arrow-left fa-rotate-90','style'=>"z-index: 0; position: absolute; display: inline-block; margin: -14px 0 0 7px;",'onclick'=>"document.getElementById('dashboard_background_color_hover_temp').value = document.getElementById('dashboard_background_color_hover_0').value; document.getElementById('dashboard_background_color_hover_0').value = document.getElementById('dashboard_background_color_hover_1').value; document.getElementById('dashboard_background_color_hover_1').value = document.getElementById('dashboard_background_color_hover_temp').value; this.blur();"])."
\n"; } else { echo "
\n"; } } if (empty($dashboard_background_color_hover) || (is_array($dashboard_background_color_hover) && count($dashboard_background_color_hover) < 2)) { echo " \n"; if (empty($dashboard_background_color_hover)) { echo " \n"; } echo "
\n"; } echo $text['description-dashboard_background_color_hover']."\n"; echo "
\n"; echo $text['label-dashboard_detail_background_color']."\n"; echo "\n"; if (!empty($dashboard_detail_background_color) && is_array($dashboard_detail_background_color)) { foreach ($dashboard_detail_background_color as $c => $detail_background_color) { echo " \n"; if ($c < sizeof($dashboard_detail_background_color) - 1) { echo "
\n"; } } //swap button if (!empty($dashboard_detail_background_color) && is_array($dashboard_detail_background_color) && sizeof($dashboard_detail_background_color) > 1) { echo " \n"; echo button::create(['type'=>'button','title'=>$text['button-swap'],'icon'=>'fa-solid fa-arrow-right-arrow-left fa-rotate-90','style'=>"z-index: 0; position: absolute; display: inline-block; margin: -14px 0 0 7px;",'onclick'=>"document.getElementById('dashboard_detail_background_color_temp').value = document.getElementById('dashboard_detail_background_color_0').value; document.getElementById('dashboard_detail_background_color_0').value = document.getElementById('dashboard_detail_background_color_1').value; document.getElementById('dashboard_detail_background_color_1').value = document.getElementById('dashboard_detail_background_color_temp').value; this.blur();"])."
\n"; } else { echo "
\n"; } } if (empty($dashboard_detail_background_color) || (is_array($dashboard_detail_background_color) && count($dashboard_detail_background_color) < 2)) { echo " \n"; if (empty($dashboard_detail_background_color)) { echo " \n"; } echo "
\n"; } echo $text['description-dashboard_detail_background_color']."\n"; echo "
\n"; echo $text['label-dashboard_background_gradient_style']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_background_gradient_style']."\n"; echo "
\n"; echo $text['label-dashboard_background_gradient_angle']."\n"; echo "\n"; echo "
\n"; echo " \n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_background_gradient_angle']."\n"; echo "
\n"; echo " ".$text['label-dashboard_column_span']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_column_span']."\n"; echo "
\n"; echo " ".$text['label-dashboard_row_span']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_row_span']."\n"; echo "
\n"; echo " ".$text['label-dashboard_details_state']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_details_state']."\n"; echo "
".$text['label-dashboard_parent_uuid'].""; echo " "; echo "
\n"; echo $text['description-dashboard_parent_uuid']."\n"; echo "
\n"; echo " ".$text['label-dashboard_order']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_order']."\n"; echo "
\n"; echo " ".$text['label-dashboard_enabled']."\n"; echo "\n"; if (substr($_SESSION['theme']['input_toggle_style']['text'], 0, 6) == 'switch') { echo " \n"; } else { echo " \n"; } echo "
\n"; echo $text['description-dashboard_enabled']."\n"; echo "
\n"; echo " ".$text['label-dashboard_description']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-dashboard_description']."\n"; echo "
"; echo "
\n"; echo "

"; echo "\n"; echo "
"; //include the footer require_once "resources/footer.php"; ?>