From b6ec30c586ec14541f59ab10e20fdffe6423c509 Mon Sep 17 00:00:00 2001 From: Florent Bruneau Date: Tue, 27 Jan 2009 22:20:30 +0100 Subject: [PATCH] Add a small prefilter on plpage to avoid notices when using {if $machin} Just write {if t($machin)} to avoid the notice. WARN: only works with pattern {if t(...)}, don't try {if t(...) || t(...)} (or improve the regexp :). Signed-off-by: Florent Bruneau --- classes/plpage.php | 16 +++++++++------- plugins/compiler.javascript.php | 2 +- templates/plpage.content.tpl | 2 +- templates/plpage.header.tpl | 12 ++++++++++-- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/classes/plpage.php b/classes/plpage.php index 12c7d27..234cdb1 100644 --- a/classes/plpage.php +++ b/classes/plpage.php @@ -116,7 +116,7 @@ abstract class PlPage extends Smarty $this->register_prefilter('form_force_encodings'); $this->register_prefilter('wiki_include'); $this->register_prefilter('core_include'); - $this->register_prefilter('if_has_perms'); + $this->register_prefilter('if_rewrites'); $this->assign('pl_triggers', $this->_errors); $this->assign('pl_errors', $this->nb_errs()); $this->assign('pl_failure', $this->_failure); @@ -454,13 +454,15 @@ function core_include($source, &$smarty) // }}} //{{{ function hasPerm -function if_has_perms($source, &$smarty) +function if_rewrites($source, &$smarty) { - $source = preg_replace('/\{if([^}]*) (\!?)hasPerms\(([^)]+)\)([^}]*)\}/', - '{if\1 \2$smarty.session.perms->hasFlagCombination(\3)\4}', - $source); - return preg_replace('/\{if([^}]*) (\!?)hasPerm\(([^)]+)\)([^}]*)\}/', - '{if\1 \2($smarty.session.perms && $smarty.session.perms->hasFlag(\3))\4}', + $perms = 'isset($smarty.session.perms|smarty:nodefaults) && $smarty.session.perms|smarty:nodefaults && $smarty.session.perms'; + return preg_replace(array('/\{if([^}]*) (\!?)hasPerms\(([^)]+)\)([^}]*)\}/', + '/\{if([^}]*) (\!?)hasPerm\(([^)]+)\)([^}]*)\}/', + '/\{if([^}]*) (\!?)t\(([^)]+)\)([^}]*)\}/'), + array('{if\1 \2(' . $perms . '->hasFlagCombination(\3))\4}', + '{if\1 \2(' . $perms . '->hasFlag(\3))\4}', + '{if\1 \2(isset(\3|smarty:nodefaults) && (\3|smarty:nodefaults))\4}'), $source); } diff --git a/plugins/compiler.javascript.php b/plugins/compiler.javascript.php index 7717d69..597d95b 100644 --- a/plugins/compiler.javascript.php +++ b/plugins/compiler.javascript.php @@ -28,7 +28,7 @@ function smarty_compiler_javascript($tag_attrs, &$compiler) } $name = pl_entities(trim($name, '\'"'), ENT_QUOTES); $name = "javascript/$name.js"; - if ($full) { + if (isset($full) && $full) { global $globals; $name = $globals->baseurl . '/' . $name; } diff --git a/templates/plpage.content.tpl b/templates/plpage.content.tpl index 6b42c15..4bd5d04 100644 --- a/templates/plpage.content.tpl +++ b/templates/plpage.content.tpl @@ -37,7 +37,7 @@ Nous conseillons très vivement d'utiliser des navigateurs récents, tels
{/if} -{if !$pl_no_errors || $pl_failure} +{if !t($pl_no_errors) || $pl_failure} {include core=triggers.tpl} {/if} diff --git a/templates/plpage.header.tpl b/templates/plpage.header.tpl index 1d7a1a6..cfc421f 100644 --- a/templates/plpage.header.tpl +++ b/templates/plpage.header.tpl @@ -20,27 +20,35 @@ {* *} {**************************************************************************} +{if t($pl_css)} {foreach from=$pl_css item=css} {/foreach} +{/if} +{if t($pl_inline_css)} {foreach from=$pl_inline_css item=css} {/foreach} +{/if} +{if t($pl_link)} {foreach from=$pl_link item=link} {/foreach} +{/if} +{if t($pl_js)} {foreach from=$pl_js item=js} {/foreach} -{if $pl_rss} +{/if} +{if t($pl_rss)} {/if} -{if $pl_extra_header} +{if t($pl_extra_header)} {$pl_extra_header|smarty:nodefaults} {/if} {$pl_title} -- 2.1.4