[795] | 1 | <?php |
---|
| 2 | /** |
---|
| 3 | * This plugin get the current template and adds a header and footer located in "$localPath". |
---|
| 4 | * @package Smarty |
---|
| 5 | * @subpackage wf_plugins |
---|
| 6 | * @version: 1.0 |
---|
| 7 | * @author Everton Flávio Rufino Seára - rufino@celepar.pr.gov.br |
---|
| 8 | * @author Sidnei Augusto Drovetto Jr. - drovetto@gmail.com |
---|
| 9 | * @param string $tpl Template de entrada |
---|
| 10 | * @param object &$smarty Instância do objeto smarty em uso |
---|
| 11 | * @return string tpl Template with header and footer |
---|
| 12 | * @access public |
---|
| 13 | */ |
---|
| 14 | function smarty_prefilter_wf_default_template($tpl, &$smarty) { |
---|
| 15 | |
---|
| 16 | |
---|
| 17 | // Get the default smarty delimiter comment |
---|
| 18 | $dl = $smarty->left_delimiter; |
---|
| 19 | $dr = $smarty->right_delimiter; |
---|
| 20 | |
---|
| 21 | // This first regex just remove the template's comments |
---|
| 22 | $pattern = "/{$dl}\*[\s\S]*?\*{$dr}/"; |
---|
| 23 | // This second one search by the smarty plugin {wf_default_template} |
---|
| 24 | $pattern2 = "/{$dl}\s*wf_default_template\s*{$dr}/"; |
---|
| 25 | |
---|
| 26 | // Remove the comments |
---|
| 27 | $subject = preg_replace($pattern, "", $tpl); |
---|
| 28 | |
---|
| 29 | // Search by the plugin and adds the header and footer if it was found |
---|
| 30 | if (preg_match($pattern2, $subject) > 0) |
---|
| 31 | { |
---|
| 32 | /* get the header and footer location */ |
---|
[2591] | 33 | $templateServer = &Factory::getInstance('TemplateServer'); |
---|
[795] | 34 | $header = $templateServer->getSystemFile('processes/header.tpl'); |
---|
| 35 | $footer = $templateServer->getSystemFile('processes/footer.tpl'); |
---|
| 36 | $tpl = "{include file='{$header}'}" . $tpl . "{include file='{$footer}'}"; |
---|
| 37 | } |
---|
| 38 | |
---|
| 39 | return $tpl; |
---|
| 40 | |
---|
| 41 | } |
---|
| 42 | ?> |
---|