From a3644638aaf0418598196a870204e0b632a4c8ad Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <thomas@roundcube.net> Date: Fri, 17 Apr 2015 06:28:40 -0400 Subject: [PATCH] Allow preference sections to define CSS class names --- plugins/password/password.php | 46 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 36 insertions(+), 10 deletions(-) diff --git a/plugins/password/password.php b/plugins/password/password.php index 9bf0201..9239cd0 100644 --- a/plugins/password/password.php +++ b/plugins/password/password.php @@ -57,6 +57,8 @@ return; } + $this->add_texts('localization/'); + $this->add_hook('settings_actions', array($this, 'settings_actions')); $this->register_action('plugin.password', array($this, 'password_init')); @@ -75,13 +77,19 @@ function settings_actions($args) { // register as settings action - $args['actions'][] = array('action' => 'plugin.password', 'class' => 'password', 'label' => 'password', 'domain' => 'password'); + $args['actions'][] = array( + 'action' => 'plugin.password', + 'class' => 'password', + 'label' => 'password', + 'title' => 'changepasswd', + 'domain' => 'password', + ); + return $args; } function password_init() { - $this->add_texts('localization/'); $this->register_handler('plugin.body', array($this, 'password_form')); $rcmail = rcmail::get_instance(); @@ -96,7 +104,6 @@ function password_save() { - $this->add_texts('localization/'); $this->register_handler('plugin.body', array($this, 'password_form')); $rcmail = rcmail::get_instance(); @@ -219,22 +226,41 @@ $table->add('title', html::label($field_id, rcube::Q($this->gettext('confpasswd')))); $table->add(null, $input_confpasswd->show()); + $rules = ''; + + $required_length = intval($rcmail->config->get('password_minimum_length')); + if ($required_length > 0) { + $rules .= html::tag('li', array('id' => 'required-length'), $this->gettext(array( + 'name' => 'passwordshort', + 'vars' => array('length' => $required_length) + ))); + } + + if ($rcmail->config->get('password_require_nonalpha')) { + $rules .= html::tag('li', array('id' => 'require-nonalpha'), $this->gettext('passwordweak')); + } + + if (!empty($rules)) { + $rules = html::tag('ul', array('id' => 'ruleslist'), $rules); + } + $out = html::div(array('class' => 'box'), html::div(array('id' => 'prefs-title', 'class' => 'boxtitle'), $this->gettext('changepasswd')) . html::div(array('class' => 'boxcontent'), $table->show() . + $rules . html::p(null, $rcmail->output->button(array( 'command' => 'plugin.password-save', - 'type' => 'input', - 'class' => 'button mainaction', - 'label' => 'save' + 'type' => 'input', + 'class' => 'button mainaction', + 'label' => 'save' ))))); $rcmail->output->add_gui_object('passform', 'password-form'); return $rcmail->output->form_tag(array( - 'id' => 'password-form', - 'name' => 'password-form', + 'id' => 'password-form', + 'name' => 'password-form', 'method' => 'post', 'action' => './?_task=settings&_action=plugin.password-save', ), $out); @@ -280,10 +306,10 @@ switch ($result) { case PASSWORD_SUCCESS: return; - case PASSWORD_CRYPT_ERROR; + case PASSWORD_CRYPT_ERROR: $reason = $this->gettext('crypterror'); break; - case PASSWORD_CONNECT_ERROR; + case PASSWORD_CONNECT_ERROR: $reason = $this->gettext('connecterror'); break; case PASSWORD_ERROR: -- Gitblit v1.9.1