Pull to refresh

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

Reading time 2 min
Views 9.1K
Продолжая статью уважаемого 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. Кто сделает?
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+8
Comments 52
Comments Comments 52

Articles