]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - lib/WikiUser/IMAP.php
just copyright
[SourceForge/phpwiki.git] / lib / WikiUser / IMAP.php
1 <?php //-*-php-*-
2 rcs_id('$Id: IMAP.php,v 1.4 2004-12-26 17:11:17 rurban Exp $');
3 /* Copyright (C) 2004 $ThePhpWikiProgrammingTeam
4  * This file is part of PhpWiki. Terms and Conditions see LICENSE. (GPL2)
5  */
6
7 class _IMAPPassUser
8 extends _PassUser
9 /**
10  * Define the var IMAP_AUTH_HOST in config/config.ini (with port probably)
11  *
12  * Preferences are handled in _PassUser
13  */
14 {
15     function checkPass($submitted_password) {
16         if (!$this->isValidName()) {
17             trigger_error(_("Invalid username."),E_USER_WARNING);
18             return $this->_tryNextPass($submitted_password);
19         }
20         if (!$this->_checkPassLength($submitted_password)) {
21             return WIKIAUTH_FORBIDDEN;
22         }
23         $userid = $this->_userid;
24         $mbox = @imap_open( "{" . IMAP_AUTH_HOST . "}",
25                             $userid, $submitted_password, OP_HALFOPEN );
26         if ($mbox) {
27             imap_close($mbox);
28             $this->_authmethod = 'IMAP';
29             $this->_level = WIKIAUTH_USER;
30             return $this->_level;
31         } else {
32             trigger_error(_("Unable to connect to IMAP server "). IMAP_AUTH_HOST, 
33                           E_USER_WARNING);
34         }
35
36         return $this->_tryNextPass($submitted_password);
37     }
38
39     //CHECKME: this will not be okay for the auth policy strict
40     function userExists() {
41         return true;
42
43         if (checkPass($this->_prefs->get('passwd')))
44             return true;
45         return $this->_tryNextUser();
46     }
47
48     function mayChangePass() {
49         return false;
50     }
51 }
52
53 // $Log: not supported by cvs2svn $
54 // Revision 1.3  2004/12/20 16:05:01  rurban
55 // gettext msg unification
56 //
57 // Revision 1.2  2004/12/19 00:58:02  rurban
58 // Enforce PASSWORD_LENGTH_MINIMUM in almost all PassUser checks,
59 // Provide an errormessage if so. Just PersonalPage and BogoLogin not.
60 // Simplify httpauth logout handling and set sessions for all methods.
61 // fix main.php unknown index "x" getLevelDescription() warning.
62 //
63 // Revision 1.1  2004/11/01 10:43:58  rurban
64 // seperate PassUser methods into seperate dir (memory usage)
65 // fix WikiUser (old) overlarge data session
66 // remove wikidb arg from various page class methods, use global ->_dbi instead
67 // ...
68 //
69
70 // Local Variables:
71 // mode: php
72 // tab-width: 8
73 // c-basic-offset: 4
74 // c-hanging-comment-ender-p: nil
75 // indent-tabs-mode: nil
76 // End:
77 ?>