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