summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2014-04-06 18:26:16 +0200
committerLukas Fleischer <archlinux@cryptocrack.de>2014-04-06 18:41:23 +0200
commit5b5a5f343e6232c9237f785f6763018cbb048fbc (patch)
tree1d89560ab7671b9385f6d859c53cb8d5e7f903fd
parentc0044290238e247ba3facc210d736b3c0a50ce89 (diff)
downloadaur-5b5a5f343e6232c9237f785f6763018cbb048fbc.tar.gz
aur-5b5a5f343e6232c9237f785f6763018cbb048fbc.tar.xz
Fix pkgbase_user_voted()
pkgbase_user_voted() should expect a package base ID, not a package ID. Change the SQL query accordingly. This fixes the vote status on package base pages. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
-rw-r--r--web/lib/pkgbasefuncs.inc.php24
1 files changed, 10 insertions, 14 deletions
diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php
index c55bd897..4e026f53 100644
--- a/web/lib/pkgbasefuncs.inc.php
+++ b/web/lib/pkgbasefuncs.inc.php
@@ -703,28 +703,24 @@ function pkgbase_votes_from_name($pkgname) {
}
/**
- * Determine if a user has already voted for a specific package
+ * Determine if a user has already voted for a specific package base
*
* @param string $uid The user ID to check for an existing vote
- * @param string $pkgid The package ID to check for an existing vote
+ * @param string $base_id The package base ID to check for an existing vote
*
* @return bool True if the user has already voted, otherwise false
*/
-function pkgbase_user_voted($uid, $pkgid) {
+function pkgbase_user_voted($uid, $base_id) {
$dbh = DB::connect();
-
- $q = "SELECT * FROM PackageVotes, Packages WHERE ";
- $q.= "PackageVotes.UsersID = ". $dbh->quote($uid) . " AND ";
- $q.= "PackageVotes.PackageBaseID = Packages.PackageBaseID AND ";
- $q.= "Packages.ID = " . $dbh->quote($pkgid);
+ $q = "SELECT COUNT(*) FROM PackageVotes WHERE ";
+ $q.= "UsersID = ". $dbh->quote($uid) . " AND ";
+ $q.= "PackageBaseID = " . $dbh->quote($base_id);
$result = $dbh->query($q);
-
- if ($result->fetch(PDO::FETCH_NUM)) {
- return true;
- }
- else {
- return false;
+ if (!$result) {
+ return null;
}
+
+ return ($result->fetch(PDO::FETCH_COLUMN, 0) > 0);
}
/**