6.0.0-beta13
4/15/26
  • Using LDAP to store Horde/IMP Preferences

Written by Lacroix Francois (lacroix.francois [at] gmail [dot] com)

[[toc]]


This document is intended to help administrators set up a LDAP to store Horde and IMP prefs.


1- Installing schema

Copy the horde/scripts/ldap/horde.schema to /etc/ldap/schema/

Restart your ldap server.

2- Configuring horde

Horde config/prefs.php

Set pref hooks to true

  • hook: Call a hook function for the value of this preference

  •         true:  Will call the function _prefs_hook_<prefname>
    
  •                to fill in the value of this preference.
    
  •                See hooks.php for more details.
    
  •        false:  Normal behaviour - no hook is called.
    

// user full name for From: line

// If you lock this preference, you must specify a value or a hook for it in

// horde/config/hooks.php.

$_prefs['fullname'] = array(

'value' => 'true',

'locked' => false,

'shared' => true,

'type' => 'text',

'desc' => _("Your full name:")

);

// user preferred email address for From: line

// If you lock this preference, you must specify a value or a hook for it in

// horde/config/hooks.php.

$_prefs['from_addr'] = array(

'value' => 'true',

'locked' => false,

'shared' => true,

'type' => 'text',

'desc' =>  _("Your From: address:")

);

Horde config/hooks.php

  • NOTE 1: Having a hook function in this file does NOT mean that the hook

  • will automatically be used. YOU MUST enable the hook. For preferences, set

  • 'hook' => true in that preferences attributes; for other hooks, there will

  • be a configuration option in each application's conf.php file such as

  • $conf['hooks']['hookname'] which must be set to true.

  • NOTE 2: Preferences hooks are ONLY executed on login. Preferences are

  • cached during a users session and, to avoid unnecessary overhead every time

  • a preference is accessed, the results of hooks are cached as well. This

  • leads to ...

  • NOTE 3: Any preference that is NOT LOCKED, that is set by a hook, WILL BE

  • SAVED WITH THAT VALUE. This means several things:

    1. Users will get the results of the hook set for them in their
  • preferences.

    1. By virtue of this, the next time they log in and load their
  • preferences, the hook will NOT be called, because in their last session,

  • we saved the results of the hook for them. However, if the preference is

  • locked, the result of the hook will never be saved.

Uncomment and configure the hook you active

_prefs_hook_fullname

_prefs_hook_from_addr

By modify $ldapServer, $ldapPort, $searchBase