From 29510bfe9309288b41f77a530a730fecb7c4e2dd Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 04 Dec 2012 08:18:10 -0500
Subject: [PATCH] Fixed: FS#2567 - Username in ISPConfig 3.05

---
 interface/web/admin/lib/lang/en_system_config.lng          |    1 +
 install/tpl/system.ini.master                              |    1 +
 interface/web/admin/lib/lang/en_users.lng                  |    1 +
 interface/lib/classes/validate_client.inc.php              |    3 ++-
 interface/web/admin/form/users.tform.php                   |    4 ++++
 interface/web/admin/templates/system_config_sites_edit.htm |    6 ++++++
 interface/web/admin/form/system_config.tform.php           |    6 ++++++
 7 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master
index 3aefb78..599369a 100644
--- a/install/tpl/system.ini.master
+++ b/install/tpl/system.ini.master
@@ -22,6 +22,7 @@
 dblist_phpmyadmin_link=y
 phpmyadmin_url=/phpmyadmin
 webftp_url=
+client_username_web_check_disabled=n
 
 [tools]
 
diff --git a/interface/lib/classes/validate_client.inc.php b/interface/lib/classes/validate_client.inc.php
index 9b0546a..36370ab 100644
--- a/interface/lib/classes/validate_client.inc.php
+++ b/interface/lib/classes/validate_client.inc.php
@@ -81,7 +81,8 @@
 		  ($global_config['ftpuser_prefix'] == '[CLIENTNAME]' || 
 		   $global_config['ftpuser_prefix'] == '' ||
 		   $global_config['shelluser_prefix'] == '[CLIENTNAME]' ||
-		   $global_config['shelluser_prefix'] == '' )) {
+		   $global_config['shelluser_prefix'] == '' ) &&
+		   $global_config['client_username_web_check_disabled'] == 'n') {
 			$errmsg = $validator['errmsg'];
 			if(isset($app->tform->wordbook[$errmsg])) {
 				return $app->tform->wordbook[$errmsg]."<br>\r\n";
diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php
index faac1f7..fb0fc7f 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -154,6 +154,12 @@
 			'default'	=> 'n',
 			'value'		=> array(0 => 'n',1 => 'y')
 		),
+		'client_username_web_check_disabled' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'CHECKBOX',
+			'default'	=> 'n',
+			'value'		=> array(0 => 'n',1 => 'y')
+		),
 	##################################
 	# ENDE Datatable fields
 	##################################
diff --git a/interface/web/admin/form/users.tform.php b/interface/web/admin/form/users.tform.php
index dc445d5..b6ff5f3 100644
--- a/interface/web/admin/form/users.tform.php
+++ b/interface/web/admin/form/users.tform.php
@@ -146,6 +146,10 @@
                                                     2 => array (    'type'	=> 'REGEX',
                                                                     'regex' => '/^[\w\.\-\_]{0,64}$/',
                                                                     'errmsg'=> 'username_err'),
+													3 => array (	'type'	=> 'CUSTOM',
+														'class' => 'validate_client',
+														'function' => 'username_collision',
+														'errmsg'=> 'username_error_collision'),
                                                 ),
 			'regex'		=> '',
 			'errmsg'	=> '',
diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng
index 77efde2..03ce902 100644
--- a/interface/web/admin/lib/lang/en_system_config.lng
+++ b/interface/web/admin/lib/lang/en_system_config.lng
@@ -45,4 +45,5 @@
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
 $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.';
+$wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.';
 ?>
diff --git a/interface/web/admin/lib/lang/en_users.lng b/interface/web/admin/lib/lang/en_users.lng
index c6a418e..9eec322 100644
--- a/interface/web/admin/lib/lang/en_users.lng
+++ b/interface/web/admin/lib/lang/en_users.lng
@@ -29,4 +29,5 @@
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['username_error_collision'] = 'The username may not be web or web plus a number."';
 ?>
diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm
index ba1796f..8a97e52 100644
--- a/interface/web/admin/templates/system_config_sites_edit.htm
+++ b/interface/web/admin/templates/system_config_sites_edit.htm
@@ -45,6 +45,12 @@
                     {tmpl_var name='vhost_subdomains'}&nbsp;{tmpl_var name='vhost_subdomains_note_txt'}
                 </div>
             </div>
+			<div class="ctrlHolder">
+                <p class="label">{tmpl_var name='client_username_web_check_disabled_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='client_username_web_check_disabled'}
+                </div>
+            </div>
         </fieldset>
             
         <input type="hidden" name="id" value="{tmpl_var name='id'}">

--
Gitblit v1.9.1