summaryrefslogtreecommitdiff
path: root/program/include
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2010-07-30 06:34:02 +0000
committeralecpl <alec@alec.pl>2010-07-30 06:34:02 +0000
commite6ce0062f2331b8756cc91944ceaea8d7cbffd18 (patch)
tree1005f3248c2dc0eb12a7587c19c2bf5181ac7fc8 /program/include
parentee09d464a86a75958e1b61f230e0f0294e929a7e (diff)
- Unify hooks names, see rcube_plugin_api::deprecated_hooks for complete list (old names are supported without errors nor warnings)
Diffstat (limited to 'program/include')
-rw-r--r--program/include/rcmail.php6
-rw-r--r--program/include/rcube_imap.php4
-rw-r--r--program/include/rcube_plugin_api.php38
-rw-r--r--program/include/rcube_user.php4
4 files changed, 44 insertions, 8 deletions
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 3fa2fa2cc..5ca25df80 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -255,7 +255,7 @@ class rcmail
$ldap_config = (array)$this->config->get('ldap_public');
$abook_type = strtolower($this->config->get('address_book_type'));
- $plugin = $this->plugins->exec_hook('get_address_book', array('id' => $id, 'writeable' => $writeable));
+ $plugin = $this->plugins->exec_hook('addressbook_get', array('id' => $id, 'writeable' => $writeable));
// plugin returned instance of a rcube_addressbook
if ($plugin['instance'] instanceof rcube_addressbook) {
@@ -321,7 +321,7 @@ class rcmail
);
}
- $plugin = $this->plugins->exec_hook('address_sources', array('sources' => $list));
+ $plugin = $this->plugins->exec_hook('addressbooks_list', array('sources' => $list));
$list = $plugin['sources'];
if ($writeable && !empty($list)) {
@@ -928,7 +928,7 @@ class rcmail
*/
public function kill_session()
{
- $this->plugins->exec_hook('kill_session');
+ $this->plugins->exec_hook('session_destroy');
$this->session->remove();
$_SESSION = array('language' => $this->user->language, 'auth_time' => time(), 'temp' => true);
diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index d6a549d10..9c3653120 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -2589,7 +2589,7 @@ class rcube_imap
$a_defaults = $a_out = array();
// Give plugins a chance to provide a list of mailboxes
- $data = rcmail::get_instance()->plugins->exec_hook('list_mailboxes',
+ $data = rcmail::get_instance()->plugins->exec_hook('mailboxes_list',
array('root' => $root, 'filter' => $filter, 'mode' => 'LSUB'));
if (isset($data['folders'])) {
@@ -2620,7 +2620,7 @@ class rcube_imap
function list_unsubscribed($root='', $filter='*')
{
// Give plugins a chance to provide a list of mailboxes
- $data = rcmail::get_instance()->plugins->exec_hook('list_mailboxes',
+ $data = rcmail::get_instance()->plugins->exec_hook('mailboxes_list',
array('root' => $root, 'filter' => $filter, 'mode' => 'LIST'));
if (isset($data['folders'])) {
diff --git a/program/include/rcube_plugin_api.php b/program/include/rcube_plugin_api.php
index 123c56a45..7fe0d4f34 100644
--- a/program/include/rcube_plugin_api.php
+++ b/program/include/rcube_plugin_api.php
@@ -43,6 +43,33 @@ class rcube_plugin_api
private $required_plugins = array('filesystem_attachments');
private $active_hook = false;
+ // Deprecated names of hooks, will be removed after 0.5-stable release
+ private $deprecated_hooks = array(
+ 'create_user' => 'user_create',
+ 'kill_session' => 'session_destroy',
+ 'upload_attachment' => 'attachment_upload',
+ 'save_attachment' => 'attachment_save',
+ 'get_attachment' => 'attachment_get',
+ 'cleanup_attachments' => 'attachments_cleanup',
+ 'display_attachment' => 'attachment_display',
+ 'remove_attachment' => 'attachment_delete',
+ 'outgoing_message_headers' => 'message_outgoing_headers',
+ 'outgoing_message_body' => 'message_outgoing_body',
+ 'address_sources' => 'addressbooks_list',
+ 'get_address_book' => 'addressbook_get',
+ 'create_contact' => 'contact_create',
+ 'save_contact' => 'contact_save',
+ 'delete_contact' => 'contact_delete',
+ 'manage_folders' => 'folders_list',
+ 'list_mailboxes' => 'mailboxes_list',
+ 'save_preferences' => 'preferences_save',
+ 'user_preferences' => 'preferences_list',
+ 'list_prefs_sections' => 'preferences_sections_list',
+ 'list_identities' => 'identities_list',
+ 'create_identity' => 'identity_create',
+ 'save_identity' => 'identity_save',
+ );
+
/**
* This implements the 'singleton' design pattern
*
@@ -164,8 +191,17 @@ class rcube_plugin_api
*/
public function register_hook($hook, $callback)
{
- if (is_callable($callback))
+ if (is_callable($callback)) {
+ if (isset($this->deprecated_hooks[$hook])) {
+ /* Uncoment after 0.4-stable release
+ raise_error(array('code' => 522, 'type' => 'php',
+ 'file' => __FILE__, 'line' => __LINE__,
+ 'message' => "Deprecated hook name. ".$hook.' -> '.$this->deprecated_hooks[$hook]), true, false);
+ */
+ $hook = $this->deprecated_hooks[$hook];
+ }
$this->handlers[$hook][] = $callback;
+ }
else
raise_error(array('code' => 521, 'type' => 'php',
'file' => __FILE__, 'line' => __LINE__,
diff --git a/program/include/rcube_user.php b/program/include/rcube_user.php
index b1263ca02..22ec38d2e 100644
--- a/program/include/rcube_user.php
+++ b/program/include/rcube_user.php
@@ -385,7 +385,7 @@ class rcube_user
$user_email = is_array($email_list[0]) ? $email_list[0]['email'] : $email_list[0];
}
- $data = $rcmail->plugins->exec_hook('create_user',
+ $data = $rcmail->plugins->exec_hook('user_create',
array('user'=>$user, 'user_name'=>$user_name, 'user_email'=>$user_email));
// plugin aborted this operation
@@ -444,7 +444,7 @@ class rcube_user
$record['user_id'] = $user_id;
$record['standard'] = $standard;
- $plugin = $rcmail->plugins->exec_hook('create_identity',
+ $plugin = $rcmail->plugins->exec_hook('identity_create',
array('login' => true, 'record' => $record));
if (!$plugin['abort'] && $plugin['record']['email']) {