[Tickets #7355] horde as kolab-webadmin

bugs at horde.org bugs at horde.org
Thu Sep 18 14:26:27 UTC 2008


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/7355
------------------------------------------------------------------------------
  Ticket             | 7355
  Created By         | m.gabriel at das-netzwerkteam.de
  Summary            | horde as kolab-webadmin
  Queue              | Kolab
  Type               | Enhancement
  State              | New
  Priority           | 1. Low
  Milestone          |
  Patch              | 1
  Owners             |
------------------------------------------------------------------------------


m.gabriel at das-netzwerkteam.de (2008-09-18 10:26) wrote:

to maintain kolab LDAP data (inetOrgPerson only) as horde admin  
through horde i added my manager dn + pw to horde's conf.xml and  
accessed this through a modified kolab_global source in turba's  
sources.php.

conf.xml patch is attached, my kolab_global source definition is below:

<quote>
    /* Only use LDAP if we have that extension in PHP */
     if (function_exists('ldap_connect')) {
         require_once 'Horde/Kolab.php';

         if (!is_callable('Kolab', 'getServer')) {
             $_kolab_server = $GLOBALS['conf']['kolab']['ldap']['server'];
         } else {
             $_kolab_server = Kolab::getServer('ldap');
         }

         /* A global address book for a Kolab Server. This is typically a
          * read-only public directory, stored in the default Kolab  
LDAP server.
          * The user accessing this should have read permissions to the shared
          * directory in LDAP. */
         if ( Auth::isAdmin() ) {
             $_bind_dn = $GLOBALS['conf']['kolab']['ldap']['binddn'];
             $_bind_pw = $GLOBALS['conf']['kolab']['ldap']['bindpw'];
         } else {
             $_bind_dn = $GLOBALS['conf']['kolab']['ldap']['phpdn'];
             $_bind_pw = $GLOBALS['conf']['kolab']['ldap']['phppw'];
         }
         $cfgSources['kolab_global'] = array(
             'title' => _("Global Address Book"),
             'type' => 'ldap',
             'params' => array(
                 'server' => $_kolab_server,
                 'port' => $GLOBALS['conf']['kolab']['ldap']['port'],
                 'tls' => false,
                 'root' => $GLOBALS['conf']['kolab']['ldap']['basedn'],
                 'sizelimit' => 200,
                 'dn' => array('cn'),
                 'objectclass' => array(
                     'top',
                     'inetOrgPerson',
                     'kolabInetOrgPerson',
                 ),
                 'filter' => 'objectClass=kolabInetOrgPerson',
                 'scope' => 'sub',
                 'charset' => 'utf-8',
                 'version' => 3,
                 'bind_dn' => $_bind_dn,
                 'bind_password' => $_bind_pw,
             ),
             'map' => array(
                 '__key'             => 'dn',
                 'name'              => 'cn',
                 'firstname'         => 'givenName',
                 'lastname'          => 'sn',
                 'email'             => 'mail',
                 'alias'             => 'alias',
                 'title'             => 'title',
                 'company'           => 'o',
                 'workStreet'        => 'street',
                 'workCity'          => 'l',
                 'workProvince'      => 'st',
                 'workPostalCode'    => 'postalCode',
                 'workCountry'       => 'c',
                 'homePhone'         => 'homePhone',
                 'workPhone'         => 'telephoneNumber',
                 'cellPhone'         => 'mobile',
                 'fax'               => 'fax',
                 'notes'             => 'description',
                 'freebusyUrl'       => 'kolabHomeServer',
             ),
             'search' => array(
                 'name',
                 'firstname',
                 'lastname',
                 'email',
                 'title',
                 'company',
                 'workAddress',
                 'workCity',
                 'workProvince',
                 'workPostalCode',
                 'workCountry',
                 'homePhone',
                 'workPhone',
                 'cellPhone',
                 'fax',
                 'notes',
             ),
             'strict' => array(
                 'dn',
             ),
             'export' => true,
             'browse' => true,
         );
     }

</quote>





More information about the bugs mailing list