Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F392393
smarty_internal_compile_private_special_variable.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
smarty_internal_compile_private_special_variable.php
View Options
<?php
/**
* Smarty Internal Plugin Compile Special Smarty Variable
*
* Compiles the special $smarty variables
*
* @package Smarty
* @subpackage Compiler
* @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 object $compiler compiler object
* @return string compiled code
*/
public
function
compile
(
$args
,
$compiler
,
$parameter
)
{
$_index
=
preg_split
(
"/
\]\[
/"
,
substr
(
$parameter
,
1
,
strlen
(
$parameter
)-
2
));
$compiled_ref
=
' '
;
$variable
=
trim
(
$_index
[
0
],
"'"
);
switch
(
$variable
)
{
case
'foreach'
:
return
"
\$
_smarty_tpl->getVariable('smarty')->value$parameter"
;
case
'section'
:
return
"
\$
_smarty_tpl->getVariable('smarty')->value$parameter"
;
case
'capture'
:
return
"Smarty::
\$
_smarty_vars$parameter"
;
case
'now'
:
return
'time()'
;
case
'cookies'
:
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
;
case
'get'
:
case
'post'
:
case
'env'
:
case
'server'
:
case
'session'
:
case
'request'
:
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->source->filepath)'
;
case
'template_object'
:
return
'$_smarty_tpl'
;
case
'current_dir'
:
return
'dirname($_smarty_tpl->source->filepath)'
;
case
'version'
:
$_version
=
Smarty
::
SMARTY_VERSION
;
return
"'$_version'"
;
case
'const'
:
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'
:
return
"
\$
_smarty_tpl->getConfigVariable($_index[1])"
;
case
'ldelim'
:
$_ldelim
=
$compiler
->
smarty
->
left_delimiter
;
return
"'$_ldelim'"
;
case
'rdelim'
:
$_rdelim
=
$compiler
->
smarty
->
right_delimiter
;
return
"'$_rdelim'"
;
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
;
}
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 22, 20:27 (2 d, 7 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
22101
Default Alt Text
smarty_internal_compile_private_special_variable.php (3 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment