From a77504aeacd4516156267fe10eeca1bfffcacf87 Mon Sep 17 00:00:00 2001
From: PhilW <roundcube@tehinterweb.co.uk>
Date: Mon, 26 Aug 2013 07:22:34 -0400
Subject: [PATCH] allow different logos for different functions (eg. normal and print)
---
program/include/rcmail_output_html.php | 13 ++++++++++++-
skins/larry/templates/messageprint.html | 2 +-
skins/classic/templates/login.html | 2 +-
skins/classic/includes/header.html | 2 +-
skins/classic/templates/messageprint.html | 2 +-
skins/larry/includes/header.html | 2 +-
skins/larry/templates/login.html | 2 +-
config/defaults.inc.php | 3 +++
8 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/config/defaults.inc.php b/config/defaults.inc.php
index 54d0b1d..feed82f 100644
--- a/config/defaults.inc.php
+++ b/config/defaults.inc.php
@@ -240,6 +240,9 @@
// replace Roundcube logo with this image
// specify an URL relative to the document root of this Roundcube installation
+// an array can be used to specify different logos for different screens
+// for example array("default" => "/images/roundcube_logo.png", "print" => "/images/roundcube_logo_print.png")
+// available options: default, login, print
$config['skin_logo'] = null;
// automatically create a new Roundcube user when log-in the first time.
diff --git a/program/include/rcmail_output_html.php b/program/include/rcmail_output_html.php
index a2ec29c..39f79d1 100644
--- a/program/include/rcmail_output_html.php
+++ b/program/include/rcmail_output_html.php
@@ -924,8 +924,19 @@
}
else if ($object == 'logo') {
$attrib += array('alt' => $this->xml_command(array('', 'object', 'name="productname"')));
- if ($logo = $this->config->get('skin_logo'))
+
+ if (is_array($this->config->get('skin_logo'))) {
+ if (isset($attrib['type']) && array_key_exists($attrib['type'], $this->config->get('skin_logo'))) {
+ $attrib['src'] = $this->config->get('skin_logo')[$attrib['type']];
+ }
+ elseif (array_key_exists('default', $this->config->get('skin_logo'))) {
+ $attrib['src'] = $this->config->get('skin_logo')['default'];
+ }
+ }
+ elseif ($logo = $this->config->get('skin_logo')) {
$attrib['src'] = $logo;
+ }
+
$content = html::img($attrib);
}
else if ($object == 'productname') {
diff --git a/skins/classic/includes/header.html b/skins/classic/includes/header.html
index 08d777a..962e4dd 100644
--- a/skins/classic/includes/header.html
+++ b/skins/classic/includes/header.html
@@ -1,2 +1,2 @@
-<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" onclick="location.href='./?_page=1'" />
+<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" onclick="location.href='./?_page=1'" type="default" />
<roundcube:object name="message" id="message" />
diff --git a/skins/classic/templates/login.html b/skins/classic/templates/login.html
index 2dacd48..ece8f04 100644
--- a/skins/classic/templates/login.html
+++ b/skins/classic/templates/login.html
@@ -7,7 +7,7 @@
</head>
<body>
-<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" style="margin:0 11px" />
+<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" style="margin:0 11px" type="login" />
<roundcube:object name="message" id="message" />
diff --git a/skins/classic/templates/messageprint.html b/skins/classic/templates/messageprint.html
index fa7822a..97049d2 100644
--- a/skins/classic/templates/messageprint.html
+++ b/skins/classic/templates/messageprint.html
@@ -7,7 +7,7 @@
</head>
<body>
-<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" />
+<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" border="0" type="print" />
<div id="printmessageframe">
<roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" />
diff --git a/skins/larry/includes/header.html b/skins/larry/includes/header.html
index 5a934d8..35ce837 100644
--- a/skins/larry/includes/header.html
+++ b/skins/larry/includes/header.html
@@ -29,7 +29,7 @@
<roundcube:button command="logout" label="logout" class="button-logout" classSel="button-logout" innerClass="button-inner" />
<span class="minmodetoggle"></span>
</div>
- <roundcube:object name="logo" src="/images/roundcube_logo.png" id="toplogo" alt="Logo" onclick="rcmail.command('switch-task','mail');return false;" />
+ <roundcube:object name="logo" src="/images/roundcube_logo.png" id="toplogo" alt="Logo" onclick="rcmail.command('switch-task','mail');return false;" type="default" />
</div>
<roundcube:endif />
diff --git a/skins/larry/templates/login.html b/skins/larry/templates/login.html
index 13e919a..45769e3 100644
--- a/skins/larry/templates/login.html
+++ b/skins/larry/templates/login.html
@@ -9,7 +9,7 @@
<div id="login-form">
<div class="box-inner">
-<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" />
+<roundcube:object name="logo" src="/images/roundcube_logo.png" id="logo" type="login" />
<roundcube:form name="form" method="post">
<roundcube:object name="loginform" form="form" size="40" />
diff --git a/skins/larry/templates/messageprint.html b/skins/larry/templates/messageprint.html
index d01c70b..297ffd6 100644
--- a/skins/larry/templates/messageprint.html
+++ b/skins/larry/templates/messageprint.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div id="header"><roundcube:object name="logo" src="/images/roundcube_logo.png" id="toplogo" border="0" alt="Logo" /></div>
+<div id="header"><roundcube:object name="logo" src="/images/roundcube_logo.png" id="toplogo" border="0" alt="Logo" type="print" /></div>
<div id="printmessageframe">
<roundcube:object name="messageHeaders" class="headers-table" />
--
Gitblit v1.9.1