From 95188035dd5d37294781aa064f37fef278147524 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 09 Jul 2009 08:20:54 -0400
Subject: [PATCH] Fixed: FS#810 - FTP - If username is left blank and client clicks options a clientname_ blank username is created.

---
 interface/web/sites/form/ftp_user.tform.php    |    8 +++-----
 interface/web/sites/shell_user_edit.php        |    5 ++++-
 interface/web/sites/form/shell_user.tform.php  |    8 +++-----
 interface/web/sites/ftp_user_edit.php          |    5 +++++
 interface/web/sites/lib/lang/en_shell_user.lng |    1 +
 interface/web/sites/lib/lang/en_ftp_user.lng   |    1 +
 6 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php
index a1d6e15..add5c72 100644
--- a/interface/web/sites/form/ftp_user.tform.php
+++ b/interface/web/sites/form/ftp_user.tform.php
@@ -83,12 +83,10 @@
 		'username' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
-														'errmsg'=> 'username_error_empty'),
-										1 => array (	'type'	=> 'UNIQUE',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'username_error_unique'),
-										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{1,64}$/',
+										1 => array (	'type'	=> 'REGEX',
+														'regex' => '/^[\w\.\-]{0,64}$/',
 														'errmsg'=> 'username_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php
index 03b4311..0f692e3 100644
--- a/interface/web/sites/form/shell_user.tform.php
+++ b/interface/web/sites/form/shell_user.tform.php
@@ -83,12 +83,10 @@
 		'username' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
-			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
-														'errmsg'=> 'username_error_empty'),
-										1 => array (	'type'	=> 'UNIQUE',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'UNIQUE',
 														'errmsg'=> 'username_error_unique'),
-										2 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{1,64}$/',
+										1 => array (	'type'	=> 'REGEX',
+														'regex' => '/^[\w\.\-]{0,64}$/',
 														'errmsg'=> 'username_error_regex'),
 									),
 			'default'	=> '',
diff --git a/interface/web/sites/ftp_user_edit.php b/interface/web/sites/ftp_user_edit.php
index 00e44fd..b8b089e 100644
--- a/interface/web/sites/ftp_user_edit.php
+++ b/interface/web/sites/ftp_user_edit.php
@@ -108,6 +108,11 @@
 		// Set a few fixed values
 		$this->dataRecord["server_id"] = $parent_domain["server_id"];
 		
+		//die(print_r($this->dataRecord));
+		
+		if(isset($this->dataRecord['username']) && trim($this->dataRecord['username']) == '') $app->tform->errorMessage .= $app->tform->lng('username_error_empty').'<br />';
+		if(isset($this->dataRecord['username']) && empty($this->dataRecord['parent_domain_id'])) $app->tform->errorMessage .= $app->tform->lng('parent_domain_id_error_empty').'<br />';
+		
 		parent::onSubmit();
 	}
 	
diff --git a/interface/web/sites/lib/lang/en_ftp_user.lng b/interface/web/sites/lib/lang/en_ftp_user.lng
index f4554de..f5b1116 100644
--- a/interface/web/sites/lib/lang/en_ftp_user.lng
+++ b/interface/web/sites/lib/lang/en_ftp_user.lng
@@ -24,4 +24,5 @@
 $wb["uid_error_empty"] = 'GID empty.';
 $wb["directory_error_empty"] = 'Directory empty.';
 $wb['directory_error_notinweb'] = 'Directory not inside of web root directory.';
+$wb["parent_domain_id_error_empty"] = 'No website selected.';
 ?>
diff --git a/interface/web/sites/lib/lang/en_shell_user.lng b/interface/web/sites/lib/lang/en_shell_user.lng
index 45fb214..80e3e0a 100644
--- a/interface/web/sites/lib/lang/en_shell_user.lng
+++ b/interface/web/sites/lib/lang/en_shell_user.lng
@@ -19,4 +19,5 @@
 $wb["uid_error_empty"] = 'GID empty.';
 $wb["directory_error_empty"] = 'Directory empty.';
 $wb["limit_shell_user_txt"] = 'The max number of shell users is reached.';
+$wb["parent_domain_id_error_empty"] = 'No website selected.';
 ?>
diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php
index 8c92732..2778294 100644
--- a/interface/web/sites/shell_user_edit.php
+++ b/interface/web/sites/shell_user_edit.php
@@ -115,6 +115,9 @@
 		// Set a few fixed values
 		$this->dataRecord["server_id"] = $parent_domain["server_id"];
 		
+		if(isset($this->dataRecord['username']) && trim($this->dataRecord['username']) == '') $app->tform->errorMessage .= $app->tform->lng('username_error_empty').'<br />';
+		if(isset($this->dataRecord['username']) && empty($this->dataRecord['parent_domain_id'])) $app->tform->errorMessage .= $app->tform->lng('parent_domain_id_error_empty').'<br />';
+		
 		parent::onSubmit();
 	}
 	
@@ -129,7 +132,7 @@
 			}
 		}
 		unset($blacklist);
-
+		
 		/*
 		 * If the names should be restricted -> do it!
 		 */

--
Gitblit v1.9.1