mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
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>
This commit is contained in:
parent
1eea2951fb
commit
c2b65f2b7b
2 changed files with 48 additions and 24 deletions
|
@ -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): ?>
|
||||
|
|
Loading…
Add table
Reference in a new issue