Security: Integrate Settings and necessary functions to enforce password complexity requirements.

Theme: Add basic password strength indicator bar.
Default Settings: Also verify correct Type (name) on Upgrade > App Defaults.
User: Show Nickname in Contact select if no Given or Family name.
Password Reset: Integrate hide and convert password fields method to prevent browser prompt.
This commit is contained in:
reliberate
2016-06-02 18:26:32 -06:00
parent e21d344cfd
commit 72687adef2
9 changed files with 629 additions and 167 deletions
+35 -2
View File
@@ -356,6 +356,7 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
.dropdown-menu > li > a:active {
color: <?php echo ($_SESSION['theme']['menu_sub_text_color_hover']['text'] != '') ? $_SESSION['theme']['menu_sub_text_color_hover']['text'] : '#fd9c03'; ?>;
background: <?php echo ($_SESSION['theme']['menu_sub_background_color_hover']['text'] != '') ? $_SESSION['theme']['menu_sub_background_color_hover']['text'] : '#141414'; ?>;
outline: none;
}
.dropdown-menu > li > a > span.glyphicon {
@@ -975,14 +976,20 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
input.login:-ms-input-placeholder { color: <?php echo $placeholder_color; ?> } /* ie 10+ */
input.login::placeholder { color: <?php echo $placeholder_color; ?> } /* official standard */
.formfld_highlight_bad {
input[type=password].formfld_highlight_bad,
input[type=password].formfld_highlight_bad:hover,
input[type=password].formfld_highlight_bad:active,
input[type=password].formfld_highlight_bad:focus {
border-color: #aa2525;
-webkit-box-shadow: 0 0 3px #aa2525 inset;
-moz-box-shadow: 0 0 3px #aa2525 inset;
box-shadow: 0 0 3px #aa2525 inset;
}
.formfld_highlight_good {
input[type=password].formfld_highlight_good,
input[type=password].formfld_highlight_good:hover,
input[type=password].formfld_highlight_good:active,
input[type=password].formfld_highlight_good:focus {
border-color: #2fb22f;
-webkit-box-shadow: 0 0 3px #2fb22f inset;
-moz-box-shadow: 0 0 3px #2fb22f inset;
@@ -1026,6 +1033,32 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
display: block;
}
div.pwstrength_progress {
display: none;
}
div.pwstrength_progress > div.progress {
max-width: 200px;
height: 6px;
margin: 1px 0 0 1px;
background: <?php echo ($_SESSION['theme']['input_background_color']['text'] != '') ? $_SESSION['theme']['input_background_color']['text'] : 'rgb(245, 245, 245)'; ?>;
<?php $br = format_border_radius($_SESSION['theme']['input_border_radius']['text'], '3px'); ?>
-moz-border-radius: <?php echo $br['tl']['n'].$br['tl']['u']; ?> <?php echo $br['tr']['n'].$br['tr']['u']; ?> <?php echo $br['br']['n'].$br['br']['u']; ?> <?php echo $br['bl']['n'].$br['bl']['u']; ?>;
-webkit-border-radius: <?php echo $br['tl']['n'].$br['tl']['u']; ?> <?php echo $br['tr']['n'].$br['tr']['u']; ?> <?php echo $br['br']['n'].$br['br']['u']; ?> <?php echo $br['bl']['n'].$br['bl']['u']; ?>;
-khtml-border-radius: <?php echo $br['tl']['n'].$br['tl']['u']; ?> <?php echo $br['tr']['n'].$br['tr']['u']; ?> <?php echo $br['br']['n'].$br['br']['u']; ?> <?php echo $br['bl']['n'].$br['bl']['u']; ?>;
border-radius: <?php echo $br['tl']['n'].$br['tl']['u']; ?> <?php echo $br['tr']['n'].$br['tr']['u']; ?> <?php echo $br['br']['n'].$br['br']['u']; ?> <?php echo $br['bl']['n'].$br['bl']['u']; ?>;
<?php unset($br); ?>
}
div.pwstrength_progress_password_reset > div.progress {
margin: 0 auto 4px auto;
width: 200px;
max-width: 200px;
background: <?php echo ($_SESSION['theme']['login_input_background_color']['text'] != '') ? $_SESSION['theme']['login_input_background_color']['text'] : (($_SESSION['theme']['input_background_color']['text'] != '') ? $_SESSION['theme']['input_background_color']['text'] : '#ffffff'); ?>;
border-width: <?php echo ($_SESSION['theme']['login_input_border_size']['text'] != '') ? $_SESSION['theme']['login_input_border_size']['text'] : (($_SESSION['theme']['input_border_size']['text'] != '') ? $_SESSION['theme']['input_border_size']['text'] : '1px'); ?>;
border-color: <?php echo ($_SESSION['theme']['login_input_border_color']['text'] != '') ? $_SESSION['theme']['login_input_border_color']['text'] : (($_SESSION['theme']['input_border_color']['text'] != '') ? $_SESSION['theme']['input_border_color']['text'] : '#c0c0c0'); ?>;
}
/* TABLES *****************************************************************/
table {
+19
View File
@@ -51,6 +51,7 @@
<script language="JavaScript" type="text/javascript" src="<!--{project_path}-->/resources/bootstrap/js/bootstrap.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<!--{project_path}-->/resources/bootstrap/js/bootstrap-datetimepicker.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<!--{project_path}-->/resources/bootstrap/js/bootstrap-colorpicker.js"></script>
<script language="JavaScript" type="text/javascript" src="<!--{project_path}-->/resources/bootstrap/js/bootstrap-pwstrength.min.js"></script>
<?php
//web font loader
if ($_SESSION['theme']['font_loader']['text'] == 'true') {
@@ -195,6 +196,24 @@
});
});
//apply password strength plugin
$('#password').pwstrength({
common: {
minChar: 8,
usernameField: '#username',
},
/* rules: { }, */
ui: {
// very weak weak normal medium strong very strong
colorClasses: ["danger", "warning", "warning", "warning", "success", "success"],
progressBarMinPercentage: 15,
showVerdicts: false,
viewports: {
progress: "#pwstrength_progress"
}
}
});
<?php if ($_SESSION['theme']['menu_brand_image']['text'] != '' && $_SESSION['theme']['menu_brand_image_hover']['text'] != '') { ?>
//crossfade menu brand images (if hover version set)
$(function(){