summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGábor Hojtsy <gabor@hojtsy.hu>2007-08-09 10:37:41 +0000
committerGábor Hojtsy <gabor@hojtsy.hu>2007-08-09 10:37:41 +0000
commit323fa356bd2137f873386191a061bdfaeffa7ae7 (patch)
tree5570029eee58e17149574bb7f01f23864fbb7b06 /modules
parent22a37e6fb26e08dc63c147ec8b274478ff7d0edd (diff)
downloadbrdo-323fa356bd2137f873386191a061bdfaeffa7ae7.tar.gz
brdo-323fa356bd2137f873386191a061bdfaeffa7ae7.tar.bz2
#110511 by bjaspan: poll listing page should have a 'count_sql' because the original query uses group by, so it is not countable properly
Diffstat (limited to 'modules')
-rw-r--r--modules/poll/poll.module6
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/poll/poll.module b/modules/poll/poll.module
index 325101bdf..b7bafdcc8 100644
--- a/modules/poll/poll.module
+++ b/modules/poll/poll.module
@@ -413,10 +413,12 @@ function poll_view($node, $teaser = FALSE, $page = FALSE, $block = FALSE) {
* Menu callback to provide a simple list of all polls available.
*/
function poll_page() {
- // List all polls
+ // List all polls.
$sql = "SELECT n.nid, n.title, p.active, n.created, SUM(c.chvotes) AS votes FROM {node} n INNER JOIN {poll} p ON n.nid = p.nid INNER JOIN {poll_choices} c ON n.nid = c.nid WHERE n.status = 1 GROUP BY n.nid, n.title, p.active, n.created ORDER BY n.created DESC";
+ // Count all polls for the pager.
+ $count_sql = 'SELECT COUNT(*) FROM {node} n INNER JOIN {poll} p ON n.nid = p.nid WHERE n.status = 1';
$sql = db_rewrite_sql($sql);
- $result = pager_query($sql, 15);
+ $result = pager_query($sql, 15, 0, $count_sql);
$output = '<ul>';
while ($node = db_fetch_object($result)) {
$output .= '<li>'. l($node->title, "node/$node->nid") .' - '. format_plural($node->votes, '1 vote', '@count votes') .' - '. ($node->active ? t('open') : t('closed')) .'</li>';