PHPFusion\Authenticate::setAdminCookie PHP Method

setAdminCookie() public static method

public static setAdminCookie ( $inputPassword )
    public static function setAdminCookie($inputPassword)
    {
        global $userdata;
        if (iADMIN) {
            // Initialize password auth
            $passAuth = new PasswordAuth();
            $passAuth->currentAlgo = $userdata['user_admin_algo'];
            $passAuth->currentSalt = $userdata['user_admin_salt'];
            $passAuth->currentPasswordHash = $userdata['user_admin_password'];
            $passAuth->inputPassword = $inputPassword;
            // Check if input password is valid
            if ($passAuth->isValidCurrentPassword(TRUE)) {
                $userdata['user_admin_algo'] = $passAuth->getNewAlgo();
                $userdata['user_admin_salt'] = $passAuth->getNewSalt();
                $userdata['user_admin_password'] = $passAuth->getNewHash();
                $result = dbquery("UPDATE " . DB_USERS . "\n\t\t\t\t\tSET user_admin_algo='" . $userdata['user_admin_algo'] . "', user_admin_salt='" . $userdata['user_admin_salt'] . "', user_admin_password='" . $userdata['user_admin_password'] . "'\n\t\t\t\t\tWHERE user_id='" . $userdata['user_id'] . "'");
                Authenticate::setUserCookie($userdata['user_id'], $userdata['user_admin_salt'], $userdata['user_admin_algo'], FALSE, FALSE);
                return TRUE;
            }
        }
        return FALSE;
    }

Usage Example

/**
 * Set the admin password when needed
 * @param $password
 * @return bool
 */
function set_admin_pass($password)
{
    return Authenticate::setAdminCookie($password);
}