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;