From 13f5a889da9cd6fcb864ae0b84eb31e4e97a9d10 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 19 Sep 2010 16:52:11 +0200 Subject: Add 'need work' filter, fixed #88 --- rpm.php | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) (limited to 'rpm.php') diff --git a/rpm.php b/rpm.php index 37c54b5..b223130 100644 --- a/rpm.php +++ b/rpm.php @@ -72,6 +72,10 @@ function report($db, $type) $package = null; $rpmname = $upstream->name; + $verup = strtolower( + $upstream->stable ? $upstream->stable : $upstream->unstable + ); + $sql2="SELECT DISTINCT owner FROM acls WHERE name = '$rpmname'"; $res2=$db->query($sql2); $owners=array(); @@ -85,10 +89,25 @@ function report($db, $type) $res=$db->query($sql); $rpm = ($res ? $res->fetchObject() : false); + $rpms=array(); + if ( $rpm ) { + do { + $rpms[$rpm->repo_main."-".$rpm->repo_sub]=$rpm; + } while ($rpm = $res->fetchObject()); + } switch ($what) { + case '%work': + $display = false; + if (count($rpms) + && isset($rpms['devel-']) + && $rpms['devel-']->ver != $verup + ) { + $display = true; + } + break; case '%fedora': - $display = ($rpm !== false); + $display = (count($rpms)); break; case '%stable': $display = !empty($upstream->stable); @@ -112,12 +131,6 @@ function report($db, $type) if ( $upstream->channel != $upstream->type ) { $package['channel'] = $upstream->channel; } - $rpms=array(); - if ( $rpm ) { - do { - $rpms[$rpm->repo_main."-".$rpm->repo_sub]=$rpm; - } while ($rpm = $res->fetchObject()); - } $dispowner=""; $package['owners'] = $owners; @@ -132,10 +145,6 @@ function report($db, $type) ' (' . $upstream->state . ')'; } - $verup = strtolower( - $upstream->stable ? $upstream->stable : $upstream->unstable - ); - $versions = null; foreach ( $repos as $repomain ) { $display=""; @@ -145,7 +154,8 @@ function report($db, $type) $rpm=$rpms[$repo['main']."-".$repo['sub']]; $verpm=$rpm->ver; - if (preg_match("/\.((beta|RC)\d*)\./i", $rpm->rel, $res)) { + $pat = "/\.((beta|RC)\d*)\./i"; + if (preg_match($pat, $rpm->rel, $res)) { $verpm .= strtolower($res[1]); } @@ -180,7 +190,8 @@ function report($db, $type) break; case "updates": $display .= sprintf( - "%s-%s (updates)
", + "%s-%s ". + "(updates)
", $rpm->ver, $rpm->rel ); -- cgit