| Version 8 (modified by thomasb, 4 years ago) (diff) |
|---|
Available Plugin Hooks
The registered callback function receives a hash array as single argument which contains hook specific data (called Arguments in the following list). It can then alter some of these values (listed as Return values) by returning a hash array containing the modified values.
Global Hooks
startup
When the application is initialized.
This is the place where task and action arguments can be altered.
Arguments:
task, action
Return values:
task, action
authenticate
Before the user login on the IMAP server is performed.
Arguments:
host, user
Return values:
host, user, pass
create_user
When a somebody logs in the first time and a local user is created. Return values will also be used to create the default identity for this new user.
Arguments:
user, user_name, user_email
Return values:
user_name, user_email
list_mailboxes
Triggered whenever a list of the mailboxes is requested from the IMAP class. If no plugin returns a list, the default list is retrieved.
Arguments:
root, filter
Return values:
folders: Folders list to be used
Task "mail"
imap_init
This hook allows you to configure some IMAP communications options.
Arguments:
fetch_headers: String appended to the FETCH HEADER.FIELDS () list
Return values:
fetch_headers: String with additional headers to be fetched (separated by space)
message_part_before
Triggered before a message part (text or html) is cleaned/formatted.
Arguments:
type, body, safe, plain, inline_html
Return values:
type, body, safe, plain, inline_html
message_part_after
After message text part formatting.
Arguments:
type, body, safe, plain, inline_html
Return values:
body
message_headers_output
Triggered when building the message headers table for display.
If you want to add more headers, you need to fetch them at the imap_init hook.
Arguments:
output: Hash array with all the headers to be put into the html table headers: Message headers object
Return values:
output: Altered headers array
outgoing_message_headers
Before a mail message is sent, this hooks allows you to set additional mail headers.
Arguments:
headers: Hash array with current message headers
Return values:
headers
outgoing_message_body
Before a mail message is composed, this hooks is triggered before assing the message body contents.
Arguments:
body: The message body to be added type: html|plain|alternative message: Reference to current MailMime? object
Return values:
body
Task "addressbook"
TBD.
Task "settings"
manage_folders
Allows a plugin to modify the main table on the manage folders screen
Arguments:
table: reference to an html_table object
Return values:
none
save_preferences
Allows a plugin to inject data into the array of preferences about to be saved
Arguments:
prefs
Return values:
prefs
user_preferences_server_settings
Allows a plugin to modify the user preferences server settings table
Arguments:
table (reference to an html_table object)
Return values:
none
Template Hooks
The RoundCube skin retrieves certain parts (e.g. message list, folders list, etc.) from the application with special tags within the HTML templates: <roundcube:object name="someobject" ... />. Template hooks are triggered once a template object is rendered. A plugin can alter or extend the html content of a template object.
The hooks are named template_object_* where * is the name of the object. A list of all available template objects is given in Doc_TemplateObjects?.
Arguments:
content, [tag attributes]
Return values:
content
