[imp] Cyrus "realms" vs IMP "realms"

Edwin Culp eculp@encontacto.net
Mon, 2 Sep 2002 07:05:08 -0700


Quoting "Marc G. Fournier" <scrappy@hub.org>:

 | On Sun, 1 Sep 2002, Edwin Culp wrote:
 | 
 | > Have you tried using the imp_get_vinfo() hook and setting back to
 | > 'realm' >= '', ?
 | 
 | Nope, but am now ... but I'm confused ... the comment states that it will
 | be used to 'set the $imp['user'] at login time', yet the script uses
 | $imp['user'], which doesn't appear to have been set yet ...

You have probably already taken a look at lib/Session.php about line 57 and 
templates/login/login.inc at about line 77 but if not you might want to.

 | 
 | Else I'm missing somethign ...
 | 
 | For instance, I changed my conf.php file in imp/config to ignore the $type
 | and set it to what I want:
 | 
 | $conf['hooks']['vinfo'] = 'imp_get_vinfo';
 | 
 | if (!function_exists('imp_get_vinfo')) {
 |     function imp_get_vinfo ($type) {
 |         global $conf, $imp;
 | 
 |         $vdomain = getenv('HTTP_HOST');
 |         $vdomain = preg_replace('|^webmail\.|i', '', $vdomain);
 |         $vdomain = strtolower($vdomain);
 | 
 |         return $imp['user'] . '@' . $vdomain;
 |     }
 | }
 | 
 | But when I try to login, it only gets the @$vdomain part:
 | 
 | ...mail.pluto.hub.org:143[imap] as @pluto.hub.org ...
 | 
 | So, what value should I be setting in there?

I use the following script that will hopefully help as it is a bit different,
has the vdomain type and has worked for months.  As they say if it works 
don't fix it.  


$conf['hooks']['vinfo'] = 'imp_get_vinfo';

if (!function_exists('imp_get_vinfo')) {
     function imp_get_vinfo ($type = 'username') {
        global $conf, $imp;

        $vdomain = strtolower(preg_replace('|^mail\.|i', '',
$_SERVER['HTTP_HOST']));

         if ($type == 'username') {
             return $_SESSION['imp']['user'] . '@' . $vdomain;
        } elseif ($type == "vdomain") {
            return $vdomain;
        } else {
            return new PEAR_Error('invalid type: ' . $type);
        }
    }
}

Hope this helps,

ed
--