From d03b6d89fa151b0f486938565f53f8c1f751db6a Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 18 Feb 2019 22:08:31 +0100 Subject: lib/style.php: package_listing_query_order_by() is now integrated in query_package_listing() --- lib/style.php | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'lib') diff --git a/lib/style.php b/lib/style.php index 99d9840..cc7b47d 100644 --- a/lib/style.php +++ b/lib/style.php @@ -124,31 +124,27 @@ $pkglist_sorts = array( ) ); -function package_listing_query_order_by() { +function query_package_listing($filter, $limit, $float_columns, $count_only, $extract_order_by_from_get) { global $pkglist_sorts; - if (!array_key_exists('sort', $_GET)) - return; - $criterium = $_GET['sort']; - if ( - array_key_exists($criterium, $pkglist_sorts) && - array_key_exists('mysql', $pkglist_sorts[$criterium]) - ) - return $pkglist_sorts[$criterium]['mysql'] . ','; - - if (substr($criterium, 0, 1) != '-') - return; - $criterium = substr($criterium, 1); - - if ( - array_key_exists($criterium, $pkglist_sorts) && - array_key_exists('mysql', $pkglist_sorts[$criterium]) - ) - return $pkglist_sorts[$criterium]['mysql'] . ' DESC,'; - return; -} + $sort = ''; + if ($extract_order_by_from_get && array_key_exists('sort', $_GET)) { + $criterium = $_GET['sort']; + if ( + array_key_exists($criterium, $pkglist_sorts) && + array_key_exists('mysql', $pkglist_sorts[$criterium]) + ) + $sort = $pkglist_sorts[$criterium]['mysql'] . ','; + elseif (substr($criterium, 0, 1) == '-') { + $criterium = substr($criterium, 1); + if ( + array_key_exists($criterium, $pkglist_sorts) && + array_key_exists('mysql', $pkglist_sorts[$criterium]) + ) + $sort = $pkglist_sorts[$criterium]['mysql'] . ' DESC,'; + } + } -function query_package_listing($filter_and_order, $float_columns, $count_only) { if ($count_only) $columns = "COUNT(DISTINCT `binary_packages`.`id`)"; else @@ -176,7 +172,11 @@ function query_package_listing($filter_and_order, $float_columns, $count_only) { mysql_join_repositories_architectures("","r_a") . mysql_join_binary_packages_build_assignments() . mysql_join_build_assignments_package_sources() . - $filter_and_order + $filter . + " ORDER BY " . + $sort . + "`binary_packages`.`pkgname`,`repositories`.`stability`,`repositories`.`name`,`architectures`.`name`" . + $limit ); if ($count_only) return implode($result -> fetch_assoc()); -- cgit v1.2.3