Index: guestbook.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/guestbook/guestbook.module,v
retrieving revision 1.1.10.14.2.4
diff -u -p -r1.1.10.14.2.4 guestbook.module
--- guestbook.module	13 Aug 2008 23:18:50 -0000	1.1.10.14.2.4
+++ guestbook.module	14 Aug 2008 00:20:11 -0000
@@ -323,7 +323,7 @@ function guestbook_page($uid = 0, $op = 
   }
 
   // Delete or comment an entry
-  $comment_entry = '';
+  $comment_entry = $sql_where = '';
   if (_guestbook_access('administer', $uid) && is_numeric($op_id)) {
     switch ($op) {
       case 'delete':
@@ -331,21 +331,26 @@ function guestbook_page($uid = 0, $op = 
 
       case 'comment':
         $comment_entry = $op_id;
+        $sql_where = ' AND g.id = %d';
         break;
     }
   }
 
   // Fetch guestbook entries
   $limit = variable_get('guestbook_entries_per_page', 20);
-  $result = pager_query(
-    "SELECT g.*, u1.uid, u1.name, u1.data, u1.picture, u2.name as commentby 
+  $sql = "SELECT g.*, u1.uid, u1.name, u1.data, u1.picture, u2.name as commentby 
     FROM {guestbook} g 
     LEFT JOIN {users} u1 ON g.author = u1.uid 
     LEFT JOIN {users} u2 ON g.commentauthor = u2.uid 
-    WHERE g.recipient = %d
-    ORDER BY g.created DESC",
-    $limit, 0, "SELECT COUNT(*) FROM {guestbook} WHERE recipient = %d", $uid
-  );
+    WHERE g.recipient = %d $sql_where
+    ORDER BY g.created DESC";
+  if (!empty($comment_entry)) {
+    // Fetch only guestbook entry for administrative comment.
+    $result = db_query($sql, $uid, $comment_entry);
+  }
+  else {
+    $result = pager_query($sql, $limit, 0, "SELECT COUNT(*) FROM {guestbook} WHERE recipient = %d", $uid);
+  }
   $entries = array();
   while ($entry = db_fetch_array($result)) {
     $entries[] = $entry;
