diff options
author | Lukas Fleischer <archlinux@cryptocrack.de> | 2014-04-06 18:26:16 +0200 |
---|---|---|
committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2014-04-06 18:41:23 +0200 |
commit | 5b5a5f343e6232c9237f785f6763018cbb048fbc (patch) | |
tree | 1d89560ab7671b9385f6d859c53cb8d5e7f903fd /web/lib | |
parent | c0044290238e247ba3facc210d736b3c0a50ce89 (diff) | |
download | aur-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>
Diffstat (limited to 'web/lib')
-rw-r--r-- | web/lib/pkgbasefuncs.inc.php | 24 |
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); } /** |