[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