[kronolith] Default external calendar
gerard breiner
gerard.breiner at ias.u-psud.fr
Sun Mar 18 21:34:03 UTC 2012
gerard breiner <gerard.breiner at ias.u-psud.fr> a écrit :
> Jan Schneider <jan at horde.org> a écrit :
>
>> Zitat von gerard breiner <gerard.breiner at ias.u-psud.fr>:
>>
>>> Jan Schneider <jan at horde.org> a écrit :
>>>
>>>> Zitat von Gerard Breiner <gerard.breiner at ias.u-psud.fr>:
>>>>
>>>>> Le 14/02/2012 15:37, Jan Schneider a écrit :
>>>>>>
>>>>>> Zitat von Martin Hochreiter <linuxbox at wavenet.at>:
>>>>>>
>>>>>>>> You cannot simply replace strings in the value copied from
>>>>>>>> the database, because it is a serialized hash. Using
>>>>>>>> $registry in prefs.local.php is not a good idea either.
>>>>>>>> Instead you should create a preference hook that builds the
>>>>>>>> hash, and return it serialized.
>>>>>>>>
>>>>>>> what a pitty :) ... ok, thank you I will create a hook for
>>>>>>> that (new world for me...)
>>>>>>> What should I use instead of the $registry variable to get the
>>>>>>> credentials - or is it ok
>>>>>>> to use it in the hooks?
>>>>>>
>>>>>> The prefs_init hook already gets the user name passed.
>>>>>>
>>>>> Hello ,
>>>>>
>>>>> I'm working on this too... So I followed the above Jan's advice
>>>>> and as well as read the very good doc
>>>>> /horde/config/hooks.php.dist (many thanks for all the work). The
>>>>> result is that I managed to create the remote calendar by
>>>>> working with prefs and hooks.local.php.
>>>>>
>>>>> Here is what I've done :
>>>>> kronolit/config/prefs.local.php
>>>>>
>>>>> [CODE]
>>>>> // remote calendars
>>>>> $_prefs['remote_cals'] = array(
>>>>> 'value' => '',
>>>>> 'hook' => 'true',
>>>>> 'locked' => 'false'
>>>>> );
>>>>> [/CODE]
>>>>>
>>>>> [CODE]
>>>>> kronolith/config/hooks.local.phpclass Kronolith_Hooks
>>>>> {
>>>>> public function prefs_init($prefs, $value, $username, $scope_ob)
>>>>> {
>>>>> switch ($prefs) {
>>>>> case 'remote_cals':
>>>>> $no_serialize = array(array('name'=>'Calendar',
>>>>>
>>>>> 'url'=>'https://myurl/caldav.php/' .$username. '/agenda',
>>>>> 'user'=> $username
>>>>> // 'password' => $password
>>>>> )
>>>>> );
>>>>> $value = serialize($no_serialize);
>>>>> return $value;
>>>>> }
>>>>> }
>>>>> }
>>>>> [/CODE]
>>>>>
>>>>> Nevertheless at this time I don't know how to catch the
>>>>> password... If Jan look at this again I would appreciate a
>>>>> little more hints about this last issue.
>>>>
>>>> Try $GLOBALS['registry']->getAuthCredential('password')
>>>>
>>>> Jan.
>>>>
>>>> --
>>>> The Horde Project
>>>> http://www.horde.org/
>>>>
>>>>
>>>> --
>>>> Kronolith mailing list
>>>> Frequently Asked Questions: http://horde.org/faq/
>>>> To unsubscribe, mail: kronolith-unsubscribe at lists.horde.org
>>>
>>> Many thanks Jan for this advice... This command give the password
>>> without encodage (I tried it in admin/phpshell.php ). Nevertheless
>>> it seems that username and password are expecting as something
>>> like :
>>> s:4:"user";s:12:"PYnhqb8tbok=";s:8:"password";s:15:"PQ7F+FGnp7t="; .
>>
>> Sorry?
>>
>> --
>> The Horde Project
>> http://www.horde.org/
>>
>>
>> --
>> Kronolith mailing list
>> Frequently Asked Questions: http://horde.org/faq/
>> To unsubscribe, mail: kronolith-unsubscribe at lists.horde.org
>
> Probably misunderstanding from me... So followed your idea for
> catching the password, here is what is my code now :
>
> kronolith/config/hooks.local.php
>
> [CODE]
> class Kronolith_Hooks
> {
> public function prefs_init($prefs, $value, $username, $scope_ob)
> {
> switch ($prefs) {
> case 'remote_cals':
> $no_serialize = array(array('name'=>'Calendar',
>
> 'url'=>'https://calendar.ias.u-psud.fr/caldav.php/' .$username.
> '/calendar',
> 'user'=> $username,
> 'password' =>
> $GLOBALS['registry']->getAuthCredential('password')
> )
> );
> $value = serialize($no_serialize);
> return $value;
> }
> }
> }
> [/CODE]
>
> The remote calendar show up in the kronolith's interface but
> credentials are still requested despite the user and password in
> hooks.local.php.
>
> Best regards
>
> Gerard Breiner
>
> --
> Kronolith mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: kronolith-unsubscribe at lists.horde.org
Hello
Just for tests I added a few lines in the above code so that to save
the $value variable in a file. We can see that each keys has
respectively their values and the password is do catching.
a:1:{i:0;a:4:{s:4:"name";s:10:"MyCalendar";s:3:"url";s:59:"https://davicalserver/caldav.php/gbreiner/calendar";s:4:"user";s:8:"gbreiner";s:8:"password";s:7:"1testpass2";}}
Having said When I click on agenda (kronolith) and then click on
"MyCalendar" I get the message (color red) saying that login and
password are requested.
So I read again the docs into which it is said : "This hook is ONLY
executed on login and preferences are cached during a user's session".
So I'm wondering why I have to put again login and password in the
form of "MyCalendar".
I'm wondering where am I wrong....
Best regards
Gérard Breiner
More information about the kronolith
mailing list