Quoting Andrew Morgan <[email protected]>:

On Wed, 15 Aug 2012, Michael M Slusarz wrote:

Quoting Andrew Morgan <[email protected]>:

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 [[email protected]]

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

Reply via email to