From a887eab36ad70a7bf9566b38ab8ce4902dd173ec Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 7 Apr 2016 19:35:39 -0600 Subject: [PATCH] Fun Stuff: http://pasteboard.co/1ormWYp.png Login: Add settings to style Reset Password (and related) text links, add (disabled) settings to display domain name field. Theme: Add settings to control login box border size, color, radius and padding. Explicitly defined placeholder text color/opacity (where possible). --- core/user_settings/app_defaults.php | 17 +++- resources/login.php | 29 +++--- themes/default/app_defaults.php | 86 ++++++++++++++--- themes/default/template.php | 143 ++++++++++++++++------------ 4 files changed, 185 insertions(+), 90 deletions(-) diff --git a/core/user_settings/app_defaults.php b/core/user_settings/app_defaults.php index 22200b5164..2246ea21bb 100644 --- a/core/user_settings/app_defaults.php +++ b/core/user_settings/app_defaults.php @@ -9,7 +9,22 @@ if ($domains_processed == 1) { $array[$x]['default_setting_name'] = 'text'; $array[$x]['default_setting_value'] = generate_password('20', '4'); $array[$x]['default_setting_enabled'] = 'false'; - $array[$x]['default_setting_description'] = 'Reset Password link visible on login page when populated and enabled.'; + $array[$x]['default_setting_description'] = 'Display a Reset Password link on the login box (requires smtp_host be defined).'; + $x++; + $array[$x]['default_setting_category'] = 'login'; + $array[$x]['default_setting_subcategory'] = 'domain_name_visible'; + $array[$x]['default_setting_name'] = 'boolean'; + $array[$x]['default_setting_value'] = 'true'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Displays a domain input or select box (if domain_name array defined) on the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'login'; + $array[$x]['default_setting_subcategory'] = 'domain_name'; + $array[$x]['default_setting_name'] = 'array'; + $array[$x]['default_setting_value'] = 'pbx1.yourdomain.com'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Domain select option displayed on the login box.'; + $x++; //iterate and add each, if necessary foreach ($array as $index => $default_settings) { diff --git a/resources/login.php b/resources/login.php index ab0d10a97f..a3d3fce700 100644 --- a/resources/login.php +++ b/resources/login.php @@ -79,7 +79,7 @@ //generate reset link $key = encrypt($_SESSION['login']['password_reset_key']['text'], $result['username'].'|'.$_SESSION['domain_uuid'].'|'.$result['password']); $reset_link = "https://".$_SESSION['domain_name'].PROJECT_PATH."/login.php?action=define&key=".urlencode($key); - $eml_body = "".$reset_link.""; + $eml_body = "".$reset_link.""; //send reset link if (!send_email($email, $text['label-reset_link'], $eml_body)) { $_SESSION["message_mood"] = 'negative'; @@ -192,7 +192,8 @@ //show the content echo ""; @@ -239,7 +244,7 @@ echo "\n"; echo "
\n"; echo "\n"; - echo "

".$text['label-cancel'].""; + echo "

".$text['label-cancel'].""; echo ""; echo ""; @@ -254,7 +259,7 @@ echo "
\n"; echo "
\n"; echo "\n"; - echo "

".$text['label-cancel'].""; + echo "

".$text['label-cancel'].""; echo ""; echo ""; echo ""; diff --git a/themes/default/app_defaults.php b/themes/default/app_defaults.php index f6b2770790..ee03788699 100644 --- a/themes/default/app_defaults.php +++ b/themes/default/app_defaults.php @@ -65,20 +65,6 @@ if ($domains_processed == 1) { $array[$x]['default_setting_description'] = 'Set a secondary background color, for a gradient effect.'; $x++; $array[$x]['default_setting_category'] = 'theme'; - $array[$x]['default_setting_subcategory'] = 'login_background_color'; - $array[$x]['default_setting_name'] = 'text'; - $array[$x]['default_setting_value'] = 'rgba(255,255,255,0.3)'; - $array[$x]['default_setting_enabled'] = 'true'; - $array[$x]['default_setting_description'] = 'Set the background color for the login box.'; - $x++; - $array[$x]['default_setting_category'] = 'theme'; - $array[$x]['default_setting_subcategory'] = 'login_shadow_color'; - $array[$x]['default_setting_name'] = 'text'; - $array[$x]['default_setting_value'] = 'rgba(140,140,140,0.3)'; - $array[$x]['default_setting_enabled'] = 'true'; - $array[$x]['default_setting_description'] = 'Set the shadow color of the login box.'; - $x++; - $array[$x]['default_setting_category'] = 'theme'; $array[$x]['default_setting_subcategory'] = 'domain_visible'; $array[$x]['default_setting_name'] = 'text'; $array[$x]['default_setting_value'] = 'true'; @@ -897,7 +883,77 @@ if ($domains_processed == 1) { $array[$x]['default_setting_enabled'] = 'false'; $array[$x]['default_setting_description'] = 'Set the size of text in the form rows.'; $x++; - + /* login box */ + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_background_color'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'rgba(255,255,255,0.3)'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = 'Set the background color for the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_shadow_color'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'rgba(140,140,140,0.3)'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = 'Set the shadow color of the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_padding'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '30px'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set the padding of the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_border_radius'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '4px'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set the border radius of the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_border_size'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '1px'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set the border size of the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_border_color'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '#ffffff'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set the border color (and opacity) of the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_link_text_color'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '#004083'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set the color (and opacity) of text links on the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_link_text_color_hover'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '#5082ca'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set the hover color (and opacity) of text links on the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_link_text_size'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '11px'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set the size of text links on the login box.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_link_text_font'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'Arial'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set the font of text links on the login box.'; + $x++; //get an array of the default settings $sql = "select * from v_default_settings "; diff --git a/themes/default/template.php b/themes/default/template.php index 2dd5047e29..8c33e232ae 100644 --- a/themes/default/template.php +++ b/themes/default/template.php @@ -228,7 +228,7 @@ background: ; -webkit-box-shadow: ; @@ -549,7 +549,7 @@ #default_login { display: inline-block; - padding: 30px; + padding: ; margin-bottom: 28px; background: ; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: ; - -moz-box-shadow: ; - box-shadow: ; + -webkit-border-radius: ; + -moz-border-radius: ; + border-radius: ; + + + + -webkit-box-shadow: ; + -moz-box-shadow: ; + box-shadow: ; } - a.login_box_link { - font-size: 11px; - text-shadow: 0 0 2px ; + a.login_link { + color: ; + font-size: ; + font-family: ; + text-decoration: none; + } + + a.login_link:hover { + color: ; cursor: pointer; text-decoration: underline; } @@ -630,12 +639,14 @@ } a { - color: ; width: 100%; + color: ; + text-decoration: none; } a:hover { color: ; + text-decoration: underline; } form { @@ -761,6 +772,13 @@ display: block; } + /* style placeholder text (for browsers that support the attribute) - note: can't stack, each must be seperate */ + ::-webkit-input-placeholder { color: #999999; opacity: 1.0; } /* chrome/opera/safari */ + ::-moz-placeholder { color: #999999; opacity: 1.0; } /* ff 19+ */ + :-moz-placeholder { color: #999999; opacity: 1.0; } /* ff 18- */ + :-ms-input-placeholder { color: #999999; opacity: 1.0; } /* ie 10+ */ + ::placeholder { color: #999999; opacity: 1.0; } /* official standard */ + /* TABLES *****************************************************************/ table { @@ -1852,59 +1870,60 @@ $value) { - $text[$key] = $value[$_SESSION['domain']['language']['code']]; - } - //set a default login destination - if (strlen($_SESSION['login']['destination']['url']) == 0) { - $_SESSION['login']['destination']['url'] = PROJECT_PATH."/core/user_settings/user_dashboard.php"; - } - //login form - echo "
\n"; - echo "
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + // login form + if ($_SERVER['PHP_SELF'] != PROJECT_PATH."/core/install/install.php" && !$default_login) { + if (strlen($_SESSION["username"]) == 0) { + //add multi-lingual support + require_once "core/user_settings/app_languages.php"; + foreach($text as $key => $value) { + $text[$key] = $value[$_SESSION['domain']['language']['code']]; + } + //set a default login destination + if (strlen($_SESSION['login']['destination']['url']) == 0) { + $_SESSION['login']['destination']['url'] = PROJECT_PATH."/core/user_settings/user_dashboard.php"; + } + //login form + echo "
\n"; + echo " \n"; + echo " \n"; + echo "
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; - if ($_SESSION['login']['domain_name.visible']['boolean'] == "true") { - echo " \n"; - echo " \n"; + echo " \n"; } - else { - echo " \n"; - } - echo " \n"; - } - echo " \n"; - echo " \n"; - echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; - echo " ".$text['label-domain'].":\n"; - echo " \n"; - if (count($_SESSION['login']['domain_name']) > 0) { - echo " \n"; + echo " ".$text['label-domain'].":\n"; + echo " \n"; + if (count($_SESSION['login']['domain_name']) > 0) { + echo " \n"; } - echo " \n"; + else { + echo " \n"; + } + echo " \n"; - echo " \n"; - echo "
\n"; - echo "
"; - echo "
"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " "; + echo ""; + } } - } ?> @@ -1940,7 +1959,7 @@ -
+