diff --git a/e107_admin/users.php b/e107_admin/users.php
index 29b15e94e..bdfa0bbf8 100644
--- a/e107_admin/users.php
+++ b/e107_admin/users.php
@@ -704,7 +704,8 @@ class users_admin_ui extends e_admin_ui
".USRLAN_62." |
- ".$frm->password('password','',20,array('size'=>40,'class'=>'tbox e-password-admin'))." |
+ ".$frm->password('password','',20, array('size'=>40,'class'=>'tbox e-password','generate'=>1,'strength'=>1 ))."
+ |
";
diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php
index 20c7a6298..a59ff7a69 100644
--- a/e107_handlers/form_handler.php
+++ b/e107_handlers/form_handler.php
@@ -716,11 +716,23 @@ class e_form
function password($name, $value = '', $maxlength = 50, $options = array())
{
+ if($options['generate'])
+ {
+ $addon .= ' ";
+ }
$options = $this->format_options('text', $name, $options);
$options['class'] = vartrue($options['class'],'e-password');
//never allow id in format name-value for text fields
- return "
get_attributes($options, $name)." />";
+ $text = "
get_attributes($options, $name)." />";
+
+ return $text.$addon;
+
}
// autoexpand done
diff --git a/e107_web/js/core/admin.jquery.js b/e107_web/js/core/admin.jquery.js
index 68c83e11d..42ffe410c 100644
--- a/e107_web/js/core/admin.jquery.js
+++ b/e107_web/js/core/admin.jquery.js
@@ -118,7 +118,7 @@ $(document).ready(function()
// backend
- $(".e-password-admin").pwdMeter({
+ $(".e-password").pwdMeter({
minLength: 6,
displayGeneratePassword: true,
generatePassText: "Generate",
diff --git a/e107_web/js/password/jquery.pwdMeter.js b/e107_web/js/password/jquery.pwdMeter.js
index dcf3bedb2..87c046d19 100644
--- a/e107_web/js/password/jquery.pwdMeter.js
+++ b/e107_web/js/password/jquery.pwdMeter.js
@@ -16,14 +16,14 @@ jQuery.fn.pwdMeter = function(options){
displayGeneratePassword: false,
generatePassText: 'Generate',
generatePassClass: 'GeneratePasswordLink',
- randomPassLength: 13,
+ randomPassLength: 12,
passwordBox: this
}, options);
var pwdObj = this;
- $(pwdObj).after("
Very Weak");
+// $(pwdObj).after("
");
return this.each(function(index){
@@ -39,53 +39,69 @@ jQuery.fn.pwdMeter = function(options){
$("#showPwdBox").val(password);
- if ((password.length >0) && (password.length <=5)) passwordStrength=1;
+ if ((password.length >3) && (password.length <=5)) passwordStrength=1;
if (password.length >= options.minLength) passwordStrength++;
- if ((password.match(/[a-z]/)) && (password.match(/[A-Z]/)) ) passwordStrength++;
+ if ((password.match(/[A-Z]/)) ) passwordStrength++;
+
+ if ((password.match(/[a-z]/)) ) passwordStrength++;
- if (password.match(/\d+/)) passwordStrength++;
+ if (password.match(/\d+/) && password.length > 5) passwordStrength++;
if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) passwordStrength++;
- if (password.length > 12) passwordStrength++;
+ if (password.length > 11) passwordStrength++;
- $('#pwdMeter').removeClass();
- $('#pwdMeter').addClass('neutral');
+ $('#pwdColor').removeClass();
+ $('#pwdColor').addClass('progress');
+ $('#pwdMeter').css("width",'1%');
+ // $('#pwdMeter').removeStyle();
switch(passwordStrength){
case 1:
- $('#pwdMeter').addClass('veryweak');
- $('#pwdMeter').text('Very Weak');
+ $('#pwdColor').addClass('progress-danger');
+ $('#pwdMeter').css("width",'10%');
+ $('#pwdStatus').text('Very Weak');
break;
case 2:
- $('#pwdMeter').addClass('weak');
- $('#pwdMeter').text('Weak');
+ $('#pwdColor').addClass('progress-danger');
+ $('#pwdMeter').css("width",'25%');
+ $('#pwdStatus').text('Weak');
+
break;
case 3:
- $('#pwdMeter').addClass('medium');
- $('#pwdMeter').text('Medium');
+ $('#pwdColor').addClass('progress-warning');
+ $('#pwdMeter').css("width",'30%');
+ $('#pwdStatus').text('Medium');
break;
case 4:
- $('#pwdMeter').addClass('strong');
- $('#pwdMeter').text('Strong');
+ $('#pwdColor').addClass('progress-warning');
+ $('#pwdMeter').css("width",'50%');
+ $('#pwdStatus').text('Medium');
break;
- case 5:
- $('#pwdMeter').addClass('verystrong');
- $('#pwdMeter').text('Very Strong');
+ case 5:
+ $('#pwdColor').addClass('progress-success');
+ $('#pwdMeter').css("width",'75%');
+ $('#pwdStatus').text('Strong');
+ break;
+ case 6:
+ $('#pwdColor').addClass('progress-success');
+ $('#pwdMeter').css("width",'100%');
+ $('#pwdStatus').text('Very Strong');
break;
default:
- $('#pwdMeter').addClass('neutral');
- $('#pwdMeter').text('Very Weak');
+ $('#pwdMeter').css("width",'0px');
+ // $('#pwdStatus').text('Strong');
}
}
- if(options.displayGeneratePassword){
- $('#pwdMeter').before('
'+ options.generatePassText +'');
- $('#pwdMeter').after('
Show');
+ if(options.displayGeneratePassword)
+ {
+ // $('#pwdMeter').before('
'+ options.generatePassText +'');
+
$(pwdObj).after('
');
}
@@ -107,9 +123,51 @@ jQuery.fn.pwdMeter = function(options){
});
-
- function random_password() {
+ function random_password()
+ {
+ var length = options.randomPassLength;
+
+ var pchars = "abcdefghijklmnopqrstuvwxyz";
+ var pchars1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ var pchars2 = "1234567890";
+ var pchars3 = "~!@#$%^&*-<>=_+,./?;':";
+
+ ret_pass = "";
+ for(x=0;x
0; i--) {
+ var j = Math.floor(Math.random() * (i + 1));
+ var tmp = a[i];
+ a[i] = a[j];
+ a[j] = tmp;
+ }
+ return a.join("");
+ }
+
+
+ /*
+ function random_password_old() {
var allowed_chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz!?$?%^&*()_-+={[}]:;@~#|\<,>.?/";
+ var allowed_upper = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";
+ var allowed_lower = "abcdefghiklmnopqrstuvwxyz";
+ var allower_symb = "!?$?%^&*()_-+={[}]:;@~#|\<,>.?";
var pwd_length = options.randomPassLength;
var rnd_pwd = '';
for (var i=0; i