From f2b49f59cd1522d585539c138787b1e08b98b158 Mon Sep 17 00:00:00 2001 From: andrei Date: Tue, 24 Sep 2002 19:31:31 +0000 Subject: [PATCH] Fix to be able to use $smarty.x variables as arrays. --- Smarty_Compiler.class.php | 26 ++++++++++++++++++-------- libs/Smarty_Compiler.class.php | 26 ++++++++++++++++++-------- 2 files changed, 36 insertions(+), 16 deletions(-) diff --git a/Smarty_Compiler.class.php b/Smarty_Compiler.class.php index 50e26f58..447ebf8e 100644 --- a/Smarty_Compiler.class.php +++ b/Smarty_Compiler.class.php @@ -1297,38 +1297,48 @@ class Smarty_Compiler extends Smarty { case 'get': array_shift($indexes); - $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_GET_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_GET_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'post': array_shift($indexes); $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_POST_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_POST_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'cookies': array_shift($indexes); $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_COOKIE_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_COOKIE_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'env': array_shift($indexes); - $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_ENV_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_ENV_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'server': array_shift($indexes); $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_SERVER_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_SERVER_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'session': array_shift($indexes); $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_SESSION_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_SESSION_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; /* diff --git a/libs/Smarty_Compiler.class.php b/libs/Smarty_Compiler.class.php index 50e26f58..447ebf8e 100644 --- a/libs/Smarty_Compiler.class.php +++ b/libs/Smarty_Compiler.class.php @@ -1297,38 +1297,48 @@ class Smarty_Compiler extends Smarty { case 'get': array_shift($indexes); - $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_GET_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_GET_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'post': array_shift($indexes); $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_POST_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_POST_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'cookies': array_shift($indexes); $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_COOKIE_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_COOKIE_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'env': array_shift($indexes); - $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_ENV_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_ENV_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'server': array_shift($indexes); $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_SERVER_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_SERVER_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; case 'session': array_shift($indexes); $name = substr($indexes[0], 1); - $compiled_ref = "\$GLOBALS['HTTP_SESSION_VARS']['$name']"; + $compiled_ref = "\$GLOBALS['HTTP_SESSION_VARS']"; + if ($name = substr($indexes[0], 1)) + $compiled_ref .= "['$name']"; break; /*