[horde] Horde_Db 2.1.0 trashed Installation

Jan Schneider jan at horde.org
Wed Mar 5 12:25:08 UTC 2014


Zitat von lst_hoe02 at kwsoft.de:

> Zitat von Jan Schneider <jan at horde.org>:
>
>> Zitat von lst_hoe02 at kwsoft.de:
>>
>>> Zitat von Jan Schneider <jan at horde.org>:
>>>
>>>> Zitat von lst_hoe02 at kwsoft.de:
>>>>
>>>>> Zitat von lst_hoe02 at kwsoft.de:
>>>>>
>>>>>> Ok, will try out and let you (and maybe others) know about the results.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Andreas
>>>>>
>>>>> Close but not there :-(
>>>>>
>>>>>
>>>>> in horde/config/hooks.php:
>>>>>
>>>>> class Horde_Hooks
>>>>> {
>>>>> // PREFERENCES INIT: See above for documentation.
>>>>> public function prefs_init($pref, $value, $username, $scope_ob)
>>>>> {
>>>>>     switch ($pref) {
>>>>>     case 'from_addr':
>>>>>         // You are responsible for bringing in to the local scope any
>>>>>         // information you need. You can "global" anything else you
>>>>>         // need.
>>>>>         //
>>>>>         // Returns an address: either just the user@ side or a full
>>>>>         // address.
>>>>>
>>>>>         $db_results =  
>>>>> $GLOBALS['injector']->getInstance('Horde_Db_Adapter')
>>>>>                       ->selectValues('SELECT alias FROM  
>>>>> postfix_virtual_aliases WHERE user_uid = ?',
>>>>>                                       
>>>>> array($GLOBALS['registry']->getAuth())
>>>>>                                     );
>>>>>         return array($db_results);
>>>>
>>>> $db_results already contains an array of values, don't wrap it  
>>>> into another array.
>>>
>>>
>>> Ok, is now return &db_results;
>>>
>>>
>>>>>
>>>>>     }
>>>>> }
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> in horde/config/prefs.local.php :
>>>>>
>>>>> $_prefs['from_addr'] = array(
>>>>> 'value' => '',
>>>>
>>>> This needs to be an empty array, not a string, since you changed  
>>>> the type to enum.
>>>
>>> Not sure about this. Should it be 'value' => array(), ??
>>>
>>> Thanks
>>>
>>> Andreas
>>
>> Yes
>
> Still got this and an empty drop down field:
>
> HORDE: [horde] PHP ERROR: Invalid argument supplied for foreach()  
> [pid 1391 on line 525 of "/usr/share/php/Horde/Core/Prefs/Ui.php"]
>
> The query is executed as expected but looks like Ui.php does not  
> expect an enum ?
>
> Any idea to get this working?
>
> Regards
>
> Andreas

Ah wait, this is my fault. The prefs_init hook is used to provide the  
*default* value of the preference, not the *possible* values. The  
default value is of course still a string, and that's what the prefs  
hook should return. If you want to set a default value at all.

I don't think it's possible at the moment to set the available values,  
i.e. the value for the 'enum' entry, through a hook. So you may have  
to return back to set the 'enum' to the $db_results value in the  
prefs.local.php file.

Only if you want to set the provide the default value, i.e. the  
default from address, too, you need to use the hook.
-- 
Jan Schneider
The Horde Project
http://www.horde.org/
https://www.facebook.com/hordeproject



More information about the horde mailing list