diff options
| author | alecpl <alec@alec.pl> | 2010-12-01 11:20:43 +0000 | 
|---|---|---|
| committer | alecpl <alec@alec.pl> | 2010-12-01 11:20:43 +0000 | 
| commit | 1cca4fbd4565245ea6bc47263db8ae02b78641e7 (patch) | |
| tree | 794d61daef07f7614f0d2e9b75bc519e95027a3e | |
| parent | 53604a0550f9940584b7e4d4260b96714ae0edbf (diff) | |
- Allow setting autocomplete attribute for all inputs separately (#1487313)
| -rw-r--r-- | CHANGELOG | 1 | ||||
| -rw-r--r-- | config/main.inc.php.dist | 5 | ||||
| -rwxr-xr-x | program/include/rcube_template.php | 16 | 
3 files changed, 16 insertions, 6 deletions
| @@ -7,6 +7,7 @@ CHANGELOG Roundcube Webmail  - Fix window is blur'ed in IE when selecting a message (#1487316)  - Fix cursor position on compose form in Webkit browsers (#1486674)  - Fix setting charset of attachment filenames (#1487122) +- Allow setting autocomplete attribute for all inputs separately (#1487313)  RELEASE 0.5-BETA  ---------------- diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index 785a20ae8..8ce605058 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -180,8 +180,9 @@ $rcmail_config['message_cache_lifetime'] = '10d';  // set the port for the ssl connection as value of this option if it differs from the default 443  $rcmail_config['force_https'] = false; -// Allow browser-autocompletion on login form -$rcmail_config['login_autocomplete'] = false; +// Allow browser-autocompletion on login form. +// 0 - disabled, 1 - username and host only, 2 - username, host, password +$rcmail_config['login_autocomplete'] = 0;  // If users authentication is not case sensitive this must be enabled.  // You can also use it to force conversion of logins to lower case. diff --git a/program/include/rcube_template.php b/program/include/rcube_template.php index 8a9eff4f5..87685671a 100755 --- a/program/include/rcube_template.php +++ b/program/include/rcube_template.php @@ -1045,7 +1045,7 @@ class rcube_template extends rcube_html_page      private function login_form($attrib)      {          $default_host = $this->config['default_host']; -        $attrib['autocomplete'] = $this->config['login_autocomplete'] ? null : 'off'; +        $autocomplete = (int) $this->config['login_autocomplete'];          $_SESSION['temp'] = true; @@ -1054,11 +1054,18 @@ class rcube_template extends rcube_html_page          if (empty($url) && !preg_match('/_(task|action)=logout/', $_SERVER['QUERY_STRING']))              $url = $_SERVER['QUERY_STRING']; -        $input_user   = new html_inputfield(array('name' => '_user', 'id' => 'rcmloginuser') + $attrib); -        $input_pass   = new html_passwordfield(array('name' => '_pass', 'id' => 'rcmloginpwd') + $attrib); +        // set atocomplete attribute +        $user_attrib = $autocomplete > 0 ? array() : array('autocomplete' => 'off'); +        $host_attrib = $autocomplete > 0 ? array() : array('autocomplete' => 'off'); +        $pass_attrib = $autocomplete > 1 ? array() : array('autocomplete' => 'off'); +          $input_action = new html_hiddenfield(array('name' => '_action', 'value' => 'login'));          $input_tzone  = new html_hiddenfield(array('name' => '_timezone', 'id' => 'rcmlogintz', 'value' => '_default_'));          $input_url    = new html_hiddenfield(array('name' => '_url', 'id' => 'rcmloginurl', 'value' => $url)); +        $input_user   = new html_inputfield(array('name' => '_user', 'id' => 'rcmloginuser') +            + $attrib + $user_attrib); +        $input_pass   = new html_passwordfield(array('name' => '_pass', 'id' => 'rcmloginpwd') +            + $attrib + $pass_attrib);          $input_host   = null;          if (is_array($default_host) && count($default_host) > 1) { @@ -1080,7 +1087,8 @@ class rcube_template extends rcube_html_page                  'name' => '_host', 'id' => 'rcmloginhost', 'value' => $host) + $attrib);          }          else if (empty($default_host)) { -            $input_host = new html_inputfield(array('name' => '_host', 'id' => 'rcmloginhost') + $attrib); +            $input_host = new html_inputfield(array('name' => '_host', 'id' => 'rcmloginhost') +                + $attrib + $host_attrib);          }          $form_name  = !empty($attrib['form']) ? $attrib['form'] : 'form'; | 
