From ae39c47c3a07f9a9334c9676829fd948d682ffbd Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 01 Mar 2011 16:58:54 -0500
Subject: [PATCH] New config option for custom logo; allow skins to define/override texts
---
CHANGELOG | 2 ++
program/include/rcmail.php | 4 ++++
skins/default/templates/login.html | 2 +-
skins/default/includes/header.html | 2 +-
config/main.inc.php.dist | 4 ++++
program/include/rcube_template.php | 9 ++++++++-
6 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 0d7d394..5687ca1 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 <roundcube:label />
- 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 db029f1..cdec127 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -199,6 +199,10 @@
// 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 319e53c..980efe4 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -874,6 +874,10 @@
$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 11c290a..c4b7a44 100755
--- a/program/include/rcube_template.php
+++ b/program/include/rcube_template.php
@@ -658,7 +658,8 @@
// 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 @@
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 393ee92..37db1e8 100644
--- a/skins/default/includes/header.html
+++ b/skins/default/includes/header.html
@@ -1,3 +1,3 @@
-<div id="header"><a href="./"><img id="logo" src="/images/roundcube_logo.png" alt="logo" title="<roundcube:object name='productname' />" /></a></div>
+<div id="header"><a href="./"><roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" alt="Logo" /></a></div>
<roundcube:object name="message" id="message" />
diff --git a/skins/default/templates/login.html b/skins/default/templates/login.html
index a315557..7fb4370 100644
--- a/skins/default/templates/login.html
+++ b/skins/default/templates/login.html
@@ -7,7 +7,7 @@
</head>
<body>
-<img id="logo" src="/images/roundcube_logo.png" border="0" alt="<roundcube:object name='productname' />" style="margin:0 11px" />
+<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" style="margin:0 11px" />
<roundcube:object name="message" id="message" />
--
Gitblit v1.9.1