Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F391210
smarty_internal_compile_eval.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
smarty_internal_compile_eval.php
View Options
<?php
/**
* Smarty Internal Plugin Compile Eval
*
* Compiles the {eval} tag.
*
* @package Smarty
* @subpackage Compiler
* @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Eval Class
*
* @package Smarty
* @subpackage Compiler
*/
class
Smarty_Internal_Compile_Eval
extends
Smarty_Internal_CompileBase
{
/**
* Attribute definition: Overwrites base class.
*
* @var array
* @see Smarty_Internal_CompileBase
*/
public
$required_attributes
=
array
(
'var'
);
/**
* Attribute definition: Overwrites base class.
*
* @var array
* @see Smarty_Internal_CompileBase
*/
public
$optional_attributes
=
array
(
'assign'
);
/**
* Attribute definition: Overwrites base class.
*
* @var array
* @see Smarty_Internal_CompileBase
*/
public
$shorttag_order
=
array
(
'var'
,
'assign'
);
/**
* Compiles code for the {eval} tag
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return string compiled code
*/
public
function
compile
(
$args
,
$compiler
)
{
$this
->
required_attributes
=
array
(
'var'
);
$this
->
optional_attributes
=
array
(
'assign'
);
// check and get attributes
$_attr
=
$this
->
getAttributes
(
$compiler
,
$args
);
if
(
isset
(
$_attr
[
'assign'
]))
{
// output will be stored in a smarty variable instead of beind displayed
$_assign
=
$_attr
[
'assign'
];
}
// create template object
$_output
=
"
\$
_template = new {$compiler->smarty->template_class}('eval:'."
.
$_attr
[
'var'
].
",
\$
_smarty_tpl->smarty,
\$
_smarty_tpl);"
;
//was there an assign attribute?
if
(
isset
(
$_assign
))
{
$_output
.=
"
\$
_smarty_tpl->assign($_assign,
\$
_template->fetch());"
;
}
else
{
$_output
.=
"echo
\$
_template->fetch();"
;
}
return
"<?php $_output ?>"
;
}
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 22, 20:21 (23 h, 28 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25953
Default Alt Text
smarty_internal_compile_eval.php (1 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment