Файл: upload/core/ajax/load_more_section.php
Строк: 25
<?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 = 52;
// Загружаем ВСЕ ворки раздела
$q = dbquery("
SELECT *
FROM works
WHERE section = ?
ORDER BY id DESC
", [$id]);
$filtered = [];
while ($work = FetchAssoc($q)) {
$flag = CryptorHash('1', $work['salt']);
// скрытый
if ($work['k_off'] === $flag) continue;
// удалённый
if ($work['del'] === $flag) continue;
// забаненный владелец
$us_ban = FetchAssoc(dbquery("SELECT id FROM users_banned WHERE us = ?", [$work['user_work']]));
if ($us_ban) continue;
$filtered[] = $work;
}
$total = count($filtered);
// Берём нужный кусок
$chunk = array_slice($filtered, $offset, $limit);
// Генерируем HTML
$html = '';
foreach ($chunk as $work) {
// Передаём данные в компонент
$GLOBALS['work'] = $work;
$GLOBALS['user'] = $user;
// Подключаем компонент, который создаёт $work_item
require $_SERVER['DOCUMENT_ROOT'] . '/core/elements/work-box.php';
// Добавляем HTML
$html .= $work_item;
}
// Показывать ли кнопку
$show_more = ($offset + $limit < $total);
echo json_encode([
'html' => $html,
'show_more' => $show_more
], JSON_UNESCAPED_UNICODE);
exit;
?>