From be9aacaa5296dfca63fb3a01c2dc52538d1546aa Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Sat, 17 Nov 2012 12:31:31 -0500
Subject: [PATCH] Bring back lost localization for the about page
---
program/include/rcube_output_html.php | 34 +++++++++++++++++++---------------
1 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/program/include/rcube_output_html.php b/program/include/rcube_output_html.php
index b0fc817..6dd58fd 100644
--- a/program/include/rcube_output_html.php
+++ b/program/include/rcube_output_html.php
@@ -23,7 +23,8 @@
/**
* Class to create HTML page output using a skin template
*
- * @package View
+ * @package Framework
+ * @subpackage View
*/
class rcube_output_html extends rcube_output
{
@@ -447,17 +448,20 @@
// fallback to deprecated template names
if (!is_readable($path) && $this->deprecated_templates[$realname]) {
$path = "$skin_path/templates/" . $this->deprecated_templates[$realname] . ".html";
- rcube::raise_error(array(
- 'code' => 502, 'type' => 'php',
- 'file' => __FILE__, 'line' => __LINE__,
- 'message' => "Using deprecated template '" . $this->deprecated_templates[$realname]
- . "' in $skin_path/templates. Please rename to '$realname'"),
- true, false);
+
+ if (is_readable($path)) {
+ rcube::raise_error(array(
+ 'code' => 502, 'type' => 'php',
+ 'file' => __FILE__, 'line' => __LINE__,
+ 'message' => "Using deprecated template '" . $this->deprecated_templates[$realname]
+ . "' in $skin_path/templates. Please rename to '$realname'"),
+ true, false);
+ }
}
if (is_readable($path)) {
$this->config->set('skin_path', $skin_path);
- $this->base_path = $skin_path;
+ $this->base_path = preg_replace('!plugins/\w+/!', '', $skin_path); // set base_path to core skin directory (not plugin's skin)
break;
}
else {
@@ -493,8 +497,6 @@
// save some memory
$output = $hook['content'];
unset($hook['content']);
-
- $output = $this->parse_with_globals($this->fix_paths($output));
// make sure all <form> tags have a valid request token
$output = preg_replace_callback('/<form\s+([^>]+)>/Ui', array($this, 'alter_form_tag'), $output);
@@ -855,8 +857,8 @@
// include a file
case 'include':
$old_base_path = $this->base_path;
- if ($path = $this->get_skin_file($attrib['file'], $skin_path, $attrib['skin_path'])) {
- $this->base_path = $skin_path;
+ if ($path = $this->get_skin_file($attrib['file'], $skin_path, $attrib['skinpath'])) {
+ $this->base_path = preg_replace('!plugins/\w+/!', '', $skin_path); // set base_path to core skin directory (not plugin's skin)
$path = realpath($path);
}
@@ -1089,7 +1091,7 @@
// make valid href to specific buttons
if (in_array($attrib['command'], rcmail::$main_tasks)) {
$attrib['href'] = $this->app->url(array('task' => $attrib['command']));
- $attrib['onclick'] = sprintf("%s.command('switch-task','%s',null,event); return false", rcmail::JS_OBJECT_NAME, $attrib['command']);
+ $attrib['onclick'] = sprintf("return %s.command('switch-task','%s',this,event)", rcmail::JS_OBJECT_NAME, $attrib['command']);
}
else if ($attrib['task'] && in_array($attrib['task'], rcmail::$main_tasks)) {
$attrib['href'] = $this->app->url(array('action' => $attrib['command'], 'task' => $attrib['task']));
@@ -1357,6 +1359,8 @@
$output = substr_replace($output, $css, $pos, 0);
}
+ $output = $this->parse_with_globals($this->fix_paths($output));
+
// trigger hook with final HTML content to be sent
$hook = $this->app->plugins->exec_hook("send_page", array('content' => $output));
if (!$hook['abort']) {
@@ -1389,8 +1393,8 @@
$attrib['src'] = $attrib['src'] ? $this->abs_url($attrib['src'], true) : 'program/resources/blank.gif';
// register as 'contentframe' object
- if ($is_contentframe) {
- $this->set_env('contentframe', $attrib['name']);
+ if ($is_contentframe || $attrib['contentframe']) {
+ $this->set_env('contentframe', $attrib['contentframe'] ? $attrib['contentframe'] : $attrib['name']);
$this->set_env('blankpage', $attrib['src']);
}
--
Gitblit v1.9.1