|
From: <ad...@us...> - 2009-08-19 10:43:18
|
Revision: 271
http://elma.svn.sourceforge.net/elma/?rev=271&view=rev
Author: adan0s
Date: 2009-08-19 10:43:08 +0000 (Wed, 19 Aug 2009)
Log Message:
-----------
A mailUser is not allowed to ldap_list in this base_dn, he has to access his information directly.
Modified Paths:
--------------
trunk/includes/ldap_functions.inc.php
trunk/modules/content_user_edit.php
Modified: trunk/includes/ldap_functions.inc.php
===================================================================
--- trunk/includes/ldap_functions.inc.php 2009-08-19 08:48:54 UTC (rev 270)
+++ trunk/includes/ldap_functions.inc.php 2009-08-19 10:43:08 UTC (rev 271)
@@ -245,7 +245,11 @@
* @attribute array ldap attributes to return, empty array returns everything
*/
function getUser ( $domain_dc, $user_uid="*", $active="*", $attribute = array() ) {
- $result = ldap_list($this->cid, "dc=".$domain_dc.",".LDAP_DOMAINS_ROOT_DN, "(&(objectclass=mailUser)(mailStatus=$active)(uid=$user_uid))", $attribute);
+ if ($user_uid == "*")
+ $result = ldap_list($this->cid, "dc=".$domain_dc.",".LDAP_DOMAINS_ROOT_DN, "(&(objectclass=mailUser)(mailStatus=$active)(uid=$user_uid))", $attribute);
+ else
+ $result = ldap_read($this->cid, "uid=".$user_uid.",dc=".$domain_dc.",".LDAP_DOMAINS_ROOT_DN, "(&(objectclass=mailUser)(mailStatus=$active))", $attribute);
+
ldap_sort($this->cid,$result,"uid");
$user = ldap_get_entries($this->cid, $result);
if ( $user_uid !== "*" ) $user = $user[0];
Modified: trunk/modules/content_user_edit.php
===================================================================
--- trunk/modules/content_user_edit.php 2009-08-19 08:48:54 UTC (rev 270)
+++ trunk/modules/content_user_edit.php 2009-08-19 10:43:08 UTC (rev 271)
@@ -132,8 +132,8 @@
if ( $user == "new" ) {
$this->smarty->assign("mode","add");
- } else {
- $my_user = $this->ldap->getUser($domain,$user);
+ } else {
+ $my_user = $this->ldap->getUser($domain,$user);
$eximFilterValues = parseEximFilter($my_user["mailsievefilter"][0]);
$this->smarty->assign("mode","modify");
$this->smarty->assign("user",$my_user);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|