From 4a986730eb887d0e6a825fcd6963d7799886ebc7 Mon Sep 17 00:00:00 2001 From: Nate Date: Mon, 25 May 2020 18:38:52 -0600 Subject: [PATCH] Theme: Side Menu updates. --- .../default_settings/default_setting_edit.php | 6 ++ core/default_settings/default_settings.php | 3 + core/domain_settings/domain_setting_edit.php | 6 ++ core/domain_settings/domain_settings.php | 3 + core/user_settings/user_setting_edit.php | 6 ++ core/user_settings/user_settings.php | 3 + resources/app_languages.php | 46 +++++++++++++ resources/classes/menu.php | 28 ++++---- resources/footer.php | 2 +- themes/default/app_config.php | 16 +++++ themes/default/css.php | 64 +++++++++---------- themes/default/template.php | 45 +++++++------ 12 files changed, 163 insertions(+), 65 deletions(-) diff --git a/core/default_settings/default_setting_edit.php b/core/default_settings/default_setting_edit.php index a18bf3b76d..ea4c051e45 100644 --- a/core/default_settings/default_setting_edit.php +++ b/core/default_settings/default_setting_edit.php @@ -621,6 +621,12 @@ echo " \n"; echo " \n"; } + elseif ($category == "theme" && $subcategory == "menu_side_toggle_body_width" && $name == "text" ) { + echo " \n"; + } elseif ($category == "voicemail" && $subcategory == "voicemail_file" && $name == "text" ) { echo " \n"; } + elseif ($category == "theme" && $subcategory == "menu_side_toggle_body_width" && $name == "text" ) { + echo " \n"; + } elseif ($category == "voicemail" && $subcategory == "voicemail_file" && $name == "text" ) { echo " \n"; } + elseif ($user_setting_category == "theme" && $user_setting_subcategory == "menu_side_toggle_body_width" && $user_setting_name == "text" ) { + echo " \n"; + } else { echo " \n"; } diff --git a/core/user_settings/user_settings.php b/core/user_settings/user_settings.php index 9f87f3199d..d3f1b998c6 100644 --- a/core/user_settings/user_settings.php +++ b/core/user_settings/user_settings.php @@ -288,6 +288,9 @@ else if ($category == 'theme' && $subcategory == 'menu_side_toggle' && $name == 'text') { echo " ".$text['option-'.$row['user_setting_value']]."\n"; } + else if ($category == 'theme' && $subcategory == 'menu_side_toggle_body_width' && $name == 'text') { + echo " ".$text['option-'.$row['user_setting_value']]."\n"; + } else if ($category == "theme" && substr_count($subcategory, "_color") > 0 && ($name == "text" || $name == 'array')) { echo " ".(img_spacer('15px', '15px', 'background: '.escape($row['user_setting_value']).'; margin-right: 4px; vertical-align: middle; border: 1px solid '.(color_adjust($row['user_setting_value'], -0.18)).'; padding: -1px;')); echo "".escape($row['user_setting_value'])."\n"; diff --git a/resources/app_languages.php b/resources/app_languages.php index 39dcf8ce21..60992940e5 100644 --- a/resources/app_languages.php +++ b/resources/app_languages.php @@ -4495,4 +4495,50 @@ $text['option-click']['sv-se'] = "Click"; $text['option-click']['uk-ua'] = "Click"; $text['option-click']['tr-tr'] = "Click"; +$text['option-shrink']['en-us'] = "Shrink"; +$text['option-shrink']['en-gb'] = "Shrink"; +$text['option-shrink']['ar-eg'] = "Shrink"; +$text['option-shrink']['de-at'] = "Shrink"; +$text['option-shrink']['de-ch'] = "Shrink"; +$text['option-shrink']['de-de'] = "Shrink"; +$text['option-shrink']['el-gr'] = "Shrink"; +$text['option-shrink']['es-cl'] = "Shrink"; +$text['option-shrink']['es-mx'] = "Shrink"; +$text['option-shrink']['fr-ca'] = "Shrink"; +$text['option-shrink']['fr-fr'] = "Shrink"; +$text['option-shrink']['he-il'] = "Shrink"; +$text['option-shrink']['it-it'] = "Shrink"; +$text['option-shrink']['nl-nl'] = "Shrink"; +$text['option-shrink']['pl-pl'] = "Shrink"; +$text['option-shrink']['pt-br'] = "Shrink"; +$text['option-shrink']['pt-pt'] = "Shrink"; +$text['option-shrink']['ro-ro'] = "Shrink"; +$text['option-shrink']['ru-ru'] = "Shrink"; +$text['option-shrink']['sv-se'] = "Shrink"; +$text['option-shrink']['uk-ua'] = "Shrink"; +$text['option-shrink']['tr-tr'] = "Shrink"; + +$text['option-fixed']['en-us'] = "Fixed"; +$text['option-fixed']['en-gb'] = "Fixed"; +$text['option-fixed']['ar-eg'] = "Fixed"; +$text['option-fixed']['de-at'] = "Fixed"; +$text['option-fixed']['de-ch'] = "Fixed"; +$text['option-fixed']['de-de'] = "Fixed"; +$text['option-fixed']['el-gr'] = "Fixed"; +$text['option-fixed']['es-cl'] = "Fixed"; +$text['option-fixed']['es-mx'] = "Fixed"; +$text['option-fixed']['fr-ca'] = "Fixed"; +$text['option-fixed']['fr-fr'] = "Fixed"; +$text['option-fixed']['he-il'] = "Fixed"; +$text['option-fixed']['it-it'] = "Fixed"; +$text['option-fixed']['nl-nl'] = "Fixed"; +$text['option-fixed']['pl-pl'] = "Fixed"; +$text['option-fixed']['pt-br'] = "Fixed"; +$text['option-fixed']['pt-pt'] = "Fixed"; +$text['option-fixed']['ro-ro'] = "Fixed"; +$text['option-fixed']['ru-ru'] = "Fixed"; +$text['option-fixed']['sv-se'] = "Fixed"; +$text['option-fixed']['uk-ua'] = "Fixed"; +$text['option-fixed']['tr-tr'] = "Fixed"; + ?> \ No newline at end of file diff --git a/resources/classes/menu.php b/resources/classes/menu.php index 2a57a077d8..79e43ed7b8 100644 --- a/resources/classes/menu.php +++ b/resources/classes/menu.php @@ -1091,13 +1091,13 @@ if (!class_exists('menu')) { if ($_SESSION['theme']['menu_brand_type']['text'] == 'none') { $html .= " text['theme-label-contract_menu']."\">"; } + $menu_brand_text = $_SESSION['theme']['menu_brand_text']['text'] != '' ? escape($_SESSION['theme']['menu_brand_text']['text']) : "FusionPBX"; if ($_SESSION['theme']['menu_brand_type']['text'] == 'text') { - $menu_brand_text = $_SESSION['theme']['menu_brand_text']['text'] != '' ? escape($_SESSION['theme']['menu_brand_text']['text']) : "FusionPBX"; $html .= " ".$menu_brand_text."\n"; } - if ($_SESSION['theme']['menu_brand_type']['text'] == 'image' || $_SESSION['theme']['menu_brand_type']['text'] == '') { - $menu_brand_image_contracted = $_SESSION['theme']['menu_side_brand_image_contracted']['text'] != '' ? $_SESSION['theme']['menu_side_brand_image_contracted']['text'] : PROJECT_PATH."/themes/default/images/logo_side_contracted.png"; - $menu_brand_image_expanded = $_SESSION['theme']['menu_side_brand_image_expanded']['text'] != '' ? $_SESSION['theme']['menu_side_brand_image_expanded']['text'] : PROJECT_PATH."/themes/default/images/logo_side_expanded.png"; + if ($_SESSION['theme']['menu_brand_type']['text'] == 'image' || $_SESSION['theme']['menu_brand_type']['text'] == 'image_text' || $_SESSION['theme']['menu_brand_type']['text'] == '') { + $menu_brand_image_contracted = $_SESSION['theme']['menu_side_brand_image_contracted']['text'] != '' ? $_SESSION['theme']['menu_side_brand_image_contracted']['text'] : PROJECT_PATH."/themes/default/images/logo_side_contracted.png"; + $menu_brand_image_expanded = $_SESSION['theme']['menu_side_brand_image_expanded']['text'] != '' ? $_SESSION['theme']['menu_side_brand_image_expanded']['text'] : PROJECT_PATH."/themes/default/images/logo_side_expanded.png"; $html .= " "; $html .= ""; $html .= ""; @@ -1138,27 +1138,29 @@ if (!class_exists('menu')) { $html .= "
\n"; //header: left $html .= "\n"; //header: right - $html .= ""; + $html .= "
"; //current user - $html .= "\n"; - $html .= "".$this->text['theme-label-user'].": "; - $html .= "".$_SESSION['username'].""; + $html .= "\n"; + $html .= " text['theme-label-user']."\">".$_SESSION['username'].""; $html .= "\n"; //domain name/selector (sm+) if (isset($_SESSION['username']) && $_SESSION['username'] != '' && permission_exists('domain_select') && count($_SESSION['domains']) > 1 && $_SESSION['theme']['domain_visible']['text'] == 'true') { - $html .= "\n"; - $html .= "".$this->text['theme-label-domain'].": "; - $html .= "".escape($_SESSION['domain_name']).""; + $html .= "\n"; + $html .= " ".escape($_SESSION['domain_name']).""; $html .= "\n"; } //logout icon if (isset($_SESSION['username']) && $_SESSION['username'] != '' && $_SESSION['theme']['logout_icon_visible']['text'] == "true") { $html .= "text['theme-label-logout']."\" onclick=\"modal_open('modal-logout','btn_logout');\">"; } - $html .= ""; + $html .= "
"; $html .= "
\n"; //modal for logout icon (above) diff --git a/resources/footer.php b/resources/footer.php index be056574e1..e72753e6c3 100644 --- a/resources/footer.php +++ b/resources/footer.php @@ -118,7 +118,7 @@ //otherwise default: if (isset($setting['text']) && $setting['text'] != '') { - $settings['theme'][$subcategory] = escape($setting['text']); + $settings['theme'][$subcategory] = str_replace('_','_',escape($setting['text'])); } else if (isset($setting['numeric']) && is_numeric($setting['numeric'])) { $settings['theme'][$subcategory] = $setting['numeric']; diff --git a/themes/default/app_config.php b/themes/default/app_config.php index f9c9ca52e4..15477c38b5 100644 --- a/themes/default/app_config.php +++ b/themes/default/app_config.php @@ -319,6 +319,14 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set then body background color (and opacity) of the content."; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "9011e469-f94b-4c45-9b08-8991c243292b"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "body_header_background_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#eeeeee"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the background color for the body (content) header bar (Side Menu only)."; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "ce3a2e85-472e-4375-a447-d7937cb6dbb7"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "body_shadow_color"; @@ -1743,6 +1751,14 @@ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set whether the Side Menu opens and closes with a 'Click' or with a mouse over/out ('Hover')."; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "e7e11d18-0b06-4347-9305-f8f38284730f"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_toggle_body_width"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "shrink"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the behavior of the body content when the Side Menu is expanded and contracted."; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "902e6d1b-d019-4d7f-9d83-38bab5db112e"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_toggle_hover_delay_expand"; diff --git a/themes/default/css.php b/themes/default/css.php index f7d3217b73..c72c6c635b 100644 --- a/themes/default/css.php +++ b/themes/default/css.php @@ -488,33 +488,6 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); border-radius: ; } - /* menu side brand container */ - div#menu_side_brand_container { - position: -webkit-sticky; - position: sticky; - z-index: 99901; - top: 0; - padding: 20px; - min-height: 75px; - text-align: left; - - background-image: url(""); - background-position: 0px 0px; - background-repeat: repeat-y; - - background: ; - - - -moz-border-radius: ; - -webkit-border-radius: ; - -khtml-border-radius: ; - border-radius: ; - } - /* menu side logo */ a.menu_brand_image { display: inline-block; @@ -546,7 +519,7 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); a.menu_brand_text { display: inline-block; padding: 10px 20px; - color: ; + color: ; font-weight: 600; white-space: nowrap; } @@ -556,6 +529,23 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); text-decoration: none; } + div#body_header_brand_text { + display: inline-block; + margin: 3px 0 0 10px; + } + + div#body_header_brand_text > a { + color: ; + font-size: ; + font-weight: 600; + text-decoration: none; + } + + div#body_header_brand_text > a:hover { + color: ; + text-decoration: none; + } + /* menu side control container */ div#menu_side_control_container { position: -webkit-sticky; @@ -1225,11 +1215,19 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT'); } } - div#content_header { - padding: 10px; - margin-top: 5px; - height: 40px; - } + + div#content_header { + padding: 10px 10px 15px 10px; + height: 50px; + + } + + div#content_header { + padding: 10px; + margin-top: 5px; + height: 40px; + } + /* GENERAL ELEMENTS *****************************************************************/ diff --git a/themes/default/template.php b/themes/default/template.php index dc3a3b0c99..36606baf67 100644 --- a/themes/default/template.php +++ b/themes/default/template.php @@ -98,17 +98,12 @@ $('.menu_side_sub').slideUp(180); $('.menu_side_item_title').hide(); {/literal} - {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''} + {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''} {literal} $('#menu_brand_image_expanded').fadeOut(180, function() { $('#menu_brand_image_contracted').fadeIn(180); }); {/literal} - {elseif $settings.theme.menu_brand_type == 'image_text'} - {literal} - $('.menu_brand_text').hide(); - $('#menu_brand_image_contracted').animate({ width: '20px', 'margin-left': '-2px' }, 250); - {/literal} {else if $settings.theme.menu_brand_type == 'text'} {literal} $('.menu_brand_text').hide(); @@ -121,9 +116,15 @@ $('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_contracted}{literal}px' }, 180, function() { menu_side_state_current = 'contracted'; }); - if ($(window).width() >= 576) { - $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250); - } + {/literal} + {if $settings.theme.menu_side_toggle_body_width == 'shrink' || ($settings.theme.menu_side_state == 'expanded' && $settings.theme.menu_side_toggle_body_width == 'fixed')} + {literal} + if ($(window).width() >= 576) { + $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250); + } + {/literal} + {/if} + {literal} $('.menu_side_contract').hide(); $('.menu_side_expand').show(); if ($(window).width() < 576) { @@ -140,11 +141,7 @@ function menu_side_expand() { {/literal} - {if $settings.theme.menu_brand_type == 'image_text'} - {literal} - $('#menu_brand_image_contracted').animate({ width: '30px', 'margin-left': '0' }, 250); - {/literal} - {elseif $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''} + {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' ||$settings.theme.menu_brand_type == ''} {literal} $('#menu_brand_image_contracted').fadeOut(180); {/literal} @@ -156,7 +153,7 @@ var menu_side_container_width = $(window).width() < 576 ? $(window).width() : '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px'; $('#menu_side_container').animate({ width: menu_side_container_width }, 180, function() { {/literal} - {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''} + {if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''} {literal} $('#menu_brand_image_expanded').fadeIn(180); {/literal} @@ -169,9 +166,15 @@ menu_side_state_current = 'expanded'; }); }); - if ($(window).width() >= 576) { - $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250); - } + {/literal} + {if $settings.theme.menu_side_toggle_body_width == 'shrink' || ($settings.theme.menu_side_state == 'expanded' && $settings.theme.menu_side_toggle_body_width == 'fixed')} + {literal} + if ($(window).width() >= 576) { + $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250); + } + {/literal} + {/if} + {literal} } function menu_side_item_toggle(item_id) { @@ -198,10 +201,16 @@ document.getElementById('menu_side_state_set_expanded').style.display = state == 'expanded' ? 'none' : 'block'; document.getElementById('menu_side_state_set_contracted').style.display = state == 'contracted' ? 'none' : 'block'; if (state == 'expanded') { + if ($(window).width() >= 576) { + $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250); + } document.getElementById('menu_side_state_current').value = 'expanded'; display_message("{/literal}{$text.theme_message_menu_expanded}{literal}", 'positive', 1000); } else { + if ($(window).width() >= 576) { + $('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250); + } document.getElementById('menu_side_state_current').value = 'contracted'; display_message("{/literal}{$text.theme_message_menu_contracted}{literal}", 'positive', 1000); }