From 4376c50ded25fff8ab6c59c045522091b3eb038b Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 18 Feb 2019 14:44:42 +0100 Subject: lib/style.php,packages/index.php: move querying part of package listing to a separate function in a separate file --- lib/style.php | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/style.php b/lib/style.php index 2fe2992..051a0a5 100644 --- a/lib/style.php +++ b/lib/style.php @@ -81,7 +81,47 @@ function print_footer() { * * **********************************************************************/ -function query_package_listing() { +function query_package_listing($filter_and_order, $float_columns, $count_only) { + if ($count_only) + $columns = "COUNT(DISTINCT `binary_packages`.`id`)"; + else + $columns = + "DISTINCT " . + "`binary_packages`.`pkgname`," . + "`package_sources`.`pkgbase`," . + "CONCAT(`r_a`.`name`,\"/\",`repositories`.`name`) AS `repo`," . + "`architectures`.`name` AS `arch`," . + mysql_query_package_version("binary_packages") . + " AS `version`," . + "IF(`binary_packages`.`has_issues`,1,0) AS `has_issues`," . + "`build_assignments`.`return_date` AS `build_date`," . + "`binary_packages_in_repositories`.`last_moved` AS `move_date`," . + "IF(`binary_packages_in_repositories`.`is_to_be_deleted`,1,0) AS `is_to_be_deleted`"; + + $result = mysql_run_query( + "SELECT " . + $columns . + " FROM `binary_packages`" . + mysql_join_binary_packages_architectures() . + mysql_join_binary_packages_binary_packages_in_repositories() . + mysql_join_binary_packages_in_repositories_repositories() . + " AND `repositories`.`is_on_master_mirror`" . + mysql_join_repositories_architectures("","r_a") . + mysql_join_binary_packages_build_assignments() . + mysql_join_build_assignments_package_sources() . + $filter_and_order + ); + if ($count_only) + return implode($result -> fetch_assoc()); + else { + $return = array(); + while ($row = $result -> fetch_assoc()) { + foreach ($float_columns as $float_column) + $row[$float_column] = floatval($row[$float_column]); + $return[] = $row; + } + return $return; + } } function print_package_listing($list, $sorts, $print_order_links) { -- cgit v1.2.3