From 5ca959fa688255a8de61f89fe2751eb4d24a6912 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Tue, 22 Mar 2016 09:22:07 -0400
Subject: [PATCH] fixed typo

---
 interface/lib/classes/validate_password.inc.php |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/interface/lib/classes/validate_password.inc.php b/interface/lib/classes/validate_password.inc.php
index 9619637..f36f162 100644
--- a/interface/lib/classes/validate_password.inc.php
+++ b/interface/lib/classes/validate_password.inc.php
@@ -33,24 +33,34 @@
 	
 	private function _get_password_strength($password) {
 		$length = strlen($password);
+		
 		$points = 0;
 		if ($length < 5) {
 			return 1;
 		}
 
+		$different = 0;
+		if (preg_match('/[abcdefghijklnmopqrstuvwxyz]/', $password)) {
+			$different += 1;
+		}
+
 		if (preg_match('/[ABCDEFGHIJKLNMOPQRSTUVWXYZ]/', $password)) {
 			$points += 1;
+			$different += 1;
 		}
 
 		if (preg_match('/[0123456789]/', $password)) {
 			$points += 1;
+			$different += 1;
 		}
 
-		if (preg_match('/[`~!@#$%^&*()_+|\\=-[]}{\';:\/?.>,<" ]/', $password)) {
+		if (preg_match('/[`~!@#$%^&*()_+|\\=\-\[\]}{\';:\/?.>,<" ]/', $password)) {
 			$points += 1;
+			$different += 1;
 		}
+		
 
-		if ($points == 0) {
+		if ($points == 0 || $different < 3) {
 			if ($length >= 5 && $length <= 6) {
 				return 1;
 			} else if ($length >= 7 && $length <= 8) {
@@ -96,6 +106,8 @@
 	function password_check($field_name, $field_value, $validator) {
 		global $app;
 		
+		if($field_value == '') return false;
+		
 		$app->uses('ini_parser,getconf');
 		$server_config_array = $app->getconf->get_global_config();
 		
@@ -112,7 +124,7 @@
 			$lng_text = str_replace('{chars}', $min_password_length, $lng_text);
 		}
 		if(!$lng_text) $lng_text = 'weak_password_txt'; // always return a string, even if language is missing - otherwise validator is NOT MATCHING!
-		
+
 		if(strlen($field_value) < $min_password_length) return $lng_text;
 		if($this->_get_password_strength($field_value) < $min_password_strength) return $lng_text;
 		

--
Gitblit v1.9.1