protected function fetchAxAttributes()
    {
        $alias = null;
        if (isset($this->data['openid_ns_ax']) && $this->data['openid_ns_ax'] != 'http://openid.net/srv/ax/1.0') {
            // It's the most likely case, so we'll check it before
            $alias = 'ax';
        } else {
            // 'ax' prefix is either undefined, or points to another extension, so we search for another prefix
            foreach ($this->data as $key => $value) {
                if (strncmp($key, 'openid_ns_', 10) === 0  && $value == 'http://openid.net/srv/ax/1.0') {
                    $alias = substr($key, strlen('openid_ns_'));
                    break;
                }
            }
        }
        if (!$alias) {
            // An alias for AX schema has not been found, so there is no AX data in the OP's response
            return [];
        }

        $attributes = [];
        foreach ($this->data as $key => $value) {
            $keyMatch = 'openid_' . $alias . '_value_';
            if (strncmp($key, $keyMatch, strlen($keyMatch))) {
                continue;
            }
            $key = substr($key, strlen($keyMatch));
            if (!isset($this->data['openid_' . $alias . '_type_' . $key])) {
                /* OP is breaking the spec by returning a field without
                associated ns. This shouldn't happen, but it's better
                to check, than cause an E_NOTICE.*/
                continue;
            }
            $key = substr($this->data['openid_' . $alias . '_type_' . $key], strlen('http://axschema.org/'));
            $attributes[$key] = $value;
        }

        return $attributes;
    }
protected function fetchAxAttributes()
    {
        $alias = null;
        if (isset($this->data['openid_ns_ax']) && $this->data['openid_ns_ax'] != 'http://openid.net/srv/ax/1.0') {
            // It's the most likely case, so we'll check it before
            $alias = 'ax';
        } else {
            // 'ax' prefix is either undefined, or points to another extension, so we search for another prefix
            foreach ($this->data as $key => $value) {
                if (strncmp($key, 'openid_ns_', 10) === 0  && $value == 'http://openid.net/srv/ax/1.0') {
                    $alias = substr($key, strlen('openid_ns_'));
                    break;
                }
            }
        }
        if (!$alias) {
            // An alias for AX schema has not been found, so there is no AX data in the OP's response
            return [];
        }

        $attributes = [];
        foreach ($this->data as $key => $value) {
            $keyMatch = 'openid_' . $alias . '_value_';
            if (strncmp($key, $keyMatch, strlen($keyMatch))) {
                continue;
            }
            $key = substr($key, strlen($keyMatch));
            if (!isset($this->data['openid_' . $alias . '_type_' . $key])) {
                /* OP is breaking the spec by returning a field without
                associated ns. This shouldn't happen, but it's better
                to check, than cause an E_NOTICE.*/
                continue;
            }
            $key = substr($this->data['openid_' . $alias . '_type_' . $key], strlen('http://axschema.org/'));
            $attributes[$key] = $value;
        }

        return $attributes;
    }
protected function fetchAxAttributes ( ) { $ alias = null ; if ( isset ( $ this -> data [ 'openid_ns_ax' ] ) && $ this -> data [ 'openid_ns_ax' ] != 'http://openid.net/srv/ax/1.0' ) { // It's the most likely case, so we'll check it before $ alias = 'ax' ; } else { // 'ax' prefix is either undefined, or points to another extension, so we search for another prefix foreach ( $ this -> data as $ key => $ value ) { if ( strncmp ( $ key , 'openid_ns_' , 10 ) === 0 && $ value == 'http://openid.net/srv/ax/1.0' ) { $ alias = substr ( $ key , strlen ( 'openid_ns_' ) ) ; break ; } } } if ( ! $ alias ) { // An alias for AX schema has not been found, so there is no AX data in the OP's response return [ ] ; } $ attributes = [ ] ; foreach ( $ this -> data as $ key => $ value ) { $ keyMatch = 'openid_' . $ alias . '_value_' ; if ( strncmp ( $ key , $ keyMatch , strlen ( $ keyMatch ) ) ) { continue ; } $ key = substr ( $ key , strlen ( $ keyMatch ) ) ; if ( ! isset ( $ this -> data [ 'openid_' . $ alias . '_type_' . $ key ] ) ) { /* OP is breaking the spec by returning a field without
                associated ns. This shouldn't happen, but it's better
                to check, than cause an E_NOTICE.*/ continue ; } $ key = substr ( $ this -> data [ 'openid_' . $ alias . '_type_' . $ key ] , strlen ( 'http://axschema.org/' ) ) ; $ attributes [ $ key ] = $ value ; } return $ attributes ; }
Gets AX attributes provided by OP.
@return array array of attributes.
Gets AX attributes provided by OP .