summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2013-01-24 15:32:24 +0100
committerAleksander Machniak <alec@alec.pl>2013-01-25 12:43:03 +0100
commit39bb93d9ae553f637b3d2356e51c8a21541888e4 (patch)
tree822e350fa485bf10b134c4a1bc5e39862d280948
parenta7cec740ade3588a6b4ff4e9386e18d60acbe4fb (diff)
Load a default stylesheet (embed.css) from skin in plain html pages (e.g. attachment warnings and html messages)
-rw-r--r--program/include/rcmail_html_page.php16
-rw-r--r--program/include/rcmail_output_html.php1
-rw-r--r--program/steps/mail/get.inc12
-rw-r--r--skins/larry/embed.css34
4 files changed, 53 insertions, 10 deletions
diff --git a/program/include/rcmail_html_page.php b/program/include/rcmail_html_page.php
index 2624d590a..1d8391580 100644
--- a/program/include/rcmail_html_page.php
+++ b/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 @@ 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);
}
} \ No newline at end of file
diff --git a/program/include/rcmail_output_html.php b/program/include/rcmail_output_html.php
index cd5f4dddc6..f753bf8e1 100644
--- a/program/include/rcmail_output_html.php
+++ b/program/include/rcmail_output_html.php
@@ -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();
diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc
index 6cda4e81d..fddb40ae8 100644
--- a/program/steps/mail/get.inc
+++ b/program/steps/mail/get.inc
@@ -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')) . '&nbsp;' .
html::tag('button',
array('onclick' => "location.href='" . $RCMAIL->url(array_merge($_GET, array('_safe' => 1))) . "'"),
diff --git a/skins/larry/embed.css b/skins/larry/embed.css
new file mode 100644
index 000000000..8c4e95d42
--- /dev/null
+++ b/skins/larry/embed.css
@@ -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;
+}