[aur-dev] [PATCH] Fix package statistics
Exclude hidden package bases from the package statistics. Reported-by: Johannes Löthberg <johannes@kyriasis.com> Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org> --- web/lib/stats.inc.php | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/web/lib/stats.inc.php b/web/lib/stats.inc.php index 1dcb9b9..6ca5011 100644 --- a/web/lib/stats.inc.php +++ b/web/lib/stats.inc.php @@ -35,12 +35,17 @@ function updates_table() { * @return void */ function user_table($userid) { - $base_q = "SELECT COUNT(*) FROM PackageBases WHERE MaintainerUID = " . $userid; + $base_q = "SELECT COUNT(*) FROM PackageBases "; + $base_q.= "WHERE MaintainerUID = " . $userid . " "; + $base_q.= "AND PackagerUID IS NOT NULL"; $maintainer_unsupported_count = db_cache_value($base_q, 'user_unsupported_count:' . $userid); - $q = "SELECT COUNT(*) FROM PackageBases WHERE OutOfDateTS IS NOT NULL AND MaintainerUID = " . $userid; + $q = "SELECT COUNT(*) FROM PackageBases "; + $q.= "WHERE OutOfDateTS IS NOT NULL "; + $q.= "AND MaintainerUID = " . $userid . " "; + $q.= "AND PackagerUID IS NOT NULL"; $flagged_outdated = db_cache_value($q, 'user_flagged_outdated:' . $userid); @@ -54,10 +59,12 @@ function user_table($userid) { */ function general_stats_table() { # AUR statistics - $q = "SELECT COUNT(*) FROM PackageBases"; + $q = "SELECT COUNT(*) FROM PackageBases WHERE PackagerUID IS NOT NULL"; $unsupported_count = db_cache_value($q, 'unsupported_count'); - $q = "SELECT COUNT(*) FROM PackageBases WHERE MaintainerUID IS NULL"; + $q = "SELECT COUNT(*) FROM PackageBases "; + $q.= "WHERE MaintainerUID IS NULL "; + $q.= "AND PackagerUID IS NOT NULL"; $orphan_count = db_cache_value($q, 'orphan_count'); $q = "SELECT count(*) FROM Users"; @@ -69,16 +76,27 @@ function general_stats_table() { $targstamp = intval(strtotime("-7 days")); $yearstamp = intval(strtotime("-1 year")); - $q = "SELECT COUNT(*) FROM PackageBases WHERE ModifiedTS >= $targstamp AND ModifiedTS = SubmittedTS"; + $q = "SELECT COUNT(*) FROM PackageBases "; + $q.= "WHERE ModifiedTS >= $targstamp "; + $q.= "AND ModifiedTS = SubmittedTS "; + $q.= "AND PackagerUID IS NOT NULL"; $add_count = db_cache_value($q, 'add_count'); - $q = "SELECT COUNT(*) FROM PackageBases WHERE ModifiedTS >= $targstamp AND ModifiedTS != SubmittedTS"; + $q = "SELECT COUNT(*) FROM PackageBases "; + $q.= "WHERE ModifiedTS >= $targstamp "; + $q.= "AND ModifiedTS != SubmittedTS "; + $q.= "AND PackagerUID IS NOT NULL"; $update_count = db_cache_value($q, 'update_count'); - $q = "SELECT COUNT(*) FROM PackageBases WHERE ModifiedTS >= $yearstamp AND ModifiedTS != SubmittedTS"; + $q = "SELECT COUNT(*) FROM PackageBases "; + $q.= "WHERE ModifiedTS >= $yearstamp "; + $q.= "AND ModifiedTS != SubmittedTS "; + $q.= "AND PackagerUID IS NOT NULL"; $update_year_count = db_cache_value($q, 'update_year_count'); - $q = "SELECT COUNT(*) FROM PackageBases WHERE ModifiedTS = SubmittedTS"; + $q = "SELECT COUNT(*) FROM PackageBases "; + $q.= "WHERE ModifiedTS = SubmittedTS "; + $q.= "AND PackagerUID IS NOT NULL"; $never_update_count = db_cache_value($q, 'never_update_count'); include('stats/general_stats_table.php'); -- 2.4.2
participants (1)
-
Lukas Fleischer