Load a default stylesheet (embed.css) from skin in plain html pages (e.g. attachment warnings and html messages)

pull/57/merge
Thomas Bruederli 12 years ago
parent 11d7e6c825
commit 1730cf8d7b

@ -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 @@ class rcmail_html_page extends rcmail_output_html
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);
}
}

@ -164,6 +164,7 @@ class rcmail_output_html extends rcmail_output
}
$this->config->set('skin_path', $skin_path);
$this->base_path = $skin_path;
// register skin path(s)
$this->skin_paths = array();

@ -36,10 +36,6 @@ if (!empty($_GET['_preload'])) {
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 @@ else if (strlen($pid = get_input_value('_part', RCUBE_INPUT_GET))) {
// 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 @@ else if (strlen($pid = get_input_value('_part', RCUBE_INPUT_GET))) {
$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))) . "'"),

@ -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;
}
Loading…
Cancel
Save