commit 3.1 into the trunk

This commit is contained in:
monte.ohrt
2011-09-16 14:19:56 +00:00
parent 5693de91f5
commit 8842e79107
136 changed files with 14349 additions and 7805 deletions
@@ -1,22 +1,26 @@
<?php
/**
* Smarty Internal Plugin Compile Special Smarty Variable
*
*
* Compiles the special $smarty variables
*
*
* @package Smarty
* @subpackage Compiler
* @author Uwe Tews
* @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile special Smarty Variable Class
*
* @package Smarty
* @subpackage Compiler
*/
class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_CompileBase {
/**
* Compiles code for the speical $smarty variables
*
* @param array $args array with attributes from parser
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return string compiled code
*/
@@ -38,7 +42,7 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_super_globals) {
$compiler->trigger_template_error("(secure mode) super globals not permitted");
break;
}
}
$compiled_ref = '$_COOKIE';
break;
@@ -51,15 +55,15 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_super_globals) {
$compiler->trigger_template_error("(secure mode) super globals not permitted");
break;
}
}
$compiled_ref = '$_'.strtoupper($variable);
break;
case 'template':
return 'basename($_smarty_tpl->getTemplateFilepath())';
return 'basename($_smarty_tpl->source->filepath)';
case 'current_dir':
return 'dirname($_smarty_tpl->getTemplateFilepath())';
return 'dirname($_smarty_tpl->source->filepath)';
case 'version':
$_version = Smarty::SMARTY_VERSION;
@@ -69,7 +73,7 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
if (isset($compiler->smarty->security_policy) && !$compiler->smarty->security_policy->allow_constants) {
$compiler->trigger_template_error("(secure mode) constants not permitted");
break;
}
}
return '@' . trim($_index[1], "'");
case 'config':
@@ -85,15 +89,16 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
default:
$compiler->trigger_template_error('$smarty.' . trim($_index[0], "'") . ' is invalid');
break;
}
}
if (isset($_index[1])) {
array_shift($_index);
foreach ($_index as $_ind) {
$compiled_ref = $compiled_ref . "[$_ind]";
}
}
}
}
return $compiled_ref;
}
}
}
}
?>