mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Move package comment form into a new template.
Feature the form on the package details page. Signed-off-by: Loui Chang <louipc.ist@gmail.com>
This commit is contained in:
parent
f729eca80d
commit
354c86b6c6
4 changed files with 78 additions and 80 deletions
|
@ -53,73 +53,6 @@ if ($_REQUEST["del_Comment"]) {
|
|||
exit();
|
||||
}
|
||||
|
||||
# Add a comment to this package
|
||||
#
|
||||
if ($_REQUEST["add_Comment"]) {
|
||||
if ($_REQUEST["comment"]) {
|
||||
# Insert the comment
|
||||
#
|
||||
$dbh = db_connect();
|
||||
$q = "INSERT INTO PackageComments ";
|
||||
$q.= "(PackageID, UsersID, Comments, CommentTS) VALUES (";
|
||||
$q.= intval($_REQUEST["ID"]).", ".uid_from_sid($_COOKIE["AURSID"]) . ", ";
|
||||
$q.= "'".mysql_real_escape_string($_REQUEST["comment"])."', ";
|
||||
$q.= "UNIX_TIMESTAMP())";
|
||||
db_query($q, $dbh);
|
||||
print __("Comment has been added.");
|
||||
|
||||
# Send email notifications
|
||||
#
|
||||
$q = "SELECT CommentNotify.*, Users.Email ";
|
||||
$q.= "FROM CommentNotify, Users ";
|
||||
$q.= "WHERE Users.ID = CommentNotify.UserID ";
|
||||
$q.= "AND CommentNotify.UserID != ".uid_from_sid($_COOKIE["AURSID"])." ";
|
||||
$q.= "AND CommentNotify.PkgID = ".intval($_REQUEST["ID"]);
|
||||
$result = db_query($q, $dbh);
|
||||
$bcc = array();
|
||||
if (mysql_num_rows($result)) {
|
||||
while ($row = mysql_fetch_assoc($result)) {
|
||||
array_push($bcc, $row['Email']);
|
||||
}
|
||||
$q = "SELECT Packages.Name ";
|
||||
$q.= "FROM Packages ";
|
||||
$q.= "WHERE Packages.ID = ".intval($_REQUEST["ID"]);
|
||||
$result = db_query($q, $dbh);
|
||||
$row = mysql_fetch_assoc($result);
|
||||
#TODO: native language emails for users, based on their prefs
|
||||
# Simply making these strings translatable won't work, users would be
|
||||
# getting emails in the language that the user who posted the comment was in
|
||||
$body =
|
||||
"from http://aur.archlinux.org/packages.php?ID="
|
||||
. $_REQUEST["ID"] . "\n"
|
||||
. username_from_sid($_COOKIE["AURSID"]) . " wrote:\n\n"
|
||||
. $_POST['comment']
|
||||
. "\n\n---\nIf you no longer wish to receive notifications about this package, please go the the above package page and click the UnNotify button.";
|
||||
$body = wordwrap($body, 70);
|
||||
$bcc = implode(', ', $bcc);
|
||||
$headers = "Bcc: $bcc\nReply-to: nobody@archlinux.org\nFrom: aur-notify@archlinux.org\nX-Mailer: AUR\n";
|
||||
@mail(' ', "AUR Comment for ".$row['Name'], $body, $headers);
|
||||
}
|
||||
|
||||
} else {
|
||||
# Prompt visitor for comment
|
||||
#
|
||||
print "<div align='center'>\n";
|
||||
print "<form action='pkgedit.php' method='post'>\n";
|
||||
print "<input type='hidden' name='add_Comment' value='1'>\n";
|
||||
print "<input type='hidden' name='ID' value=\"".$_REQUEST["ID"]."\">\n";
|
||||
print __("Enter your comment below.")."<br /> <br />\n";
|
||||
print "<textarea name='comment' rows='10' cols='50'></textarea>\n";
|
||||
print "<br /> <br />\n";
|
||||
print "<input type='submit' value=\"".__("Submit")."\">\n";
|
||||
print "<input type='reset' value=\"".__("Reset")."\">\n";
|
||||
print "</form>\n";
|
||||
print "</div>\n";
|
||||
}
|
||||
html_footer(AUR_VERSION);
|
||||
exit();
|
||||
}
|
||||
|
||||
# Change package category
|
||||
#
|
||||
if ($_REQUEST["change_Category"]) {
|
||||
|
|
|
@ -180,7 +180,7 @@ function package_comments($pkgid=0) {
|
|||
$q.= " AND DelUsersID = 0"; # only display non-deleted comments
|
||||
$q.= " ORDER BY CommentTS DESC";
|
||||
$result = db_query($q, $dbh);
|
||||
if (!$result) {return array();}
|
||||
if (!$result) {print 'poop';return array();}
|
||||
while ($row = mysql_fetch_assoc($result)) {
|
||||
$comments[] = $row;
|
||||
}
|
||||
|
@ -272,20 +272,22 @@ function package_details($id=0, $SID="") {
|
|||
global $pkgsearch_vars;
|
||||
$atype = account_from_sid($SID);
|
||||
$uid = uid_from_sid($SID);
|
||||
|
||||
$q = "SELECT Packages.*,Location,Category ";
|
||||
$q.= "FROM Packages,PackageLocations,PackageCategories ";
|
||||
$q.= "WHERE Packages.LocationID = PackageLocations.ID ";
|
||||
$q.= "AND Packages.CategoryID = PackageCategories.ID ";
|
||||
$q.= "AND Packages.ID = ".intval($_REQUEST["ID"]);
|
||||
$q.= "AND Packages.ID = " . intval($_REQUEST['ID']);
|
||||
$dbh = db_connect();
|
||||
$results = db_query($q, $dbh);
|
||||
if (!$results) {
|
||||
print __("Error retrieving package details.")."<br />\n";
|
||||
|
||||
} else {
|
||||
if (!$results) {
|
||||
print __("Error retrieving package details.") . "<br />\n";
|
||||
}
|
||||
else {
|
||||
$row = mysql_fetch_assoc($results);
|
||||
if (empty($row)) {
|
||||
print __("Package details could not be found.")."<br />\n";
|
||||
print __("Package details could not be found.") . "<br />\n";
|
||||
|
||||
}
|
||||
else {
|
||||
|
@ -294,10 +296,11 @@ function package_details($id=0, $SID="") {
|
|||
# Actions Bar
|
||||
if ($SID) {
|
||||
include('actions_form.php');
|
||||
include('pkg_comment_form.php');
|
||||
}
|
||||
|
||||
# Print Comments
|
||||
$comments = package_comments($row["ID"]);
|
||||
$comments = package_comments($_REQUEST['ID']);
|
||||
if (!empty($comments)) {
|
||||
include('pkg_comments.php');
|
||||
}
|
||||
|
|
|
@ -50,11 +50,5 @@ if ($row["MaintainerUID"] == 0) {
|
|||
}
|
||||
?>
|
||||
|
||||
</form>
|
||||
<br />
|
||||
|
||||
<form action='pkgedit.php' method='post'>
|
||||
<input type='hidden' name='ID' value="<?php echo $row['ID'] ?>" />
|
||||
<input type='submit' class='button' name='add_Comment' value="<?php echo __('Add Comment') ?>" />
|
||||
</form>
|
||||
</div>
|
||||
|
|
68
web/template/pkg_comment_form.php
Normal file
68
web/template/pkg_comment_form.php
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
# Add a comment to this package
|
||||
if (isset($_REQUEST['comment'])) {
|
||||
|
||||
# Insert the comment
|
||||
$dbh = db_connect();
|
||||
$q = 'INSERT INTO PackageComments ';
|
||||
$q.= '(PackageID, UsersID, Comments, CommentTS) VALUES (';
|
||||
$q.= intval($_REQUEST['ID']) . ', ' . uid_from_sid($_COOKIE['AURSID']) . ', ';
|
||||
$q.= "'" . mysql_real_escape_string($_REQUEST['comment']) . "', ";
|
||||
$q.= 'UNIX_TIMESTAMP())';
|
||||
db_query($q, $dbh);
|
||||
|
||||
# Send email notifications
|
||||
$q = 'SELECT CommentNotify.*, Users.Email ';
|
||||
$q.= 'FROM CommentNotify, Users ';
|
||||
$q.= 'WHERE Users.ID = CommentNotify.UserID ';
|
||||
$q.= 'AND CommentNotify.UserID != ' . uid_from_sid($_COOKIE['AURSID']) . ' ';
|
||||
$q.= 'AND CommentNotify.PkgID = ' . intval($_REQUEST['ID']);
|
||||
$result = db_query($q, $dbh);
|
||||
$bcc = array();
|
||||
|
||||
if (mysql_num_rows($result)) {
|
||||
while ($row = mysql_fetch_assoc($result)) {
|
||||
array_push($bcc, $row['Email']);
|
||||
}
|
||||
|
||||
$q = 'SELECT Packages.Name ';
|
||||
$q.= 'FROM Packages ';
|
||||
$q.= 'WHERE Packages.ID = ' . intval($_REQUEST['ID']);
|
||||
$result = db_query($q, $dbh);
|
||||
$row = mysql_fetch_assoc($result);
|
||||
|
||||
# TODO: native language emails for users, based on their prefs
|
||||
# Simply making these strings translatable won't work, users would be
|
||||
# getting emails in the language that the user who posted the comment was in
|
||||
$body =
|
||||
'from http://aur.archlinux.org/packages.php?ID='
|
||||
. $_REQUEST['ID'] . "\n"
|
||||
. username_from_sid($_COOKIE['AURSID']) . " wrote:\n\n"
|
||||
. $_POST['comment']
|
||||
. "\n\n---\nIf you no longer wish to receive notifications about this package, please go the the above package page and click the UnNotify button.";
|
||||
$body = wordwrap($body, 70);
|
||||
$bcc = implode(', ', $bcc);
|
||||
$headers = "Bcc: $bcc\nReply-to: nobody@archlinux.org\nFrom: aur-notify@archlinux.org\nX-Mailer: AUR\n";
|
||||
@mail(' ', "AUR Comment for " . $row['Name'], $body, $headers);
|
||||
}
|
||||
}
|
||||
|
||||
# Prompt visitor for comment
|
||||
?>
|
||||
<div class="pgbox">
|
||||
<form action='<?php echo $_SERVER['PHP_SELF'] . '?ID=' . $_REQUEST['ID'] ?>' method='post'>
|
||||
<div style="padding: 1%">
|
||||
<?php
|
||||
if (isset($_REQUEST['comment'])) {
|
||||
echo '<b>' . __('Comment has been added.') . '</b>';
|
||||
}
|
||||
?>
|
||||
<input type='hidden' name='ID' value="<?php echo $_REQUEST['ID'] ?>">
|
||||
<?php echo __('Enter your comment below.') ?><br />
|
||||
<textarea name='comment' rows='10' style="width: 100%"></textarea><br />
|
||||
<input type='submit' value="<?php echo __("Submit") ?>">
|
||||
<input type='reset' value="<?php echo __("Reset") ?>">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
Loading…
Add table
Reference in a new issue