From 2a0d3f706332cf88e3766e0e21b0072e48bf4f50 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Sun, 11 Nov 2012 09:10:08 -0500
Subject: [PATCH] Make recent changes in skin template engine more backwards-compatible (#1488790)

---
 program/include/rcube_output_html.php |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/program/include/rcube_output_html.php b/program/include/rcube_output_html.php
index d80d28a..08c0a33 100644
--- a/program/include/rcube_output_html.php
+++ b/program/include/rcube_output_html.php
@@ -494,8 +494,6 @@
         $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);
         $this->footer = preg_replace_callback('/<form\s+([^>]+)>/Ui', array($this, 'alter_form_tag'), $this->footer);
@@ -856,7 +854,7 @@
             case 'include':
                 $old_base_path = $this->base_path;
                 if ($path = $this->get_skin_file($attrib['file'], $skin_path, $attrib['skinpath'])) {
-                    $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)
                     $path = realpath($path);
                 }
 
@@ -1357,6 +1355,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']) {

--
Gitblit v1.9.1