thomascube
2011-02-18 798764c2bbe0834e9d73031095efe520a84fc701
Add plugin hook before the final HTML content of a page is sent

1 files modified
18 ■■■■■ changed files
program/include/rcube_html_page.php 18 ●●●●● patch | view | raw | blame | history
program/include/rcube_html_page.php
@@ -266,19 +266,23 @@
            $output = substr($output, 0, $pos) . $css . substr($output, $pos);
        }
        $this->base_path = $base_path;
        $this->base_path = $base_path;
        // correct absolute paths in images and other tags
        // add timestamp to .js and .css filename
        // add timestamp to .js and .css filename
        $output = preg_replace_callback(
            '!(src|href|background)=(["\']?)([a-z0-9/_.-]+)(["\'\s>])!i',
            array($this, 'file_callback'), $output);
            array($this, 'file_callback'), $output);
        $output = str_replace('$__skin_path', $base_path, $output);
        if ($this->charset != RCMAIL_CHARSET)
            echo rcube_charset_convert($output, RCMAIL_CHARSET, $this->charset);
        else
            echo $output;
        // trigger hook with final HTML content to be sent
        $hook = rcmail::get_instance()->plugins->exec_hook("send_page", array('content' => $output));
        if (!$hook['abort']) {
            if ($this->charset != RCMAIL_CHARSET)
                echo rcube_charset_convert($hook['content'], RCMAIL_CHARSET, $this->charset);
            else
                echo $hook['content'];
        }
    }
    
    /**