public static function isValidImapUser($login, $pwd) { echo "<hr><h3>IN IMAP</h3>"; if (self::$password_ok) { return FALSE; } // if (!self::_authenticated()) return FALSE; echo "b"; if (empty($login) || empty($pwd)) { echo "<p class='bold red'>Invalid login or pwd</p>"; } if (empty($login) || empty($pwd)) { return FALSE; } echo "c"; //if (!locateAndInclude('Net_IMAP')) myPear::WARNING_T("Net_IMAP is not installed"); include_once "Net/IMAP.php"; if (class_exists('Net_IMAP', False)) { $pear = new PEAR(); foreach (self::$imapServers as $domain => $s) { foreach ($s['imap'] as $srv) { $imap = new Net_IMAP($srv, $s['port'], FALSE); $imap->setTimeout(1); $e = $imap->login($login, $pwd, TRUE, FALSE); if ($pear->isError($e)) { echo "<p class='bold red'>NO - {$srv} " . $e->message . "</p>"; } else { echo "<p class='bold green'>YES - {$srv}<br>Accepted Net_IMAP for {$login}@{$domain} from " . $_SERVER["REMOTE_ADDR"] . "</p>"; self::$password_ok = TRUE; if (self::$checkPwdOnly) { return TRUE; } /* if (self::$localAccount && !(self::$av = bForm_Avatar::hook(array('av_identity'=>$login),'basic'))) { foreach(array_merge(array($domain),$s['alias']) as $d) { if (self::$av = bForm_Avatar::hook("$login@$d",'basic')) break; } } if (is_object(self::$av)) return $this->_setUser('Net_IMAP',"$login IMAP"); */ } } } echo "<p class='bold red'>Authentication failed</p>"; return FALSE; //self::dbg(False); } else { echo "<p class='bold red'>WARNING Net_IMAP is not installed</p>"; } }