diff options
author | canyonknight <canyonknight@gmail.com> | 2012-05-23 15:22:51 -0400 |
---|---|---|
committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2012-07-06 11:26:53 +0200 |
commit | c2b65f2b7bffeed46a2981f4eeb04e063c379ac0 (patch) | |
tree | af11ae83d59eacbad45fc78b8b37b89a98a4daa3 | |
parent | 1eea2951fbebb5bb4dfc0c09ad7622f03e4a6471 (diff) | |
download | aurweb-c2b65f2b7bffeed46a2981f4eeb04e063c379ac0.tar.xz |
action_form.php: Pull out DB code
* Create new functions in pkgfuncs.inc.php with SQL queries from
action_form.php
* Centralization of DB code important in a future transition to PDO interface
* Flip logic of vote and notify XHTML button to use function return rather
than a more confusing NOT (!) logical operator statement
Signed-off-by: canyonknight <canyonknight@gmail.com>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
-rw-r--r-- | web/lib/pkgfuncs.inc.php | 40 | ||||
-rw-r--r-- | web/template/actions_form.php | 32 |
2 files changed, 48 insertions, 24 deletions
diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php index 5696321..2265c76 100644 --- a/web/lib/pkgfuncs.inc.php +++ b/web/lib/pkgfuncs.inc.php @@ -973,6 +973,46 @@ function getvotes($pkgid, $dbh=NULL) { return $votes; } +# Determine if a user has already voted for a specific package +function user_voted($uid, $pkgid, $dbh=NULL) { + if(!$dbh) { + $dbh = db_connect(); + } + + $uid = db_escape_string($uid); + $pkgid = db_escape_string($pkgid); + + $q = "SELECT * FROM PackageVotes WHERE UsersID = ". $uid; + $q.= " AND PackageID = ".$pkgid; + $result = db_query($q, $dbh); + if (mysql_num_rows($result)) { + return true; + } + else { + return false; + } +} + +# Determine if a user wants notifications for a specific package +function user_notify($uid, $pkgid, $dbh=NULL) { + if(!$dbh) { + $dbh = db_connect(); + } + + $uid = db_escape_string($uid); + $pkgid = db_escape_string($pkgid); + + $q = "SELECT * FROM CommentNotify WHERE UserID = ". $uid; + $q.= " AND PkgID = ".$pkgid; + $result = db_query($q, $dbh); + if (mysql_num_rows($result)) { + return true; + } + else { + return false; + } +} + /** * Toggle notification of packages * diff --git a/web/template/actions_form.php b/web/template/actions_form.php index 59a6e7a..e5ab7c2 100644 --- a/web/template/actions_form.php +++ b/web/template/actions_form.php @@ -3,33 +3,17 @@ <fieldset> <input type="hidden" name="IDs[<?php echo $row['ID'] ?>]" value="1" /> <input type="hidden" name="ID" value="<?php echo $row['ID'] ?>" /> - <?php - # Voting Button - # - $q = "SELECT * FROM PackageVotes WHERE UsersID = ". $uid; - $q.= " AND PackageID = ".$row["ID"]; - $result = db_query($q, $dbh); - if ($result): - if (!mysql_num_rows($result)): - ?> - <input type="submit" class="button" name="do_Vote" value="<?php echo __("Vote") ?>" /> - <?php else: ?> + + <?php if (user_voted($uid, $row['ID'])): ?> <input type="submit" class="button" name="do_UnVote" value="<?php echo __("UnVote") ?>" /> - <?php endif; ?> + <?php else: ?> + <input type="submit" class="button" name="do_Vote" value="<?php echo __("Vote") ?>" /> <?php endif; ?> - <?php - # Comment Notify Button - # - $q = "SELECT * FROM CommentNotify WHERE UserID = ". $uid; - $q.= " AND PkgID = ".$row["ID"]; - $result = db_query($q, $dbh); - if ($result): - if (!mysql_num_rows($result)): - ?> - <input type="submit" class="button" name="do_Notify" value="<?php echo __("Notify") ?>" title="<?php echo __("New Comment Notification") ?>" /> - <?php else: ?> + + <?php if (user_notify($uid, $row['ID'])): ?> <input type="submit" class="button" name="do_UnNotify" value="<?php echo __("UnNotify") ?>" title="<?php echo __("No New Comment Notification") ?>" /> - <?php endif; ?> + <?php else: ?> + <input type="submit" class="button" name="do_Notify" value="<?php echo __("Notify") ?>" title="<?php echo __("New Comment Notification") ?>" /> <?php endif; ?> <?php if ($row["OutOfDateTS"] === NULL): ?> |