[horde] Horde_Db 2.1.0 trashed Installation
Jan Schneider
jan at horde.org
Tue Mar 4 16:12:57 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 Jan Schneider <jan at horde.org>:
>>>>>
>>>>>> Zitat von lst_hoe02 at kwsoft.de:
>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> after installing the today updates Horde/IMP was not able to
>>>>>>> start und logged the following error over and over again:
>>>>>>>
>>>>>>> [Tue Mar 04 12:01:56 2014] [error] [client 213.164.67.65] PHP
>>>>>>> Fatal error: Call to a member function quote() on a
>>>>>>> non-object in /usr/share/php/Horde/Db/Adapter/Pdo/Base.php on
>>>>>>> line 304
>>>>>>>
>>>>>>> I have reverted to Horde_Db 2.0.4 which fixed the error. Any
>>>>>>> idea what went wrong??
>>>>>>>
>>>>>>> Regards
>>>>>>>
>>>>>>> Andreas
>>>>>>
>>>>>> Not without further information, at least a backtrace from
>>>>>> debug logs. I assume you've run all migrations.
>>>>>
>>>>> I tried, but horde-db-migrate refuses with the very same error
>>>>> message. With version 2.0.4 from Horde_Db some migrations are
>>>>> done. I could try to now reinstall Horde_Db 2.1.0 but this looks
>>>>> like a bad pitfall, no?
>>>>>
>>>>> Regards
>>>>>
>>>>> Andreas
>>>>
>>>> If it would run fine here and on every developer's systems too,
>>>> it would have been released, so no.
>>>
>>> The new Horde_Db version seem to barff on the following hook from
>>> horde/config/prefs.local.php which has worked some years until now:
>>>
>>> // 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.
>>>
>>> $userId = $registry->getAuth();
>>> $db = $GLOBALS['injector']->getInstance('Horde_Db_Adapter');
>>> $db->connect();
>>> $result = $db->selectAssoc("SELECT alias,alias FROM
>>> postfix_virtual_aliases WHERE user_uid='$userId'");
>>> $db->disconnect();
>>>
>>> $_prefs['from_addr'] = array(
>>> 'value' => '',
>>> 'type' => 'enum',
>>> 'enum' => $result,
>>> 'desc' => _("The default e-mail address to use with this identity:")
>>> );
>>>
>>> It is needed to provide the users a list of available mail aliases
>>> and prevent from using random addresses as sender address.
>>>
>>> Any idea why this is not workign anymore or how to improve this?
>>>
>>> Thanks
>>>
>>> Andreas
>>
>> Don't connect or disconnect. And don't add this to prefs.local.php
>> file. If you need logic for default values, add a preference hook.
>>
>> Besides that, you are vulnerable to SQL injection. Use this instead:
>>
>> $result = $GLOBALS['injector']->getInstance('Horde_Db_Adapter')
>> ->selectValue(
>> 'SELECT alias FROM postfix_virtual_aliases',
>> array($GLOBALS['registry']->getAuth())
>> );
>
>
> As i'm not a programmer i have some questions to get this working:
>
> - So i would set the following in prefs.local.php
> $_prefs['from_addr'] = array(
> 'value' => '',
> 'hook' => true,
> 'type' => 'enum',
> 'desc' => _("The default e-mail address to use with this identity:")
> );
>
> and your above code is for horde/config/hooks.php, no?
Yes
> - I need a drop-down list with aliases that's why we have use "enum"
> in prefs.local.php, so i need
> selectValues, no?
Yes
> - The second part after "," is used as WHERE clause or have i missed
> something?? Is there some documentation about selectValue?
No, I have missed something. It's:
$result = $GLOBALS['injector']->getInstance('Horde_Db_Adapter')
->selectValues(
'SELECT alias FROM postfix_virtual_aliases WHERE user_uid = ?',
array($GLOBALS['registry']->getAuth())
);
http://dev.horde.org/api/master/lib/Db/classes/Horde_Db_Adapter.html#method_selectValues
> Thanks
>
> Andreas
>
>
> $_prefs['from_addr'] = array(
> 'value' => '',
> 'hook' => true,
> 'type' => 'enum',
> 'desc' => _("The default e-mail address to use with this identity:")
> );
>
> and the above code in hooks.php?
Of course wrapped in an actual hook but yes.
--
Jan Schneider
The Horde Project
http://www.horde.org/
https://www.facebook.com/hordeproject
More information about the horde
mailing list