Вход Регистрация
Файл: upload/core/ajax/profile/load_more_works.php
Строк: 28
<?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  32;

// Проверяем пользователя
$ank FetchAssoc(dbquery("SELECT * FROM users WHERE id = ?", [$id]));
if (!
$ank) {
    echo 
json_encode([
        
'html' => '',
        
'show_more' => false
    
]);
    exit;
}

// Проверяем бан
$us_ban FetchAssoc(dbquery("SELECT * FROM users_banned WHERE us = ?", [$id]));

// Загружаем ВСЕ ворки пользователя
$q dbquery("
    SELECT *
    FROM works
    WHERE user_work = ?
    ORDER BY id DESC
"
, [$id]);

$filtered = [];

while (
$row FetchAssoc($q)) {

    
$flag CryptorHash('1'$row['salt']);

    
// Если пользователь забанен — его ворки не показываем никому
    
if ($us_ban) continue;

    
// Скрытый ворк — видит только автор
    
if ($row['k_off'] === $flag && $row['user_work'] != $user['id']) continue;

    
// Удалённый ворк — никто не видит
    
if ($row['del'] === $flag) continue;

    
$filtered[] = $row;
}

$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;
?>
Онлайн: 1
Реклама