Auth_OpenID_GenericConsumer::_createAssociateRequest PHP Method

_createAssociateRequest() public method

public _createAssociateRequest ( $endpoint, $assoc_type, $session_type )
    function _createAssociateRequest($endpoint, $assoc_type, $session_type)
    {
        if (array_key_exists($session_type, $this->session_types)) {
            $session_type_class = $this->session_types[$session_type];
            if (is_callable($session_type_class)) {
                $assoc_session = $session_type_class();
            } else {
                $assoc_session = new $session_type_class();
            }
        } else {
            return null;
        }
        $args = array('mode' => 'associate', 'assoc_type' => $assoc_type);
        if (!$endpoint->compatibilityMode()) {
            $args['ns'] = Auth_OpenID_OPENID2_NS;
        }
        // Leave out the session type if we're in compatibility mode
        // *and* it's no-encryption.
        if (!$endpoint->compatibilityMode() || $assoc_session->session_type != 'no-encryption') {
            $args['session_type'] = $assoc_session->session_type;
        }
        $args = array_merge($args, $assoc_session->getRequest());
        $message = Auth_OpenID_Message::fromOpenIDArgs($args);
        return array($assoc_session, $message);
    }