summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunnar Wrobel <wrobel@pardus.de>2007-08-07 11:56:56 (GMT)
committerGunnar Wrobel <wrobel@pardus.de>2007-08-07 11:56:56 (GMT)
commitc07d71b397636f2668ca965d3a6cc9bdcb6a2c21 (patch)
tree01ed1358c56bca8c9c05ad11193342ab9460dbab
parent2bcc87a5e047670a2a5a2902624c9eeb1372e9c8 (diff)
downloadkolab-webadmin-c07d71b397636f2668ca965d3a6cc9bdcb6a2c21.tar.gz
kolab/issue1246 (Permission handling in the webadmin frontend)
https://intevation.de/roundup/kolab/issue1246
-rw-r--r--ChangeLog7
-rw-r--r--www/admin/domainmaintainer/domainmaintainer.php.in10
2 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 4564a67..b9fc185 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-08-07 Gunnar Wrobel <p@rdus.de>
+
+ * www/admin/domainmaintainer/domainmaintainer.php.in:
+
+ fixed kolab/issue1246 (Permission handling in the webadmin frontend)
+ https://intevation.de/roundup/kolab/issue1246
+
2007-07-13 Gunnar Wrobel <p@rdus.de>
* php/admin/include/ldap.class.php:
diff --git a/www/admin/domainmaintainer/domainmaintainer.php.in b/www/admin/domainmaintainer/domainmaintainer.php.in
index 43a8d41..16211a0 100644
--- a/www/admin/domainmaintainer/domainmaintainer.php.in
+++ b/www/admin/domainmaintainer/domainmaintainer.php.in
@@ -236,11 +236,13 @@ switch( $action ) {
array_push($errors, sprintf(_("LDAP Error: could not modify object %s: %s"), $dn,
ldap_error($ldap->connection)));
}
- if( !$errors ) {
- $domains = $ldap->domainsForMaintainerDn($dn);
- $remove_domains = array_diff($domains,$_POST['domains']);
- $ldap->removeFromDomainGroups( $dn, $remove_domains );
+ if( $auth->group() == 'admin' || $auth->group() == 'maintainer' ) {
+ if( !$errors ) {
+ $domains = $ldap->domainsForMaintainerDn($dn);
+ $remove_domains = array_diff($domains,$_POST['domains']);
+ $ldap->removeFromDomainGroups( $dn, $remove_domains );
$ldap->addToDomainGroups( $newdn, $_POST['domains'] );
+ }
}
}
}