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();
|
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
|
# Change package category
|
||||||
#
|
#
|
||||||
if ($_REQUEST["change_Category"]) {
|
if ($_REQUEST["change_Category"]) {
|
||||||
|
|
|
@ -180,7 +180,7 @@ function package_comments($pkgid=0) {
|
||||||
$q.= " AND DelUsersID = 0"; # only display non-deleted comments
|
$q.= " AND DelUsersID = 0"; # only display non-deleted comments
|
||||||
$q.= " ORDER BY CommentTS DESC";
|
$q.= " ORDER BY CommentTS DESC";
|
||||||
$result = db_query($q, $dbh);
|
$result = db_query($q, $dbh);
|
||||||
if (!$result) {return array();}
|
if (!$result) {print 'poop';return array();}
|
||||||
while ($row = mysql_fetch_assoc($result)) {
|
while ($row = mysql_fetch_assoc($result)) {
|
||||||
$comments[] = $row;
|
$comments[] = $row;
|
||||||
}
|
}
|
||||||
|
@ -272,17 +272,19 @@ function package_details($id=0, $SID="") {
|
||||||
global $pkgsearch_vars;
|
global $pkgsearch_vars;
|
||||||
$atype = account_from_sid($SID);
|
$atype = account_from_sid($SID);
|
||||||
$uid = uid_from_sid($SID);
|
$uid = uid_from_sid($SID);
|
||||||
|
|
||||||
$q = "SELECT Packages.*,Location,Category ";
|
$q = "SELECT Packages.*,Location,Category ";
|
||||||
$q.= "FROM Packages,PackageLocations,PackageCategories ";
|
$q.= "FROM Packages,PackageLocations,PackageCategories ";
|
||||||
$q.= "WHERE Packages.LocationID = PackageLocations.ID ";
|
$q.= "WHERE Packages.LocationID = PackageLocations.ID ";
|
||||||
$q.= "AND Packages.CategoryID = PackageCategories.ID ";
|
$q.= "AND Packages.CategoryID = PackageCategories.ID ";
|
||||||
$q.= "AND Packages.ID = ".intval($_REQUEST["ID"]);
|
$q.= "AND Packages.ID = " . intval($_REQUEST['ID']);
|
||||||
$dbh = db_connect();
|
$dbh = db_connect();
|
||||||
$results = db_query($q, $dbh);
|
$results = db_query($q, $dbh);
|
||||||
|
|
||||||
if (!$results) {
|
if (!$results) {
|
||||||
print __("Error retrieving package details.") . "<br />\n";
|
print __("Error retrieving package details.") . "<br />\n";
|
||||||
|
}
|
||||||
} else {
|
else {
|
||||||
$row = mysql_fetch_assoc($results);
|
$row = mysql_fetch_assoc($results);
|
||||||
if (empty($row)) {
|
if (empty($row)) {
|
||||||
print __("Package details could not be found.") . "<br />\n";
|
print __("Package details could not be found.") . "<br />\n";
|
||||||
|
@ -294,10 +296,11 @@ function package_details($id=0, $SID="") {
|
||||||
# Actions Bar
|
# Actions Bar
|
||||||
if ($SID) {
|
if ($SID) {
|
||||||
include('actions_form.php');
|
include('actions_form.php');
|
||||||
|
include('pkg_comment_form.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
# Print Comments
|
# Print Comments
|
||||||
$comments = package_comments($row["ID"]);
|
$comments = package_comments($_REQUEST['ID']);
|
||||||
if (!empty($comments)) {
|
if (!empty($comments)) {
|
||||||
include('pkg_comments.php');
|
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>
|
</form>
|
||||||
</div>
|
</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