Re: Default fb_cals on first user login via hooks doesn't work right

Michael J Rubinsky <[email protected]> Fri, 14 Jun 2019 18:08:32 +0000
Newsgroups gmane.comp.horde.kronolith
Message-ID <20190614180832.Horde.jWVI5AFtwjiYHtqcMv-Sad_@tarn.theupstairsroom.com>
This message is in MIME format and has been PGP signed.

--===============6563333818347979160==
Content-Type: multipart/signed; boundary="=_VMtRu0l0G7qLiBdWyJm3Ell";
 protocol="application/pgp-signature"; micalg=pgp-sha1

This message is in MIME format and has been PGP signed.

--=_VMtRu0l0G7qLiBdWyJm3Ell
Content-Type: multipart/mixed; boundary="=_p0hsOltPBjdJd9TAy-ZV_HG"
MIME-Version: 1.0

This message is in MIME format.

--=_p0hsOltPBjdJd9TAy-ZV_HG
Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable


Quoting winnertako <[email protected]>:

> Michael J Rubinsky wrote
>> Quoting winnertako &lt;
>
>> fabiojsousa@
>
>> &gt;:
>>
>>> Hello,
>>>
>>> I'm trying to initialize the free-busy information on users first login
>>> via
>>> hooks. My hook:
>>>
>>> class Kronolith_Hooks
>>> {
>>>      public function prefs_init($pref, $value, $username, $scope_ob)
>>>      {
>>>          if (is_null($username)) {	// not logged in
>>>              return $value;
>>>          }
>>>
>>>          switch ($pref) {
>>>          	case 'fb_cals':
>>>          		$cals =3D
>>> @unserialize($GLOBALS['prefs']->getValue('display_cals'));
>>>          		$fb_url =3D 'a:1:{i:0;s:32:"internal_' . $cals[0] . '";}';
>>>          		$GLOBALS['prefs']->setValue('fb_cals', $fb_url);
>>>                 $scope_ob->set($pref, $fb_url);
>>>                 $scope_ob->setDirty($pref, true);
>>>
>>>  		}
>>>  		return $fb_url;
>>>  	}
>>>  }
>>>
>>>
>>> I've one strange problem, when the user get is first login the free-bus=
y
>>> link is wrong *a:1:{i:0;s:32:"internal_";}*
>>> but when the user do the second login the free-busy information get the
>>> correct syntax  *a:1:{i:0;s:32:"internal_pZFqfLNIZnq_4Rm6je1d_aE";}*
>>>
>>> What I'm missing ?
>>
>> The prefs_init method is called before the application is fully
>> initialized. The VERY FIRST time a user logs in, there are no
>> calendars for that user (and they are not created until during app
>> initialization), so there are therefore no calendars in that user's
>> preferences yet...therefore, there is no existing calendar id to
>> populate the fb_url with.
>>
>>
>> You should look at the appauthenticated hook instead, as suggested by
>> the comments in hooks.php.dist.
>>
>>
>>> Thank you
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Sent from: http://horde.690.n7.nabble.com/Horde-Kronolith-f87467.html
>>> --
>>> kronolith mailing list
>>> Frequently Asked Questions: http://wiki.horde.org/FAQ
>>> To unsubscribe, mail:
>
>> [email protected]
>
>>
>>
>>
>> --
>> mike
>> The Horde Project
>> http://www.horde.org
>> https://www.facebook.com/hordeproject
>> https://www.twitter.com/hordeproject
>>
>> --
>> kronolith mailing list
>> Frequently Asked Questions: http://wiki.horde.org/FAQ
>> To unsubscribe, mail:
>
>> [email protected]
>
>>
>>
>> attachment0 (9K)
>> &lt;http://horde.690.n7.nabble.com/attachment/144221/0/attachment0&gt;
>> attachment1 (838 bytes)
>> &lt;http://horde.690.n7.nabble.com/attachment/144221/1/attachment1&gt;
>
> I've tried to do the same but inside the *function appauthenticated()* bu=
t
> without success.  The user  fb_cal only appears after the second login.

Try creating a Kronolith_Calendars_Manager object first, the first=20=20
time=20it's instantiated it checks for and creates the user's default=20=20
share.:

=20 $calendar_manager =3D $injector->createInstance('Kronolith_CalendarsMan=
ager');

You're also always assuming that the first entry in the list of=20=20
displayed=20calendars is the one that fb should be using. It would be=20=20
more=20correct to use Kronolith::getDefaultCalendar();

So:


      $calendar_manager =3D=20=20
$injector->createInstance('Kronolith_CalendarsManager');
=20     $default_calendar =3D Kronolith::getDefaultCalendar();

should get you the user's default calendar.

>     public function appauthenticated()
>     {
>           $fb_cals =3D $GLOBALS['prefs']->getValue('fb_cals');
>
>           if ($fb_cals =3D=3D 'a:0:{}' || $fb_cals =3D=3D
> 'a:1:{i:0;s:32:"internal_";}' || empty($fb_cals)) {
>               $display_calendars =3D
> @unserialize($GLOBALS['prefs']->getValue('display_cals'));
>               $fb_url =3D 'a:1:{i:0;s:32:"internal_' . $display_calendars=
[0] .
> '";}';
>               $GLOBALS['prefs']->setValue('fb_cals', $fb_url);
>               $scope_ob->set($pref, $fb_url);
>               $scope_ob->setDirty($pref, true);
>           }
>     }
>
>
>
> --
> Sent from: http://horde.690.n7.nabble.com/Horde-Kronolith-f87467.html
> --
> kronolith mailing list
> Frequently Asked Questions: http://wiki.horde.org/FAQ
> To unsubscribe, mail: [email protected]



--=20
mike
The=20Horde Project
http://www.horde.org
https://www.facebook.com/hordeproject
https://www.twitter.com/hordeproject

--=_p0hsOltPBjdJd9TAy-ZV_HG
Content-Type: application/pgp-keys
Content-Description: PGP Public Key

-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

mQINBFkCGBQBEACpAigb4s4dYnSAMQT0jcyba1HK7w0A3yWcr/ZeqK6acJP4YvO7
VfqdBs8ZNl2TsKAsrqDaxq4dNVmWUmaxhDBDLS1uP/CxJA85K4fP5jkrggimgLVf
D8aRTtLJGfVIMh3gGrMA411FN1TVxhtpjEPoAwjS3o9MNaSTPyXX7+NOx+bFKmV8
VPsST4tyxSRxf47odT11kvs/AkBoeTW2/lEVzEonHtWruU88y9RaESUph0DasVOO
NPDqR2Yq08wuRFC5OVMSBIrTbJcXJHm44IkWYc+gq/0AGdUu14L80DhmF6G+0KUk
XnuPqPPKPVujWUCThrezq6+73d+gWhVCuuMw9jOF4+L+ibqXeZQIlkZBtqI8PVll
JOQtHGBeAv07MKBZyqJxhKdnyi3b3vYAKI9nHPiW1eExf1P5bIzesqYOoyrMv2+G
Fk+3imw6gxNFQfpEoUlpk1HhTV5zafYtXWdMkILAyQ3WvpYsr83H80ICERazvyZx
L9mERNBc6mC+P2jUjJ0oMVy9wHYQvEeXlDx9l25FyaWzGXSl9EG10wmxROwYwJo7
+DXkt8ywxMFPTDl8HEOfKEGeEwQ/rfCoJws+PKVE9RPHi1XiiG2DtJqzlzP9+mTt
wSRRByOfTIfpzgN95Is6+kuoK2odDyPfj6nh9uWLHIYYJi7dk7pPPqfbowARAQAB
tCxNaWNoYWVsIEpvc2VwaCBSdWJpbnNreSA8bXJ1Ymluc2tAaG9yZGUub3JnPokC
PQQTAQoAJwUCWQIYwgIbAwUJCWYBgAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAK
CRCRkoJG0bMW2xu5D/0Sl6P2c+W84BrPUSPWdvGA7SOz7HS3jp6qxS0tCpz6GVmG
GK5pZIbMt2bSCMNrDROPuIXzJFHe3cR05Sh6mrA6mshwkk/QbIux4YESVGWIdk9i
kU7PsyLjIrqWWelun/NdG0i8wbqu5j9EKGnydp8AIfnMuYcZ59jnDc4fFZvRL16a
hyzeddZffGyKgp3nc4jdOsX/g/dKiTY5kYFrKHsqNdKHxGtXMmjx++lmc+4XMMZv
lOS2TTLtLDL82Wb0Epm1VZjipE80s/TvR565BB1AXN/es3iCCOKdVf5BD7sLy4Do
vt15hj8iZy0Pg2XjtU89MQ/s59uX0h6iMgYaHqeW0LdwGHRVLSQANqfZmmD+PaED
g1N0XXmygIKr413ICzOpVLnZvxqsciw0H5GZTGgNHEGbCYcw5B/Sj6q/tvKwSyJt
TqvCVcZBpV5tdHjZjIB2jSwj44hJ0dgjwpILplqYNdGDlsjbs4zXPpV6feR5WSmS
Rup/Dk5PPonh1RtL+QhDR3Ysvx8wiUfbi4THmK/2H6UAJqkIlvcGHJZxFsjmaILB
4iXpO/v6NodGzzd4sIxheTRK9IQshSSkg86QVM6HZlFGj+Sc6Ei2bBCAlfvVZnoC
YWRCqbg4e372Uszr3QE/CbmghdeouxyrYPhW6NBXTJIyFZpHZE/7JajmtgpuurQy
TWljaGFlbCBKb3NlcGggUnViaW5za3kgPG1pa2VAdGhldXBzdGFpcnNyb29tLmNv
bT6JAj0EEwEKACcFAlkCGBQCGwMFCQlmAYAFCwkIBwMFFQoJCAsFFgIDAQACHgEC
F4AACgkQkZKCRtGzFtvSOw/+NOIgfwY3R8Ozq/1Tdax1PJFVSgwdwp0Cm3kd80A4
FMCllAD4ANBJ/SHxXziWQGv7up5dGiUWP1GyblUw0O1cBzTCkWRoxdfo3kJFZDZU
/yePTxd1fNP97zvEHYfmspV505OSvcFQ6wf3bYPJSdrUW6kFrNDGVBTmmjkYKlae
lK08VCUXtqVwnTJp/q+4yvGwQU8v0WVcd/1sSUp8AJlMqfHVKXoTVVrbaBvMqkFZ
dhe49XTP732U2q/kG6CYF8/DvcoMNtS2WczSwHQwxWTd42mDu7jsL+aHtmHfqL3O
a/KV1CGqoMp2GJGcV6tMZ3XTpfmFCNvhDEjI6GNBeeGR/KMqVv8PiDoQ0O//n8aT
DqnX1gWuimATutUIyiaAGsZL60BAd9uC2qrxzZLeqKXQL/givGNcn+eJtpl4A8Kw
UE7KB2zbLGp9cT7z0MbTWV4UJLb9oZ780/cUkQ0lCUuqvX9VENakyve3WYejmU6y
VfHC/gyC7IUrCVbSq6uC3IsBtfUtYbxLBWXj2lVRAUmDDe/sDXWhyFM6/XxNI+Ct
F48kQ17nkZ7OkwYyoOiDlst93i5VX9yb2hu+VAr96DP1Fy4ydolZJtaLQ1QG7jpK
5QHzrsbTEInv3evr4ht9vzduA+e4DrUTd92pNFK1GgR7Df1veitItmd8ItP4IVZB
jDrRycfJxQEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD//gA7
Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBxdWFs
aXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsL
DQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0L
DRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
FBQU/8AAEQgAUABQAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgME
BQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQy
gZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RV
VldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqy
s7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E
AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQE
AAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEX
GBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKD
hIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW
19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A831PR7S5ut8kKsw7
kVbgs0igAQBQOgFQXM5N26+lTRSkpivNN7DxHuB5rh/GvgdPFEyh2wimuzjYliKa
Y8u1IZ2/wF8Pr4f8ItbqPkTivXRoyaro/kTwF1PZuBWT8FPDjSaAl1cLtt3PyAj7
2D1r067a2gCoAvPAAWsp15RfubnsYPARqwTqrTseSyeCtM0XBj06CT1G2rukah4b
UtHPaJZTr/C+CD9DXT66kcjSZACr7V5D4us3ikdyflJwM965li6tN3buenPKsLOF
oR5X5Hpf/CR+HLQcGLj0Wqs3xD0OA/Lz/urXAfDHVNHuNVbQ9biX7RJl7Od+jgDL
Rn3HJHqPpz6/F4U0RfuW0JP4GvUhWlUjzRsfMVqMKE3TmndHydcH/iYuKsR/KKxd
fv3sr5iozmtOxuDcWyORgkVz31J6FuEYJNNe5ghu7eKWTy2uJBHGMEkn8Kcg5re0
v4YT+N4FF5pszad1+07GUgjvG45DDr8vpT0W4Ri5SUUe2weM7/Q/D9vJpugR3enI
gSJxfwAkAcfLuzn2xmrGh+ONO1nTnvZY5LCe3DNPayZLIR2/WvP9b8MTLo8djovi
m706OGVSLeWQKoQDGw7sEdOpyTk+2LHiJj4e+GF7PdXlxdzNKkkIV3jV5E5WXaCB
u3E4b0C1hJUkkz7Ch7ZXVv6t/SN7xf8AFLwzp7rDNebDOAUYo20598V57q3iSx1r
bHb3SXAB455xXNeDrrWdZ8MG5ktrHULtgzrNfbpS7dl3E8DrXA+KoNcvLmXyraPR
tTCja9q5aIN3x+vasqlGDWjEq9SOso6HZeMNkWmPc2shS/tiJoWX+FlPHNUtB+JH
iMahBcxagZ4BjejccmuWi8bTnThYa9bNaynKfbNhET/5/wA4rqLLT7XTvDVncxAb
pQpyKvCRlFODfmeZj6tPSpy3b016GL4ljkluZBGoLY4zT/DjXOzbMCAO1aNyoN+2
easQ7V7AV0cutzw+bSx7t+zV8MbDxXdXutarALm0s3EcMD/daTGSSO+Bjj3r3T4m
SQaJpGnOsKpAtx5exFwBlGxx+FYn7NumLpfwvsZcYe7kknY+uWwP0AroPipCl34f
iDDeonGR/wABYD9cVrNfu2a4WVq8X5ni1/41037VdSFY47W1XMsjcDPXaPf2ryb4
2fHTw7eeC7WC3triWSfhyuDsOec9hjjrW1rvgwa1NfTwKrwwSlTuuDGueueQQcZr
yjxV8M4be3mkAmuY2cti32SCLsRwcnoOwrzovmvzI+5c6k0nS6HY/Bqystb0q8Zg
Yir74JlO1pFx1454PHvUviW30+1nZCGlkB273kZiPzJrzzwWuqeG7pJNPnma0gYe
ZHLGYwVPDDBHpmug1lzJqskzyl0DDAz/AJ9Kxm9LA6sZx1Wo7xHLb2Hhu5vnhM8N
uATCuPmyQvf61sfCa0uNXmuIvMe5tjNujEgGACo4A7D2965nU7u2u4IrO6mSNJSz
rG7YVtoyc+wyDXu/7OHhRG0m3umAcSZl3nvk5BooQcnY8/GVYww783+R4RO/+mt9
KcrgGqc83+nN9KUT49K9Vnxp9x/CnXLDw/8ACLQ7zULuCws4rZWkuLmQRxrlu7Hg
ckD8a5rxb+0v8Jr+xu9Jl8e6PFdSqVj3THCuOVJOMYyBzXzv+1PZ6n4l/ZO8ODRr
sNcadc2+oT2sUgV5Y0Dg4UcnazK2P9kntXwl4saO+eDVoA1vDeJvRG+YoR1XPtxW
kpWVjalT5vevZo/Rbwvdz3VjPeN9muLS9MqlJZPM+UMcMMfUfgRXE3Oiw2N1eTxR
7o8g+XBOVVQT0APvjr61ymht4yi8DaXe+Htl/ataxm4s5DtdZAqhip98Zx6k+tcp
r3xZ1XQ4Wj1PRZNOaNcPl1UD6liMnp6VyezjPWLPeWJdJcs43aNbxB40m067OENs
kbqPLkb74P8Ahmq914qjWKBGceY/zsCemeleV694svPGYtLzzLWxsI1H3pQ7OVz/
AHc9896wrnxXb2czO92bmQ8Z6KPpUSpRvZELEyabl1PWmS38a+NNOtXKywWYGQTx
vYgkfkF/Wv0F+Eelw6b4ctxHt4QDj6V+VnhjxlBb6gr26tC+7cXVdoJ9z/Wv0W/Z
j8XvrXg3E0pk2NtBJzXRRioyseZipOSvc+FrrxjqOqTPNva2RjhI4z0HvU0cssdu
Z7iV3kb7iOc49zWJA0cDAsQi5zjqT+FStqbTucA7QBtBrxZuUnqz2IRjBWSHarbp
eXwjkMkqLGXJZycnjAwDjHPpUDx2r2YW8VLaODEny4GNpGSpPTPI69e/OaekzzXP
mN90ZB57f5xUF9JBMwBVZtp6EZxyOfbp+laQm4ilFPU0NZ+Pmt2OjXXh7wZKyW0j
4OqeWUfb/sbvug+vX6V5hdeGdQ1PFzf3Umq3cpLyGSZmK/jk8mu68qJwuLeMcfeK
j6YAp7RPkbcDB9MV0quoK0UYzpyqO82cT/whN5OiIbtYbdRgRxg4A5P+Nadj4DsY
Tkkytjlnbr+Arp0iIUfNx61L5kFoTv5fqE61lLEVHsy40ILdFBfD1ssIDKFjPRAu
K9B+H3xS1n4ZDZocjJbnG62c7o298dvwxXGb/OJmmcpGCDk1m3uttcTCC2Tj+nqT
WSnO90y5Qp2s0f/ZiQI9BBMBCgAnBQJZAhiaAhsDBQkJZgGABQsJCAcDBRUKCQgL
BRYCAwEAAh4BAheAAAoJEJGSgkbRsxbbh08QAIZLCusVh8+C8fn4QmkGXN33IAmM
az3hoEpTEtFUT4UsrAIiat2ZnT5N8SS/qsPHqWJ5r4C2uyQJVMmzcJ5AKKvyKa4a
f/txy8eL7/SGtbT3AdGMCc8fE1wW9JWQI9ZPXyuFrSAKvQ1YTh4F23u+NTktpnSJ
jUQUA6FTwGXqsb9lnNh8HYAmJR0SGYniyU3lyj1olziMpOJ3R7nV17x1JzI27ZY3
+OsKWXfuWo9fjSJnsPq7Se1aWy6NJZ0rYNtERqmsHe2WZbJHrZr5QFQVCPifAAJp
u+nBZP8V6srwFudTtChwvnjZ/Y/VOxPRwmABNHGfW47SANfuxCL+hatsvO0E6T4V
+VVyYRRbBofE6BkapGpzoTv5zV2JlTMIsmMmrpFVg5fH8MGsAQl+mnSQeAdqRgZi
G+q7IFFOsBEW0KC7t42cVEugBrCc4N+4oWMCoFE+QjpC2UNRUOTGN853jSkyRqwP
IK/GkScghKQKEBZA7ZSsk/84SGUm5Yr8fPYM/4m/NlC9b/HB5B4nOf+TufTqT47X
jPeqbnXh/CeLEZYOT88mgeQLFaENRnLc/YOwZ6Ru9MV+2GElop4EBPZw83BaDeBu
4rDHs8e7Q8kIhTGg1mlQ4bWPEUXvYQXvR7zDUw3YHYgqLyuYPWdxSdsfVVi/P0de
1ML1s9twVauPVTTetDBNaWNoYWVsIEpvc2VwaCBSdWJpbnNreSA8bWlrZXJ1Ymlu
c2t5QGdtYWlsLmNvbT6JAj0EEwEKACcFAlkCGLACGwMFCQlmAYAFCwkIBwMFFQoJ
CAsFFgIDAQACHgECF4AACgkQkZKCRtGzFtuyaA//Q22/SHwtSWm24MGgJi0bMqBY
CHdyK2IYTH93nyt5oB+MV9oz7fERjjSwwueKJZANer6d6tJz09K1N6DoN3DNUAYS
XhFM/Fc3JDUOP5iDdnhKd4Vnpd1qeuXzBJgV9V5gCqJHWX7NRWjIxvNl63XBvc3W
W3I7gY1aR1XTL6Ha98w/EbM4NOst8WwxPfLf3wisQK+Bd1HODTPvCp7iamSIxrhg
VBxbZUIDfmXIrs+FiKoSLqxTyysW7dXi4KJpnEhn62YHeUCa2QfoHRSemtgudIMC
xWzh7sR94tyNvLomzCn3g9QRBmrRUieunWmmKi7eSPw2v6bXxxQvZfGdYiBrV35b
Tpb6tzDcKRFpIxCw7rrtMNTZGf+zDpJRYVZl+6YWqpinPRwkyPu90nadOiutqtpK
oDmEGFxd7mSF7E6C13Xq8FmD42jpwufqzIkBwpHVYKfHkks+Rt8yLRnL6zXojQ9I
SYHuWKe2mnJ1nEjI08V/oZubzqsMqB+qWOO/0sGjP3O9hpV2bbYtvthU4zXIGYKw
s8fPlGbS5Y2AlNRdsLWwmtljK4prRWLxps0Mj2hsio8Eq0/nN6EEbGSDl6xxpuSW
8fJpuwqBPseJd4KdMT7DvB20nplyvNkxjHcubl2VUXo6gyEnVQlQWWBVO7cM9yq/
jgCFB/EQ+zmJsndYI065Ag0EWQIYFAEQANbPiNW7YOHgnYiyrPdPcr8L89TxLKnu
LOFIW1X2aE7C6CpQdqydLfckwIslEcxQTj4z6G+ESgGVqZmBn6aUqBtGv+tFJo45
QvmGFi5U3QkyJCSTGV9ak/B/7r2wXSm9x2MB94R9GaX+Jiv8QmwQIL0OHsrJgayt
ncIFjhx2hUWZeezp8fVUlz4c6tzz3Dkrs/Vd1BCSSW5cJBKey+Thgf/cr+fEUqER
kM/FGZTDdPZzoU5U7i2ElVc9tDjltbajPntXLL04L1cPzDqOLqQdPJtU7SxF1+E3
7YzjzlT3YODJCrAkpd76edFfS1WkuK90y9bi3mAYHlCn+eJacLLLTT94LQS6SaIx
7eyv86clsO/mYJL22vYxE/mXK6JWBfz4fuNQb7PwUO6m4lQy09Ac6KPHDSzTIM5O
wYSjBCxwaByQu/IdGa+fIPQLvfxzO0o8sKAUfEkYFZ5G9pXHEPLGUehHoOPtBYIz
qc26+5cvV+LqiKgllPMrMdXUuj66a/PLga9U+albDThJllREElouTTBcT4OqTHpg
X+KwoK3xNqpbc8de43Vex9KHlkTv9g0UR2XznQC1BXBcSBHzLMQeXkY4iN8B4ivd
dOek8K7Jah9EpEEXMLrGSVAgyRYhVrcSYt7MQ5jkejQnxLAoaR6aRka6ludYmQmr
QJqCL6Z4Ea1DABEBAAGJAiUEGAEKAA8FAlkCGBQCGwwFCQlmAYAACgkQkZKCRtGz
FtuXZQ/+IjpYtuf9oUN2cMd5NhzWNFLwTIZhBCeSJp7JsQTxjpW4bNzq+4TQDEDT
ITodbqe2kHEe8ezS7MvEXCykBQC0WxxyxKP4OPQJD1HDj+nqXTJIXvnYrGYW8PSG
7oQ+kjEwJHOh+4qxYE5kbulSw+3nAJ4eDqasEjy5UEd48b3xPfXfvQmsdYcC08hq
HR2tnq1D90+93lvuvpWrh77/ts9MGSM2q6UkM84evc3FAtNkRM0CEzdH81wvi88Z
AyIlcvu5MOipAkKG5p04jrbjvGaHa8/lIIRdqe/0lo7Bl+wT9wrSL+oQvRGifPkN
lMlPUPeXIfi35tqDvQrNGtxxZcfysvnpTmC4e/h81JCf+Dp0ncomF3V47jQWtk6A
zmg7IyBm/B+FWykVtT1bgUfiTJzqYM12JZyF831PuQJs2hLtjZ55xy+5MIC0LzFv
1IdIYjCb7yZwMej7ive529erFTQF87q+/mOQ5ZNJSyTacM/IFO5vDhOsC6w+eoWq
E99wmdr9imqIMTOAc+J0s3OQ75ZH4fg5mQW7msBknMhzCBlKnD/RUJQ1MhOKpFS+
K4WT+tWfOjpwsRByJgAzetSWMRE+516UocT/DUQg8cZJayuqaxMY02WjIW4tDqIY
nnlHbwPi/niSQC85dbt5KyYcWUgKQopqyOKkXdOSpJCALTH2oXE=
=Tsm0
-----END PGP PUBLIC KEY BLOCK-----
--=_p0hsOltPBjdJd9TAy-ZV_HG--

--=_VMtRu0l0G7qLiBdWyJm3Ell
Content-Type: application/pgp-signature
Content-Description: PGP Digital Signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4

iQIcBAABAgAGBQJdA+KgAAoJEJGSgkbRsxbbYRkP/3MuurzxDVMjshxQtASzAlOf
RLMx/pP7vygoWFvah/YbTZMxDyJUH/ahgmqVGG9XB+SksigrMlt+K/WOoca6tlXP
Gg/V8EJ17kNoJ97MGOS5Q/rnqBZD8kk8VM/hcWPxToTIyYXQMnUgq3ozPWLH7+RJ
An9jAG2/O6wb584IeNNgnp+TPIsP+GZ34ZiexCtccTj6a+4GolEMHL1kouRcRsbv
YZL1jY1z3h2uurhCDJcLSSJEJJFli1erUbCe6BRKtvDRmC8si8QzqLH9YrhJ4m3S
1mzu5lydltNTd7wqd07ten9i2e49aoJNekG1JjDtrnyxJxJ69F8WDi9wUmoaZSAI
hIjlP8sYMwA6ZpdmZ7ivc14O/+7KV/UsypE/UpfDb+ihI9TI3t3iKnIHhRtnspn+
l5GSJYe8TTLVuvhXVdHP4VM1qmX0C2znQ5KYJoX0Y91u2iJuDKRVUqLYUlQmFJVW
N5zoqeI2aDuqRzzrviYxLyr+JmGnZbRg7+E+3A+UmvxHnwxoHfbDHDqbSX0bniUP
vnc8o+zmptA1DBcE58phttIcfWA6UKOxp6NNzF6JqJvNDzXxzkv45cqqXUYCYCZl
YbXKjwg9czelYUwPLVE0m/synY11u0piGmnrNMLI/80n/IzrT6eOcmDRqFR7MEpX
QwpSk7eSi/wj5mjXd1P8
=6kIo
-----END PGP SIGNATURE-----

--=_VMtRu0l0G7qLiBdWyJm3Ell--


--===============6563333818347979160==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-- 
kronolith mailing list
Frequently Asked Questions: http://wiki.horde.org/FAQ
To unsubscribe, mail: [email protected]

--===============6563333818347979160==--