steffen: server/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer domainmaintainer.php.in, 1.2, 1.3 index.php.in, 1.1, 1.2
cvs at intevation.de
cvs at intevation.de
Thu May 18 01:15:34 CEST 2006
Author: steffen
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer
In directory doto:/tmp/cvs-serv6749/kolab-webadmin/www/admin/domainmaintainer
Modified Files:
domainmaintainer.php.in index.php.in
Log Message:
patches from wrobel
Index: domainmaintainer.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer/domainmaintainer.php.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- domainmaintainer.php.in 9 Mar 2006 21:27:22 -0000 1.2
+++ domainmaintainer.php.in 17 May 2006 23:15:32 -0000 1.3
@@ -71,6 +71,7 @@
return '';
}
function fill_form_for_modify( &$form, &$ldap_object ) {
+ global $auth;
global $ldap;
if (is_array($ldap_object['sn'])) $lastname = $ldap_object['sn'][0];
else $lastname = $ldap_object['sn'];
@@ -91,7 +92,12 @@
$form->entries['password_1']['value'] = '';
$form->entries['uid']['value'] = $uid;
$form->entries['uid']['attrs'] = 'readonly';
- $form->entries['domains']['value'] = $ldap->domainsForMaintainerUid($uid);
+ if( $auth->group() != 'admin' && $auth->group() != 'maintainer' ) {
+ $form->entries['firstname']['attrs'] = 'readonly';
+ $form->entries['lastname']['attrs'] = 'readonly';
+ } else {
+ $form->entries['domains']['value'] = $ldap->domainsForMaintainerUid($uid);
+ }
}
/**** Authentication etc. ***/
@@ -114,7 +120,7 @@
if (!empty($_REQUEST['dn'])) $dn = trim(urldecode($_REQUEST['dn']));
// Check auth
-if (!$errors && $auth->group() != 'admin' && $auth->group() != 'maintainer' ) {
+if (!$errors && $auth->group() != 'admin' && $auth->group() != 'maintainer' && $auth->group() != 'domain-maintainer' ) {
array_push($errors, _("Error: You don't have the required Permissions"));
}
@@ -143,13 +149,16 @@
'comment' => $comment_password ),
'uid' => array( 'name' => _('Unique User ID'),
'validation' => 'notempty',
- 'comment' => $comment_mail_0 ),
- 'domains' => array( 'name' => _("Domains"),
- 'type' => "checklist",
- 'comment' => _("Check domains this domain maintainer should be able to maintain"),
- 'options' => $ldap->domains())
+ 'comment' => $comment_mail_0 )
);
+if( $auth->group() == 'admin' || $auth->group() == 'maintainer' ) {
+ $entries['domains'] = array( 'name' => _("Domains"),
+ 'type' => "checklist",
+ 'comment' => _("Check domains this domain maintainer should be able to maintain"),
+ 'options' => $ldap->domains());
+ }
+
$entries['action'] = array( 'name' => 'action',
'type' => 'hidden' );
@@ -225,10 +234,12 @@
$errors[] = sprintf( _("LDAP Error: Could not remove old group entry %s: %s"), $dn,
ldap_error($ldap->connection));
}
- if( !$errors ) {
- $domains = $ldap->domainsForMaintainerDn($dn);
- $ldap->removeFromDomainGroups( $dn, $domains );
- $ldap->addToDomainGroups( $newdn, $_POST['domains'] );
+ if( $auth->group() == 'admin' || $auth->group() == 'maintainer' ) {
+ if( !$errors ) {
+ $domains = $ldap->domainsForMaintainerDn($dn);
+ $ldap->removeFromDomainGroups( $dn, $domains );
+ $ldap->addToDomainGroups( $newdn, $_POST['domains'] );
+ }
}
}
$dn = $newdn;
@@ -250,6 +261,11 @@
$heading = _('Modify Domain Maintainer');
$messages[] = _('Maintainer ').$ldap_object['dn']._(' successfully modified');
$form->setValues();
+ if( $auth->group() != 'admin' && $auth->group() != 'maintainer' ) {
+ $form->entries['firstname']['attrs'] = 'readonly';
+ $form->entries['lastname']['attrs'] = 'readonly';
+ }
+ $form->entries['uid']['attrs'] = 'readonly';
$form->entries['action']['value'] = 'save';
} else {
// firstsave
Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer/index.php.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- index.php.in 5 Feb 2006 20:13:55 -0000 1.1
+++ index.php.in 17 May 2006 23:15:32 -0000 1.2
@@ -28,7 +28,7 @@
/**** Authentication etc. ***/
$sidx = 'domain-maintainer';
-if( $auth->group() != 'admin' ) {
+if( $auth->group() != 'admin' && $auth->group() != 'maintainer' ) {
array_push($errors, _("Error: You don't have Permissions to access this Menu"));
}
@@ -52,7 +52,7 @@
$maintainers = $ldap->groupMembers( "cn=internal,$base_dn", 'domain-maintainer' );
- $filter = "(&(cn=*)(objectclass=inetOrgPerson)(!(uid=manager))(sn=*))";
+ $filter = "(&(cn=*)(objectclass=kolabInetOrgPerson)(!(uid=manager))(sn=*))";
$result = ldap_search($ldap->connection, $base_dn, $filter, array( 'uid', 'sn', 'cn', 'kolabdeleteflag' ));
if( $result ) {
More information about the commits
mailing list