thomascube
2011-09-21 5172ac9389edc2bb6bc567f923b02f8e9efbfbf5
Aread alter forms in rcube_template::parse() instead of write()

1 files modified
8 ■■■■ changed files
program/include/rcube_template.php 8 ●●●● patch | view | raw | blame | history
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)) {