thomascube
2011-03-01 ae39c47c3a07f9a9334c9676829fd948d682ffbd
New config option for custom logo; allow skins to define/override texts

6 files modified
23 ■■■■ changed files
CHANGELOG 2 ●●●●● patch | view | raw | blame | history
config/main.inc.php.dist 4 ●●●● patch | view | raw | blame | history
program/include/rcmail.php 4 ●●●● patch | view | raw | blame | history
program/include/rcube_template.php 9 ●●●● patch | view | raw | blame | history
skins/default/includes/header.html 2 ●●● patch | view | raw | blame | history
skins/default/templates/login.html 2 ●●● patch | view | raw | blame | history
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)
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;
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]))
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);
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" />
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" />