From ae39c47c3a07f9a9334c9676829fd948d682ffbd Mon Sep 17 00:00:00 2001 From: thomascube Date: Tue, 1 Mar 2011 21:58:54 +0000 Subject: New config option for custom logo; allow skins to define/override texts --- CHANGELOG | 2 ++ config/main.inc.php.dist | 4 ++++ program/include/rcmail.php | 4 ++++ program/include/rcube_template.php | 9 ++++++++- skins/default/includes/header.html | 2 +- skins/default/templates/login.html | 2 +- 6 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 0d7d39476..5687ca14b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ CHANGELOG Roundcube Webmail =========================== +- New config option for custom logo +- Allow skins to define/override texts with - Add simple ACL rights/namespace handling in folder manager - Fix parsing links with non-printable characters inside (#1487805) - Force IE to send referers (#1487806) diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index db029f152..cdec12715 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -199,6 +199,10 @@ $rcmail_config['login_lc'] = false; // set to false if only registered users can use this service $rcmail_config['auto_create_user'] = true; +// replace Roundcube logo with this image +// specify an URL relative to the document root of this Roundcube installation +$rcmail_config['skin_logo'] = null; + // Includes should be interpreted as PHP files $rcmail_config['skin_include_php'] = false; diff --git a/program/include/rcmail.php b/program/include/rcmail.php index 319e53cc0..980efe43d 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -874,6 +874,10 @@ class rcmail $nr = is_numeric($attrib['nr']) ? $attrib['nr'] : 1; $name = $attrib['name'] ? $attrib['name'] : ''; + + // attrib contain text values: use them from now + if (($setval = $attrib[strtolower($_SESSION['language'])]) || ($setval = $attrib['en_us'])) + $this->texts[$name] = $setval; // check for text with domain if ($domain && ($text_item = $this->texts[$domain.'.'.$name])) diff --git a/program/include/rcube_template.php b/program/include/rcube_template.php index 11c290a16..c4b7a4426 100755 --- a/program/include/rcube_template.php +++ b/program/include/rcube_template.php @@ -658,7 +658,8 @@ class rcube_template extends rcube_html_page // show a label case 'label': if ($attrib['name'] || $attrib['command']) { - return Q(rcube_label($attrib + array('vars' => array('product' => $this->config['product_name'])))); + $label = rcube_label($attrib + array('vars' => array('product' => $this->config['product_name']))); + return !$attrbi['noshow'] ? Q($label) : ''; } break; @@ -709,6 +710,12 @@ class rcube_template extends rcube_html_page else if (function_exists($handler)) { $content = call_user_func($handler, $attrib); } + else if ($object == 'logo') { + $attrib += array('alt' => $this->xml_command(array('', 'object', 'name="productname"'))); + if ($this->config['skin_logo']) + $attrib['src'] = $this->config['skin_logo']; + $content = html::img($attrib); + } else if ($object == 'productname') { $name = !empty($this->config['product_name']) ? $this->config['product_name'] : 'Roundcube Webmail'; $content = Q($name); diff --git a/skins/default/includes/header.html b/skins/default/includes/header.html index 393ee9218..37db1e8ca 100644 --- a/skins/default/includes/header.html +++ b/skins/default/includes/header.html @@ -1,3 +1,3 @@ - + diff --git a/skins/default/templates/login.html b/skins/default/templates/login.html index a315557bf..7fb4370ca 100644 --- a/skins/default/templates/login.html +++ b/skins/default/templates/login.html @@ -7,7 +7,7 @@ - +