Index: search.php =================================================================== RCS file: /repository/pearweb/public_html/bugs/search.php,v retrieving revision 1.24 diff -u -r1.24 search.php --- search.php 19 May 2004 20:00:38 -0000 1.24 +++ search.php 7 Jun 2004 05:40:49 -0000 @@ -269,9 +269,7 @@ '&limit=' . $limit . '&assign=' . $assign; - if (isset($_GET['package_name']) && count($_GET['package_name']) == 1) { - show_bugs_menu($_GET['package_name'][0]); - } + show_bugs_menu($_GET['package_name']); ?> Index: include/functions.inc =================================================================== RCS file: /repository/pearweb/public_html/bugs/include/functions.inc,v retrieving revision 1.35 diff -u -r1.35 functions.inc --- include/functions.inc 20 May 2004 14:36:16 -0000 1.35 +++ include/functions.inc 7 Jun 2004 05:40:50 -0000 @@ -617,46 +617,51 @@ { global $dbh; - if (empty($pkgname) || - !preg_match('/^[A-Za-z0-9_ ]+$/', $pkgname)) - { + if (empty($pkgname)) { return; } - if (in_array($pkgname, array('Web Site', 'Documentation', 'Bug System', 'PEPr'))) { - $pkgname = strtr($pkgname, ' ', '+'); - $full = false; - } else { - if (1 != $dbh->getOne('SELECT count(*) FROM packages WHERE' . - " packages.name='$pkgname'")) { + $pkgname = (array)$pkgname; + $webpkgs = array('Web Site', 'Documentation', 'Bug System', 'PEPr'); + $home = true; + + foreach ($pkgname as $key => &$value) { + if (!preg_match('/^[A-Za-z0-9_ ]+$/', $value)) { return; } - $full = true; + if (in_array($value, $webpkgs)) { + $home = false; + $pkgname[$key] = strtr($value, ' ', '+'); + } } + $pkgs = 'package_name[]=' . implode('&package_name[]=', $pkgname); echo "\n\n\n\n"; echo '
"; - echo '\n"; + + echo '
' . "\n "; - - if ($full) { - echo make_link('/package/'.$pkgname, 'Package home'); + + if (count($pkgname) == 1) { + if ($home) { + echo make_link('/package/' . $pkgname[0], 'Package home'); + echo delim(); + } + echo make_link('/bugs/report.php?package=' . $pkgname[0], + 'Report new bug'); echo delim(); } - echo make_link('/bugs/report.php?package='.$pkgname, 'Report a new bug'); - echo delim(); - - echo make_link('/bugs/search.php?cmd=display&package_name[]='.$pkgname.'&status=Open', 'Bug list'); - echo delim(); - echo make_link('/bugs/search.php', 'New search'); - if (preg_match('/search.php/', $_SERVER['PHP_SELF'])) { - echo "\n' . "\n Status: "; - echo make_link('/bugs/search.php?cmd=display&package_name[]='.$pkgname.'&status=Open', 'Open'); - echo delim(); - echo make_link('/bugs/search.php?cmd=display&package_name[]='.$pkgname.'&status=All', 'All'); - } + echo "\n' . "\n Status: "; + echo make_link('/bugs/search.php?cmd=display&' . $pkgs . + '&status=Open', 'Open'); + echo delim(); + echo make_link('/bugs/search.php?cmd=display&' . $pkgs . + '&status=Feedback', 'Feedback'); + echo delim(); + echo make_link('/bugs/search.php?cmd=display&' . $pkgs . + '&status=All', 'All'); echo "\n
\n"; echo '
';