| Version 5 (modified by ziba, 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:
a_folders
Task "mail"
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
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
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 object)
Return values:
none
save_preferences
Allows a plugin to inject data into the array of preferences about to be saved
Arguments:
a_user_prefs
Return values:
a_user_prefs
user_preferences_server_settings
Allows a plugin to modify the user preferences server settings table
Arguments:
table (reference to an html 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
