From f66aaef4e353942d6d1711717d99f5d597482b0a Mon Sep 17 00:00:00 2001
From: karailiev <karailiev@ispconfig3>
Date: Thu, 20 Nov 2008 15:03:27 -0500
Subject: [PATCH] + added password strength meter

---
 interface/web/js/scrigo.js.php |  129 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 1 deletions(-)

diff --git a/interface/web/js/scrigo.js b/interface/web/js/scrigo.js.php
similarity index 70%
rename from interface/web/js/scrigo.js
rename to interface/web/js/scrigo.js.php
index 1b51dd0..6e6affb 100644
--- a/interface/web/js/scrigo.js
+++ b/interface/web/js/scrigo.js.php
@@ -1,3 +1,9 @@
+<?php
+	session_start();
+	include('../../lib/config.inc.php');
+	include_once(ISPC_ROOT_PATH.'/web/js/lib/lang/'.$_SESSION['s']['language'].'_javascript.lng');
+?>
+
 redirect = '';
 
 function loadContentRefresh(pagename) {
@@ -277,4 +283,125 @@
 	
   	var pageContentObject3 = YAHOO.util.Connect.asyncRequest('GET', 'keepalive.php', pageContentCallbackKeepalive);
   	//setTimeout( keepalive, 1000000 );
-}
\ No newline at end of file
+}
+
+
+
+var pass_minimum_length = 5;
+var pass_messages = new Array();
+
+var pass_message = new Array();
+pass_message['text'] = "<?php echo $wb['password_strength_0_txt']?>";
+pass_message['color'] = "#d0d0d0";
+pass_messages[0] = pass_message;
+
+var pass_message = new Array();
+pass_message['text'] = "<?php echo $wb['password_strength_1_txt']?>";
+pass_message['color'] = "red";
+pass_messages[1] = pass_message;
+
+var pass_message = new Array();
+pass_message['text'] = "<?php echo $wb['password_strength_2_txt']?>";
+pass_message['color'] = "yellow";
+pass_messages[2] = pass_message;
+
+var pass_message = new Array();
+pass_message['text'] = "<?php echo $wb['password_strength_3_txt']?>";
+pass_message['color'] = "#00ff00";
+pass_messages[3] = pass_message;
+
+var pass_message = new Array();
+pass_message['text'] = "<?php echo $wb['password_strength_4_txt']?>";
+pass_message['color'] = "green";
+pass_messages[4] = pass_message;
+
+var pass_message = new Array();
+pass_message['text'] = "<?php echo $wb['password_strength_5_txt']?>";
+pass_message['color'] = "green";
+pass_messages[5] = pass_message;
+
+function pass_check(password) {
+	var length = password.length;
+	var points = 0;
+	if (length < pass_minimum_length) {
+		pass_result(0);
+		return;
+	}
+	
+	if (length < 5) {
+		pass_result(1);
+		return;
+	}
+	
+	if (pass_contains(password, "ABCDEFGHIJKLNMOPQRSTUVWXYZ")) {
+		points += 1;
+	}
+	
+	if (pass_contains(password, "0123456789")) {
+		points += 1;
+	}
+	
+	if (pass_contains(password, "`~!@#$%^&*()_+|\=-[]}{';:/?.>,<\" ")) {
+		points += 1;
+	}
+	
+	if (points == 0) {
+		if (length >= 5 && length <=6) {
+			pass_result(1);
+		} else if (length >= 7 && length <=8) {
+			pass_result(2);
+		} else {
+			pass_result(3);
+		}
+	} else if (points == 1) {
+		if (length >= 5 && length <=6) {
+			pass_result(2);
+		} else if (length >= 7 && length <=10) {
+			pass_result(3);
+		} else {
+			pass_result(4);
+		}
+	} else if (points == 2) {
+		if (length >= 5 && length <=8) {
+			pass_result(3);
+		} else if (length >= 9 && length <=10) {
+			pass_result(4);
+		} else {
+			pass_result(5);
+		}
+	} else if (points == 3) {
+		if (length >= 5 && length <=6) {
+			pass_result(3);
+		} else if (length >= 7 && length <=8) {
+			pass_result(4);
+		} else {
+			pass_result(5);
+		}
+	} else if (points >= 4) {
+		if (length >= 5 && length <=6) {
+			pass_result(4);
+		} else {
+			pass_result(5);
+		}
+	}
+}
+
+
+
+function pass_result(points, message) {
+	if (points == 0) {
+		width = 10;
+	} else {
+		width = points*20;
+	}
+	document.getElementById("passBar").innerHTML = '<div style="float:left; height: 10px; padding:0px; background-color: ' + pass_messages[points]['color'] + '; width: ' + width + 'px;" />';
+	document.getElementById("passText").innerHTML = pass_messages[points]['text'];
+}
+function pass_contains(pass, check) {
+	for (i = 0; i < pass.length; i++) {
+		if (check.indexOf(pass.charAt(i)) > -1) {
+			return true;
+		}
+	}
+	return false;
+}

--
Gitblit v1.9.1