Skip to content

Commit

Permalink
Allow plugin templates to include local files (#1487133); make autoco…
Browse files Browse the repository at this point in the history
…mplete on login screen configurable
  • Loading branch information
thomascube committed Nov 24, 2010
1 parent 576b330 commit fbe24e9
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
3 changes: 3 additions & 0 deletions config/main.inc.php.dist
Expand Up @@ -180,6 +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;

// automatically create a new Roundcube user when log-in the first time.
// a new user will be created once the IMAP login succeeds.
// set to false if only registered users can use this service
Expand Down
11 changes: 8 additions & 3 deletions program/include/rcube_template.php
Expand Up @@ -37,6 +37,7 @@ class rcube_template extends rcube_html_page
private $js_env = array();
private $js_commands = array();
private $object_handlers = array();
private $plugin_skin_path;

public $browser;
public $framed = false;
Expand Down Expand Up @@ -373,16 +374,17 @@ private function parse($name = 'main', $exit = true)
{
$skin_path = $this->config['skin_path'];
$plugin = false;
$this->plugin_skin_path = null;

$temp = explode(".", $name, 2);
if (count($temp) > 1) {
$plugin = $temp[0];
$name = $temp[1];
$skin_dir = $plugin . '/skins/' . $this->config['skin'];
$skin_path = $this->app->plugins->dir . $skin_dir;
$skin_path = $this->plugin_skin_path = $this->app->plugins->dir . $skin_dir;
if (!is_dir($skin_path)) { // fallback to default skin
$skin_dir = $plugin . '/skins/default';
$skin_path = $this->app->plugins->dir . $skin_dir;
$skin_path = $this->plugin_skin_path = $this->app->plugins->dir . $skin_dir;
}
}

Expand Down Expand Up @@ -664,7 +666,9 @@ private function xml_command($matches)

// include a file
case 'include':
$path = realpath($this->config['skin_path'].$attrib['file']);
if (!$this->plugin_skin_path || !is_file($path = realpath($this->plugin_skin_path . $attrib['file'])))
$path = realpath(($attrib['skin_path'] ? $attrib['skin_path'] : $this->config['skin_path']).$attrib['file']);

if (is_readable($path)) {
if ($this->config['skin_include_php']) {
$incl = $this->include_php($path);
Expand Down Expand Up @@ -1041,6 +1045,7 @@ public function current_username($attrib)
private function login_form($attrib)
{
$default_host = $this->config['default_host'];
$attrib['autocomplete'] = $this->config['login_autocomplete'] ? null : 'off';

$_SESSION['temp'] = true;

Expand Down
2 changes: 1 addition & 1 deletion skins/default/templates/login.html
Expand Up @@ -16,7 +16,7 @@
<div class="boxcontent">

<form name="form" action="./" method="post">
<roundcube:object name="loginform" form="form" autocomplete="off" />
<roundcube:object name="loginform" form="form" />

<p style="text-align:center;"><input type="submit" class="button mainaction" value="<roundcube:label name='login' />" /></p>

Expand Down

0 comments on commit fbe24e9

Please sign in to comment.