[aur-dev] [PATCH 1/2] Fix package notification
Lukas Fleischer
archlinux at cryptocrack.de
Tue Sep 18 09:34:12 EDT 2012
One cannot check if the PDOStatement object returned by query()
evaluates to true in order to check for a non-empty record set. Modify
the SQL query to count the number of records instead of retrieving the
records themselves and fixing the check.
Regression introduced in e171f6f34eeacf35cf7142b4788d43e7d0978546.
Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
web/lib/pkgfuncs.inc.php | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php
index 0b3a6cb..593ccde 100644
--- a/web/lib/pkgfuncs.inc.php
+++ b/web/lib/pkgfuncs.inc.php
@@ -1134,12 +1134,12 @@ function pkg_notify ($atype, $ids, $action=true, $dbh=NULL) {
if ($action) {
- $q = "SELECT * FROM CommentNotify WHERE UserID = $uid";
- $q .= " AND PkgID = $pid";
+ $q = "SELECT COUNT(*) FROM CommentNotify WHERE ";
+ $q .= "UserID = $uid AND PkgID = $pid";
# Notification already added. Don't add again.
$result = $dbh->query($q);
- if (!$result) {
+ if ($result->fetchColumn() == 0) {
$q = "INSERT INTO CommentNotify (PkgID, UserID) VALUES ($pid, $uid)";
$dbh->exec($q);
}
@@ -1147,8 +1147,8 @@ function pkg_notify ($atype, $ids, $action=true, $dbh=NULL) {
$output .= $pkgname;
}
else {
- $q = "DELETE FROM CommentNotify WHERE PkgID = $pid";
- $q .= " AND UserID = $uid";
+ $q = "DELETE FROM CommentNotify WHERE PkgID = $pid ";
+ $q .= "AND UserID = $uid";
$dbh->exec($q);
$output .= $pkgname;
--
1.7.12
More information about the aur-dev
mailing list