steffen: server/kolab-webadmin/kolab-webadmin/www/admin/user index.php, 1.3, 1.4
cvs at intevation.de
cvs at intevation.de
Thu Aug 5 17:07:41 CEST 2004
Author: steffen
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user
In directory doto:/tmp/cvs-serv18549/kolab-webadmin/www/admin/user
Modified Files:
index.php
Log Message:
filter when viewing accounts
Index: index.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/index.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- index.php 3 Aug 2004 23:37:18 -0000 1.3
+++ index.php 5 Aug 2004 15:07:39 -0000 1.4
@@ -40,7 +40,28 @@
$privmembers = array_merge( $ldap->groupMembers( $base_dn, 'admin' ),
$ldap->groupMembers( $base_dn, 'maintainer' ) );
- $filter = "(&(cn=*)(objectclass=inetOrgPerson)(uid=*)(mail=*)(sn=*))";
+ $userfilter = "cn=*";
+ $filterattr = $_REQUEST['filterattr'];
+ $filtertype = $_REQUEST['filtertype'];
+ $filtervalue = $_REQUEST['filtervalue'];
+ if( !in_array( $filterattr, array( 'cn', 'uid', 'mail' ) ) ) $filterattr = 'cn';
+ if( isset( $filtervalue ) && !empty( $filtervalue ) ) {
+ switch( $filtertype ) {
+ case 'contains': // contains
+ $userfilter = "$filterattr=*".$ldap->escape($filtervalue).'*';
+ break;
+ case 'is': // is
+ $userfilter = "$filterattr=".$ldap->escape($filtervalue);
+ break;
+ case 'begins': // begins with
+ $userfilter = "$filterattr=".$ldap->escape($filtervalue).'*';
+ break;
+ case 'ends': // ends with
+ $userfilter = "$filterattr=*".$ldap->escape($filtervalue);
+ break;
+ }
+ }
+ $filter = "(&($userfilter)(objectclass=inetOrgPerson)(uid=*)(mail=*)(sn=*))";
$result = ldap_search($ldap->connection, $base_dn, $filter, array( 'uid', 'mail', 'sn', 'cn', 'deleteflag' ));
if( $result ) {
@@ -93,6 +114,18 @@
$smarty->assign( 'uid', $auth->uid() );
$smarty->assign( 'group', $auth->group() );
$smarty->assign( 'page_title', $menuitems[$sidx]['title'] );
+
+$smarty->assign( 'filterattrs', array( 'cn' => _('Name'),
+ 'mail' => _('Email'),
+ 'uid' => _('UID') ) );
+$smarty->assign( 'filtertypes', array( 'contains' => _('contains'),
+ 'is' => _('is'),
+ 'begins' => _('begins with'),
+ 'ends' => _('ends with') ) );
+$smarty->assign( 'filterattr', $filterattr );
+$smarty->assign( 'filtertype', $filtertype );
+$smarty->assign( 'filtervalue', $filtervalue );
+
$smarty->assign( 'entries', $entries );
$smarty->assign( 'menuitems', $menuitems );
$smarty->assign( 'submenuitems',
More information about the commits
mailing list