pkg_comments: Only display 10 comments by default.

Add a mechanism to view all comments.

Signed-off-by: Loui Chang <louipc.ist@gmail.com>
This commit is contained in:
Loui Chang 2010-04-15 16:52:55 -04:00
parent 94da2bf1dc
commit 5b8b0757f4
2 changed files with 36 additions and 5 deletions

View file

@ -194,9 +194,25 @@ function create_dummy($pname="", $sid="") {
}
# grab package comments
#
function package_comments($pkgid=0) {
# Return the number of comments for a specified package
function package_comments_count($pkgid = 0) {
if ($pkgid) {
$dbh = db_connect();
$q = "SELECT COUNT(*) FROM PackageComments ";
$q.= "WHERE PackageID = " . mysql_real_escape_string($pkgid);
$q.= " AND DelUsersID = 0";
}
$result = db_query($q, $dbh);
if (!$result) {
return;
}
return mysql_result($result, 0);
}
# Return an array of package comments
function package_comments($pkgid = 0) {
$comments = array();
if ($pkgid) {
$dbh = db_connect();
@ -206,6 +222,11 @@ function package_comments($pkgid=0) {
$q.= " AND PackageID = ".mysql_real_escape_string($pkgid);
$q.= " AND DelUsersID = 0"; # only display non-deleted comments
$q.= " ORDER BY CommentTS DESC";
if (!isset($_GET['comments'])) {
$q.= " LIMIT 10";
}
$result = db_query($q, $dbh);
if (!$result) {
@ -328,7 +349,7 @@ function package_details($id=0, $SID="") {
include('actions_form.php');
include('pkg_comment_form.php');
}
# Print Comments
$comments = package_comments($id);
if (!empty($comments)) {

View file

@ -24,5 +24,15 @@ while (list($indx, $carr) = each($comments)) { ?>
</div>
</blockquote>
<?php
} ?>
}
?>
</div>
<?php
$count = package_comments_count($_GET['ID']);
if ($count > 10 && !isset($_GET['comments'])) {
echo '<div class="pgbox">';
echo '<a href="'. $_SERVER['PHP_SELF'] . '?ID=' . $_REQUEST['ID'] . '&comments=all">'. __('Show all %s comments', $count) . '</a>';
echo '</div>';
}
?>