Продолжая статью уважаемого bezumkin-а, хочу поделиться одним небольшим, но очень полезным модулем для админки MODx Revolution. Это, так сказать, Ajax-консоль для выполнения PHP-кода (само собой на стороне сервера) и вывода результатов в браузер.
P.S. Не надо лишних комментариев на счет безопасности. Если не знаете MODx Revolution, лучше вообще ничего не говорить. Так же перед постингом по безопасности читаем тут.
![image](http://newpg.ru/files/screens/console/console.jpg)
!!! Не забудьте после установки протестировать этот модель на уязвимости. Как это сделать? Попробуйте будучи не авторизованными в админке выполнить запрос типа ваш_сайт/connectors/console/console.php?action=exec&code=какой-либоКод
Если в ответ получите какой-либо результат, заморачивайтесь дополнительной защитой в этом коннектор-файле. У меня Рево 2.1.3, никаких дополнительных хаков не потребовалось.
Зачем он? В работе с сайтом постоянно возникают различные мелкие необходимости: пачку документов обновить, или пройтись по разделу и для каждого документа создать дочерний и т.п. Так вот, это как правило всего несколько строк кода, и для выполнения этого небольшого кода больше времени уходит на создание файла-обработчика.
Теперь эти запросы можно легко выполнять прям из админки.
Как создавать компоненты, описано в вышеупомянутой статье. Файлы данного компонента можно скачать тут.
Итак, если вы не меняли файловой структуры своего сайта, заливайте файлы как есть из этого архива, создавайте новый компонент console, у компонента прописываете путь {core_path}components/console/.
Далее заходите в закладку Действия, создаете новое действие console, контроллер указываете console
![image](http://newpg.ru/files/screens/console/action.jpg)
Там же создаем новый пункт меню.
![image](http://newpg.ru/files/screens/console/menuItem.jpg)
Все, теперь обновляйте страничку в админке и можете опробовать свой новый компонент.
По-хорошему, надо бы это все оформить в установочный пакет (кто-нибудь оформит? Кстати, можно и подробный топик написать с описанием процесса сборки пакетов), и codemirror прикрутить к нему, а так же навесить событие отправки запроса при нажатии Ctrl+Enter. Кто сделает?
P.S. Не надо лишних комментариев на счет безопасности. Если не знаете MODx Revolution, лучше вообще ничего не говорить. Так же перед постингом по безопасности читаем тут.
![image](http://newpg.ru/files/screens/console/console.jpg)
!!! Не забудьте после установки протестировать этот модель на уязвимости. Как это сделать? Попробуйте будучи не авторизованными в админке выполнить запрос типа ваш_сайт/connectors/console/console.php?action=exec&code=какой-либоКод
Если в ответ получите какой-либо результат, заморачивайтесь дополнительной защитой в этом коннектор-файле. У меня Рево 2.1.3, никаких дополнительных хаков не потребовалось.
Зачем он? В работе с сайтом постоянно возникают различные мелкие необходимости: пачку документов обновить, или пройтись по разделу и для каждого документа создать дочерний и т.п. Так вот, это как правило всего несколько строк кода, и для выполнения этого небольшого кода больше времени уходит на создание файла-обработчика.
Теперь эти запросы можно легко выполнять прям из админки.
Как создавать компоненты, описано в вышеупомянутой статье. Файлы данного компонента можно скачать тут.
Итак, если вы не меняли файловой структуры своего сайта, заливайте файлы как есть из этого архива, создавайте новый компонент console, у компонента прописываете путь {core_path}components/console/.
Далее заходите в закладку Действия, создаете новое действие console, контроллер указываете console
![image](http://newpg.ru/files/screens/console/action.jpg)
Там же создаем новый пункт меню.
![image](http://newpg.ru/files/screens/console/menuItem.jpg)
Все, теперь обновляйте страничку в админке и можете опробовать свой новый компонент.
По-хорошему, надо бы это все оформить в установочный пакет (кто-нибудь оформит? Кстати, можно и подробный топик написать с описанием процесса сборки пакетов), и codemirror прикрутить к нему, а так же навесить событие отправки запроса при нажатии Ctrl+Enter. Кто сделает?