summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2013-09-28 12:04:35 +0200
committerThomas Bruederli <thomas@roundcube.net>2013-09-28 12:04:35 +0200
commitcf46aefd9d8be57722514ab0b6047fa573f46a36 (patch)
treeb7d6b8a4c00e4cace033b449e783b97b91e4e1d8
parentc49c35ca0fdd4d3972748a8846c0c71f50c80b16 (diff)
Make password plugin use the new 'settings_actions' hook to register its link in the settings navigation
-rw-r--r--plugins/password/password.js7
-rw-r--r--plugins/password/password.php10
2 files changed, 9 insertions, 8 deletions
diff --git a/plugins/password/password.js b/plugins/password/password.js
index a060fc334..12c9074ff 100644
--- a/plugins/password/password.js
+++ b/plugins/password/password.js
@@ -5,13 +5,8 @@
if (window.rcmail) {
rcmail.addEventListener('init', function(evt) {
- // <span id="settingstabdefault" class="tablink"><roundcube:button command="preferences" type="link" label="preferences" title="editpreferences" /></span>
- var tab = $('<span>').attr('id', 'settingstabpluginpassword').addClass('tablink password');
- var button = $('<a>').attr('href', rcmail.env.comm_path+'&_action=plugin.password')
- .html(rcmail.gettext('password')).appendTo(tab);
- // add button and register commands
- rcmail.add_element(tab, 'tabs');
+ // register command handler
rcmail.register_command('plugin.password-save', function() {
var input_curpasswd = rcube_find_object('_curpasswd');
var input_newpasswd = rcube_find_object('_newpasswd');
diff --git a/plugins/password/password.php b/plugins/password/password.php
index f1a3e17b9..e31613ab1 100644
--- a/plugins/password/password.php
+++ b/plugins/password/password.php
@@ -69,13 +69,19 @@ class password extends rcube_plugin
}
}
- // add Tab label
- $rcmail->output->add_label('password');
+ $this->add_hook('settings_actions', array($this, 'settings_actions'));
$this->register_action('plugin.password', array($this, 'password_init'));
$this->register_action('plugin.password-save', array($this, 'password_save'));
$this->include_script('password.js');
}
+ function settings_actions($args)
+ {
+ // register as settings action
+ $args['actions'][] = array('action' => 'plugin.password', 'class' => 'password', 'label' => 'password', 'domain' => 'password');
+ return $args;
+ }
+
function password_init()
{
$this->add_texts('localization/');