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