From 5172ac9389edc2bb6bc567f923b02f8e9efbfbf5 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 21 Sep 2011 08:16:01 -0400
Subject: [PATCH] Aread alter forms in rcube_template::parse() instead of write()

---
 program/include/rcube_template.php |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/program/include/rcube_template.php b/program/include/rcube_template.php
index a26796b..dd14931 100755
--- a/program/include/rcube_template.php
+++ b/program/include/rcube_template.php
@@ -353,10 +353,6 @@
         $js .= $this->get_js_commands() . ($this->framed ? ' }' : '');
         $this->add_script($js, 'head_top');
 
-        // make sure all <form> tags have a valid request token
-        $template = preg_replace_callback('/<form\s+([^>]+)>/Ui', array($this, 'alter_form_tag'), $template);
-        $this->footer = preg_replace_callback('/<form\s+([^>]+)>/Ui', array($this, 'alter_form_tag'), $this->footer);
-        
         // send clickjacking protection headers
         $iframe = $this->framed || !empty($_REQUEST['_framed']);
         if (!headers_sent() && ($xframe = $this->app->config->get('x_frame_options', 'sameorigin')))
@@ -437,6 +433,10 @@
 
         $output = $this->parse_with_globals($hook['content']);
 
+        // 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);
+
         if ($write) {
             // add debug console
             if ($realname != 'error' && ($this->config['debug_level'] & 8)) {

--
Gitblit v1.9.1