private function groupingSort(Content $a, Content $b)
    {
        // Same group, sort within group.
        if ($a->group['slug'] == $b->group['slug']) {
            if (!empty($a->sortorder) || !empty($b->sortorder)) {
                if (!isset($a->sortorder)) {
                    return 1;
                } elseif (!isset($b->sortorder)) {
                    return -1;
                } else {
                    return ($a->sortorder < $b->sortorder) ? -1 : 1;
                }
            }

            if (!empty($a->contenttype['sort'])) {
                // Same group, so we sort on contenttype['sort']
                list($secondSort, $order) = $this->getSortOrder($a->contenttype['sort']);

                $vala = strtolower($a->values[$secondSort]);
                $valb = strtolower($b->values[$secondSort]);

                if ($vala == $valb) {
                    return 0;
                } else {
                    $result = ($vala < $valb) ? -1 : 1;
                    // if $order is false, the 'getSortOrder' indicated that we used something like '-id'.
                    // So, perhaps we need to inverse the result.
                    return $order ? $result : -$result;
                }
            }
        }
        // Otherwise, sort based on the group. Or, more specifically, on the index of
        // the item in the group's taxonomy definition.
        return ($a->group['index'] < $b->group['index']) ? -1 : 1;
    }
private function groupingSort(Content $a, Content $b)
    {
        // Same group, sort within group.
        if ($a->group['slug'] == $b->group['slug']) {
            if (!empty($a->sortorder) || !empty($b->sortorder)) {
                if (!isset($a->sortorder)) {
                    return 1;
                } elseif (!isset($b->sortorder)) {
                    return -1;
                } else {
                    return ($a->sortorder < $b->sortorder) ? -1 : 1;
                }
            }

            if (!empty($a->contenttype['sort'])) {
                // Same group, so we sort on contenttype['sort']
                list($secondSort, $order) = $this->getSortOrder($a->contenttype['sort']);

                $vala = strtolower($a->values[$secondSort]);
                $valb = strtolower($b->values[$secondSort]);

                if ($vala == $valb) {
                    return 0;
                } else {
                    $result = ($vala < $valb) ? -1 : 1;
                    // if $order is false, the 'getSortOrder' indicated that we used something like '-id'.
                    // So, perhaps we need to inverse the result.
                    return $order ? $result : -$result;
                }
            }
        }
        // Otherwise, sort based on the group. Or, more specifically, on the index of
        // the item in the group's taxonomy definition.
        return ($a->group['index'] < $b->group['index']) ? -1 : 1;
    }
private function groupingSort ( Content $ a , Content $ b ) { // Same group, sort within group. if ( $ a -> group [ 'slug' ] == $ b -> group [ 'slug' ] ) { if ( ! empty ( $ a -> sortorder ) || ! empty ( $ b -> sortorder ) ) { if ( ! isset ( $ a -> sortorder ) ) { return 1 ; } elseif ( ! isset ( $ b -> sortorder ) ) { return - 1 ; } else { return ( $ a -> sortorder < $ b -> sortorder ) ? - 1 : 1 ; } } if ( ! empty ( $ a -> contenttype [ 'sort' ] ) ) { // Same group, so we sort on contenttype['sort'] list ( $ secondSort , $ order ) = $ this -> getSortOrder ( $ a -> contenttype [ 'sort' ] ) ; $ vala = strtolower ( $ a -> values [ $ secondSort ] ) ; $ valb = strtolower ( $ b -> values [ $ secondSort ] ) ; if ( $ vala == $ valb ) { return 0 ; } else { $ result = ( $ vala < $ valb ) ? - 1 : 1 ; // if $order is false, the 'getSortOrder' indicated that we used something like '-id'. // So, perhaps we need to inverse the result. return $ order ? $ result : - $ result ; } } } // Otherwise, sort based on the group. Or, more specifically, on the index of // the item in the group's taxonomy definition. return ( $ a -> group [ 'index' ] < $ b -> group [ 'index' ] ) ? - 1 : 1 ; }
Helper function for sorting Records of content that have a Grouping.

@param Content $a
@param Content $b

@return int
Helper function for sorting Records of content that have a Grouping .