Файл: upload/core/ajax/work/load_more_comments.php
Строк: 50
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . '/core/core.php');
header('Content-Type: application/json; charset=utf-8');
$id = intval($_POST['id'] ?? 0);
$offset = intval($_POST['offset'] ?? 0);
$limit = 20;
// Загружаем ВСЕ комментарии к ворку
$q = dbquery("
SELECT *
FROM rating
WHERE k_work = ?
ORDER BY id DESC
", [$id]);
$filtered = [];
while ($rt = FetchAssoc($q)) {
// Загружаем автора комментария
$ank_rating = FetchAssoc(dbquery("SELECT * FROM users WHERE id = ?", [$rt['us']]));
// Если пользователь удалён — пропускаем
if (!$ank_rating) continue;
$filtered[] = [
'rt' => $rt,
'ank_rating' => $ank_rating
];
}
$total = count($filtered);
// Берём нужный кусок
$chunk = array_slice($filtered, $offset, $limit);
// Собираем HTML
$html = '';
foreach ($chunk as $item) {
$rt = $item['rt'];
$ank_rating = $item['ank_rating'];
// Twig-компонент
$comment_box = $view->render('components/comments/rating_box.html', [
'home' => homeLink(),
'user' => [
'avatar' => GetAvatar($ank_rating['avatar']),
'nick' => nick($ank_rating['id'])
],
'rating' => [
'value' => $rt['rating'],
'stars' => rating_num_star_work($rt['rating']),
'comment' => $rt['k_comment'] ?? null
]
]);
$html .= $comment_box;
}
// Показывать ли кнопку "Показать ещё"
$show_more = ($offset + $limit < $total);
echo json_encode([
'html' => $html,
'show_more' => $show_more
], JSON_UNESCAPED_UNICODE);
exit;
?>