Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F1141333
smarty_internal_compile_private_object_function.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_private_object_function.php
View Options
<?php
/**
* Smarty Internal Plugin Compile Object Funtion
*
* Compiles code for registered objects as function
*
* @package Smarty
* @subpackage Compiler
* @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Object Function Class
*
* @package Smarty
* @subpackage Compiler
*/
class
Smarty_Internal_Compile_Private_Object_Function
extends
Smarty_Internal_CompileBase
{
/**
* Attribute definition: Overwrites base class.
*
* @var array
* @see Smarty_Internal_CompileBase
*/
public
$optional_attributes
=
array
(
'_any'
);
/**
* Compiles code for the execution of function plugin
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @param array $parameter array with compilation parameter
* @param string $tag name of function
* @param string $method name of method to call
* @return string compiled code
*/
public
function
compile
(
$args
,
$compiler
,
$parameter
,
$tag
,
$method
)
{
// check and get attributes
$_attr
=
$this
->
getAttributes
(
$compiler
,
$args
);
if
(
$_attr
[
'nocache'
]
===
true
)
{
$compiler
->
tag_nocache
=
true
;
}
unset
(
$_attr
[
'nocache'
]);
$_assign
=
null
;
if
(
isset
(
$_attr
[
'assign'
]))
{
$_assign
=
$_attr
[
'assign'
];
unset
(
$_attr
[
'assign'
]);
}
// convert attributes into parameter array string
if
(
$compiler
->
smarty
->
registered_objects
[
$tag
][
2
])
{
$_paramsArray
=
array
();
foreach
(
$_attr
as
$_key
=>
$_value
)
{
if
(
is_int
(
$_key
))
{
$_paramsArray
[]
=
"$_key=>$_value"
;
}
else
{
$_paramsArray
[]
=
"'$_key'=>$_value"
;
}
}
$_params
=
'array('
.
implode
(
","
,
$_paramsArray
)
.
')'
;
$return
=
"
\$
_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params},
\$
_smarty_tpl)"
;
}
else
{
$_params
=
implode
(
","
,
$_attr
);
$return
=
"
\$
_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params})"
;
}
if
(
empty
(
$_assign
))
{
// This tag does create output
$compiler
->
has_output
=
true
;
$output
=
"<?php echo {$return};?>
\n
"
;
}
else
{
$output
=
"<?php
\$
_smarty_tpl->assign({$_assign},{$return});?>
\n
"
;
}
return
$output
;
}
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Thu, Jul 31, 19:08 (4 d, 18 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
21666
Default Alt Text
smarty_internal_compile_private_object_function.php (2 KB)
Attached To
rZEDHG ZedLegacy
Event Timeline
Log In to Comment