[horde] Some questions
Jan Schneider
jan at horde.org
Tue Dec 18 14:26:15 UTC 2012
Zitat von Nicolas Fo <nicolasfo at ymail.com>:
> Le 14/12/2012 15:39, Nicolas Fo a écrit :
>> Le 14/12/2012 15:00, Nicolas Fo a écrit :
>>> Le 14/12/2012 14:47, Nicolas Fo a écrit :
>>>> Le 28/11/2012 16:48, Oscar del Rio a écrit :
>>>>> On 11/28/12 09:23 AM, Nicolas Fo wrote:
>>>>>> - How to auto fill "Name" and "Surname" of a user ? Those
>>>>>> informations would be stored in my AD base.
>>>>>
>>>>> horde/config/hooks.php (see hooks.php.dist)
>>>>>
>>>>>> - How to hard setup (server side, for every users) HTML
>>>>>> composing mails ?
>>>>>> - How to setup IMAP folders in IMP ? What are default names for
>>>>>> folders ? (Junk, sent...)
>>>>>> - How to setup deleted mails go directly in trash and don't be crossed ?
>>>>>
>>>>> imp/config/prefs.local.php (see prefs.php for all options)
>>>>>
>>>>>
>>>> Hello,
>>>>
>>>> Sorry to be late, I don't have a lot of time those days..
>>>>
>>>> I've tried to set the FullName from my AD LDAP base in Horde
>>>> (fullname is mentionned in the "cn" field)
>>>>
>>>> Here's my hooks.php file :
>>>>
>>>> <?php
>>>> class Horde_Hooks
>>>> {
>>>> {
>>>> switch ($pref) {
>>>> case 'fullname':
>>>>
>>>> // // Example #2: Set the fullname from LDAP
>>>> information. In this
>>>> // // example we look if a Spanish name exists and
>>>> return this or
>>>> // // the standard 'cn' entry if not.
>>>> if (is_null($username)) {
>>>> return $value;
>>>> }
>>>>
>>>> $ldapServer = 'MY.AD.SERVER';
>>>> $ldapPort = '389';
>>>> $searchBase = 'ou=OUNAME,dc=DOMAIN,DC=LOCAL';
>>>>
>>>> $ds = @ldap_connect($ldapServer, $ldapPort);
>>>>
>>>> $searchResult = @ldap_search($ds, $searchBase, 'uid='
>>>> . $username);
>>>> $information = @ldap_get_entries($ds, $searchResult);
>>>> if (($information === false) || ($information['count'] == 0)) {
>>>> $name = '';
>>>> } else {
>>>> $name = ($information[0]['cn;lang-es'][0] != '')
>>>> ? $information[0]['cn;lang-es'][0]
>>>> : $information[0]['cn'][0];
>>>> }
>>>>
>>>> ldap_close($ds);
>>>>
>>>> return empty($name)
>>>> ? $username
>>>> : $name;
>>>> }
>>>> }
>>>> }
>>>>
>>>> I didn't understand the example with the Spanish name... So this
>>>> hooks file made something wrong...lol
>>>>
>>>> When I try to go to login to horde, I've an error "500 Internal
>>>> server error"
>>>>
>>>> I just want to have the user fullname set in Horde when user logs
>>>> in.. No filter to apply etc..
>>>>
>>>> Someone to help me ? in add, i'm not sure of the selected code...
>>>>
>>>> Thanks :)
>>> So, I changed the code to delete the "Spanish restriction" and
>>> always the same problem :
>>>
>>> <?php
>>> class Horde_Hooks
>>> {
>>> {
>>> switch ($pref) {
>>> case 'fullname':
>>>
>>> // // Example #2: Set the fullname from LDAP
>>> information. In this
>>> // // example we look if a Spanish name exists and
>>> return this or
>>> // // the standard 'cn' entry if not.
>>> if (is_null($username)) {
>>> return $value;
>>> }
>>>
>>> $ldapServer = 'MY.AD.SERVER';
>>> $ldapPort = '389';
>>> $searchBase = 'ou=OUNAME,dc=DOMAIN,DC=LOCAL';
>>>
>>> $ds = @ldap_connect($ldapServer, $ldapPort);
>>>
>>> $searchResult = @ldap_search($ds, $searchBase, 'cn=' .
>>> $username);
>>> $information = @ldap_get_entries($ds, $searchResult);
>>> if (($information === false) || ($information['count'] == 0)) {
>>> $name = '';
>>> }
>>> ldap_close($ds);
>>>
>>> return empty($name)
>>> ? $username
>>> : $name;
>>> }
>>> }
>>> }
>>>
>>> Thanks in advance ;)
>>>
>>> Nicolas
>>
>> I forgot this line at the begining of the file :
>>
>> public function prefs_init($pref, $value, $username, $scope_ob)
>>
>> Now, horde login page is OK, but the username is still missing...
>>
>> Thanks
> Hello,
>
> Here's my hooks.php :
>
> <?php
> class Horde_Hooks
> {
> public function prefs_init($pref, $value, $username, $scope_ob)
> {
> switch ($pref) {
> case 'fullname':
>
> if (is_null($username)) {
> return $value;
> }
>
> $ldapServer = 'MY.ADSERVER.LAN';
> $ldapPort = '389';
> $searchBase = 'ou=OUNAME,dc=DOMAIN,dc=lan';
>
> $ds = @ldap_connect($ldapServer, $ldapPort);
>
> $searchResult = @ldap_search($ds, $searchBase,
> 'displayname=' . $username);
> $information = @ldap_get_entries($ds, $searchResult);
> if (($information === false) || ($information['count'] == 0)) {
> $name = '';
> }
> ldap_close($ds);
>
> return empty($name)
> ? $username
> : $name;
>
> }
> }
> }
>
> and the prefs.local.php :
>
> <?php
> $_prefs['fullname'] = array(
> 'value' => '',
> 'locked' => true,
> 'shared' => true,
> 'type' => 'text',
> 'hook' => true,
> 'desc' => _("Your full name:")
> );
>
> It doesn't work, what am I missed ?
>
> Thanks
"Doesn't work" isn't actually a helpful error description.
--
Jan Schneider
The Horde Project
http://www.horde.org/
More information about the horde
mailing list