Как стать автором
Обновить

PHP-консоль под MODx Revolution

Время на прочтение2 мин
Количество просмотров9.2K
Продолжая статью уважаемого bezumkin-а, хочу поделиться одним небольшим, но очень полезным модулем для админки MODx Revolution. Это, так сказать, Ajax-консоль для выполнения PHP-кода (само собой на стороне сервера) и вывода результатов в браузер.

P.S. Не надо лишних комментариев на счет безопасности. Если не знаете MODx Revolution, лучше вообще ничего не говорить. Так же перед постингом по безопасности читаем тут.

image


!!! Не забудьте после установки протестировать этот модель на уязвимости. Как это сделать? Попробуйте будучи не авторизованными в админке выполнить запрос типа ваш_сайт/connectors/console/console.php?action=exec&code=какой-либоКод
Если в ответ получите какой-либо результат, заморачивайтесь дополнительной защитой в этом коннектор-файле. У меня Рево 2.1.3, никаких дополнительных хаков не потребовалось.

Зачем он? В работе с сайтом постоянно возникают различные мелкие необходимости: пачку документов обновить, или пройтись по разделу и для каждого документа создать дочерний и т.п. Так вот, это как правило всего несколько строк кода, и для выполнения этого небольшого кода больше времени уходит на создание файла-обработчика.
Теперь эти запросы можно легко выполнять прям из админки.

Как создавать компоненты, описано в вышеупомянутой статье. Файлы данного компонента можно скачать тут.

Итак, если вы не меняли файловой структуры своего сайта, заливайте файлы как есть из этого архива, создавайте новый компонент console, у компонента прописываете путь {core_path}components/console/.
Далее заходите в закладку Действия, создаете новое действие console, контроллер указываете console

image

Там же создаем новый пункт меню.

image

Все, теперь обновляйте страничку в админке и можете опробовать свой новый компонент.
По-хорошему, надо бы это все оформить в установочный пакет (кто-нибудь оформит? Кстати, можно и подробный топик написать с описанием процесса сборки пакетов), и codemirror прикрутить к нему, а так же навесить событие отправки запроса при нажатии Ctrl+Enter. Кто сделает?
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 24: ↑16 и ↓8+8
Комментарии52

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань