Из чего состоит плагин

Материал из 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 это имена поддерживаемых на данный момент тем.



Другие файлы


Любые другие файлы, например, обработчики заданий крон и прочие вспомогательные скрипты, можно размещать где угодно. Панель управления никак не работает с ними напрямую и, следовательно, не налагает никаких ограничений.

Была ли эта информация полезной? Да | Нет
Личные инструменты