Артур Сергеевич

Артур Сергеевич

С нами с 30 ноября -0001; Место в рейтинге пользователей: #149
Артур Сергеевич
11 мая 2025, 21:48
0
Я опечатался, в assets, только tpl, а core закрыта htaccess (IfModule mod_authz_core.c)
Артур Сергеевич
11 мая 2025, 18:35
0
Можете просто убрать, также там есть лишний код («LOG_LEVEL_INFO») который, который по факту тоже никому не будет нужен, кроме как на этапе проверки.
Артур Сергеевич
11 мая 2025, 18:30
0
if (!defined('MODX_CORE_PATH')) die('Unauthorized access'); — это мой З#**** (при загруженных проектах я часто разношу все) Если кто-то попытается обратиться к файлу напрямую (например, через URL вроде site.ru/assets/snippets/mysnippet.php.

можно использовать пространства имён и автозагрузку, но проверка MODX_CORE_PATH остаётся простым и надёжным способом защиты.
(просто как доп. уровень, это наверно из разряда xss csp)

погодите, а разве параметр dateFormat не закрывает этот момент?

Все верно вы говорите, просто я его еще не доделал. Изначально я хотел что при текущем годе показа года не было.
Вот сырой код, если хотите посмотреть, для понимания

$formatAbsoluteDate = function($timestamp, $locale) use ($showYear) {
    $monthIndex = date('m', $timestamp);
    $monthNames = $locale['months'][$monthIndex] ?? ['', ''];
    $year = date('Y', $timestamp);
    $currentYear = date('Y');
    
    // !!!
    $shouldShowYear = $showYear && ($year != $currentYear);
    
    return date('d', $timestamp) . ' ' . $monthNames[0] . ($shouldShowYear ? ' ' . $year : '');
};