--- main.inc.orig 2006-09-21 17:47:13.200886728 -0300 +++ main.inc 2006-09-21 19:49:07.580929512 -0300 @@ -565,6 +565,40 @@ $user_email = $sql_arr[0]; } + // get name and e-mail from ldap + if (!empty($CONFIG['virtuser_ldap'])) + { + require_once('include/rcube_ldap.inc'); + + // get name and e-mail from ldap + $LDAP = new rcube_ldap(); + $server = $CONFIG['virtuser_ldap']; + + if ($LDAP->connect($server['hosts'], $server['port'], $server['protocol'])) + { + $filter = "uid=".$user; + $attributes = array($server['name_field'], $server['mail_field']); + $result = $LDAP->search($server['base_dn'], + $filter, + $attributes, + $server['scope'], + $sort=null); + // add any results to contact array + if ($result['count']) + { + for ($n = 0; $n < $result['count']; $n++) + { + $user_name = $result[$n][$server['name_field']][0]; + $user_email = $result[$n][$server['mail_field']][0]; + } + } + } + else + return false; + // cleanup + $LDAP->close(); + } + // also create new identity records $DB->query("INSERT INTO ".get_table_name('identities')." (user_id, del, standard, name, email)