From 3f478f7b37eb314c7dba33af10e8d32d5f2fa579 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Fri, 19 Apr 2013 05:35:57 -0400 Subject: [PATCH] Merged revisions 3922-3958 from stable branch. --- server/lib/classes/system.inc.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index 1de54e2..c958e8b 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -575,6 +575,58 @@ } /** + * 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; + } + } + + /** + * Return info about a group by name + * + */ + function posix_getgrnam($group) { + if(!function_exists('posix_getgrnam')){ + $group_datei = $this->server_conf['group_datei']; + $cmd = 'grep -m 1 "^'.$group.':" '.$group_datei; + exec($cmd, $output, $return_var); + if($return_var != 0 || !$output[0]) return false; + list($f1, $f2, $f3, $f4) = explode(':', $output[0]); + $f2 = trim($f2); + $f3 = trim($f3); + $f4 = trim($f4); + if($f4 != ''){ + $members = explode(',', $f4); + } else { + $members = array(); + } + $group_details = array( 'name' => $group, + 'passwd' => $f2, + 'members' => $members, + 'gid' => $f3); + return $group_details; + } else { + return posix_getgrnam($group); + } + } + + /** * Get all information from a user * */ -- Gitblit v1.9.1