[geeklog-cvs] geeklog: Fixed assigning groups to groups
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Sat Feb 21 17:03:34 EST 2009
details: http://project.geeklog.net/cgi-bin/hgweb.cgi/rev/b4dc97200076
changeset: 6792:b4dc97200076
user: Dirk Haun <dirk at haun-online.de>
date: Sat Feb 21 22:41:54 2009 +0100
description:
Fixed assigning groups to groups
diffstat:
1 file changed, 18 insertions(+), 20 deletions(-)
public_html/admin/group.php | 38 ++++++++++++++++++--------------------
diffs (66 lines):
diff -r ba2231f87362 -r b4dc97200076 public_html/admin/group.php
--- a/public_html/admin/group.php Sat Feb 21 19:52:03 2009 +0100
+++ b/public_html/admin/group.php Sat Feb 21 22:41:54 2009 +0100
@@ -466,8 +466,8 @@
global $_CONF, $_TABLES, $_USER, $LANG_ACCESS, $VERBOSE;
$retval = '';
- if (!empty ($grp_name) && !empty ($grp_descr)) {
- $GroupAdminGroups = SEC_getUserGroups ();
+ if (!empty($grp_name) && !empty($grp_descr)) {
+ $GroupAdminGroups = SEC_getUserGroups();
if (!empty ($grp_id) &&
($grp_id > 0) &&
!in_array ($grp_id, $GroupAdminGroups) &&
@@ -537,19 +537,18 @@
}
// now save the features
- DB_delete ($_TABLES['access'], 'acc_grp_id', $grp_id);
- if (SEC_inGroup ('Root')) {
- for ($i = 1; $i <= sizeof ($features); $i++) {
- DB_query ("INSERT INTO {$_TABLES['access']} (acc_ft_id,acc_grp_id) VALUES (" . current ($features) . ",$grp_id)");
- next ($features);
+ DB_delete($_TABLES['access'], 'acc_grp_id', $grp_id);
+ $num_features = count($features);
+ if (SEC_inGroup('Root')) {
+ foreach ($features as $f) {
+ DB_query ("INSERT INTO {$_TABLES['access']} (acc_ft_id,acc_grp_id) VALUES ($f,$grp_id)");
}
} else {
- $GroupAdminFeatures = SEC_getUserPermissions ();
- $availableFeatures = explode (',', $GroupAdminFeatures);
- for ($i = 1; $i <= sizeof($features); $i++) {
- if (in_array (current ($features), $availableFeatures)) {
- DB_query("INSERT INTO {$_TABLES['access']} (acc_ft_id,acc_grp_id) VALUES (" . current($features) . ",$grp_id)");
- next($features);
+ $GroupAdminFeatures = SEC_getUserPermissions();
+ $availableFeatures = explode(',', $GroupAdminFeatures);
+ foreach ($features as $f) {
+ if (in_array($f, $availableFeatures)) {
+ DB_query("INSERT INTO {$_TABLES['access']} (acc_ft_id,acc_grp_id) VALUES ($f,$grp_id)");
}
}
}
@@ -558,15 +557,14 @@
COM_errorLog("deleting all group_assignments for group $grp_id/$grp_name",1);
}
- DB_delete ($_TABLES['group_assignments'], 'ug_grp_id', $grp_id);
- if (!empty ($groups)) {
- for ($i = 1; $i <= sizeof ($groups); $i++) {
- if (in_array ($grp_id, $GroupAdminGroups)) {
- if ($VERBOSE) COM_errorLog("adding group_assignment " . current($groups) . " for $grp_name",1);
- $sql = "INSERT INTO {$_TABLES['group_assignments']} (ug_main_grp_id, ug_grp_id) VALUES (" . current($groups) . ",$grp_id)";
+ DB_delete($_TABLES['group_assignments'], 'ug_grp_id', $grp_id);
+ if (! empty($groups)) {
+ foreach ($groups as $g) {
+ if (in_array($g, $GroupAdminGroups)) {
+ if ($VERBOSE) COM_errorLog("adding group_assignment $g for $grp_name",1);
+ $sql = "INSERT INTO {$_TABLES['group_assignments']} (ug_main_grp_id, ug_grp_id) VALUES ($g,$grp_id)";
DB_query($sql);
}
- next($groups);
}
}
More information about the geeklog-cvs
mailing list