Installation & configuration
Please note: This page is under construction and has not been finished yet.
Introduction
Folder structure & files
The table below lists the files that can be used in a plugin. Only few of them are mandatory.
Note: Please replace the cursive plugin with the name of the plugin folder. (*menu.php, *_setup.php, *_shortcodes.php, *_sql.php).
TIP: the _blank plugin contains useful examples as reference material.
Filename / Foldername | Description | Mandatory? |
---|---|---|
languages (folder) | Contains the language files | English language files |
templates (folder) | ||
Contains all the meta data needed for the plugin to be installed and configured on a basic level. | Yes | |
No | ||
Allow to run code before or after (un)installing the plugin, or to set checks for newer plugin versions. | No | |
... | No | |
Contains the database structure. | No | |
Contains the Admin UI configuration. | No | |
e_*.php addons | No |
plugin.xml
Elements & attributes
Element | Sub | Attributes | Text / Value | Mandatory? |
---|---|---|---|---|
<e107Plugin> | Yes | |||
name | Yes | |||
version | Yes | |||
date | Yes | |||
lan | No | |||
compatibility | Yes | |||
installRequired | Yes | |||
<author> | name | Yes | ||
url | Yes | |||
Yes | ||||
<description> | Textual description of the plugin | Yes | ||
lan | LAN reference to the description | No | ||
<copyright> | Copyright text | ? | ||
<category> | Plugin category. Choose from:
- | Yes | ||
<keywords> | No | |||
| <word> | Keyword | No | |
<adminLinks> | No | |||
<link> | Yes | |||
url | URL of the link | Yes | ||
description | Description of the link | Yes | ||
icons | icon path | Yes | ||
<sitelinks> | No | |||
<link> | Link name | Yes | ||
url | URL of the link | Yes | ||
<pluginPrefs> | No | |||
<pref> | Value of the pref | Yes | ||
name | Name of the pref | Yes | ||
<dependencies> | No | |||
<plugin> | No | |||
name | Yes | |||
min_version | No | |||
<PHP> | No | |||
name | Yes (= core) | |||
min_version | Yes | |||
<MySQL> | No | |||
name | Yes (= server) | |||
min_version | Yes | |||
<extension> | No | |||
name | Yes | |||
min version | No | |||
<userClasses> | No | |||
<class> | Yes | |||
name | class_name (lowercase) | Yes | ||
description | Description of the userclass | Yes | ||
<extendedFields> | No | |||
<field> | Yes | |||
name | Name of the EUF | Yes | ||
type | Type of the EUF. Choose from:
| Yes | ||
default | Yes | |||
active | true/false | Yes |
Examples
Simple
Advanced
Commercial plugins
Commercial plugins can make use of a few extra attributes to the <e107Plugin> element, so that this information will be displayed correctly in the admin area under 👉 "Find Plugins".
Attribute | Description |
---|---|
Price | Purchasing price of the plugin (in xx.xx format). Example: 25.00 |
Currency | Currency codes (ISO 4217) Example: EUR |
URL | Direct path to the website page where the plugin can be purchased. When the user clicks to download your plugin, the URL will be displayed. |
Example
plugin_menu.php
....
plugin_setup.php
Do not forget to use your plugin name in the filename, e.g. "myplugin_setup.php"
TODO: Add this section, provide example.
plugin_shortcodes.php
Please refer to the Plugin shortcodes page
Plugin shortcodesplugin_sql.php
Do not forget to use your plugin name in the filename, e.g. "myplugin_sql.php"
This file contains the SQL database structure of the plugin. It will be analyzed on plugin install and missing tables will be installed automatically.
Any differences between the defined structure here and the table structure on the server will be detected and the user will be informed in the Admin Area.
👍TIP: To check if the table structure is still valid, run 👉"Admin Area > Tools > Database > Check for Updates"
Supported operations
For the moment, the following operations are supported:
Create table
Change field type, field size, field null or not, field default value
Add index
Unsupported operations
Operations that are currently NOT supported are:
Rename table: by renaming the tablename, e.g. "blank" > "blank2"). The renamed table will be considered as new!
Drop a table: e.g. if you remove the "blank" table definition from this file, the table will NOT be deleted from the database!)
Rename or drop a field: a renamed field will be considered new, a missing field definition will NOT be recognized at all!
Change an index/key: the change is recognized, but leads to an error message and the change is not applied.
Rename or drop an index/key: rename is recognized as a new index and the missing index is not recognized at all!)
A field definition containing "NULL DEFAULT NULL". The "Check for updates" method will always detect a change.
but fails silently when trying to update. In that case remove the first "NULL" and run the the "Check for updates" again.
👍TIP: Check the blank_setup.php file or the forum_setup.php file for examples on renaming/dropping/modifying tables, fields and indexes.
Example
admin_config.php
Please refer to the Admin-UI (User Interface) page.
Admin-UI (User Interface)Last updated