Plug-in structure

From ISPWiki

Jump to: navigation, search

Description


A plug-in must have an xml-description. This is a file located in the /usr/local/ispmgr/etc/ directory, which name should be as follows

MGR_mod_XXXXXXX.xml
  • MGR is an internal name of a control panel that will be used to process a plug-in. It may have the following values:
    • ispmgr - ISPmanager
    • billmgr - BILLmanager
    • vdsmgr - VDSmanager
    • dsmgr - DSmanager
    • dnsmgr - DNSmanager
    • ipmgr - IPmanager
  • XXXXXXX - random name, normally it describes what a plug-in does.

An xml description file describes interfaces, texts and script-handlers. More information can be found in the article XML. This file can also include information about a plug-in.


Script-handlers


Very often descriptions may be insufficient to accomplish your goals, that's why plug-ins contain one or several script-handlers that are executed when a control panel perform an action. The xml description file describes events and actions that make a script to be executed. All the script-handlers need to be located in the directory

/usr/local/ispmgr/addon/

They should have privileges 0700 (other must not have any privileges) and belong to the user who runs the control panel,normally root (note that this can be another user in BILLmanager that is installed on a virtual hosting).

Script handlers should receive and return data according to specific rules depending on the type provided in description.


CGI-scripts


Sometimes plug-ins need to form random data that is not processed by the control panel, thus you should use CGI-scripts that should be located in the directory

/usr/local/ispmgr/cgi/

To describe the call of this script in the interface, provide something like this:

<toolbtn func="PrintMyData()" type="func" img="t-print" name="print"/>
...
<jscript>
   function PrintMyData() {
     window.open('/mancgi/printmydata')
   }
</jscript>



Icons


You may use custom icons for your functions. Place them into the following directories

/usr/local/ispmgr/skins/sirius/
/usr/local/ispmgr/skins/mobile/

sirius and mobile are the names of the currently available control panel's themes.


Other files


Other files, for example, cron job handlers, can be located in any place you like, because a control panel does not work with them directly.

Was this helpful? Yes | No
Views
Personal tools