3 часа назад
Оба вариант что выше, не работают)))
перегенерировал
<style>
.cookie-message {
position: fixed;
z-...
Плашка о использовании cookie файлов на сайте 2
Вчера в 16:19
Данная версия будет бесплатной всегда, задумывал ее как базовую версию. Я скоро выпушу платный вариант с расширенным функционалом, где будет возможнос...
IskWaf - Простой Web Application Firewall для MODX 3
Вчера в 10:09
Подскажите, пожалуйста, кто-то решил данную задачу? Актуально, не могу придумать как… ((((
Как скрыть пустые категории MiniShop2? 2
28 мая 2025, 17:44
Данная проблема была на двух сайтах на reg.ru около 2 месяцев назад, высокая нагрузка на ЦП, решалось удалением папок и файлов observer, через top нах...
Вирусы майнеры 31
27 мая 2025, 15:45
Решение: В контроль доступа был добавлен контекст web с правами «Load Only».
При этом содержимое контекста не появилось в списке
Редактор страницы ckeditor 1.4.7-ce от modstore.pro 1
27 мая 2025, 10:40
Это нормальное поведение, оно связано с тем, как работает MODX и кеширование в нем.
Если было бы так: то, допустим у нас есть товар и мы сбросим то...
При сохранении ресурса происходит глобальный сброс кэша 2
26 мая 2025, 13:13
Максим, вопросы нужно задавать в разделе вопросы, а не забивать в одно лицо комментами новостную публикацию. Если тебе так проще заведи заметку «Осваи...
[MiniShop3] - Новости, Планы 32
Смысл же в том, чтобы сравнить свои файлы с эталонными на предмет изменений. Файлы ядра меняться не должны.
В идеале вообще автоматизировать и качать всё новое бесплатное из репозитория MODX / modstore, распаковывать и забивать в БД:
— название: MODX или дополнение
— версия дистрибутива
— путь к файлу
— sha1 хэш файла
Подкидываю альтернативную идею, если интересно — проверять версию MODX (или брать из настроек), скачивать соответствующий дистрибутив, и проверять хэши файлов сайта по файлам дистрибутива.
То есть, берём оригинальные файлы index.php в connectors, manager и корне, а так же файлы из core — и проверяем, чтобы все они присутствовали на сайте с оригинальным хэшем.
Если все основные файлы не изменены, то сайт не заражён и должен работать корректно.
Правда, есть еще возможность заражения только файлов дополнений, без ядра. Наверное, можно и их сверять с дистрибутивами из репозитория по той же логике — скачать нужную версию и сравнить хэши…
Кстати, вот вам еще идея — создать онлайн базу для проверки хэшей файлов MODX и дополнений через API. Чтобы простые GET запросы, типа /api/hash/modx/2.8.1/core/model/modx.class.php возвращали sha1 хэш запрошенного файла или 404.
Конечно, это не спасёт от уже залитых шеллов и вредоносов, но они не будут запускаться через сайт. А если запустятся и что-то изменят, то следующая проверка это покажет. И если раз за разом файлы будут меняться — то можно уже более внимательно искать, что там такое у вас залито.
Это чисто proof of concept, для реальной работы не предназначено, просто доказательство возможности такой работы.
Никого ни к чему не призываю, просто для информации.
Но в некоторых mmx-приложениях используется vesp/core для работы API, а у него внутри slim/slim — так что за фреймворками далеко ходить не надо, всё уже под рукой.
После работы с ним к xPDO возвращаться нет никакого желания. Да и смысла нет.
Всё, чему ты научишься в xPDO за пределами MODX никому не надо. Eloquent для разработчика гораздо полезнее.
Есть же заготовка — просто используй.
А я использую в production образы и хост одной и той же системы — Ubuntu (Debian), поэтому всё работает от одного юзера www-data. А на локальной MacOS проблемы с правами и вовсе нет.
Скорее всего, MODX просто не может создать директорию с кэшем из-за прав, да.
Спасибо на добром слове, планирую продолжать!
Обновляйся на версию 1.2.1
Судя по коду ты их просто положил в namespace MODX, так что да, так тоже работает.
Дело в том, что при переходе в addModifier здесь, мы попадём в фасад, а не в класс \Fenom, где этот метод и объявлен:
И это жутко бесит, когда пытаешь проследить логику работы.
Уж лучше вызывать нормально класс и подписывать его комментарием, зато никаких проблем с навигацией через IDE.
По моему, это гораздо проще и удобнее, чем городить фасады.
Но, в любом случае, спасибо за заметку. Кому-то, может, такое наоборот удобнее.
Ничего удалять не надо, просто добавляешь разрешение менять версии уже установленных пакетов ключом -W, что означает --with-all-dependencies.
Это не ошибка, там нет никаких ошибок. Он просто не может разрешить зависимость автоматически и просит тебя указать ему явно разрешение:
Просто потому, что можно или 1ю, или 2ю. Никаких особых требований нет, поэтому Composer выбрал версию 2.
Затем ты требуешь установить mmx/fenom — и тебе говорят, что для этого надо изменить зафиксированную версию psr/container.
Как это сделать тебе говорят чуть ниже:
Просто разреши даунгрейднуть версию ключом:
Всё устанавливается, только что проверил на modhost.pro
Получается 3 простых выборки, без join.
Сначала выбирается ресурс, потом значения его ТВ из нужной категории, а затем добираются основные свойства этих ТВ.
Eloquent собирает все данные вложенными массивами в итоговый результат:
Дальше можно перебирать результат на Fenom со всеми проверками на пустоту и прочее.
и всё должно работать.