From 6b3bfc2fbf53e079e64614cdca608d84326be868 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 27 Mar 2013 07:18:30 -0400
Subject: [PATCH] Fixed: FS#2836 - Upgrade from 3.0.4.x to 3.0.5 will break ispconfig setup if php-process module is missing.

---
 server/plugins-available/shelluser_base_plugin.inc.php |    4 ++--
 server/lib/classes/system.inc.php                      |   23 +++++++++++++++++++++++
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 1de54e2..148193f 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -575,6 +575,29 @@
 	}
 	
 	/**
+	 * Get the group id from an group
+	 *
+	 */
+	function getgid($group){
+		global $app;
+	  	if($this->is_group($group)){
+		    $group_datei = $this->server_conf['group_datei'];
+			$groups = $app->file->no_comments($group_datei);
+			$lines = explode("\n", $groups);
+			if(is_array($lines)){
+		    foreach($lines as $line){
+					if(trim($line) != ""){
+						list($f1, $f2, $f3, $f4) = explode(':', $line);
+						if($f1 == $group) return $f3;
+					}
+				}
+			}
+	  	} else {
+		    return false;
+	  	}
+	}
+	
+	/**
 	 * Get all information from a user
 	 *
 	 */
diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index c3133a6..54bba59 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -162,8 +162,8 @@
 					exec($command);
 					$app->log("Executed command: $command ",LOGLEVEL_DEBUG);
 					*/
-					$groupinfo = posix_getgrnam($data['new']['pgroup']);
-					$app->system->usermod($data['old']['username'],0, $groupinfo[gid], $data['new']['dir'], $data['new']['shell'], $data['new']['password'], $data['new']['username']);
+					//$groupinfo = posix_getgrnam($data['new']['pgroup']);
+					$app->system->usermod($data['old']['username'],0, $app->system->getgid($data['new']['pgroup']), $data['new']['dir'], $data['new']['shell'], $data['new']['password'], $data['new']['username']);
 					$app->log("Updated shelluser: ".$data['old']['username'],LOGLEVEL_DEBUG);
 									
 					// call the ssh-rsa update function

--
Gitblit v1.9.1