From 813a79d6e734f1b46fec6b09c892d19aa1f8dcdc Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 22 Oct 2010 10:06:39 -0400
Subject: [PATCH] Fixed: FS#1382 - Doubling of ftp usernames while changing passwords only

---
 server/lib/classes/system.inc.php |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index bd42903..722ae63 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1157,9 +1157,11 @@
 		
 		if($found == 0) {
 			//* add \n if the last line does not end with \n or \r
-			if(substr($out,-1) != "\n" && substr($out,-1) != "\r") $out .= "\n";
+			if(substr($out,-1) != "\n" && substr($out,-1) != "\r" && filesize($filename) > 0) $out .= "\n";
 			//* add the new line at the end of the file
-			if($append == 1) $out .= $new_line."\n";
+			if($append == 1) {
+				$out .= $new_line."\n";
+			}
 		}
 		file_put_contents($filename,$out);
 	}
@@ -1191,13 +1193,15 @@
 		} else {
 			$dir = escapeshellcmd($maildir_path);
 		}
+		
+		if(!is_dir($dir)) mkdir($dir, 0700, true);
 
 		if($user != '' && $user != 'root' && $this->is_user($user)) {
 			$user = escapeshellcmd($user);
 			// I assume that the name of the (vmail group) is the same as the name of the mail user in ISPConfig 3
 			$group = $user;
-			chown($dir,$user);
-			chgrp($dir,$group);
+			if(is_dir($dir)) chown($dir,$user);
+			if(is_dir($dir)) chgrp($dir,$group);
 
 			$chown_mdsub = true;
 		}

--
Gitblit v1.9.1