From 354c86b6c608c8923d0a087285f97d5d8121ed08 Mon Sep 17 00:00:00 2001 From: Loui Chang Date: Sun, 25 Jan 2009 13:17:54 -0500 Subject: [PATCH] Move package comment form into a new template. Feature the form on the package details page. Signed-off-by: Loui Chang --- web/html/pkgedit.php | 67 ------------------------------ web/lib/pkgfuncs.inc | 17 ++++---- web/template/actions_form.php | 6 --- web/template/pkg_comment_form.php | 68 +++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+), 80 deletions(-) create mode 100644 web/template/pkg_comment_form.php diff --git a/web/html/pkgedit.php b/web/html/pkgedit.php index 5907d2ca..3b1c8257 100644 --- a/web/html/pkgedit.php +++ b/web/html/pkgedit.php @@ -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 "
\n"; - print "
\n"; - print "\n"; - print "\n"; - print __("Enter your comment below.")."
 
\n"; - print "\n"; - print "
 
\n"; - print "\n"; - print "\n"; - print "
\n"; - print "
\n"; - } - html_footer(AUR_VERSION); - exit(); -} - # Change package category # if ($_REQUEST["change_Category"]) { diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index b6f32e6a..150f5527 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -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.")."
\n"; - } else { + if (!$results) { + print __("Error retrieving package details.") . "
\n"; + } + else { $row = mysql_fetch_assoc($results); if (empty($row)) { - print __("Package details could not be found.")."
\n"; + print __("Package details could not be found.") . "
\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'); } diff --git a/web/template/actions_form.php b/web/template/actions_form.php index 6299819d..de77645a 100644 --- a/web/template/actions_form.php +++ b/web/template/actions_form.php @@ -50,11 +50,5 @@ if ($row["MaintainerUID"] == 0) { } ?> - -
- -
- -
diff --git a/web/template/pkg_comment_form.php b/web/template/pkg_comment_form.php new file mode 100644 index 00000000..70570da1 --- /dev/null +++ b/web/template/pkg_comment_form.php @@ -0,0 +1,68 @@ + +
+
' method='post'> +
+' . __('Comment has been added.') . ''; +} +?> + +
+
+ "> + "> +
+
+
+