[Kolab-devel] wilde: server/patches/horde-webmail/1.2.0/tg t_Kolab__Server_HK_GW_MappableAttributes.diff, NONE, 1.1.4.1 series, 1.5.2.7, 1.5.2.8

Gunnar Wrobel wrobel at pardus.de
Mon Feb 22 09:16:20 CET 2010


Quoting Gunnar Wrobel <wrobel at pardus.de>:

> Merged ohne commit, da auch der Webclient mittlerweile das
> installierte Kolab_Server-Paket verwendet.

Sorry, wasn't meant for the list but as direct message to Sascha. It  
was still early in the morning...

>
> Quoting cvs at kolab.org:
>
>> Author: wilde
>>
>> Update of /kolabrepository/server/patches/horde-webmail/1.2.0/tg
>> In directory doto:/tmp/cvs-serv14888/patches/horde-webmail/1.2.0/tg
>>
>> Modified Files:
>>       Tag: kolab_2_2_branch
>> 	series
>> Added Files:
>>       Tag: kolab_2_2_branch
>> 	t_Kolab__Server_HK_GW_MappableAttributes.diff
>> Log Message:
>> Added ability to map arbitrary ldap attributes to those expected by kolab.
>> (Merged from suc branch)
>>
>>
>> --- NEW FILE: t_Kolab__Server_HK_GW_MappableAttributes.diff ---
>> From: Gunnar Wrobel <p at rdus.de>
>> Subject: [PATCH] t/Kolab_Server/HK/GW/MappableAttributes
>>
>> Allow to configure mapped LDAP attributes.
>>
>> Signed-off-by: Gunnar Wrobel <p at rdus.de>
>>
>> ---
>>  horde-webmail/lib/Horde/Kolab/Server.php           |   15 +-
>>  horde-webmail/lib/Horde/Kolab/Server/Object.php    |    2 +
>>  .../lib/Horde/Kolab/Server/Object/address.php      |   33 ++-
>>  .../lib/Horde/Kolab/Server/Object/adminrole.php    |   35 ++-
>>  .../lib/Horde/Kolab/Server/Object/distlist.php     |   30 ++-
>>  .../lib/Horde/Kolab/Server/Object/group.php        |   23 +-
>>  .../lib/Horde/Kolab/Server/Object/server.php       |   21 ++-
>>  .../lib/Horde/Kolab/Server/Object/sharedfolder.php |   23 +-
>>  .../lib/Horde/Kolab/Server/Object/user.php         |   32 ++-
>>  horde-webmail/lib/Horde/Kolab/Server/ldap.php      |  308
>> ++++++++++++++++++--
>>  horde-webmail/lib/Horde/Kolab/Server/test.php      |   20 ++-
>>  11 files changed, 467 insertions(+), 75 deletions(-)
>>
>> diff --git a/horde-webmail/lib/Horde/Kolab/Server.php
>> b/horde-webmail/lib/Horde/Kolab/Server.php
>> index bf251f5..fd0bda7 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server.php
>> @@ -159,9 +159,12 @@ class Horde_Kolab_Server {
>>              $driver = 'ldap';
>>
>>              $server_params = array('server'  =>
>> $conf['kolab']['ldap']['server'],
>> -                                  'base_dn' =>
>> $conf['kolab']['ldap']['basedn'],
>> -                                  'uid'     =>
>> $conf['kolab']['ldap']['phpdn'],
>> -                                  'pass'    =>
>> $conf['kolab']['ldap']['phppw']);
>> +                                   'base_dn' =>
>> $conf['kolab']['ldap']['basedn'],
>> +                                   'uid'     =>
>> $conf['kolab']['ldap']['phpdn'],
>> +                                   'pass'    =>
>> $conf['kolab']['ldap']['phppw']);
>> +            if (isset($conf['kolab']['ldap']['map'])) {
>> +                $server_params['map'] = $conf['kolab']['ldap']['map'];
>> +            }
>>          } else {
>>              $driver        = null;
>>              $server_params = array();
>> @@ -473,7 +476,7 @@ class Horde_Kolab_Server {
>>      function uidForId($id,
>>                        $restrict = KOLAB_SERVER_RESULT_SINGLE)
>>      {
>> -        return $this->uidForAttr('uid', $id);
>> +        return $this->uidForAttr(KOLAB_ATTR_SID, $id);
>>      }
>>
>>      /**
>> @@ -513,7 +516,7 @@ class Horde_Kolab_Server {
>>       */
>>      function uidForIdOrMail($id)
>>      {
>> -        $uid = $this->uidForAttr('uid', $id);
>> +        $uid = $this->uidForAttr(KOLAB_ATTR_SID, $id);
>>          if (!$uid) {
>>              $uid = $this->uidForAttr('mail', $id);
>>          }
>> @@ -562,7 +565,7 @@ class Horde_Kolab_Server {
>>       */
>>      function uidForMailOrIdOrAlias($id)
>>      {
>> -        $uid = $this->uidForAttr('uid', $id);
>> +        $uid = $this->uidForAttr(KOLAB_ATTR_SID, $id);
>>          if (!$uid) {
>>              $uid = $this->uidForAttr('mail', $id);
>>              if (!$uid) {
>> diff --git a/horde-webmail/lib/Horde/Kolab/Server/Object.php
>> b/horde-webmail/lib/Horde/Kolab/Server/Object.php
>> index 2e5ada2..be9eca9 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/Object.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/Object.php
>> @@ -26,6 +26,7 @@ define('KOLAB_OBJECT_USER',
>> 'Horde_Kolab_Server_Object_user');
>>  define('KOLAB_OBJECT_SERVER',            
>> 'Horde_Kolab_Server_Object_server');
>>
>>  /** Define the possible Kolab object attributes */
>> +define('KOLAB_ATTR_OC',           'objectClass');
>>  define('KOLAB_ATTR_UID',          'dn');
>>  define('KOLAB_ATTR_ID',           'id');
>>  define('KOLAB_ATTR_SN',           'sn');
>> @@ -35,6 +36,7 @@ define('KOLAB_ATTR_FN',           'fn');
>>  define('KOLAB_ATTR_LNFN',         'lnfn');
>>  define('KOLAB_ATTR_FNLN',         'fnln');
>>  define('KOLAB_ATTR_MAIL',         'mail');
>> +define('KOLAB_ATTR_ALIAS',        'alias');
>>  define('KOLAB_ATTR_SID',          'uid');
>>  define('KOLAB_ATTR_ACL',          'acl');
>>  define('KOLAB_ATTR_MEMBER',       'member');
>> diff --git a/horde-webmail/lib/Horde/Kolab/Server/Object/address.php
>> b/horde-webmail/lib/Horde/Kolab/Server/Object/address.php
>> index 98ed518..bd6128f 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/Object/address.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/Object/address.php
>> @@ -33,13 +33,6 @@
>>  class Horde_Kolab_Server_Object_address extends Horde_Kolab_Server_Object {
>>
>>      /**
>> -     * The LDAP filter to retrieve this object type
>> -     *
>> -     * @var string
>> -     */
>> -    var $filter = '(&(objectclass=inetOrgPerson)(!(uid=*))(sn=*))';
>> -
>> -    /**
>>       * The attributes supported by this class
>>       *
>>       * @var array
>> @@ -86,6 +79,32 @@ class Horde_Kolab_Server_Object_address extends
>> Horde_Kolab_Server_Object {
>>      );
>>
>>      /**
>> +     * The LDAP filter to retrieve this object type
>> +     *
>> +     * @return string
>> +     */
>> +    function getFilter()
>> +    {
>> +        $criteria = array('AND' => array(
>> +                              array('field' => KOLAB_ATTR_SN,
>> +                                    'op'    => '=',
>> +                                    'test'  => '*'),
>> +                              array('field' => KOLAB_ATTR_OC,
>> +                                    'op'    => '=',
>> +                                    'test'  => KOLAB_OC_INETORGPERSON),
>> +                              array('NOT' => array(
>> +                                        array('field' => KOLAB_ATTR_SID,
>> +                                              'op'    => '=',
>> +                                              'test'  => '*'),
>> +                                    ),
>> +                              ),
>> +                          ),
>> +        );
>> +        return $criteria;
>> +    }
>> +
>> +
>> +    /**
>>       * Convert the object attributes to a hash.
>>       *
>>       * @param string $attrs The attributes to return.
>> diff --git
>> a/horde-webmail/lib/Horde/Kolab/Server/Object/adminrole.php
>> b/horde-webmail/lib/Horde/Kolab/Server/Object/adminrole.php
>> index aea4410..b2571ff 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/Object/adminrole.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/Object/adminrole.php
>> @@ -32,13 +32,6 @@
>>  class Horde_Kolab_Server_Object_adminrole extends
>> Horde_Kolab_Server_Object {
>>
>>      /**
>> -     * The LDAP filter to retrieve this object type
>> -     *
>> -     * @var string
>> -     */
>> -    var $filter =
>> '(&(cn=*)(objectClass=inetOrgPerson)(!(uid=manager))(sn=*))';
>> -
>> -    /**
>>       * The attributes supported by this class
>>       *
>>       * @var array
>> @@ -87,6 +80,34 @@ class Horde_Kolab_Server_Object_adminrole extends
>> Horde_Kolab_Server_Object {
>>      );
>>
>>      /**
>> +     * The LDAP filter to retrieve this object type
>> +     *
>> +     * @return string
>> +     */
>> +    function getFilter()
>> +    {
>> +        $criteria = array('AND' => array(
>> +                              array('field' => KOLAB_ATTR_CN,
>> +                                    'op'    => '=',
>> +                                    'test'  => '*'),
>> +                              array('field' => KOLAB_ATTR_SN,
>> +                                    'op'    => '=',
>> +                                    'test'  => '*'),
>> +                              array('field' => KOLAB_ATTR_OC,
>> +                                    'op'    => '=',
>> +                                    'test'  => KOLAB_OC_INETORGPERSON),
>> +                              array('NOT' => array(
>> +                                        array('field' => KOLAB_ATTR_SID,
>> +                                              'op'    => '=',
>> +                                              'test'  => 'manager'),
>> +                                    ),
>> +                              ),
>> +                          ),
>> +        );
>> +        return $criteria;
>> +    }
>> +
>> +    /**
>>       * Convert the object attributes to a hash.
>>       *
>>       * @param string $attrs The attributes to return.
>> diff --git
>> a/horde-webmail/lib/Horde/Kolab/Server/Object/distlist.php
>> b/horde-webmail/lib/Horde/Kolab/Server/Object/distlist.php
>> index 7965e0d..22e096e 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/Object/distlist.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/Object/distlist.php
>> @@ -34,14 +34,6 @@ require_once 'Horde/Kolab/Server/Object/group.php';
>>  class Horde_Kolab_Server_Object_distlist extends
>> Horde_Kolab_Server_Object_group {
>>
>>      /**
>> -     * The LDAP filter to retrieve this object type
>> -     *
>> -     * @var string
>> -     */
>> -    var $filter = '(&(objectClass=kolabGroupOfNames)(mail=*))';
>> -
>> -
>> -    /**
>>       * The attributes required when creating an object of this class.
>>       *
>>       * @var array
>> @@ -49,4 +41,26 @@ class Horde_Kolab_Server_Object_distlist extends
>> Horde_Kolab_Server_Object_group
>>      var $_required_attributes = array(
>>          KOLAB_ATTR_MAIL,
>>      );
>> +
>> +    /**
>> +     * Return the filter string to retrieve this object type.
>> +     *
>> +     * @static
>> +     *
>> +     * @return string The filter to retrieve this object type from
>> the server
>> +     *                database.
>> +     */
>> +    public static function getFilter()
>> +    {
>> +        $criteria = array('AND' => array(
>> +                              array('field' => KOLAB_ATTR_MAIL,
>> +                                    'op'    => '=',
>> +                                    'test'  => '*'),
>> +                              array('field' => KOLAB_ATTR_OC,
>> +                                    'op'    => '=',
>> +                                    'test'  => KOLAB_OC_KOLABGROUPOFNAMES),
>> +                          ),
>> +        );
>> +        return $criteria;
>> +    }
>>  };
>> diff --git a/horde-webmail/lib/Horde/Kolab/Server/Object/group.php
>> b/horde-webmail/lib/Horde/Kolab/Server/Object/group.php
>> index 91c1bd2..f58c905 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/Object/group.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/Object/group.php
>> @@ -32,13 +32,6 @@
>>  class Horde_Kolab_Server_Object_group extends Horde_Kolab_Server_Object {
>>
>>      /**
>> -     * The LDAP filter to retrieve this object type
>> -     *
>> -     * @var string
>> -     */
>> -    var $filter = '(objectClass=kolabGroupOfNames)';
>> -
>> -    /**
>>       * The attributes supported by this class
>>       *
>>       * @var array
>> @@ -104,6 +97,22 @@ class Horde_Kolab_Server_Object_group extends
>> Horde_Kolab_Server_Object {
>>      }
>>
>>      /**
>> +     * Return the filter string to retrieve this object type.
>> +     *
>> +     * @return string The filter to retrieve this object type from
>> the server
>> +     *                database.
>> +     */
>> +    public static function getFilter()
>> +    {
>> +        $criteria = array('AND' => array(array('field' => KOLAB_ATTR_OC,
>> +                                               'op'    => '=',
>> +                                               'test'  =>
>> KOLAB_OC_KOLABGROUPOFNAMES),
>> +                          ),
>> +        );
>> +        return $criteria;
>> +    }
>> +
>> +    /**
>>       * Convert the object attributes to a hash.
>>       *
>>       * @param string $attrs The attributes to return.
>> diff --git a/horde-webmail/lib/Horde/Kolab/Server/Object/server.php
>> b/horde-webmail/lib/Horde/Kolab/Server/Object/server.php
>> index 965eb84..740417c 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/Object/server.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/Object/server.php
>> @@ -32,11 +32,26 @@
>>  class Horde_Kolab_Server_Object_server extends Horde_Kolab_Server_Object {
>>
>>      /**
>> -     * The LDAP filter to retrieve this object type
>> +     * Return the filter string to retrieve this object type.
>>       *
>> -     * @var string
>> +     * @static
>> +     *
>> +     * @return string The filter to retrieve this object type from
>> the server
>> +     *                database.
>>       */
>> -    var $filter = '(&((k=kolab))(objectclass=kolab))';
>> +    public static function getFilter()
>> +    {
>> +        $criteria = array('AND' => array(
>> +                              array('field' => 'k',
>> +                                    'op'    => '=',
>> +                                    'test'  => 'kolab'),
>> +                              array('field' => KOLAB_ATTR_OC,
>> +                                    'op'    => '=',
>> +                                    'test'  => KOLAB_OC_KOLAB),
>> +                          ),
>> +        );
>> +        return $criteria;
>> +    }
>>
>>      /**
>>       * The attributes supported by this class
>> diff --git
>> a/horde-webmail/lib/Horde/Kolab/Server/Object/sharedfolder.php
>> b/horde-webmail/lib/Horde/Kolab/Server/Object/sharedfolder.php
>> index 3b68862..b92f07b 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/Object/sharedfolder.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/Object/sharedfolder.php
>> @@ -33,13 +33,6 @@
>>  class Horde_Kolab_Server_Object_sharedfolder extends
>> Horde_Kolab_Server_Object {
>>
>>      /**
>> -     * The LDAP filter to retrieve this object type
>> -     *
>> -     * @var string
>> -     */
>> -    var $filter = '(objectClass=kolabSharedFolder)';
>> -
>> -    /**
>>       * The attributes supported by this class
>>       *
>>       * @var array
>> @@ -89,6 +82,22 @@ class Horde_Kolab_Server_Object_sharedfolder
>> extends Horde_Kolab_Server_Object {
>>      }
>>
>>      /**
>> +     * Return the filter string to retrieve this object type.
>> +     *
>> +     * @return string The filter to retrieve this object type from
>> the server
>> +     *                database.
>> +     */
>> +    public static function getFilter()
>> +    {
>> +        $criteria = array('AND' => array(array('field' => KOLAB_ATTR_OC,
>> +                                               'op'    => '=',
>> +                                               'test'  =>
>> KOLAB_OC_KOLABSHAREDFOLDER),
>> +                          ),
>> +        );
>> +        return $criteria;
>> +    }
>> +
>> +    /**
>>       * Convert the object attributes to a hash.
>>       *
>>       * @param string $attrs The attributes to return.
>> diff --git a/horde-webmail/lib/Horde/Kolab/Server/Object/user.php
>> b/horde-webmail/lib/Horde/Kolab/Server/Object/user.php
>> index d4e57a0..b702a4f 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/Object/user.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/Object/user.php
>> @@ -33,13 +33,6 @@
>>  class Horde_Kolab_Server_Object_user extends Horde_Kolab_Server_Object {
>>
>>      /**
>> -     * The LDAP filter to retrieve this object type
>> -     *
>> -     * @var string
>> -     */
>> -    var $filter =
>> '(&(objectClass=kolabInetOrgPerson)(uid=*)(mail=*)(sn=*))';
>> -
>> -    /**
>>       * The attributes supported by this class
>>       *
>>       * @var array
>> @@ -154,6 +147,31 @@ class Horde_Kolab_Server_Object_user extends
>> Horde_Kolab_Server_Object {
>>      }
>>
>>      /**
>> +     * The LDAP filter to retrieve this object type
>> +     *
>> +     * @return string
>> +     */
>> +    function getFilter()
>> +    {
>> +        $criteria = array('AND' => array(
>> +                              array('field' => KOLAB_ATTR_SN,
>> +                                    'op'    => '=',
>> +                                    'test'  => '*'),
>> +                              array('field' => KOLAB_ATTR_MAIL,
>> +                                    'op'    => '=',
>> +                                    'test'  => '*'),
>> +                              array('field' => KOLAB_ATTR_SID,
>> +                                    'op'    => '=',
>> +                                    'test'  => '*'),
>> +                              array('field' => KOLAB_ATTR_OC,
>> +                                    'op'    => '=',
>> +                                    'test'  =>  
>> KOLAB_OC_KOLABINETORGPERSON),
>> +                          ),
>> +        );
>> +        return $criteria;
>> +    }
>> +
>> +    /**
>>       * Convert the object attributes to a hash.
>>       *
>>       * @param string $attrs The attributes to return.
>> diff --git a/horde-webmail/lib/Horde/Kolab/Server/ldap.php
>> b/horde-webmail/lib/Horde/Kolab/Server/ldap.php
>> index a50ba2c..ea73b4f 100644
>> --- a/horde-webmail/lib/Horde/Kolab/Server/ldap.php
>> +++ b/horde-webmail/lib/Horde/Kolab/Server/ldap.php
>> @@ -2,7 +2,7 @@
>>  /**
>>   * The driver for accessing the Kolab user database stored in LDAP.
>>   *
>> - * $Horde: framework/Kolab_Server/lib/Horde/Kolab/Server/ldap.php,v
>> 1.2.2.2 2008/08/01 07:56:19 wrobel Exp $
>> + * $Horde: framework/Kolab_Server/lib/Horde/Kolab/Server/ldap.php,v
>> 1.2.2.10 2009/02/24 07:39:47 wrobel Exp $
>>   *
>>   * PHP version 4
>>   *
>> @@ -210,6 +210,7 @@ class Horde_Kolab_Server_ldap extends
>> Horde_Kolab_Server {
>>          }
>>
>>          if (isset($attrs)) {
>> +            $this->mapKeys($attrs);
>>              $result = @ldap_read($this->_connection, $dn,
>> '(objectclass=*)', $attrs);
>>          } else {
>>              $result = @ldap_read($this->_connection, $dn,
>> '(objectclass=*)');
>> @@ -220,7 +221,7 @@ class Horde_Kolab_Server_ldap extends
>> Horde_Kolab_Server {
>>          }
>>          $entry = $this->_firstEntry($result);
>>          if (!$entry) {
>> -            ldap_free_result($result);
>> +            @ldap_free_result($result);
>>              return PEAR::raiseError(sprintf(_("LDAP Error: Empty
>> result for: %s."),
>>                                              $dn));
>>          }
>> @@ -229,7 +230,10 @@ class Horde_Kolab_Server_ldap extends
>> Horde_Kolab_Server {
>>              return PEAR::raiseError(sprintf(_("LDAP Error: No such
>> dn: %s: %s"),
>>                                              $dn, $this->_error()));
>>          }
>> -        ldap_free_result($result);
>> +        @ldap_free_result($result);
>> +
>> +        $this->unmapAttributes($object);
>> +
>>          return $object;
>>      }
>>
>> @@ -250,6 +254,8 @@ class Horde_Kolab_Server_ldap extends
>> Horde_Kolab_Server {
>>              }
>>          }
>>
>> +        $this->mapAttributes($data);
>> +
>>          return @ldap_add($this->_connection, $dn, $data);
>>      }
>>
>> @@ -681,9 +687,25 @@ class Horde_Kolab_Server_ldap extends
>> Horde_Kolab_Server {
>>       */
>>      function mailForIdOrMail($id)
>>      {
>> -        $filter = '(&(objectClass=kolabInetOrgPerson)(|(uid='.
>> -            Horde_LDAP::quote($id) . ')(mail=' .
>> -            Horde_LDAP::quote($id) . ')))';
>> +        $criteria = array('AND' =>
>> +                         array(
>> +                             array('field' => KOLAB_ATTR_OC,
>> +                                   'op'    => '=',
>> +                                   'test'  => KOLAB_OC_KOLABINETORGPERSON),
>> +                             array('OR' =>
>> +                                   array(
>> +                                       array('field' => KOLAB_ATTR_SID,
>> +                                             'op'    => '=',
>> +                                             'test'  => $id),
>> +                                       array('field' => KOLAB_ATTR_MAIL,
>> +                                             'op'    => '=',
>> +                                             'test'  => $id),
>> +                                   ),
>> +                             ),
>> +                         ),
>> +        );
>> +        $filter   = $this->searchQuery($criteria);
>> +
>>          $result = $this->_attrsForFilter($filter, array('mail'),
>>                                           KOLAB_SERVER_RESULT_STRICT);
>>          if (is_a($result, 'PEAR_Error')) {
>> @@ -702,9 +724,24 @@ class Horde_Kolab_Server_ldap extends
>> Horde_Kolab_Server {
>>       */
>>      function uidForIdOrMail($id)
>>      {
>> -        $filter = '(&(objectClass=kolabInetOrgPerson)(|(uid='.
>> -            Horde_LDAP::quote($id) . ')(mail=' .
>> -            Horde_LDAP::quote($id) . ')))';
>> +        $criteria = array('AND' =>
>> +                         array(
>> +                             array('field' => KOLAB_ATTR_OC,
>> +                                   'op'    => '=',
>> +                                   'test'  => KOLAB_OC_KOLABINETORGPERSON),
>> +                             array('OR' =>
>> +                                   array(
>> +                                       array('field' => KOLAB_ATTR_SID,
>> +                                             'op'    => '=',
>> +                                             'test'  => $id),
>> +                                       array('field' => KOLAB_ATTR_MAIL,
>> +                                             'op'    => '=',
>> +                                             'test'  => $id),
>> +                                   ),
>> +                             ),
>> +                         ),
>> +        );
>> +        $filter   = $this->searchQuery($criteria);
>>          return $this->_dnForFilter($filter, KOLAB_SERVER_RESULT_STRICT);
>>      }
>>
>> @@ -717,9 +754,25 @@ class Horde_Kolab_Server_ldap extends
>> Horde_Kolab_Server {
>>       */
>>      function addrsForIdOrMail($id)
>>      {
>> -        $filter = '(&(objectClass=kolabInetOrgPerson)(|(mail='
>> -            . Horde_LDAP::quote($id) . ')(uid='
>> -            . Horde_LDAP::quote($id) . ')))';
>> +        $criteria = array('AND' =>
>> +                         array(
>> +                             array('field' => KOLAB_ATTR_OC,
>> +                                   'op'    => '=',
>> +                                   'test'  => KOLAB_OC_KOLABINETORGPERSON),
>> +                             array('OR' =>
>> +                                   array(
>> +                                       array('field' => KOLAB_ATTR_SID,
>> +                                             'op'    => '=',
>> +                                             'test'  => $id),
>> +                                       array('field' => KOLAB_ATTR_MAIL,
>> +                                             'op'    => '=',
>> +                                             'test'  => $id),
>> +                                   ),
>> +                             ),
>> +                         ),
>> +        );
>> +        $filter   = $this->searchQuery($criteria);
>> +
>>          $result = $this->_attrsForFilter($filter, array('mail', 'alias'),
>>
>
> _______________________________________________
> Kolab-devel mailing list
> Kolab-devel at kolab.org
> https://kolab.org/mailman/listinfo/kolab-devel
>



-- 
____ http://www.pardus.de _________________ http://gunnarwrobel.de _

E-mail : p at rdus.de                                 Dr. Gunnar Wrobel
Tel.   : +49 700 6245 0000                         Bundesstrasse 29
Fax    : +49 721 1513 52322                        D-20146 Hamburg
--------------------------------------------------------------------
    >> Mail at ease - Rent a kolab groupware server at p at rdus <<
--------------------------------------------------------------------





More information about the devel mailing list