index : website | |
Archlinux32 website - obsolete | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | lib/style.php | 42 |
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) { |