diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-11-16 10:42:57 -0800 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-11-16 10:42:57 -0800 |
commit | 657864a29c96b15069a304693cc557b1d9b27b1c (patch) | |
tree | 379704fda7918939f40ad03fd3d17fb24c3649b7 | |
parent | dd759730b0d2e7ac75e2011997e6cb654065590a (diff) | |
parent | 204e1e03e9cd6a9007e4fc7ff4202b09dc9ea2b2 (diff) |
Merge pull request #42 from NETLINK/patch-1
Add option to define IMAP hosts that support password changes
-rw-r--r-- | plugins/password/config.inc.php.dist | 9 | ||||
-rw-r--r-- | plugins/password/password.php | 8 |
2 files changed, 16 insertions, 1 deletions
diff --git a/plugins/password/config.inc.php.dist b/plugins/password/config.inc.php.dist index 8d7b433af..db5c47b02 100644 --- a/plugins/password/config.inc.php.dist +++ b/plugins/password/config.inc.php.dist @@ -1,5 +1,14 @@ <?php +// Supported hosts +// ----------------------- +// Array of hosts that support password changing. +// Default is NULL. Supported hosts will feature +// a Password option in Settings; others will not. +// Example: +//$rcmail_config['password_supported_hosts'] = array( 'mail.example.com', 'mail2.example.org' ); +$rcmail_config['password_supported_hosts'] = NULL; + // Password Plugin options // ----------------------- // A driver to use for password change. Default: "sql". diff --git a/plugins/password/password.php b/plugins/password/password.php index e795d115f..cd0f5f1e0 100644 --- a/plugins/password/password.php +++ b/plugins/password/password.php @@ -3,7 +3,7 @@ /* +-------------------------------------------------------------------------+ | Password Plugin for Roundcube | - | @version @package_version@ | + | @version @package_version@ | | | | Copyright (C) 2009-2010, Roundcube Dev. | | | @@ -55,6 +55,12 @@ class password extends rcube_plugin $rcmail = rcmail::get_instance(); $this->load_config(); + + $host = isset( $_SESSION['imap_host'] ) ? $_SESSION['imap_host'] : NULL; + $hosts = $rcmail->config->get( 'password_supported_hosts' ); + if ( !empty( $hosts ) and !in_array( $host, $hosts ) ) { + return; + } // Exceptions list if ($exceptions = $rcmail->config->get('password_login_exceptions')) { |