Horde_Imap_Client_Auth_Scram::__construct PHP Method

__construct() public method

Constructor.
public __construct ( string $user, string $pass, string $hash = 'SHA1' )
$user string Username.
$pass string Password.
$hash string Hash name.
    public function __construct($user, $pass, $hash = 'SHA1')
    {
        $error = false;
        $this->_hash = $hash;
        try {
            if (!class_exists('Horde_Stringprep') || !class_exists('Horde_Crypt_Blowfish_Pbkdf2')) {
                throw new Exception();
            }
            Horde_Stringprep::autoload();
            $saslprep = new Znerol\Component\Stringprep\Profile\SASLprep();
            $this->_user = $saslprep->apply($user, 'UTF-8', Znerol\Component\Stringprep\Profile::MODE_QUERY);
            $this->_pass = $saslprep->apply($pass, 'UTF-8', Znerol\Component\Stringprep\Profile::MODE_STORE);
        } catch (Znerol\Component\Stringprep\ProfileException $e) {
            $error = true;
        } catch (Exception $e) {
            $error = true;
        }
        if ($error) {
            throw new Horde_Imap_Client_Exception(Horde_Imap_Client_Translation::r("Authentication failure."), Horde_Imap_Client_Exception::LOGIN_AUTHORIZATIONFAILED);
        }
        /* Generate nonce. (Done here so this can be overwritten for
         * testing purposes.) */
        $this->_nonce = strval(new Horde_Support_Randomid());
    }