Hi,
a cleaned up diff version of the above, modified slightly, with current (RC1) version of config parameters:
--- compose.inc.orig 2007-05-18 15:11:22.000000000 +0200
+++ compose.inc 2007-05-31 15:57:50.000000000 +0200
@@ -867,6 +867,7 @@ $OUTPUT->add_handlers(array(
/****** get contacts for this user and add them to client scripts ********/
require_once('include/rcube_contacts.inc');
+require_once('include/rcube_ldap.inc');
$CONTACTS = new rcube_contacts($DB, $_SESSION['user_id']);
$CONTACTS->set_pagesize(1000);
@@ -877,7 +878,23 @@ if ($result = $CONTACTS->list_records())
while ($sql_arr = $result->iterate())
if ($sql_arr['email'])
$a_contacts[] = format_email_recipient($sql_arr['email'], JQ($sql_arr['name']));
-
+
+ foreach ($CONFIG['ldap_public'] as $ldapserv_config)
+ {
+ $ldapfields = array($ldapserv_config['email_field'],$ldapserv_config['name_field']);
+ $cLdap = new rcube_ldap($ldapserv_config);
+ $cLdap->connect ();
+ $cLdap->bind($ldapserv_config['bind_dn'], $ldapserv_config['bind_pass']);
+ $results = $cLdap->search ($ldapfields, "@" /* God, forgive me this nasty hack */, true);
+ $cLdap->close ();
+ }
+
+ while ($ldap_arr = $results->next())
+ {
+ if ($ldap_arr['email'])
+ $a_contacts[] = format_email_recipient($ldap_arr['email'], JQ($ldap_arr['name']));
+ }
+
$OUTPUT->set_env('contacts', $a_contacts);
}