Thomas Bruederli
2013-01-24 1730cf8d7b59c04e3db0b5425c5cd9401bfc1c43
Load a default stylesheet (embed.css) from skin in plain html pages (e.g. attachment warnings and html messages)
1 files added
3 files modified
63 ■■■■ changed files
program/include/rcmail_html_page.php 16 ●●●● patch | view | raw | blame | history
program/include/rcmail_output_html.php 1 ●●●● patch | view | raw | blame | history
program/steps/mail/get.inc 12 ●●●●● patch | view | raw | blame | history
skins/larry/embed.css 34 ●●●●● patch | view | raw | blame | history
program/include/rcmail_html_page.php
@@ -5,7 +5,7 @@
 | program/include/rcmail_html_page.php                                  |
 |                                                                       |
 | This file is part of the Roundcube Webmail client                     |
 | Copyright (C) 2006-2012, The Roundcube Dev Team                       |
 | Copyright (C) 2006-2013, The Roundcube Dev Team                       |
 |                                                                       |
 | Licensed under the GNU General Public License version 3 or            |
 | any later version with exceptions for skins & plugins.                |
@@ -21,7 +21,7 @@
/**
 * Class to create HTML page output using a skin template
 * Class to create an empty HTML page with some default styles
 *
 * @package    Core
 * @subpackage View
@@ -31,6 +31,18 @@
    public function write($contents = '')
    {
        self::reset();
        // load embed.css from skin folder (if exists)
        if ($embed_css = $this->get_skin_file('/embed.css')) {
            $this->include_css($embed_css);
        }
        else {  // set default styles for warning blocks inside the attachment part frame
            $this->add_header(html::tag('style', array('type' => 'text/css'),
                ".rcmail-inline-message { font-family: sans-serif; border:2px solid #ffdf0e; background:#fef893; padding:0.6em 1em; margin-bottom:0.6em }\n" .
                ".rcmail-inline-buttons { margin-bottom:0 }"
            ));
        }
        parent::write($contents);
    }
}
program/include/rcmail_output_html.php
@@ -164,6 +164,7 @@
        }
        $this->config->set('skin_path', $skin_path);
        $this->base_path = $skin_path;
        // register skin path(s)
        $this->skin_paths = array();
program/steps/mail/get.inc
@@ -36,10 +36,6 @@
ob_end_clean();
// define global style for warning blocks inside the attachment part frame
// TODO: get styles for this from skin (but we don't have a skin template here...)
$warning_css_style = 'border:2px solid #ffdf0e; background:#fef893; padding:0.6em 1em';
// similar code as in program/steps/mail/show.inc
if (!empty($_GET['_uid'])) {
  $RCMAIL->config->set('prefer_html', true);
@@ -158,13 +154,13 @@
      // show warning if validity checks failed
      if (!$valid) {
        $OUTPUT = new rcmail_html_page();
        $OUTPUT->write(html::tag('html', null, html::tag('body', array('style' => 'font-family:sans-serif; margin:1em'),
          html::div(array('class' => 'warning', 'style' => $warning_css_style),
        $OUTPUT->write(html::tag('html', null, html::tag('body', 'embed',
          html::div(array('class' => 'rcmail-inline-message rcmail-inline-warning'),
            rcube_label(array(
              'name' => 'attachmentvalidationerror',
              'vars' => array('expected' => "$mimetype (.$file_extension)", 'detected' => "$real_mimetype (.$extensions[0])")
            )) .
            html::p(array('class' => 'buttons', 'style' => 'margin-bottom:0'),
            html::p(array('class' => 'rcmail-inline-buttons'),
              html::tag('button',
                array('onclick' => "location.href='" . $RCMAIL->url(array_merge($_GET, array('_nocheck' => 1))) . "'"),
                rcube_label('showanyway')))
@@ -232,7 +228,7 @@
            $body_start = strpos($out, '>', $body_pos) + 1;
          }
          $out = substr($out, 0, $body_start) .
            html::div(array('class' => 'warning', 'style' => $warning_css_style),
            html::div(array('class' => 'rcmail-inline-message rcmail-inline-warning'),
              Q(rcube_label('blockedimages')) . ' ' .
              html::tag('button',
                array('onclick' => "location.href='" . $RCMAIL->url(array_merge($_GET, array('_safe' => 1))) . "'"),
skins/larry/embed.css
New file
@@ -0,0 +1,34 @@
/**
 * Roundcube webmail "embedded" stylesheets
 *
 * Copyright (c) 2012, The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original autors in the README file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
.rcmail-inline-message {
    font-family: sans-serif;
    font-size: 14px;
    color: #333;
    border: 1px solid #ffdf0e;
    background-color: #fef893;
    padding: 0.6em 1em;
    margin-bottom: 0.8em;
}
.rcmail-inline-message > button {
    margin-left: 1em;
    vertical-align: baseline;
}
.rcmail-inline-message em {
    font-size: 90%;
    color: #666;
}
.rcmail-inline-buttons {
    margin-bottom: 0;
}