From 6249c40e9417aff0ab8eb6f84c1f6693771c7b81 Mon Sep 17 00:00:00 2001 From: eric Date: Tue, 29 Jun 2004 00:56:31 +0000 Subject: fleshing out the package logic, renamed pkg include files for consistency --- web/lib/acctfuncs.inc | 1 + web/lib/pkgfuncs.inc | 421 ++++++++++++++++++++++++++++++++++++++++++++++++++ web/lib/pkgs.inc | 417 ------------------------------------------------- 3 files changed, 422 insertions(+), 417 deletions(-) create mode 100644 web/lib/pkgfuncs.inc delete mode 100644 web/lib/pkgs.inc (limited to 'web/lib') diff --git a/web/lib/acctfuncs.inc b/web/lib/acctfuncs.inc index 9cd7fab2..d27b96f4 100644 --- a/web/lib/acctfuncs.inc +++ b/web/lib/acctfuncs.inc @@ -464,6 +464,7 @@ function search_results_page($UTYPE,$O=0,$SB="",$U="",$T="", } $search_vars[] = "SB"; $q.= "LIMIT ". $OFFSET . ", " . $HITS_PER_PAGE; + $result = db_query($q, $dbh); if (!$result) { print __("No results matched your search criteria."); diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc new file mode 100644 index 00000000..c8427ab8 --- /dev/null +++ b/web/lib/pkgfuncs.inc @@ -0,0 +1,421 @@ +\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + + print "
\n"; + print "\n"; + print "\n"; + print " \n"; + print "\n"; + print "\n"; + print " \n"; + print "\n"; + print "
\n"; + print " ".__("Search Criteria")."\n"; + print "
\n"; + print "\n"; + + print "\n"; + print "\n"; + + print "\n"; + + print "\n"; + + print "\n"; + + print "\n"; + + print "\n"; + + if ($SID) { + print "\n"; + } + + print "\n"; + print "
\n"; + print " ".__("Location"); + print "
\n"; + print " \n"; + print "
\n"; + print " ".__("Category"); + print "
\n"; + print " \n"; + print "
\n"; + print " ".__("Keywords"); + print "
\n"; + print " \n"; + print "
\n"; + print " ".__("Sort by"); + print "
\n"; + print " \n"; + print "
\n"; + print " ".__("Per page"); + print "
\n"; + print " \n"; + print "
 \n"; + print " \n"; + print " \n"; + print " \n"; + print "
\n"; + + print "
\n"; + print "
\n"; + print "
\n"; + + # query to pull out package info + # +# $q = "SELECT Packages.*, IF(ISNULL(PackageID), 0, COUNT(*)) AS Votes "; +# $q.= "FROM Packages LEFT JOIN PackageVotes "; +# $q.= "ON Packages.ID = PackageVotes.PackageID "; + $q = "SELECT * FROM Packages "; + $has_where = 0; + if (isset($_REQUEST["L"]) && $_REQUEST["L"]) { + $q.= "WHERE LocationID = ".mysql_escape_string($_REQUEST["L"])." "; + $has_where = 1; + } + if (isset($_REQUEST["C"]) && $_REQUEST["C"]) { + if (!$has_where) { + $q.= "WHERE CategoryID = ".mysql_escape_string($_REQUEST["C"])." "; + $has_where = 1; + } else { + $q.= "AND CategoryID = ".mysql_escape_string($_REQUEST["C"])." "; + } + } + if ($K) { + if (!$has_where) { + $q.= "WHERE (Name LIKE '".mysql_escape_string($K)."%' OR "; + $q.= "Description LIKE '%".mysql_escape_string($K)."%') "; + $has_where = 1; + } else { + $q.= "AND (Name LIKE '".mysql_escape_string($K)."%' OR "; + $q.= "Description LIKE '%".mysql_escape_string($K)."%') "; + } + } + if (isset($_REQUEST["M"]) && $_REQUEST["M"] && $SID) { + if ($myuid) { + if (!$has_where) { + $q.= "WHERE MaintainerUID = ".$myuid." "; + $has_where = 1; + } else { + $q.= "AND MaintainerUID = ".$myuid." "; + } + } + } + + switch (isset($_REQUEST["SB"])) { + case 'c': + $q.= "ORDER BY CategoryID ASC, Name ASC, LocationID ASC "; + break; + case 'l': + $q.= "ORDER BY LocationID ASC, Name ASC, CategoryID ASC "; + break; + case 'v': + $q.= "ORDER BY NumVotes DESC, Name ASC, CategoryID ASC "; + break; + default: + $q.= "ORDER BY Name ASC, LocationID ASC, CategoryID ASC "; + break; + } + $q.= "LIMIT ".$O.", ".$PP; + + print $q."
\n"; + + $result = db_query($q, $dbh); + if (!$result) { + print __("Error retrieving package list."); + + } elseif (!mysql_num_rows($result)) { + print __("No packages matched your search criteria."); + + } else { + # TODO need an "action" table in here like on /devel? It would + # allow the visitor to flag packages out-of-date, vote, adopt/disown? + # Probably need to think about the overall UI of this - the package + # name will be a link that goes to 'details'. There should also be + # a column for 'manage/edit' + + if ($SID) { + print "
\n"; + print "\n"; + print "\n"; + print " \n"; + print "\n"; + print "\n"; + print " \n"; + print "\n"; + print "
\n"; + print " ".__("Actions")."\n"; + print "
\n"; + print "\n"; + print "\n"; + print " \n"; + print " \n"; + print " \n"; + print " \n"; + print "\n"; + print "
"; + print ""; + print ""; + print ""; + print "
\n"; + print "
\n"; + print "
\n"; + print "
\n"; + } + + # print out package search results + # + print "
\n"; + print "\n"; + print "\n"; + print " \n"; + print "\n"; + print "\n"; + print " \n"; + print "\n"; + print "
\n"; + print " Package Listing\n"; + print "
\n"; + print "\n"; + print "\n"; + if ($SID) { + print " \n"; + } + print " \n"; + print " \n"; + print " \n"; + print " \n"; + print " \n"; + print " \n"; + if ($SID) { + print " \n"; + } + print "\n"; + + for ($i=0; $row = mysql_fetch_assoc($result); $i++) { + (($i % 2) == 0) ? $c = "data1" : $c = "data2"; + print "\n"; + if ($SID) { + print " \n"; + } + print " \n"; + print " \n"; + print " \n"; + print " \n"; + print " \n"; + print " \n"; + if ($myuid == $row["MaintainerUID"] || $not_managed) { + $manage_url = "Manage"; + print " \n"; + } else { + print "\n"; + } + + print "\n"; + + } + print "
 ".__("Location")."".__("Category")."".__("Name")."".__("Votes")."".__("Description")."".__("Maintainer")."".__("Manage")."
"; + if ($row["OutOfDate"]) { + print ""; + } + print ""; + if ($i == 0) { + $all_ids = $row["ID"]; + } else { + $all_ids .= ":".$row["ID"]; + } + if ($row["OutOfDate"]) { + print ""; + } + print ""; + print $locs[$row["LocationID"]].""; + print $cats[$row["CategoryID"]].""; + $details_url = "".$row["Name"]; + $details_url.= "-".$row["Version"].""; + print $details_url.""; + print "   ".$row["NumVotes"].""; + print $row["Description"].""; + $not_managed = 0; + if (isset($devs[$row["MaintainerUID"]])) { + print $devs[$row["MaintainerUID"]]["Username"]; + } elseif (isset($tus[$row["MaintainerUID"]])) { + print $tus[$row["MaintainerUID"]]["Username"]; + } else { + print "None"; + $not_managed = 1; + } + print ""; + print $manage_url." 
\n"; + print "
\n"; + print "\n"; + + print "\n"; + print "\n"; + print " \n"; + print "\n"; + print "
\n"; + print " \n"; + print " \n"; + print " \n"; + print " \n"; + print " \n"; + print "
"; + print " \n"; + print " "; + print " \n"; + print "
\n"; + print "
\n"; + print "
\n"; + } + print "\n"; + + return; +} + +# vim: ts=2 sw=2 noet ft=php +?> diff --git a/web/lib/pkgs.inc b/web/lib/pkgs.inc deleted file mode 100644 index 9fd70cbf..00000000 --- a/web/lib/pkgs.inc +++ /dev/null @@ -1,417 +0,0 @@ -\n"; - - print "
\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - - print "
\n"; - print "\n"; - print "\n"; - print " \n"; - print "\n"; - print "\n"; - print " \n"; - print "\n"; - print "
\n"; - print " ".__("Search Criteria")."\n"; - print "
\n"; - print "\n"; - - print "\n"; - print "\n"; - - print "\n"; - - print "\n"; - - print "\n"; - - print "\n"; - - print "\n"; - - if ($SID) { - print "\n"; - } - - print "\n"; - print "
\n"; - print " ".__("Location"); - print "
\n"; - print " \n"; - print "
\n"; - print " ".__("Category"); - print "
\n"; - print " \n"; - print "
\n"; - print " ".__("Keywords"); - print "
\n"; - print " \n"; - print "
\n"; - print " ".__("Sort by"); - print "
\n"; - print " \n"; - print "
\n"; - print " ".__("Per page"); - print "
\n"; - print " \n"; - print "
 \n"; - print " \n"; - print " \n"; - print " \n"; - print "
\n"; - - print "
\n"; - print "
\n"; - print "
\n"; - - # query to pull out package info - # -# $q = "SELECT Packages.*, IF(ISNULL(PackageID), 0, COUNT(*)) AS Votes "; -# $q.= "FROM Packages LEFT JOIN PackageVotes "; -# $q.= "ON Packages.ID = PackageVotes.PackageID "; - $q = "SELECT * FROM Packages "; - $has_where = 0; - if ($L) { - $q.= "WHERE LocationID = ".intval($L)." "; - $has_where = 1; - } - if ($C) { - if (!$has_where) { - $q.= "WHERE CategoryID = ".intval($C)." "; - $has_where = 1; - } else { - $q.= "AND CategoryID = ".intval($C)." "; - } - } - if ($K) { - if (!$has_where) { - $q.= "WHERE (Name LIKE '".mysql_escape_string($K)."%' OR "; - $q.= "Description LIKE '%".mysql_escape_string($K)."%') "; - $has_where = 1; - } else { - $q.= "AND (Name LIKE '".mysql_escape_string($K)."%' OR "; - $q.= "Description LIKE '%".mysql_escape_string($K)."%') "; - } - } - if ($M && $SID) { - if ($myuid) { - if (!$has_where) { - $q.= "WHERE MaintainerUID = ".$myuid." "; - $has_where = 1; - } else { - $q.= "AND MaintainerUID = ".$myuid." "; - } - } - } - - switch ($SB) { - case 'c': - $q.= "ORDER BY CategoryID ASC, Name ASC, LocationID ASC "; - break; - case 'l': - $q.= "ORDER BY LocationID ASC, Name ASC, CategoryID ASC "; - break; - case 'v': - $q.= "ORDER BY NumVotes DESC, Name ASC, CategoryID ASC "; - break; - default: - $q.= "ORDER BY Name ASC, LocationID ASC, CategoryID ASC "; - break; - } - $q.= "LIMIT ".$OFFSET.", ".intval($PP); - - print $q."
\n"; - - $result = db_query($q, $dbh); - if (!$result) { - print __("No packages matched your search criteria."); - - } elseif (!mysql_num_rows($result)) { - print __("No packages matched your search criteria."); - - } else { - # TODO need an "action" table in here like on /devel? It would - # allow the visitor to flag packages out-of-date, vote, adopt/disown? - # Probably need to think about the overall UI of this - the package - # name will be a link that goes to 'details'. There should also be - # a column for 'manage/edit' - - if ($SID) { - print "
\n"; - print "\n"; - print "\n"; - print " \n"; - print "\n"; - print "\n"; - print " \n"; - print "\n"; - print "
\n"; - print " ".__("Actions")."\n"; - print "
\n"; - print "\n"; - print "\n"; - print " \n"; - print " \n"; - print " \n"; - print " \n"; - print "\n"; - print "
"; - print ""; - print ""; - print ""; - print "
\n"; - print "
\n"; - print "
\n"; - print "
\n"; - } - - # print out package search results - # - print "
\n"; - print "\n"; - print "\n"; - print " \n"; - print "\n"; - print "\n"; - print " \n"; - print "\n"; - print "
\n"; - print " Package Listing\n"; - print "
\n"; - print "\n"; - print "\n"; - if ($SID) { - print " \n"; - } - print " \n"; - print " \n"; - print " \n"; - print " \n"; - print " \n"; - print " \n"; - if ($SID) { - print " \n"; - } - print "\n"; - - for ($i=0; $row = mysql_fetch_assoc($result); $i++) { - (($i % 2) == 0) ? $c = "data1" : $c = "data2"; - print "\n"; - if ($SID) { - print " \n"; - } - print " \n"; - print " \n"; - print " \n"; - print " \n"; - print " \n"; - print " \n"; - if ($myuid == $row["MaintainerUID"] || $not_managed) { - $manage_url = "Manage"; - print " \n"; - } else { - print "\n"; - } - - print "\n"; - - } - print "
 ".__("Location")."".__("Category")."".__("Name")."".__("Votes")."".__("Description")."".__("Maintainer")."".__("Manage")."
"; - if ($row["OutOfDate"]) { - print ""; - } - print ""; - if ($i == 0) { - $all_ids = $row["ID"]; - } else { - $all_ids .= ":".$row["ID"]; - } - if ($row["OutOfDate"]) { - print ""; - } - print ""; - print $locs[$row["LocationID"]].""; - print $cats[$row["CategoryID"]].""; - $details_url = "".$row["Name"]; - $details_url.= "-".$row["Version"].""; - print $details_url.""; - print "   ".$row["NumVotes"].""; - print $row["Description"].""; - $not_managed = 0; - if (isset($devs[$row["MaintainerUID"]])) { - print $devs[$row["MaintainerUID"]]["Username"]; - } elseif (isset($tus[$row["MaintainerUID"]])) { - print $tus[$row["MaintainerUID"]]["Username"]; - } else { - print "None"; - $not_managed = 1; - } - print ""; - print $manage_url." 
\n"; - print "
\n"; - print "\n"; - - print "\n"; - print "\n"; - print " \n"; - print "\n"; - print "
\n"; - print " \n"; - print " \n"; - print " \n"; - print " \n"; - print " \n"; - print "
"; - print " \n"; - print " "; - print " \n"; - print "
\n"; - print "
\n"; - print "
\n"; - } - print "
\n"; - - return; -} - -# vim: ts=2 sw=2 noet ft=php -?> -- cgit v1.2.3-24-g4f1b