From 00385e0d5a5058862d28270f874b76a2f64f9de2 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Wed, 16 May 2012 12:42:15 -0400
Subject: [PATCH] - Added JavaScript functions for generating passwords. - Added "Generate Password" links to forms of the sites module.

---
 interface/web/sites/lib/lang/en_database.lng           |    1 
 interface/web/sites/lib/lang/de_shell_user.lng         |    5 +-
 interface/web/sites/templates/database_edit.htm        |    2 
 interface/web/sites/lib/lang/de_web_domain.lng         |    1 
 interface/web/sites/lib/lang/en_web_domain.lng         |    1 
 interface/web/sites/lib/lang/de_webdav_user.lng        |    5 +-
 interface/web/sites/templates/ftp_user_edit.htm        |    4 +-
 interface/web/sites/templates/web_folder_user_edit.htm |    2 
 interface/web/sites/templates/shell_user_edit.htm      |    2 
 interface/web/sites/lib/lang/de_database.lng           |    1 
 interface/web/sites/lib/lang/de_web_folder_user.lng    |    9 ++--
 interface/web/sites/lib/lang/en_web_folder_user.lng    |    1 
 interface/web/sites/templates/web_domain_stats.htm     |    2 
 interface/web/sites/lib/lang/en_webdav_user.lng        |    1 
 interface/web/sites/lib/lang/en_shell_user.lng         |    1 
 interface/web/sites/lib/lang/de_ftp_user.lng           |    7 ++-
 interface/web/sites/lib/lang/en_ftp_user.lng           |    1 
 interface/web/js/scrigo.js.php                         |   30 +++++++++++++++
 interface/web/sites/templates/webdav_user_edit.htm     |    2 
 19 files changed, 60 insertions(+), 18 deletions(-)

diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index f8120e8..6fa893b 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -525,3 +525,33 @@
     }
     return rv;
 }
+
+function password(length, special) {
+	var iteration = 0;
+	var password = "";
+	var randomNumber;
+	length = length || 10;
+	if(special == undefined){
+		var special = false;
+	}
+	while(iteration < length){
+		randomNumber = (Math.floor((Math.random() * 100)) % 94) + 33;
+		if(!special){
+			if ((randomNumber >=33) && (randomNumber <=47)) { continue; }
+			if ((randomNumber >=58) && (randomNumber <=64)) { continue; }
+			if ((randomNumber >=91) && (randomNumber <=96)) { continue; }
+			if ((randomNumber >=123) && (randomNumber <=126)) { continue; }
+		}
+		iteration++;
+		password += String.fromCharCode(randomNumber);
+	}
+	return password;
+}
+
+function generatePassword(passwordFieldID){
+	var oldPWField = jQuery('#'+passwordFieldID);
+	var newPWField = oldPWField.clone();
+	newPWField.attr('type', 'text').attr('id', 'tmp'+passwordFieldID).insertBefore(oldPWField);
+	oldPWField.remove();
+	newPWField.attr('id', passwordFieldID).val(password(10, true)).trigger('keyup');
+}
diff --git a/interface/web/sites/lib/lang/de_database.lng b/interface/web/sites/lib/lang/de_database.lng
index f604997..dce54bb 100644
--- a/interface/web/sites/lib/lang/de_database.lng
+++ b/interface/web/sites/lib/lang/de_database.lng
@@ -22,4 +22,5 @@
 $wb['password_strength_txt'] = 'Passwortkomplexität';
 $wb['database_name_error_len'] = 'Datenbank Name - {db} - zu lang. Die max. Datenbank Namen Länge inkl. Präfix ist 64 Zeichen.';
 $wb['database_user_error_len'] = 'Datenbank Benutzername - {user}- zu lang. Die max. Datenbank Benutzernamen Länge inkl. Präfix ist 16 Zeichen.';
+$wb['generate_password_txt'] = 'Passwort erzeugen';
 ?>
diff --git a/interface/web/sites/lib/lang/de_ftp_user.lng b/interface/web/sites/lib/lang/de_ftp_user.lng
index 458cf38..13af049 100644
--- a/interface/web/sites/lib/lang/de_ftp_user.lng
+++ b/interface/web/sites/lib/lang/de_ftp_user.lng
@@ -24,7 +24,8 @@
 $wb['password_strength_txt'] = 'Passwortkomplexität';
 $wb['directory_error_notinweb'] = 'Das Verzeichnis befindet sich nicht innerhalb des Verzeichnisses der Website.';
 $wb['parent_domain_id_error_empty'] = 'Keine Domain ausgewählt.';
-$wb['quota_size_error_regex'] = 'Quota: enter a -1 for unlimited or a number > 0';
-$wb['dir_dot_error'] = 'No .. in path allowed.';
-$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
+$wb['quota_size_error_regex'] = 'Quota: Geben Sie -1 ein für unlimitiert oder eine Nummer > 0';
+$wb['dir_dot_error'] = 'Kein .. im Pfad erlaubt.';
+$wb['dir_slashdot_error'] = 'Kein ./ im Pfad erlaubt.';
+$wb['generate_password_txt'] = 'Passwort erzeugen';
 ?>
diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng
index ebd5cfe..fb0a330 100644
--- a/interface/web/sites/lib/lang/de_shell_user.lng
+++ b/interface/web/sites/lib/lang/de_shell_user.lng
@@ -20,6 +20,7 @@
 $wb['puser_txt'] = 'Web Username';
 $wb['pgroup_txt'] = 'Web Group';
 $wb['ssh_rsa_txt'] = 'SSH-RSA Public Key (f&uuml;r key-basierte Logins)';
-$wb['dir_dot_error'] = 'No .. in path allowed.';
-$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
+$wb['dir_dot_error'] = 'Kein .. im Pfad erlaubt.';
+$wb['dir_slashdot_error'] = 'Kein ./ im Pfad erlaubt.';
+$wb['generate_password_txt'] = 'Passwort erzeugen';
 ?>
diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng
index 6f941db..4fb8bed 100644
--- a/interface/web/sites/lib/lang/de_web_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_domain.lng
@@ -98,4 +98,5 @@
 $wb["pm_process_idle_timeout_error_regex"] = 'PHP-FPM pm.process_idle_timeout mu&szlig; eine positive ganze Zahl sein.';
 $wb["pm_max_requests_error_regex"] = 'PHP-FPM pm.max_requests mu&szlig; eine ganze Zahl >= 0 sein.';
 $wb["pm_ondemand_hint_txt"] = 'Bitte beachten Sie, daß Ihre PHP-Version >= 5.3.9 sein muß, wenn Sie den ondemand Process-Manager nutzen möchten. Wenn Sie ondemand für eine ältere PHP-Version auswählen, wird PHP nicht mehr starten!';
+$wb['generate_password_txt'] = 'Passwort erzeugen';
 ?>
diff --git a/interface/web/sites/lib/lang/de_web_folder_user.lng b/interface/web/sites/lib/lang/de_web_folder_user.lng
index f877df2..e53e007 100644
--- a/interface/web/sites/lib/lang/de_web_folder_user.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_user.lng
@@ -1,7 +1,8 @@
 <?php
-$wb['web_folder_id_txt'] = 'Folder';
+$wb['web_folder_id_txt'] = 'Ordner';
 $wb['username_txt'] = 'Username';
-$wb['password_txt'] = 'Password';
-$wb['active_txt'] = 'Active';
-$wb['folder_error_empty'] = 'No web folder selecetd.';
+$wb['password_txt'] = 'Passwort';
+$wb['active_txt'] = 'Aktiv';
+$wb['folder_error_empty'] = 'Kein Web-Ordner ausgew�hlt.';
+$wb['generate_password_txt'] = 'Passwort erzeugen';
 ?>
diff --git a/interface/web/sites/lib/lang/de_webdav_user.lng b/interface/web/sites/lib/lang/de_webdav_user.lng
index ec4f26b..e698775 100644
--- a/interface/web/sites/lib/lang/de_webdav_user.lng
+++ b/interface/web/sites/lib/lang/de_webdav_user.lng
@@ -12,6 +12,7 @@
 $wb['username_error_regex'] = 'Der Benutzername enthält nicht erlaubte Zeichen.';
 $wb['directory_error_empty'] = 'Verzeichnis ist leer.';
 $wb['parent_domain_id_error_empty'] = 'Keine Website ausgewählt.';
-$wb['dir_dot_error'] = 'No .. in path allowed.';
-$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
+$wb['dir_dot_error'] = 'Kein .. im Pfad erlaubt.';
+$wb['dir_slashdot_error'] = 'Kein ./ im Pfad erlaubt.';
+$wb['generate_password_txt'] = 'Passwort erzeugen';
 ?>
diff --git a/interface/web/sites/lib/lang/en_database.lng b/interface/web/sites/lib/lang/en_database.lng
index abf302e..8c12d11 100644
--- a/interface/web/sites/lib/lang/en_database.lng
+++ b/interface/web/sites/lib/lang/en_database.lng
@@ -27,4 +27,5 @@
 $wb["select_site_txt"] = '- Select Site -';
 $wb["btn_save_txt"] = 'Save';
 $wb["btn_cancel_txt"] = 'Cancel';
+$wb['generate_password_txt'] = 'Generate Password';
 ?>
diff --git a/interface/web/sites/lib/lang/en_ftp_user.lng b/interface/web/sites/lib/lang/en_ftp_user.lng
index 4598b03..580f829 100644
--- a/interface/web/sites/lib/lang/en_ftp_user.lng
+++ b/interface/web/sites/lib/lang/en_ftp_user.lng
@@ -28,4 +28,5 @@
 $wb["quota_size_error_regex"] = 'Quota: enter a -1 for unlimited or a number > 0';
 $wb['dir_dot_error'] = 'No .. in path allowed.';
 $wb['dir_slashdot_error'] = 'No ./ in path allowed.';
+$wb['generate_password_txt'] = 'Generate Password';
 ?>
diff --git a/interface/web/sites/lib/lang/en_shell_user.lng b/interface/web/sites/lib/lang/en_shell_user.lng
index b703ad0..1f7d61e 100644
--- a/interface/web/sites/lib/lang/en_shell_user.lng
+++ b/interface/web/sites/lib/lang/en_shell_user.lng
@@ -23,4 +23,5 @@
 $wb["ssh_rsa_txt"] = 'SSH-RSA Public Key (for key-based logins)';
 $wb['dir_dot_error'] = 'No .. in path allowed.';
 $wb['dir_slashdot_error'] = 'No ./ in path allowed.';
+$wb['generate_password_txt'] = 'Generate Password';
 ?>
diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng
index b16af75..a6169ce 100644
--- a/interface/web/sites/lib/lang/en_web_domain.lng
+++ b/interface/web/sites/lib/lang/en_web_domain.lng
@@ -98,4 +98,5 @@
 $wb["pm_process_idle_timeout_error_regex"] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
 $wb["pm_max_requests_error_regex"] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
 $wb["pm_ondemand_hint_txt"] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
 ?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_web_folder_user.lng b/interface/web/sites/lib/lang/en_web_folder_user.lng
index 3b553e9..684c0e9 100644
--- a/interface/web/sites/lib/lang/en_web_folder_user.lng
+++ b/interface/web/sites/lib/lang/en_web_folder_user.lng
@@ -4,4 +4,5 @@
 $wb["password_txt"] = 'Password';
 $wb["active_txt"] = 'Active';
 $wb["folder_error_empty"] = 'No web folder selecetd.';
+$wb['generate_password_txt'] = 'Generate Password';
 ?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_webdav_user.lng b/interface/web/sites/lib/lang/en_webdav_user.lng
index 3d43cfc..af84617 100644
--- a/interface/web/sites/lib/lang/en_webdav_user.lng
+++ b/interface/web/sites/lib/lang/en_webdav_user.lng
@@ -15,4 +15,5 @@
 $wb['password_strength_txt'] = 'Password strength';
 $wb['dir_dot_error'] = 'No .. in path allowed.';
 $wb['dir_slashdot_error'] = 'No ./ in path allowed.';
+$wb['generate_password_txt'] = 'Generate Password';
 ?>
diff --git a/interface/web/sites/templates/database_edit.htm b/interface/web/sites/templates/database_edit.htm
index 59b1bff..9b0cd22 100644
--- a/interface/web/sites/templates/database_edit.htm
+++ b/interface/web/sites/templates/database_edit.htm
@@ -50,7 +50,7 @@
 			</div>
       <div class="ctrlHolder">
       	<label for="database_password">{tmpl_var name='database_password_txt'}</label>
-        <input name="database_password" id="database_password" value="{tmpl_var name='database_password'}" size="30" maxlength="255" type="password" class="textInput formLengthHalf" onkeyup="pass_check(this.value)" />
+        <input name="database_password" id="database_password" value="{tmpl_var name='database_password'}" size="30" maxlength="255" type="password" class="textInput formLengthHalf" onkeyup="pass_check(this.value)" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('database_password');">{tmpl_var name='generate_password_txt'}</a>
 			</div>
       <div class="ctrlHolder">
 				<p class="label">{tmpl_var name='password_strength_txt'}</p>
diff --git a/interface/web/sites/templates/ftp_user_edit.htm b/interface/web/sites/templates/ftp_user_edit.htm
index d3c6d78..e07526f 100644
--- a/interface/web/sites/templates/ftp_user_edit.htm
+++ b/interface/web/sites/templates/ftp_user_edit.htm
@@ -18,7 +18,7 @@
 			</div>
       <div class="ctrlHolder">
       	<label for="password">{tmpl_var name='password_txt'}</label>
-        <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value)" />
+        <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value)" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password');">{tmpl_var name='generate_password_txt'}</a>
 			</div>
       <div class="ctrlHolder">
 				<p class="label">{tmpl_var name='password_strength_txt'}</p>
@@ -45,4 +45,4 @@
     </div>
   </div>
   
-</div>
+</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm
index 3924d39..0f2bc11 100644
--- a/interface/web/sites/templates/shell_user_edit.htm
+++ b/interface/web/sites/templates/shell_user_edit.htm
@@ -26,7 +26,7 @@
 			</div>
       <div class="ctrlHolder">
       	<label for="password">{tmpl_var name='password_txt'}</label>
-        <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value)"/>
+        <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value)"/>&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password');">{tmpl_var name='generate_password_txt'}</a>
 			</div>
       <div class="ctrlHolder">
 				<p class="label">{tmpl_var name='password_strength_txt'}</p>
diff --git a/interface/web/sites/templates/web_domain_stats.htm b/interface/web/sites/templates/web_domain_stats.htm
index 48258e2..200cda2 100644
--- a/interface/web/sites/templates/web_domain_stats.htm
+++ b/interface/web/sites/templates/web_domain_stats.htm
@@ -10,7 +10,7 @@
 	  </div>
 	  <div class="ctrlHolder">
       	<label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
-        <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="30" maxlength="255" type="password" class="textInput" />
+        <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="30" maxlength="255" type="password" class="textInput" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('stats_password');">{tmpl_var name='generate_password_txt'}</a>
 	  </div>
 	  <div class="ctrlHolder">
       	<label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
diff --git a/interface/web/sites/templates/web_folder_user_edit.htm b/interface/web/sites/templates/web_folder_user_edit.htm
index 9a50af2..f466e52 100644
--- a/interface/web/sites/templates/web_folder_user_edit.htm
+++ b/interface/web/sites/templates/web_folder_user_edit.htm
@@ -17,7 +17,7 @@
 			</div>
       <div class="ctrlHolder">
       	<label for="password">{tmpl_var name='password_txt'}</label>
-        <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" />
+        <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password');">{tmpl_var name='generate_password_txt'}</a>
 			</div>
       <div class="ctrlHolder">
 				<p class="label">{tmpl_var name='active_txt'}</p>
diff --git a/interface/web/sites/templates/webdav_user_edit.htm b/interface/web/sites/templates/webdav_user_edit.htm
index 4b6b4ed..5bd7f82 100644
--- a/interface/web/sites/templates/webdav_user_edit.htm
+++ b/interface/web/sites/templates/webdav_user_edit.htm
@@ -26,7 +26,7 @@
 			</div>
 			<div class="ctrlHolder">
 				<label for="password">{tmpl_var name='password_txt'}</label>
-				<input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value)"/>
+				<input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value)"/>&nbsp;<a href="javascript:void(0);" onClick="generatePassword('password');">{tmpl_var name='generate_password_txt'}</a>
 			</div>
 			<div class="ctrlHolder">
 				<p class="label">{tmpl_var name='password_strength_txt'}</p>

--
Gitblit v1.9.1