[dev] turba-git hooks
Ronan SALMON
rsalmon at mbpgroup.com
Tue Mar 22 15:28:40 UTC 2011
Michael Rubinsky <mrubinsk at horde.org> a écrit :
> Quoting Ronan SALMON <rsalmon at mbpgroup.com>:
>
>> Hi all,
>>
>> I have 3 backends enabled : localsql, localldap, favourites
>>
>> I'm trying to setup a hook to automatically set pref
>> 'addressbooks'. So far, I've always been able to automatically set
>> backends 'localldap' and 'favourites', but not backend 'localsql'.
>>
>> Here is my hook :
>>
>> public function prefs_init($pref, $value, $username)
>> {
>> switch ($pref) {
>> case 'addressbooks':
>> return json_encode(array_keys(Turba::availableSources()));
>> }
>> }
>>
>> This returns the 3 backends just fine, but when I login and go to
>> turba's preferences, the 'localsql' backend is never in the
>> selected group.
>
> Probably because localsql is using shares. Try something like:
>
> return
> json_encode(array_keys(Turba:getConfigFromShares((Turba::availableSources()))));
localsql and favourites are configured as defined in the default
configuration prefs.php.
If I try to return
json_encode(array_keys(Turba::getConfigFromShares(Turba::availableSources())));
I get the following errors :
2011-03-22T16:21:49+01:00 NOTICE: HORDE [turba] PHP ERROR: Undefined
variable: driver [pid 26971 on line 479 of
"/var/www/html/hordetest/turba/lib/Turba.php"]
2011-03-22T16:21:49+01:00 DEBUG: 1.
Horde_Core_Auth_Application->authenticate()
/var/www/html/hordetest/login.php:151
2. Horde_Core_Auth_Application->authenticate()
/var/www/html/hordetest/libs/Horde/Core/Auth/Application.php:128
3. Horde_Core_Auth_Application->_setAuth()
/var/www/html/hordetest/libs/Horde/Core/Auth/Application.php:140
4. Horde_Registry->callAppMethod()
/var/www/html/hordetest/libs/Horde/Core/Auth/Application.php:593
5. Horde_Registry->pushApp()
/var/www/html/hordetest/libs/Horde/Registry.php:1040
6. Horde_Registry->loadPrefs()
/var/www/html/hordetest/libs/Horde/Registry.php:1286
7. Horde_Prefs->retrieve()
/var/www/html/hordetest/libs/Horde/Registry.php:1437
8. Horde_Prefs->_loadScope() /var/www/html/hordetest/libs/Horde/Prefs.php:336
9. Horde_Core_Prefs_Storage_Hooks->get()
/var/www/html/hordetest/libs/Horde/Prefs.php:368
10. Horde::callHook()
/var/www/html/hordetest/libs/Horde/Core/Prefs/Storage/Hooks.php:30
11. call_user_func_array() /var/www/html/hordetest/libs/Horde.php:1730
12. IMP_Hooks->prefs_init()
13. Horde_Registry->call() /var/www/html/hordetest/imp/config/hooks.php:74
14. Horde_Registry->callByPackage()
/var/www/html/hordetest/libs/Horde/Registry.php:955
15. Horde_Registry->pushApp()
/var/www/html/hordetest/libs/Horde/Registry.php:993
16. Horde_Registry->loadPrefs()
/var/www/html/hordetest/libs/Horde/Registry.php:1286
17. Horde_Prefs->retrieve()
/var/www/html/hordetest/libs/Horde/Registry.php:1437
18. Horde_Prefs->_loadScope() /var/www/html/hordetest/libs/Horde/Prefs.php:336
19. Horde_Core_Prefs_Storage_Hooks->get()
/var/www/html/hordetest/libs/Horde/Prefs.php:368
20. Horde::callHook()
/var/www/html/hordetest/libs/Horde/Core/Prefs/Storage/Hooks.php:30
21. call_user_func_array() /var/www/html/hordetest/libs/Horde.php:1730
22. Turba_Hooks->prefs_init()
23. Turba::getConfigFromShares()
/var/www/html/hordetest/turba/config/hooks.php:60
24. Horde::errorHandler() /var/www/html/hordetest/turba/lib/Turba.php:479
and it returns :
Array
(
[0] => localldap
[1] => favourites
)
Output of json_encode(array_keys(Turba::availableSources())) :
Array
(
[0] => localsql
[1] => localldap
[2] => favourites
)
So I guess using Turba::availableSources() is fine.
Thanks,
Ronan.
More information about the dev
mailing list