diff options
author | Dan McGee <dan@archlinux.org> | 2011-01-31 18:18:15 +0100 |
---|---|---|
committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2011-02-01 12:41:08 +0100 |
commit | 7f5af61c884b53a75a2b7f8b5146465f14a71f6b (patch) | |
tree | 52a959e9a9a7e940339906532a1f68a99595b4af /web/lib | |
parent | 492c8c668f1edb708e49bcafbacb22c58e2877a5 (diff) | |
download | aur-7f5af61c884b53a75a2b7f8b5146465f14a71f6b.tar.gz aur-7f5af61c884b53a75a2b7f8b5146465f14a71f6b.tar.xz |
Drop PackageLocations table and references
We don't need this anymore since all packages managed here are
well...managed here. Rip out all of the places we were using this field,
many of which depended on the magic value '2' anyway.
On the display side of things, we had a column that was always showing
'unsupported' that is now gone, and you can no longer sort by this column.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Diffstat (limited to 'web/lib')
-rw-r--r-- | web/lib/aurjson.class.php | 2 | ||||
-rw-r--r-- | web/lib/pkgfuncs.inc | 79 | ||||
-rw-r--r-- | web/lib/stats.inc | 6 |
3 files changed, 18 insertions, 69 deletions
diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php index d545ee0a..0c692811 100644 --- a/web/lib/aurjson.class.php +++ b/web/lib/aurjson.class.php @@ -29,7 +29,7 @@ class AurJSON { $this->fields = array( 'Packages.ID', 'Name', 'Version', 'CategoryID', - 'Description', 'LocationID', 'URL', 'CONCAT("' . + 'Description', 'URL', 'CONCAT("' . mysql_real_escape_string(URL_DIR) . '", Name, "/", Name, ".tar.gz") AS URLPath', 'License', 'NumVotes', '(OutOfDateTS IS NOT NULL) AS OutOfDate' diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index c701348d..997c4532 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -80,37 +80,6 @@ function pkgCategories() { return $cats; } -# grab the current list of PackageLocations -# -function pkgLocations() { - $locs = array(); - $dbh = db_connect(); - $q = "SELECT * FROM PackageLocations WHERE ID != 1 AND ID < 4 "; - $q.= "ORDER BY Location ASC"; - $result = db_query($q, $dbh); - if ($result) { - while ($row = mysql_fetch_row($result)) { - $locs[$row[0]] = $row[1]; - } - } - return $locs; -} - -# Return the repository name for a particular package. -function package_location($name="") { - if (!$name) {return NULL;} - $dbh = db_connect(); - $q = "SELECT PackageLocations.Location FROM Packages "; - $q.= "LEFT JOIN PackageLocations ON "; - $q.= "Packages.LocationID = PackageLocations.ID "; - $q.= "WHERE Name = '".mysql_real_escape_string($name)."' "; - $q.= "AND DummyPkg = 0"; - $result = db_query($q, $dbh); - if (!$result) {return NULL;} - $row = mysql_fetch_row($result); - return $row[0]; -} - # check to see if the package name exists # function package_exists($name="") { @@ -324,10 +293,9 @@ function package_details($id=0, $SID="") { $atype = account_from_sid($SID); $uid = uid_from_sid($SID); - $q = "SELECT Packages.*,Location,Category "; - $q.= "FROM Packages,PackageLocations,PackageCategories "; - $q.= "WHERE Packages.LocationID = PackageLocations.ID "; - $q.= "AND Packages.CategoryID = PackageCategories.ID "; + $q = "SELECT Packages.*,Category "; + $q.= "FROM Packages,PackageCategories "; + $q.= "WHERE Packages.CategoryID = PackageCategories.ID "; $q.= "AND Packages.ID = " . intval($id); $dbh = db_connect(); $results = db_query($q, $dbh); @@ -373,15 +341,13 @@ function package_details($id=0, $SID="") { * request vars: * O - starting result number * PP - number of search hits per page - * L - package location ID number * C - package category ID number * K - package search string * SO - search hit sort order: * values: a - ascending * d - descending * SB - sort search hits by: - * values: l - package location - * c - package category + * values: c - package category * n - package name * v - number of votes * m - maintainer username @@ -415,8 +381,6 @@ function pkg_search_page($SID="") { // grab info for user if they're logged in if ($SID) $myuid = uid_from_sid($SID); - // get a list of package locations - $locs = pkgLocations(); // get a list of package categories $cats = pkgCategories(); //meow @@ -455,7 +419,6 @@ function pkg_search_page($SID="") { } $q .= "Users.Username AS Maintainer, PackageCategories.Category, - PackageLocations.Location, Packages.Name, Packages.Version, Packages.Description, Packages.NumVotes, Packages.ID, Packages.OutOfDateTS @@ -469,15 +432,10 @@ function pkg_search_page($SID="") { } $q .= "LEFT JOIN PackageCategories ON (Packages.CategoryID = PackageCategories.ID) - LEFT JOIN PackageLocations - ON (Packages.LocationID = PackageLocations.ID) WHERE Packages.DummyPkg = 0 "; - // TODO: possibly do string matching on category and - // location to make request variable values more sensible - if (intval($_GET["L"])) { - $q .= "AND Packages.LocationID = ".intval($_GET["L"])." "; - } + // TODO: possibly do string matching on category + // to make request variable values more sensible if (intval($_GET["C"])) { $q.= "AND Packages.CategoryID = ".intval($_GET["C"])." "; } @@ -515,16 +473,12 @@ function pkg_search_page($SID="") { $order = $_GET["SO"] == 'd' ? 'DESC' : 'ASC'; - $q_sort = "ORDER BY Name ".$order.", LocationID ASC, CategoryID DESC "; + $q_sort = "ORDER BY Name ".$order.", CategoryID DESC "; switch ($_GET["SB"]) { case 'c': - $q_sort = "ORDER BY CategoryID ".$order.", Name ASC, LocationID ASC "; + $q_sort = "ORDER BY CategoryID ".$order.", Name ASC "; $_GET["SB"] = 'c'; break; - case 'l': - $q_sort = "ORDER BY LocationID ".$order.", Name ASC, CategoryID DESC "; - $_GET["SB"] = 'l'; - break; case 'v': $q_sort = "ORDER BY NumVotes ".$order.", Name ASC, CategoryID DESC "; $_GET["SB"] = 'v'; @@ -542,11 +496,11 @@ function pkg_search_page($SID="") { $_GET["SB"] = 'o'; break; case 'm': - $q_sort = "ORDER BY Maintainer ".$order.", Name ASC, LocationID ASC "; + $q_sort = "ORDER BY Maintainer ".$order.", Name ASC "; $_GET["SB"] = 'm'; break; case 'a': - $q_sort = "ORDER BY GREATEST(SubmittedTS,ModifiedTS) ".$order.", Name ASC, LocationID ASC "; + $q_sort = "ORDER BY GREATEST(SubmittedTS,ModifiedTS) ".$order.", Name ASC "; $_GET["SB"] = 'a'; break; default: @@ -719,10 +673,8 @@ function pkg_delete ($atype, $ids) { # Only grab Unsupported packages that "we" own or are not owned at all $ids_to_delete = array(); - $q = "SELECT Packages.ID FROM Packages, PackageLocations "; + $q = "SELECT Packages.ID FROM Packages "; $q.= "WHERE Packages.ID IN (" . $delete . ") "; - $q.= "AND Packages.LocationID = PackageLocations.ID "; - $q.= "AND PackageLocations.Location = 'unsupported' "; # If they're a TU or dev, can delete if ($atype == "Trusted User" || $atype == "Developer") { @@ -816,7 +768,6 @@ function pkg_adopt ($atype, $ids, $action = True) { if ($action && $atype == "User") { # Regular users may only adopt orphan packages from unsupported $q.= "AND $field = 0 "; - $q.= "AND LocationID = 2 "; } else if ($atype == "User") { $q.= "AND $field = " . uid_from_sid($_COOKIE["AURSID"]); } @@ -1047,20 +998,18 @@ function pkg_change_category($atype) { return __("Missing package ID."); } - # Verify package ownership and location + # Verify package ownership $dbh = db_connect(); $q = "SELECT Packages.MaintainerUID,"; - $q.= "PackageLocations.Location "; $q.= "FROM Packages "; - $q.= "LEFT JOIN PackageLocations ON Packages.LocationID = PackageLocations.ID "; $q.= "WHERE Packages.ID = ".$pid; $result = db_query($q, $dbh); echo mysql_error(); $pkg = mysql_fetch_assoc($result); $uid = uid_from_sid($_COOKIE["AURSID"]); - if ($pkg["Location"] == "unsupported" and ($uid == $pkg["MaintainerUID"] or - ($atype == "Developer" or $atype == "Trusted User"))) { + if ($uid == $pkg["MaintainerUID"] or + ($atype == "Developer" or $atype == "Trusted User")) { $q = "UPDATE Packages "; $q.= "SET CategoryID = ".intval($category_id)." "; $q.= "WHERE ID = ".intval($pid); diff --git a/web/lib/stats.inc b/web/lib/stats.inc index 6a765581..f42e4177 100644 --- a/web/lib/stats.inc +++ b/web/lib/stats.inc @@ -54,9 +54,9 @@ function user_table($user, $dbh) { global $apc_prefix; $escuser = mysql_real_escape_string($user); - $base_q = "SELECT count(*) FROM Packages,PackageLocations,Users WHERE Packages.MaintainerUID = Users.ID AND Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = '%s' AND Users.Username='" . $escuser . "'"; + $base_q = "SELECT count(*) FROM Packages,Users WHERE Packages.MaintainerUID = Users.ID AND Users.Username='" . $escuser . "'"; - $maintainer_unsupported_count = db_cache_value(sprintf($base_q, 'unsupported'), $dbh, + $maintainer_unsupported_count = db_cache_value($base_q, $dbh, $apc_prefix . 'user_unsupported_count:' . $escuser); $q = "SELECT count(*) FROM Packages,Users WHERE Packages.OutOfDateTS IS NOT NULL AND Packages.MaintainerUID = Users.ID AND Users.Username='" . $escuser . "'"; @@ -74,7 +74,7 @@ function general_stats_table($dbh) { global $apc_prefix; # AUR statistics - $q = "SELECT count(*) FROM Packages,PackageLocations WHERE Packages.LocationID = PackageLocations.ID AND PackageLocations.Location = 'unsupported'"; + $q = "SELECT count(*) FROM Packages WHERE DummyPkg = 0"; $unsupported_count = db_cache_value($q, $dbh, $apc_prefix . 'unsupported_count'); $q = "SELECT count(*) from Users"; |