Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F390940
smarty_internal_compile_include_php.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
smarty_internal_compile_include_php.php
View Options
<?php
/**
* Smarty Internal Plugin Compile Include PHP
*
* Compiles the {include_php} tag
*
* @package Smarty
* @subpackage Compiler
* @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Insert Class
*/
class
Smarty_Internal_Compile_Include_Php
extends
Smarty_Internal_CompileBase
{
/**
* Compiles code for the {include_php} tag
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return string compiled code
*/
public
function
compile
(
$args
,
$compiler
)
{
$this
->
compiler
=
$compiler
;
$this
->
required_attributes
=
array
(
'file'
);
$this
->
optional_attributes
=
array
(
'once'
,
'assign'
);
// check and get attributes
$_attr
=
$this
->
_get_attributes
(
$args
);
$_output
=
'<?php '
;
$_smarty_tpl
=
$compiler
->
template
;
eval
(
'$_file = '
.
$_attr
[
'file'
]
.
';'
);
$_file
=
realpath
(
$_file
);
if
(
$this
->
compiler
->
smarty
->
security
)
{
$this
->
compiler
->
smarty
->
security_handler
->
isTrustedPHPDir
(
$_file
);
}
if
(
$_file
===
false
)
{
$this
->
compiler
->
trigger_template_error
(
'include_php: file "'
.
$_attr
[
'file'
]
.
'" is not readable'
);
}
if
(
$this
->
compiler
->
smarty
->
security
)
{
$this
->
compiler
->
smarty
->
security_handler
->
isTrustedPHPDir
(
$_file
);
}
if
(
isset
(
$_attr
[
'assign'
]))
{
// output will be stored in a smarty variable instead of being displayed
$_assign
=
$_attr
[
'assign'
];
}
$_once
=
'_once'
;
if
(
isset
(
$_attr
[
'once'
]))
{
if
(
$_attr
[
'once'
]
==
'false'
)
{
$_once
=
''
;
}
}
$_output
=
'<?php '
;
if
(
isset
(
$_assign
))
{
$_output
.=
'ob_start(); include'
.
$_once
.
' (
\'
'
.
$_file
.
'
\'
); $_smarty_tpl->assign('
.
$_assign
.
',ob_get_contents()); ob_end_clean();?>'
;
}
else
{
$_output
.=
'include'
.
$_once
.
' (
\'
'
.
$_file
.
'
\'
);?>'
;
}
return
$_output
;
}
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 22, 20:21 (2 h, 22 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
21925
Default Alt Text
smarty_internal_compile_include_php.php (2 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment