steffen: server/kolab-webadmin/kolab-webadmin/www/admin/distributionlist list.php, 1.11, 1.12
cvs at intevation.de
cvs at intevation.de
Fri Aug 13 12:46:10 CEST 2004
Author: steffen
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/distributionlist
In directory doto:/tmp/cvs-serv23705/kolab-webadmin/www/admin/distributionlist
Modified Files:
list.php
Log Message:
issue216
Index: list.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/distributionlist/list.php,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- list.php 12 Aug 2004 10:55:39 -0000 1.11
+++ list.php 13 Aug 2004 10:46:08 -0000 1.12
@@ -1,6 +1,6 @@
<?php
/*
- * Copyright (c) 2004 Klarälvdalens Datakonsult AB
+ * Copyright (c) 2004 KlarÃ��¤lvdalens Datakonsult AB
*
* Written by Steffen Hansen <steffen at klaralvdalens-datakonsult.se>
*
@@ -38,12 +38,15 @@
require_once('admin/include/menu.php');
function checkemaillist( $form, $key, $value ) {
+ global $ldap;
if( $key == 'members' ) {
$lst = array_unique( array_filter( array_map( 'trim', preg_split( '/\n/', $value ) ), 'strlen') );
if( count($lst) < 1 ) return _('Please add at least one member');
- /*foreach( $lst as $a ) {
- if( !ereg('.*@.*', $a ) ) return 'Invalid email address syntax';
- }*/
+ foreach( $lst as $a ) {
+ debug("Trying $a");
+ ($dn = $ldap->dnForMail($a)) || ($dn = $ldap->dnForUid($a)) || ($dn = $ldap->dnForAlias($a));
+ if( !$dn ) return _("No user with email address, UID or alias $a");
+ }
}
return '';
}
@@ -79,9 +82,10 @@
$form->entries['action']['value'] = 'save';
$m = $ldap_object['member'];
unset( $m['count'] );
+ debug_var_dump( $m );
$form->entries['members']['value'] = join("\r\n",
array_map( create_function( '$dn',
- 'global $ldap;return $ldap->mailForDn($dn);' ), $m) );
+ 'global $ldap; return $ldap->mailForDn($dn);' ), $m) );
$internaldn = 'cn=internal,'.domain_dn();
debug("internaldn=\"$internaldn\"");
debug("dn=\"$dn\"");
@@ -157,14 +161,16 @@
else $visible = true;
if (!$visible) $dl_root = "cn=internal,".$dl_root;
- $ldap_object = array('objectClass' => 'kolabgroupofnames');
+ $ldap_object = array('objectClass' => 'kolabGroupOfNames');
$cn = trim($_POST['cn']);
$ldap_object['cn'] = $cn;
$ldap_object['member'] = array();
$lst = array_unique( array_filter( array_map( 'trim', preg_split( '/\n/', trim($_POST['members']) ) ), 'strlen') );
foreach( $lst as $a ) {
- $memberdn = $ldap->dnForMail($a);
+ debug("Translating $a");
+ ($memberdn = $ldap->dnForMail($a)) || ($memberdn = $ldap->dnForUid($a)) || ($memberdn = $ldap->dnForAlias($a));
+ debug("Found $memberdn");
if( $memberdn ) {
$ldap_object['member'][] = $memberdn;
} else {
@@ -253,7 +259,7 @@
}
break;
case 'modify':
- $result = $ldap->search( $dn, '(objectClass=kolabgroupofnames)' );
+ $result = $ldap->search( $dn, '(objectClass=kolabGroupOfNames)' );
if( $result ) {
$ldap_object = ldap_get_entries( $ldap->connection, $result );
if( $ldap_object['count'] == 1 ) {
@@ -269,7 +275,7 @@
}
break;
case 'delete':
- $result = $ldap->search( $dn, '(objectClass=kolabgroupofnames)' );
+ $result = $ldap->search( $dn, '(objectClass=kolabGroupOfNames)' );
if( $result ) {
$ldap_object = ldap_get_entries( $ldap->connection, $result );
if( $ldap_object['count'] == 1 ) {
More information about the commits
mailing list