Thumb3x: Современная обработка изображений для MODX 3

Thumb3x — это мощный и гибкий компонент для обработки изображений, созданный эксклюзивно для MODX 3.
Этот компонент был написан, чтобы заполнить пробел в экосистеме MODX 3, где практически отсутствуют современные и надежные инструменты для работы с изображениями.
Авто обновление индекса mSeach2 через cron
Может кому пригодится крон для массового обновления индексов #msearch2 #cron
Инструкция:
— создаем фай в корне msearch2_cron.php содержимое кода ниже.
— запуск к примеру curl www.ru/msearch2_cron.php
Инструкция:
— создаем фай в корне msearch2_cron.php содержимое кода ниже.
— запуск к примеру curl www.ru/msearch2_cron.php
<?php
// Отключение буферизации
ignore_user_abort(true);
set_time_limit(0);
ob_implicit_flush(true);
ob_end_flush();
header('Content-Type: text/html; charset=utf-8');
echo '<pre>';
ob_flush();
flush();
define('MODX_API_MODE', true);
require 'index.php';
/** @var modX $modx */
$modx->getService('error', 'error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_FATAL);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
/** @var modUser $adminObj */
$adminObj = $modx->getObject('modUser', ['sudo' => 1]);
$modx->user = $adminObj;
$offset = 0;
while (true) {
/** @var modProcessorResponse $response */
$response = $modx->runProcessor('mgr/index/create', [
'limit' => 1000,
'offset' => $offset,
], [
'processors_path' => MODX_CORE_PATH . 'components/msearch2/processors/'
]);
if ($response->isError()) {
echo "Ошибка: " . $response->getMessage() . "\n";
ob_flush();
flush();
break;
}
$data = $response->getObject();
if ($data['offset'] >= 1) {
echo "Индексировано: {$data['offset']}\n";
ob_flush();
flush();
}
// Если offset == 0 → завершаем
if ($data['offset'] === 0) {
echo "Получен нулевой сдвиг. Индексация остановлена.\n";
ob_flush();
flush();
break;
}
// Обновляем offset для следующего шага
$offset = $data['offset'];
// Если достигли конца
if ($offset == 0) {
echo "Индексация успешно завершена.\n";
ob_flush();
flush();
break;
}
//sleep(1); // пауза между порциями (можно убрать)
}
Спам в формах AjaxForm/FetchIt? Защищаем ЛЮБЫЕ точки входа в MODX с помощью IskWaf

Всем привет!
В Telegram-чате регулярно поднимается один и тот же вопрос: «Как защититься от спама в форме? У меня стоит FetchIt или AjaxForm, капчу на странице вывел, а спам всё равно летит тоннами!»
Я решил эту проблему в своем компоненте IskWaf (MODX3 / MODX2), и в этой заметке хочу рассказать, как теперь можно обеспечить тотальную защиту вашего сайта.
pbQuiz — гибкий компонент квизов на контроллерах PageBlocks
pbQuiz — это наглядный пример того, как с помощью PageBlocks можно построить гибкую многошаговую форму-квиз с пошаговой валидацией и хранением прогресса в сессии.
Вы можете использовать готовый бесплатный компонент или создать всё вручную — чтобы полностью понять, как работает структура под капотом.

Вы можете использовать готовый бесплатный компонент или создать всё вручную — чтобы полностью понять, как работает структура под капотом.

Что умеет pbQuiz
- Создавать квиз из любого количества шагов.
- Гибко задавать поля: radio, checkbox, текстовые и email.
- Проверять введённые данные на каждом шаге.
- Хранить введённые данные между шагами.
- Отправлять результаты менеджеру и пользователю.
- Полностью управляться через таблицы PageBlocks
IskFileGuardian — ваш персональный страж для файлов MODX.


IskFileGuardian — это компонент для MODX Revolution 3.x, (IskFileGuardian2x — для MODX 2.x) представляющий собой автоматическую систему для мониторинга целостности файлов как всего веб-сайта, так и ядра MODX.
Важно понимать, что IskFileGuardian не является антивирусом. Его задача — не лечение уже зараженных файлов, а ранняя диагностика угроз. Он работает как система безопасности, которая моментально фиксирует любые подозрительные изменения в файловой структуре. Если на сайте появится новый, несанкционированный файл (например, веб-шелл или эксплойт), или будет изменен существующий файл ядра, IskFileGuardian немедленно это обнаружит.
Компонент позволяет эффективно выявлять любые изменения, включая модификации, добавления и удаления файлов. Это дает администратору критически важное время для реагирования: анализа угрозы и принятия мер до того, как уязвимость будет использована в полной мере.
При обнаружении несоответствий, IskFileGuardian отправляет уведомление администратору по электронной почте и через мессенджер Telegram.
Все производимые действия и события логируются, а результаты проведенных сканирований доступны для анализа через интуитивно понятный встроенный интерфейс в панели управления MODX.
IskFileGuardian — Инструмент для проактивной защиты и контроля над вашим сайтом
UniTree новые возможности gtsAPI-PVTables
Для некоторых проектов нужен компонент деревьев. Например, структура организации или дерево ресурсов MODX. Для отображения и управления деревом добавил в gtsAPI-PVTables модуль UniTree.

Для того чтобы написать админку MODX на Vue осталось сделать менеджер файлов. Но пока он нам, к сожалению, не нужен и админка на Vue откладывается. Может к концу года понадобится.
Компоненты gtsAPI и PVTables я делаю в первую очередь для нас. В них реализовано то, что нам нужно. Но так как это базовые вещи для АПИ сайта на MODX, то может кому-то пригодиться и я их выкладываю.
demo UniTree. Ниже описание модуля UniTree.

Для того чтобы написать админку MODX на Vue осталось сделать менеджер файлов. Но пока он нам, к сожалению, не нужен и админка на Vue откладывается. Может к концу года понадобится.
Компоненты gtsAPI и PVTables я делаю в первую очередь для нас. В них реализовано то, что нам нужно. Но так как это базовые вещи для АПИ сайта на MODX, то может кому-то пригодиться и я их выкладываю.
demo UniTree. Ниже описание модуля UniTree.
pbAuth — мощная система авторизации, регистрации и управления профилем для PageBlocks
pbAuth — это готовый пакет аутентификации для PageBlocks, построенный на контроллерах. Он позволяет быстро внедрить регистрацию, вход, восстановление пароля и управление профилем пользователя без лишней рутины. Все маршруты, формы и ответы легко кастомизируются.

Возможности:

Возможности:
- Авторизация и регистрация через POST-запросы
- Восстановление и смена пароля
- Профиль пользователя с редактированием данных
- Валидация и вывод ошибок через Fenom
- Поддержка CSRF и flash-сообщений
- Расширяемые контроллеры и шаблоны