Exemple #1
0
 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>";
     }
 }