private function prepareDecodedQueryForUse(&$decoded, &$metaParameters, &$ctypeParameters)
    {
        // If there is only 1 contenttype we assume the where is NOT nested
        if (count($decoded['contenttypes']) == 1) {
            // So we need to add this nesting
            $ctypeParameters = [$decoded['contenttypes'][0] => $ctypeParameters];
        } else {
            // We need to set every non-contenttypeslug parameters to each individual contenttypes
            $globalParameters = [];
            foreach ($ctypeParameters as $key => $parameter) {
                if (!in_array($key, $decoded['contenttypes'])) {
                    $globalParameters[$key] = $parameter;
                }
            }
            foreach ($globalParameters as $key => $parameter) {
                unset($ctypeParameters[$key]);
                foreach ($decoded['contenttypes'] as $contenttype) {
                    if (!isset($ctypeParameters[$contenttype])) {
                        $ctypeParameters[$contenttype] = [];
                    }
                    if (!isset($ctypeParameters[$contenttype][$key])) {
                        $ctypeParameters[$contenttype][$key] = $parameter;
                    }
                }
            }

            // In this case query pagination never makes sense!
            $decoded['self_paginated'] = false;
        }

        if (($decoded['order_callback'] !== false) || ($decoded['return_single'] === true)) {
            // Callback sorting disables pagination
            $decoded['self_paginated'] = false;
        }

        if (!isset($metaParameters['order']) || $metaParameters['order'] === false) {
            if (count($decoded['contenttypes']) == 1) {
                if ($this->getContentTypeGrouping($decoded['contenttypes'][0])) {
                    $decoded['order_callback'] = [$this, 'groupingSort'];
                }
            }
        }

        if ($decoded['return_single']) {
            $metaParameters['limit'] = 1;
        } elseif (!isset($metaParameters['limit'])) {
            $metaParameters['limit'] = 9999;
        }
    }
private function prepareDecodedQueryForUse(&$decoded, &$metaParameters, &$ctypeParameters)
    {
        // If there is only 1 contenttype we assume the where is NOT nested
        if (count($decoded['contenttypes']) == 1) {
            // So we need to add this nesting
            $ctypeParameters = [$decoded['contenttypes'][0] => $ctypeParameters];
        } else {
            // We need to set every non-contenttypeslug parameters to each individual contenttypes
            $globalParameters = [];
            foreach ($ctypeParameters as $key => $parameter) {
                if (!in_array($key, $decoded['contenttypes'])) {
                    $globalParameters[$key] = $parameter;
                }
            }
            foreach ($globalParameters as $key => $parameter) {
                unset($ctypeParameters[$key]);
                foreach ($decoded['contenttypes'] as $contenttype) {
                    if (!isset($ctypeParameters[$contenttype])) {
                        $ctypeParameters[$contenttype] = [];
                    }
                    if (!isset($ctypeParameters[$contenttype][$key])) {
                        $ctypeParameters[$contenttype][$key] = $parameter;
                    }
                }
            }

            // In this case query pagination never makes sense!
            $decoded['self_paginated'] = false;
        }

        if (($decoded['order_callback'] !== false) || ($decoded['return_single'] === true)) {
            // Callback sorting disables pagination
            $decoded['self_paginated'] = false;
        }

        if (!isset($metaParameters['order']) || $metaParameters['order'] === false) {
            if (count($decoded['contenttypes']) == 1) {
                if ($this->getContentTypeGrouping($decoded['contenttypes'][0])) {
                    $decoded['order_callback'] = [$this, 'groupingSort'];
                }
            }
        }

        if ($decoded['return_single']) {
            $metaParameters['limit'] = 1;
        } elseif (!isset($metaParameters['limit'])) {
            $metaParameters['limit'] = 9999;
        }
    }
private function prepareDecodedQueryForUse ( & $ decoded , & $ metaParameters , & $ ctypeParameters ) { // If there is only 1 contenttype we assume the where is NOT nested if ( count ( $ decoded [ 'contenttypes' ] ) == 1 ) { // So we need to add this nesting $ ctypeParameters = [ $ decoded [ 'contenttypes' ] [ 0 ] => $ ctypeParameters ] ; } else { // We need to set every non-contenttypeslug parameters to each individual contenttypes $ globalParameters = [ ] ; foreach ( $ ctypeParameters as $ key => $ parameter ) { if ( ! in_array ( $ key , $ decoded [ 'contenttypes' ] ) ) { $ globalParameters [ $ key ] = $ parameter ; } } foreach ( $ globalParameters as $ key => $ parameter ) { unset ( $ ctypeParameters [ $ key ] ) ; foreach ( $ decoded [ 'contenttypes' ] as $ contenttype ) { if ( ! isset ( $ ctypeParameters [ $ contenttype ] ) ) { $ ctypeParameters [ $ contenttype ] = [ ] ; } if ( ! isset ( $ ctypeParameters [ $ contenttype ] [ $ key ] ) ) { $ ctypeParameters [ $ contenttype ] [ $ key ] = $ parameter ; } } } // In this case query pagination never makes sense! $ decoded [ 'self_paginated' ] = false ; } if ( ( $ decoded [ 'order_callback' ] !== false ) || ( $ decoded [ 'return_single' ] === true ) ) { // Callback sorting disables pagination $ decoded [ 'self_paginated' ] = false ; } if ( ! isset ( $ metaParameters [ 'order' ] ) || $ metaParameters [ 'order' ] === false ) { if ( count ( $ decoded [ 'contenttypes' ] ) == 1 ) { if ( $ this -> getContentTypeGrouping ( $ decoded [ 'contenttypes' ] [ 0 ] ) ) { $ decoded [ 'order_callback' ] = [ $ this , 'groupingSort' ] ; } } } if ( $ decoded [ 'return_single' ] ) { $ metaParameters [ 'limit' ] = 1 ; } elseif ( ! isset ( $ metaParameters [ 'limit' ] ) ) { $ metaParameters [ 'limit' ] = 9999 ; } }
Prepare decoded for actual use.

This is tightly coupled to $this->getContent()

@see $this->decodeContentQuery()

@param $decoded
@param $metaParameters
@param $ctypeParameters
Prepare decoded for actual use .