Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F390865
smarty_internal_filter_handler.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_filter_handler.php
View Options
<?php
/**
* Smarty Internal Plugin Filter Handler
*
* Smarty filter handler class
*
* @package Smarty
* @subpackage PluginsInternal
* @author Uwe Tews
*/
/**
* Class for filter processing
*
* @package Smarty
* @subpackage PluginsInternal
*/
class
Smarty_Internal_Filter_Handler
{
/**
* Run filters over content
*
* The filters will be lazy loaded if required
* class name format: Smarty_FilterType_FilterName
* plugin filename format: filtertype.filtername.php
* Smarty2 filter plugins could be used
*
* @param string $type the type of filter ('pre','post','output') which shall run
* @param string $content the content which shall be processed by the filters
* @param Smarty_Internal_Template $template template object
* @return string the filtered content
*/
public
static
function
runFilter
(
$type
,
$content
,
Smarty_Internal_Template
$template
)
{
$output
=
$content
;
// loop over autoload filters of specified type
if
(!
empty
(
$template
->
smarty
->
autoload_filters
[
$type
]))
{
foreach
((
array
)
$template
->
smarty
->
autoload_filters
[
$type
]
as
$name
)
{
$plugin_name
=
"Smarty_{$type}filter_{$name}"
;
if
(
$template
->
smarty
->
loadPlugin
(
$plugin_name
))
{
if
(
function_exists
(
$plugin_name
))
{
// use loaded Smarty2 style plugin
$output
=
$plugin_name
(
$output
,
$template
);
}
elseif
(
class_exists
(
$plugin_name
,
false
))
{
// loaded class of filter plugin
$output
=
call_user_func
(
array
(
$plugin_name
,
'execute'
),
$output
,
$template
);
}
}
else
{
// nothing found, throw exception
throw
new
SmartyException
(
"Unable to load filter {$plugin_name}"
);
}
}
}
// loop over registerd filters of specified type
if
(!
empty
(
$template
->
smarty
->
registered_filters
[
$type
]))
{
foreach
(
$template
->
smarty
->
registered_filters
[
$type
]
as
$key
=>
$name
)
{
if
(
is_array
(
$template
->
smarty
->
registered_filters
[
$type
][
$key
]))
{
$output
=
call_user_func
(
$template
->
smarty
->
registered_filters
[
$type
][
$key
],
$output
,
$template
);
}
else
{
$output
=
$template
->
smarty
->
registered_filters
[
$type
][
$key
](
$output
,
$template
);
}
}
}
// return filtered output
return
$output
;
}
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 22, 15:28 (22 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25679
Default Alt Text
smarty_internal_filter_handler.php (2 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment