[imp] adding realm in IMP5
Michael M Slusarz
slusarz at horde.org
Fri Aug 17 00:16:16 UTC 2012
Quoting Andrew Morgan <morgan at orst.edu>:
> On Wed, 15 Aug 2012, Michael M Slusarz wrote:
>
>> Quoting Andrew Morgan <morgan at orst.edu>:
>>
>>> However, what I really need to do is lookup the realm on the fly.
>>> Is there some session parameter I can use as a key to lookup the
>>> $servers entry?
>>
>> In IMP 5+, you can do this:
>>
>> $servers = IMP_Imap::loadServerConfig([$server]);
>>
>> where $server = the server entry you want to load from backends[.local].php
>>
>> If $server is omitted, all of the server entries will be returned.
>
> Okay, that is getting me closer! How can I determine which server
> the user is authenticated to? That must be stored in a session
> object somewhere, so that IMP knows which server to connect to later
> on...
There's no way of retrieving the original server key (i.e. the array
key from backends.php). You can instead query the stored IMAP object
to determine which server it is using.
e.g.:
$imap = $GLOBALS['injector']->getInstance('IMP_Factory_Imap')->create();
$value = $imap->ob->get($key);
where $key is the Horde_Imap_Client_Base configuration option. See:
http://dev.horde.org/api/framework/Imap_Client/Imap_Client/Horde_Imap_Client.html#factory
for the list of parameters. 'hostspec' and/or 'port' should probably
be sufficient to uniquely identify the backend server.
michael
___________________________________
Michael Slusarz [slusarz at horde.org]
More information about the imp
mailing list