| 1 |
<?php |
<?php |
| 2 |
/* $Id$ */ |
/* $Id: comment_redirect.module,v 1.1 2008/03/21 01:35:37 gwen Exp $ */ |
| 3 |
/** |
/** |
| 4 |
* @file |
* @file |
| 5 |
* |
* |
| 88 |
$order = _comment_get_display_setting('sort'); |
$order = _comment_get_display_setting('sort'); |
| 89 |
$mode = _comment_get_display_setting('mode'); |
$mode = _comment_get_display_setting('mode'); |
| 90 |
$comments_per_page = _comment_get_display_setting('comments_per_page'); |
$comments_per_page = _comment_get_display_setting('comments_per_page'); |
| 91 |
|
$sqland = ''; |
| 92 |
|
$query_args = array(); |
| 93 |
|
if (!user_access('administer comments')) { |
| 94 |
|
$sqland .= ' AND c.status = %d'; |
| 95 |
|
$query_args[] = COMMENT_PUBLISHED; |
| 96 |
|
} |
| 97 |
if ($order == COMMENT_ORDER_NEWEST_FIRST) { |
if ($order == COMMENT_ORDER_NEWEST_FIRST) { |
| 98 |
if ($mode == COMMENT_MODE_FLAT_COLLAPSED || $mode == COMMENT_MODE_FLAT_EXPANDED) { |
if ($mode == COMMENT_MODE_FLAT_COLLAPSED || $mode == COMMENT_MODE_FLAT_EXPANDED) { |
| 99 |
$sqland = ' AND c.timestamp > %d' ; |
$sqland .= ' AND c.timestamp > %d' ; |
| 100 |
|
$query_args[] = $comment->timestamp; |
| 101 |
} |
} |
| 102 |
else { |
else { |
| 103 |
$sqland = ' AND c.thread > "%s"' ; |
$sqland .= ' AND c.thread > "%s"' ; |
| 104 |
|
$query_args[] = $comment->thread; |
| 105 |
} |
} |
| 106 |
} |
} |
| 107 |
else if ($order == COMMENT_ORDER_OLDEST_FIRST) { |
else if ($order == COMMENT_ORDER_OLDEST_FIRST) { |
| 108 |
if ($mode == COMMENT_MODE_FLAT_COLLAPSED || $mode == COMMENT_MODE_FLAT_EXPANDED) { |
if ($mode == COMMENT_MODE_FLAT_COLLAPSED || $mode == COMMENT_MODE_FLAT_EXPANDED) { |
| 109 |
$sqland = ' AND c.timestamp < %d' ; |
$sqland .= ' AND c.timestamp < %d' ; |
| 110 |
|
$query_args[] = $comment->timestamp; |
| 111 |
} |
} |
| 112 |
else { |
else { |
| 113 |
$sqland = ' AND SUBSTRING(c.thread, 1, (LENGTH(c.thread) - 1)) < SUBSTRING("%s", 1, (LENGTH("%s") - 1))'; |
$sqland .= ' AND SUBSTRING(c.thread, 1, (LENGTH(c.thread) - 1)) < SUBSTRING("%s", 1, (LENGTH("%s") - 1))'; |
| 114 |
|
$query_args[] = $comment->thread; |
| 115 |
|
$query_args[] = $comment->thread; |
| 116 |
} |
} |
| 117 |
} |
} |
| 118 |
if ($mode == COMMENT_MODE_FLAT_COLLAPSED || $mode == COMMENT_MODE_FLAT_EXPANDED) { |
if ($mode == COMMENT_MODE_FLAT_COLLAPSED || $mode == COMMENT_MODE_FLAT_EXPANDED) { |
| 119 |
$commentresult = db_query('SELECT count(*) as cnt FROM {comments} c WHERE c.nid=' . $comment->nid . $sqland, $comment->timestamp ); |
$commentresult = db_query('SELECT count(*) as cnt FROM {comments} c WHERE c.nid=' . $comment->nid . $sqland, $query_args); |
| 120 |
} |
} |
| 121 |
else { |
else { |
| 122 |
$commentresult = db_query('SELECT count(*) as cnt FROM {comments} c WHERE c.nid=' . $comment->nid . $sqland, $comment->thread, $comment->thread); |
$commentresult = db_query('SELECT count(*) as cnt FROM {comments} c WHERE c.nid=' . $comment->nid . $sqland, $query_args); |
| 123 |
} |
} |
| 124 |
$commentcnt = db_fetch_object($commentresult); |
$commentcnt = db_fetch_object($commentresult); |
| 125 |
$page = floor($commentcnt->cnt / _comment_get_display_setting('comments_per_page')); |
$page = floor($commentcnt->cnt / _comment_get_display_setting('comments_per_page')); |