From 27933bab9bf3770ab6c71f757c8e6c0c6b16c532 Mon Sep 17 00:00:00 2001 From: Gunnar Wrobel Date: Wed, 13 May 2009 09:01:04 +0200 Subject: [PATCH] Allow to retrieve higher order parents. --- framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php index 26b7d478b..38604a093 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object.php @@ -488,9 +488,13 @@ class Horde_Kolab_Server_Object * * @return string the parent UID of this object */ - public function getParentUid() + public function getParentUid($level = 1, $uid = null) { - $base = Net_LDAP2_Util::ldap_explode_dn($this->uid, + if (empty($uid)) { + $uid = $this->uid; + } + + $base = Net_LDAP2_Util::ldap_explode_dn($uid, array('casefold' => 'none', 'reverse' => false, 'onlyvalues' => false)); @@ -504,7 +508,12 @@ class Horde_Kolab_Server_Object throw new Horde_Kolab_Server_Exception($parent, Horde_Kolab_Server_Exception::SYSTEM); } - return $parent; + $level--; + if ($level == 0) { + return $parent; + } else { + return $this->getParentUid($level, $parent); + } } /** -- 2.11.0