]> git.mjollnir.org Git - s9y.git/commitdiff
Drop our $CONST method and use $smarty.const. in a BC-compatible way instead.
authorgarvinhicking <garvinhicking>
Thu, 19 May 2005 08:40:00 +0000 (08:40 +0000)
committergarvinhicking <garvinhicking>
Thu, 19 May 2005 08:40:00 +0000 (08:40 +0000)
Feels faster. ;)

docs/NEWS
include/functions_smarty.inc.php
templates/kubrick/config.inc.php

index d2fda82cb54a6cfcc3656de53c07fe6a055a7016..1a0e5fbb78ff8543cbb8fcf64d5626203bac8015 100644 (file)
--- a/docs/NEWS
+++ b/docs/NEWS
@@ -3,6 +3,11 @@
 Version 0.9 ()
 ------------------------------------------------------------------------
 
+    * Use $smarty.const. to access constants instead of $CONST within
+      Smarty templates; this is replaced using a Smarty prefilter, so
+      that within templates you can still use the $CONST shortcut
+      (garvinhicking)
+
     * Pagination of plugins to install to save memory allocation if many
       plugins are downloaded (garvinhicking)
 
index 3ac2fc078b96c986e49a42d2b5c56f30878ed345..d17f3071bf0da1134e976ece49087adb17725996 100644 (file)
@@ -126,6 +126,10 @@ function serendipity_smarty_printTrackbacks($params, &$smarty) {
     return serendipity_printTrackbacks(serendipity_fetchTrackbacks($params['entry']));
 }
 
+function &serendipity_replaceSmartyVars(&$tpl_source, $smarty) {
+    return str_replace('$CONST.', '$smarty.const.', $tpl_source);
+}
+
 function serendipity_smarty_init() {
     global $serendipity;
 
@@ -141,7 +145,8 @@ function serendipity_smarty_init() {
         $serendipity['smarty']->compile_dir   = $serendipity['serendipityPath'] . PATH_SMARTY_COMPILE;
         $serendipity['smarty']->config_dir    = &$serendipity['smarty']->template_dir;
         $serendipity['smarty']->secure_dir    = array($serendipity['serendipityPath'] . $serendipity['templatePath']);
-        $serendipity['smarty']->security_settings['MODIFIER_FUNCS'] = array('sprintf', 'sizeof', 'count', 'rand');
+        $serendipity['smarty']->security_settings['MODIFIER_FUNCS']  = array('sprintf', 'sizeof', 'count', 'rand');
+        $serendipity['smarty']->security_settings['ALLOW_CONSTANTS'] = true;
         $serendipity['smarty']->security      = true;
         $serendipity['smarty']->use_sub_dirs  = false;
         $serendipity['smarty']->compile_check = true;
@@ -157,6 +162,7 @@ function serendipity_smarty_init() {
         $serendipity['smarty']->register_function('serendipity_getFile', 'serendipity_smarty_getFile');
         $serendipity['smarty']->register_function('serendipity_printComments', 'serendipity_smarty_printComments');
         $serendipity['smarty']->register_function('serendipity_printTrackbacks', 'serendipity_smarty_printTrackbacks');
+        $serendipity['smarty']->register_prefilter('serendipity_replaceSmartyVars');
     }
 
     if (!isset($serendipity['smarty_raw_mode'])) {
index 9bd50309372b30b2aeff720490469b2d39c8087d..091e22cea4abafbe6b65aee7fe9ac1147ae552a6 100644 (file)
@@ -7,5 +7,4 @@ if (file_exists($probelang)) {
     include dirname(__FILE__) . '/lang_en.inc.php';
 }
 
-$serendipity['smarty']->assign('CONST', get_defined_constants());
 ?>
\ No newline at end of file