Commit c2b65f2b authored by canyonknight's avatar canyonknight Committed by Lukas Fleischer
Browse files

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: default avatarcanyonknight <canyonknight@gmail.com>
Signed-off-by: default avatarLukas Fleischer <archlinux@cryptocrack.de>
parent 1eea2951
......@@ -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
*
......
......@@ -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): ?>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment