PHP Classes
elePHPant
Icontem

File: build/phpdox/xml/tokens/services/UserCredentialPasswordLoginService.php.xml

Recommend this page to a friend!
  Classes of Cyril Ogana  >  PHP User Credentials  >  build/phpdox/xml/tokens/services/UserCredentialPasswordLoginService.php.xml  >  Download  
File: build/phpdox/xml/tokens/services/UserCredentialPasswordLoginService.php.xml
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: PHP User Credentials
Implement password authentication policies
Author: By
Last change:
Date: 2 years ago
Size: 45,890 bytes
 

Contents

Class file image Download
<?xml version="1.0"?>
<source xmlns="http://xml.phpdox.net/token">
  <file xmlns="http://xml.phpdox.net/src" path="/home/rhossis/NetBeansProjects/cymapgt/core/application/authentication/UserCredential/src/services" file="UserCredentialPasswordLoginService.php" realpath="/home/rhossis/NetBeansProjects/cymapgt/core/application/authentication/UserCredential/src/services/UserCredentialPasswordLoginService.php" size="7770" time="2015-07-18T02:42:32+03:00" unixtime="1437176552" sha1="5a4d365495f9d75908c51dd545286ce438fa145b" relative="services/UserCredentialPasswordLoginService.php"/>
  <line no="1">
    <token name="T_OPEN_TAG">&lt;?php</token>
  </line>
  <line no="2">
    <token name="T_NAMESPACE">namespace</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">cymapgt</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">core</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">application</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">authentication</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">UserCredential</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">services</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="3"/>
  <line no="4">
    <token name="T_USE">use</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">cymapgt</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">Exception</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">UserCredentialException</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="5">
    <token name="T_USE">use</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">cymapgt</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">core</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">application</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">authentication</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">UserCredential</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">abstractclass</token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">UserCredentialAuthenticationInterface</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="6"/>
  <line no="7">
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="8">
    <token name="T_DOC_COMMENT"> * UserCredentialPasswordLoginService</token>
  </line>
  <line no="9">
    <token name="T_DOC_COMMENT"> * This service creates password hashes using the BCRYPT cipher</token>
  </line>
  <line no="10">
    <token name="T_DOC_COMMENT"> *</token>
  </line>
  <line no="11">
    <token name="T_DOC_COMMENT"> * @category    </token>
  </line>
  <line no="12">
    <token name="T_DOC_COMMENT"> * @package     cymapgt.core.application.authentication.UserCredential.services</token>
  </line>
  <line no="13">
    <token name="T_DOC_COMMENT"> * @copyright   Copyright (c) 2014 Cymap</token>
  </line>
  <line no="14">
    <token name="T_DOC_COMMENT"> * @author      Cyril Ogana &lt;cogana@gmail.com&gt;</token>
  </line>
  <line no="15">
    <token name="T_DOC_COMMENT"> * @abstract</token>
  </line>
  <line no="16">
    <token name="T_DOC_COMMENT"> * </token>
  </line>
  <line no="17">
    <token name="T_DOC_COMMENT"> * The objectives of the service are</token>
  </line>
  <line no="18">
    <token name="T_DOC_COMMENT"> *  - Create password hash</token>
  </line>
  <line no="19">
    <token name="T_DOC_COMMENT"> *  - Verify password for log in authentication</token>
  </line>
  <line no="20">
    <token name="T_DOC_COMMENT"> *  @TODO provide ability to use AES to encrypt the hash</token>
  </line>
  <line no="21">
    <token name="T_DOC_COMMENT"> */</token>
  </line>
  <line no="22"/>
  <line no="23">
    <token name="T_CLASS">class</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">UserCredentialPasswordLoginService</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_IMPLEMENTS">implements</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">UserCredentialAuthenticationInterface</token>
  </line>
  <line no="24">
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="25">
    <token name="T_WHITESPACE">    </token>
    <token name="T_COMMENT">//flags</token>
  </line>
  <line no="26">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PRIVATE">private</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$_usePasswordFlag</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">true</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
    <token name="T_WHITESPACE">  </token>
    <token name="T_COMMENT">//whether the auth is password based (at some stage or fully)</token>
  </line>
  <line no="27">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PRIVATE">private</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$_multiFactorFlag</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">false</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_COMMENT">//whether the auth service is multi factor</token>
  </line>
  <line no="28">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="29">
    <token name="T_WHITESPACE">    </token>
    <token name="T_COMMENT">//user info</token>
  </line>
  <line no="30">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PRIVATE">private</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$_inputPassword</token>
    <token name="T_WHITESPACE">   </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_CONSTANT_ENCAPSED_STRING">''</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_COMMENT">//the input password</token>
  </line>
  <line no="31">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PRIVATE">private</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$_currentUsername</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_CONSTANT_ENCAPSED_STRING">''</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_COMMENT">//username</token>
  </line>
  <line no="32">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PRIVATE">private</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$_currentPassword</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_CONSTANT_ENCAPSED_STRING">''</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_COMMENT">//hashed password</token>
  </line>
  <line no="33">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="34">
    <token name="T_WHITESPACE">    </token>
    <token name="T_COMMENT">//multi factor auth</token>
  </line>
  <line no="35">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PRIVATE">private</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$_multiFactorHandler</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">null</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
    <token name="T_WHITESPACE">    </token>
    <token name="T_COMMENT">//the handler instance for mutli factor auth</token>
  </line>
  <line no="36">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PRIVATE">private</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$_multiFactorStages</token>
    <token name="T_WHITESPACE">  </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_ARRAY">array</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_COMMENT">//the stages of multi factor auth</token>
  </line>
  <line no="37">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="38">
    <token name="T_WHITESPACE">    </token>
    <token name="T_COMMENT">//Constructor method</token>
  </line>
  <line no="39">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">__construct</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="40">
    <token name="T_WHITESPACE">        </token>
  </line>
  <line no="41">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
    <token name="T_WHITESPACE">        </token>
  </line>
  <line no="42">
    <token name="T_WHITESPACE">  </token>
  </line>
  <line no="43">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="44">
    <token name="T_DOC_COMMENT">     * function setUserPassword() - Specify whether the method uses password</token>
  </line>
  <line no="45">
    <token name="T_DOC_COMMENT">     *                              (set e.g. user log in, lDAP, 2 FACTOR (step 1)</token>
  </line>
  <line no="46">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="47">
    <token name="T_DOC_COMMENT">     *</token>
  </line>
  <line no="48">
    <token name="T_DOC_COMMENT">     * @param bool $flag - if true, is using password</token>
  </line>
  <line no="49">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="50">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="51">
    <token name="T_DOC_COMMENT">     */</token>
    <token name="T_WHITESPACE">             </token>
  </line>
  <line no="52">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">setUsePassword</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$flag</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="53">
    <token name="T_WHITESPACE">        </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_userPasswordFlag</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_BOOL_CAST">(bool)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$flag</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="54">
    <token name="T_WHITESPACE">        </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_multiFactorFlag</token>
    <token name="T_WHITESPACE">  </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">true</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="55">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="56"/>
  <line no="57">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="58">
    <token name="T_DOC_COMMENT">     * function getUsePassword() - Return the use password flag</token>
  </line>
  <line no="59">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="60">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="61">
    <token name="T_DOC_COMMENT">     *</token>
  </line>
  <line no="62">
    <token name="T_DOC_COMMENT">     * @return bool</token>
  </line>
  <line no="63">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="64">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="65">
    <token name="T_DOC_COMMENT">     */</token>
    <token name="T_WHITESPACE">             </token>
  </line>
  <line no="66">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">getUsePassword</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="67">
    <token name="T_WHITESPACE">        </token>
    <token name="T_RETURN">return</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_usePasswordFlag</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="68">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="69">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="70">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="71">
    <token name="T_DOC_COMMENT">     * function setPassword() - Set the user password, and hash it</token>
  </line>
  <line no="72">
    <token name="T_DOC_COMMENT">     *</token>
  </line>
  <line no="73">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt;- 2014-02-13</token>
  </line>
  <line no="74">
    <token name="T_DOC_COMMENT">     *</token>
  </line>
  <line no="75">
    <token name="T_DOC_COMMENT">     * @param bool $password - the user password in raw text</token>
  </line>
  <line no="76">
    <token name="T_DOC_COMMENT">     *</token>
  </line>
  <line no="77">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="78">
    <token name="T_DOC_COMMENT">     */</token>
    <token name="T_WHITESPACE">             </token>
  </line>
  <line no="79">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">setPassword</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$password</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="80">
    <token name="T_WHITESPACE">        </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_inputPassword</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING_CAST">(string)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$password</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="81">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="82">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="83">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="84">
    <token name="T_DOC_COMMENT">     * function getPassword()  - Return the hashed user password</token>
  </line>
  <line no="85">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="86">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="87">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="88">
    <token name="T_DOC_COMMENT">     * @param  $unhashed - flag if true, return unhashed</token>
  </line>
  <line no="89">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="90">
    <token name="T_DOC_COMMENT">     * @return mixed - the hashed password</token>
  </line>
  <line no="91">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="92">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="93">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="94">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">getPassword</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$unhashed</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">false</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="95">
    <token name="T_WHITESPACE">        </token>
    <token name="T_IF">if</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_BOOL_CAST">(bool)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$unhashed</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_IS_IDENTICAL">===</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">true</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="96">
    <token name="T_WHITESPACE">            </token>
    <token name="T_RETURN">return</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_inputPassword</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="97">
    <token name="T_WHITESPACE">        </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
    <token name="T_ELSE">else</token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="98">
    <token name="T_WHITESPACE">            </token>
    <token name="T_RETURN">return</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">password_hash</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_inputPassword</token>
    <token name="T_PHPDOX_COMMA">,</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_NS_SEPARATOR">\</token>
    <token name="T_STRING">PASSWORD_DEFAULT</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="99">
    <token name="T_WHITESPACE">        </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="100">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="101">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="102">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="103">
    <token name="T_DOC_COMMENT">     * function setMultiFactor($flag) - Set whether this service uses multi factor auth</token>
  </line>
  <line no="104">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="105">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="106">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="107">
    <token name="T_DOC_COMMENT">     * @param bool $flag - if true, is a multi factor auth service</token>
  </line>
  <line no="108">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="109">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="110">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="111">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">setMultiFactor</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$flag</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="112">
    <token name="T_WHITESPACE">        </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_multiFactorFlag</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_BOOL_CAST">(bool)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$flag</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="113">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="114">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="115">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="116">
    <token name="T_DOC_COMMENT">     * function setMultiFactorHandler - Provide namespace of the multi factor handler service,</token>
  </line>
  <line no="117">
    <token name="T_DOC_COMMENT">     *                                  which has to implement the interface</token>
  </line>
  <line no="118">
    <token name="T_DOC_COMMENT">     *                                  cymapgt\core\application\authentication\abstractclass\UserCredentialAuthenticationMultiFactorInterface</token>
  </line>
  <line no="119">
    <token name="T_DOC_COMMENT">     *</token>
  </line>
  <line no="120">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="121">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="122">
    <token name="T_DOC_COMMENT">     * @param string $handler - The namespace of the multi factor handler service</token>
  </line>
  <line no="123">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="124">
    <token name="T_DOC_COMMENT">     * @access public </token>
  </line>
  <line no="125">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="126">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">setMultiFactorHandler</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$handler</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="127">
    <token name="T_WHITESPACE">        </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_multiFactorHandler</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING_CAST">(string)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$handler</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="128">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="129">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="130">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="131">
    <token name="T_DOC_COMMENT">     * function getMultiFactorHandler - Return an instance of the multi factor handler service</token>
  </line>
  <line no="132">
    <token name="T_DOC_COMMENT">     *                                  to use ofr this authentication session</token>
  </line>
  <line no="133">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="134">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com &gt; - 2014-02-13</token>
  </line>
  <line no="135">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="136">
    <token name="T_DOC_COMMENT">     * @return object</token>
  </line>
  <line no="137">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="138">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="139">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="140">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">getMultiFactorHandler</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="141">
    <token name="T_WHITESPACE">        </token>
    <token name="T_RETURN">return</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_multiFactorHandler</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="142">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="143">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="144">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="145">
    <token name="T_DOC_COMMENT">     * function setMultiFactorStages - in an array, configure the steps of the multifactor login, passing</token>
  </line>
  <line no="146">
    <token name="T_DOC_COMMENT">     *                                 numeric stage names, types and handler calls</token>
  </line>
  <line no="147">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="148">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="149">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="150">
    <token name="T_DOC_COMMENT">     * @param Array $stages - The stages of the log in session</token>
  </line>
  <line no="151">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="152">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="153">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="154">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">setMultiFactorStages</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_ARRAY">Array</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$stages</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="155">
    <token name="T_WHITESPACE">        </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_multiFactorStages</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$stages</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="156">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="157">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="158">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="159">
    <token name="T_DOC_COMMENT">     * function getMultiFactorStages - return the multi factor stages array</token>
  </line>
  <line no="160">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="161">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="162">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="163">
    <token name="T_DOC_COMMENT">     * @return array</token>
  </line>
  <line no="164">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="165">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="166">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="167">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">getMultiFactorStages</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="168">
    <token name="T_WHITESPACE">        </token>
    <token name="T_RETURN">return</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_multiFactorStages</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="169">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="170">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="171">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="172">
    <token name="T_DOC_COMMENT">     * function initialize() - initialize the service, bootstrap before any processing</token>
  </line>
  <line no="173">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="174">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="175">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="176">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="177">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="178">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">initialize</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="179">
    <token name="T_WHITESPACE">        </token>
    <token name="T_IF">if</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_inputPassword</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_IS_EQUAL">==</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_CONSTANT_ENCAPSED_STRING">''</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
  </line>
  <line no="180">
    <token name="T_WHITESPACE">            </token>
    <token name="T_BOOLEAN_AND">&amp;&amp;</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_currentUsername</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_IS_EQUAL">==</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_CONSTANT_ENCAPSED_STRING">''</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
  </line>
  <line no="181">
    <token name="T_WHITESPACE">            </token>
    <token name="T_BOOLEAN_AND">&amp;&amp;</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_currentPassword</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_IS_EQUAL">==</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_CONSTANT_ENCAPSED_STRING">''</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
  </line>
  <line no="182">
    <token name="T_WHITESPACE">        </token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="183">
    <token name="T_WHITESPACE">            </token>
    <token name="T_THROW">throw</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_NEW">new</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">UserCredentialException</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_CONSTANT_ENCAPSED_STRING">"The usercredential login service is not initialized with all parameters"</token>
    <token name="T_PHPDOX_COMMA">,</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_LNUMBER">2000</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="184">
    <token name="T_WHITESPACE">        </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="185">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="186">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="187">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="188">
    <token name="T_DOC_COMMENT">     * function authenticate() - authenticate the user after initialization</token>
  </line>
  <line no="189">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="190">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="191">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="192">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="193">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="194">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">authenticate</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="195">
    <token name="T_WHITESPACE">        </token>
    <token name="T_RETURN">return</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">password_verify</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_inputPassword</token>
    <token name="T_PHPDOX_COMMA">,</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_currentPassword</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="196">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="197">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="198">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="199">
    <token name="T_DOC_COMMENT">     * function setCurrentUsername($username) - set the current username</token>
  </line>
  <line no="200">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="201">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-13</token>
  </line>
  <line no="202">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="203">
    <token name="T_DOC_COMMENT">     * @param string $username - The current username</token>
  </line>
  <line no="204">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="205">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="206">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="207">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">setCurrentUsername</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$username</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="208">
    <token name="T_WHITESPACE">        </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_currentUsername</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING_CAST">(string)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$username</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="209">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="210">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="211">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="212">
    <token name="T_DOC_COMMENT">     * function getCurrentUsername() - get the current username</token>
  </line>
  <line no="213">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="214">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-14</token>
  </line>
  <line no="215">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="216">
    <token name="T_DOC_COMMENT">     * @return string - Return the current username</token>
  </line>
  <line no="217">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="218">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="219">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="220">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">getCurrentUsername</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="221">
    <token name="T_WHITESPACE">        </token>
    <token name="T_RETURN">return</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_currentUsername</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="222">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="223">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="224">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="225">
    <token name="T_DOC_COMMENT">     * function setCurrentPassword() - set the current password</token>
  </line>
  <line no="226">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="227">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-14</token>
  </line>
  <line no="228">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="229">
    <token name="T_DOC_COMMENT">     * @param mixed  $password - The current password hash</token>
  </line>
  <line no="230">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="231">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="232">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="233">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">setCurrentPassword</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_VARIABLE">$password</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="234">
    <token name="T_WHITESPACE">        </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_currentPassword</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_EQUAL">=</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$password</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="235">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="236">
    <token name="T_WHITESPACE">    </token>
  </line>
  <line no="237">
    <token name="T_WHITESPACE">    </token>
    <token name="T_DOC_COMMENT">/**</token>
  </line>
  <line no="238">
    <token name="T_DOC_COMMENT">     * function getCurrentPassword() - return the current password (hashed)</token>
  </line>
  <line no="239">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="240">
    <token name="T_DOC_COMMENT">     * Cyril Ogana &lt;cogana@gmail.com&gt; - 2014-02-14</token>
  </line>
  <line no="241">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="242">
    <token name="T_DOC_COMMENT">     * @return mixed - The hashed password</token>
  </line>
  <line no="243">
    <token name="T_DOC_COMMENT">     * </token>
  </line>
  <line no="244">
    <token name="T_DOC_COMMENT">     * @access public</token>
  </line>
  <line no="245">
    <token name="T_DOC_COMMENT">     */</token>
  </line>
  <line no="246">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PUBLIC">public</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_FUNCTION">function</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_STRING">getCurrentPassword</token>
    <token name="T_PHPDOX_OPEN_BRACKET">(</token>
    <token name="T_PHPDOX_CLOSE_BRACKET">)</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_PHPDOX_OPEN_CURLY">{</token>
  </line>
  <line no="247">
    <token name="T_WHITESPACE">        </token>
    <token name="T_RETURN">return</token>
    <token name="T_WHITESPACE"> </token>
    <token name="T_VARIABLE">$this</token>
    <token name="T_OBJECT_OPERATOR">-&gt;</token>
    <token name="T_STRING">_currentPassword</token>
    <token name="T_PHPDOX_SEMICOLON">;</token>
  </line>
  <line no="248">
    <token name="T_WHITESPACE">    </token>
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="249">
    <token name="T_PHPDOX_CLOSE_CURLY">}</token>
  </line>
  <line no="250"/>
</source>