Из чего состоит плагин
Материал из ISPWiki
Описание
Любой плагин обязательно должен иметь xml-описание, это файл, расположенный в директории /usr/local/ispmgr/etc/, имя файла должно иметь следующий вид
MGR_mod_XXXXXXX.xml
- MGR - внутренние имя панели управления, которой будет обрабатываться данный плагин. Может принимать следующие значения:
- ispmgr - ISPmanager
- billmgr - BILLmanager
- vdsmgr - VDSmanager
- dsmgr - DSmanager
- dnsmgr - DNSmanager
- ipmgr - IPmanager
- XXXXXXX - любое произвольное наименование, обычно это название отражает, для чего предназначен плагин.
Файл xml-описания, описывает интерфейсы, текстовые надписи и скрипты-обработчики. Подробная информация о его формате содержится в статье XML. Также файл может содержать информацию о плагине.
Скрипты-обработчики
Очень часто решить задачи одним описанием невозможно, и плагины содержат один или несколько скриптов обработчиков, которые выполняются во время определенных действий в панели управления. При каких событиях/действиях должен выполнятся скрипт описывается в файле XML-описания. Все скрипты-обработчики должны находится в директории
/usr/local/ispmgr/addon/
Иметь права 0700 (важно, чтобы other не имел никаких прав) и принадлежать пользователю, от которого работает панель управления (обычно это root, однако, для BILLmanager, установленном на виртуальном хостинге, это может быть другой пользователь)
Скрипты обработчики должны принимать и возвращать данные согласно определенных правил в зависимости от типа, указанного в описании.
CGI-скрипты
Иногда плагинам бывает необходимо сформировать произвольные данные, никак не обрабатываемые панелью управления, для этого лучше всего воспользоваться cgi-скриптами, которые должны располагаться в директории
/usr/local/ispmgr/cgi/
Для того, чтобы описать в интерфейсе вызов такого скрипта, можно написать примерно так:
<toolbtn func="PrintMyData()" type="func" img="t-print" name="print"/>
...
<jscript>
function PrintMyData() {
window.open('/mancgi/printmydata')
}
</jscript>
Иконки
Иногда для своих функций авторы плагинов рисуют свои иконки, которые необходимо размещать в директориях
/usr/local/ispmgr/skins/sirius/ /usr/local/ispmgr/skins/mobile/
sirius и mobile это имена поддерживаемых на данный момент тем.
Другие файлы
Любые другие файлы, например, обработчики заданий крон и прочие вспомогательные скрипты, можно размещать где угодно. Панель управления никак не работает с ними напрямую и, следовательно, не налагает никаких ограничений.
