steffen: server/kolab-webadmin/kolab-webadmin/www/admin/user user.php, 1.55, 1.56

cvs at intevation.de cvs at intevation.de
Fri Mar 18 11:28:28 CET 2005


Author: steffen

Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user
In directory doto:/tmp/cvs-serv28787/kolab-webadmin/www/admin/user

Modified Files:
	user.php 
Log Message:
Issue660 (email domain can now only by the kolab domain)

Index: user.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/user.php,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- user.php	18 Mar 2005 08:59:00 -0000	1.55
+++ user.php	18 Mar 2005 10:28:26 -0000	1.56
@@ -45,12 +45,26 @@
   return $_SESSION['base_dn'];
 }
 
+// return tru if $str ends with $sub
+function endsWith( $str, $sub ) {
+  return ( substr( $str, strlen( $str ) - strlen( $sub ) ) == $sub );
+}
+
 // Check that a uid is unique
 function checkuniquemail( $form, $key, $value ) {
   debug("checkuniquemail( $form, $key, $value )");
   global $ldap;
   $value = trim($value);
   if( $value == '' ) return _('Please enter an email address');
+
+  // Check that we are in the domain
+  $kolab = $ldap->read( 'k=kolab,'.$_SESSION['base_dn'] );
+  $domain = trim($kolab['postfix-mydomain'][0]);
+  debug("value=$value, domain=$domain");
+  if( !endsWith( $value, $domain ) ) {	
+	return _("Email address $value not in domain $domain");
+  }
+
   if( $ldap->countMail( $_SESSION['base_dn'], $value ) > 0 ) {	
 	return _('User or distribution list with this email address already exists');
   } else {





More information about the commits mailing list