Overview

Packages

  • Horde
    • Imsp

Classes

  • Horde_Imsp_Auth_Base
  • Horde_Imsp_Auth_CramMd5
  • Horde_Imsp_Auth_Imtest
  • Horde_Imsp_Auth_Plaintext
  • Horde_Imsp_Book
  • Horde_Imsp_Client_Base
  • Horde_Imsp_Client_Socket
  • Horde_Imsp_Exception
  • Horde_Imsp_Options
  • Horde_Imsp_Translation
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Abstract IMSP authentication class.
 4:  *
 5:  * Required Parameters:<pre>
 6:  *   'username'  Username to logon to IMSP server as.
 7:  *   'password'  Password for current user.
 8:  *   'server'    The hostname of the IMSP server.
 9:  *   'port'      The port of the IMSP server.</pre>
10:  *
11:  * Copyright 2003-2012 Horde LLC (http://www.horde.org/)
12:  *
13:  * See the enclosed file COPYING for license information (LGPL). If you
14:  * did not receive this file, see http://www.horde.org/licenses/lgpl21.
15:  *
16:  * @author  Michael Rubinsky <mrubinsk@horde.org>
17:  * @package Horde_Imsp
18:  */
19: abstract class Horde_Imsp_Auth_Base
20: {
21:     protected $_params = array();
22: 
23:     /**
24:      * Class variable to hold the resulting Horde_Imsp object
25:      *
26:      * @var Horde_Imsp_Client_Base
27:      */
28:     protected $_imsp;
29: 
30:     /**
31:      * Constructor
32:      *
33:      * @param array $params
34:      */
35:     public function __construct(array $params = array())
36:     {
37:         $this->_params = $params;
38:     }
39: 
40:     /**
41:      * Attempts to login to IMSP server.
42:      *
43:      * @param Horde_Imsp_Client_Base $client  The Imsp client connection.
44:      * @param boolean $login                  Remain logged in after auth?
45:      *
46:      * @return boolean
47:      */
48:     public function authenticate(Horde_Imsp_Client_Base $client, $login = true)
49:     {
50:         $this->_imsp = $client;
51:         if(!$this->_authenticate()) {
52:             return false;
53:         }
54:         if (!$login) {
55:             $this->_imsp->logout();
56:         }
57: 
58:         return true;
59:     }
60: 
61:     /**
62:      * Private authentication function. Provides actual authentication code.
63:      *
64:      * @return boolean
65:      */
66:     abstract protected function _authenticate();
67: 
68:     /**
69:      * Returns the type of this driver.
70:      *
71:      *
72:      * @return string Type of IMSP_Auth driver instance
73:      */
74:     abstract public function getDriverType();
75: 
76:     /**
77:      * Force a logout from the underlying IMSP stream.
78:      *
79:      */
80:     abstract public function logout();
81: }
82: 
API documentation generated by ApiGen