diff --git a/class/comment.php b/class/comment.php
index 4abacca..1da207d 100644
--- a/class/comment.php
+++ b/class/comment.php
@@ -297,49 +297,59 @@ function commentListShow($tpl_dir)
- if ($settings['comment_use_page_nav'] == 1)
- {
- $limit = (int)$settings['comment_page_nav_count'];
- $start = get_current_page() * $limit - $limit;
+if ($settings['comment_use_page_nav'] == 1)
+{
+ $limit = (int)$settings['comment_page_nav_count'];
- // 1. Считаем только РОДИТЕЛЕЙ для пагинации
- $num = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_module_comment_info WHERE document_id = '" . $document_id . "' AND parent_id = '0'")->GetCell();
+ // Если лимит включен, но равен 0 — это то же самое, что лимит выключен
+ if ($limit <= 0)
+ {
+ $sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module_comment_info WHERE document_id = '" . $document_id . "' " . ($user_group == 1 ? '' : "AND comment_status = '1'") . " ORDER BY comment_published ASC");
+ $page_nav = '';
+ }
+ else
+ {
+ $start = get_current_page() * $limit - $limit;
- // 2. Основной запрос: выбираем ВСЮ ветку (родителя и всё, что под ним)
- // ищем записи, которые либо сами являются нужными родителями,
- // либо имеют parent_id, указывающий на них (включая вложенность)
- $sql = $AVE_DB->Query("
- SELECT * FROM " . PREFIX . "_module_comment_info
- WHERE document_id = '" . $document_id . "'
- AND (
- id IN (SELECT id FROM (SELECT id FROM " . PREFIX . "_module_comment_info WHERE document_id = '" . $document_id . "' AND parent_id = '0' ORDER BY comment_published ASC LIMIT " . (int)$start . "," . (int)$limit . ") as tmp)
- OR
- parent_id != '0'
- )
- " . ($user_group == 1 ? '' : "AND comment_status = '1'") . "
- ORDER BY comment_published ASC
- ");
+ // 1. Считаем только РОДИТЕЛЕЙ для пагинации
+ $num = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_module_comment_info WHERE document_id = '" . $document_id . "' AND parent_id = '0'")->GetCell();
- if ($num > $limit)
- {
- $page_nav = '{t} ';
-
- $page_nav = get_pagination(ceil($num / $limit), 'page', $page_nav, get_settings('navi_box'));
- $page_nav = str_ireplace('"//"', '"/"', str_ireplace('///', '/', rewrite_link($page_nav)));
- $page_nav = preg_replace('/(? ceil($num / $limit) ? $GLOBALS['page_id'][$document_id]['page'] : ceil($num / $limit));
- }
- else { $page_nav = ''; }
- }
- else
- {
- $sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module_comment_info WHERE document_id = '" . $document_id . "' " . ($user_group == 1 ? '' : "AND comment_status = '1'") . " ORDER BY comment_published ASC");
- $page_nav = '';
- }
+ // 2. Основной запрос: выбираем ВСЮ ветку (родителя и всё, что под ним)
+ $sql = $AVE_DB->Query("
+ SELECT * FROM " . PREFIX . "_module_comment_info
+ WHERE document_id = '" . $document_id . "'
+ AND (
+ id IN (SELECT id FROM (SELECT id FROM " . PREFIX . "_module_comment_info WHERE document_id = '" . $document_id . "' AND parent_id = '0' ORDER BY comment_published ASC LIMIT " . (int)$start . "," . (int)$limit . ") as tmp)
+ OR
+ parent_id != '0'
+ )
+ " . ($user_group == 1 ? '' : "AND comment_status = '1'") . "
+ ORDER BY comment_published ASC
+ ");
+
+ if ($num > $limit)
+ {
+ $page_nav = '{t} ';
+
+ // Теперь деление на $limit безопасно, так как мы выше проверили, что он > 0
+ $total_pages = ceil($num / $limit);
+ $page_nav = get_pagination($total_pages, 'page', $page_nav, get_settings('navi_box'));
+ $page_nav = str_ireplace('"//"', '"/"', str_ireplace('///', '/', rewrite_link($page_nav)));
+ $page_nav = preg_replace('/(? $total_pages ? $GLOBALS['page_id'][$document_id]['page'] : $total_pages);
+ }
+ else { $page_nav = ''; }
+ }
+}
+else
+{
+ $sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module_comment_info WHERE document_id = '" . $document_id . "' " . ($user_group == 1 ? '' : "AND comment_status = '1'") . " ORDER BY comment_published ASC");
+ $page_nav = '';
+}