You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.3 KiB
PHP
56 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
* Template Lite
|
|
*
|
|
* Type: compile
|
|
* Name: section_start
|
|
*/
|
|
|
|
function compile_include($arguments, &$object)
|
|
{
|
|
$_args = $object->_parse_arguments($arguments);
|
|
|
|
$arg_list = array();
|
|
if (empty($_args['file']))
|
|
{
|
|
$object->trigger_error("missing 'file' attribute in include tag", E_USER_ERROR, __FILE__, __LINE__);
|
|
}
|
|
|
|
foreach ($_args as $arg_name => $arg_value)
|
|
{
|
|
if ($arg_name == 'file')
|
|
{
|
|
$include_file = $arg_value;
|
|
continue;
|
|
}
|
|
else if ($arg_name == 'assign')
|
|
{
|
|
$assign_var = $arg_value;
|
|
continue;
|
|
}
|
|
if (is_bool($arg_value))
|
|
{
|
|
$arg_value = $arg_value ? 'true' : 'false';
|
|
}
|
|
$arg_list[] = "'$arg_name' => $arg_value";
|
|
}
|
|
|
|
if (isset($assign_var))
|
|
{
|
|
$output = '<?php $_templatelite_tpl_vars = $this->_vars;' .
|
|
"\n\$this->assign(" . $assign_var . ", \$this->_fetch_compile_include(" . $include_file . ", array(".implode(',', (array)$arg_list).")));\n" .
|
|
"\$this->_vars = \$_templatelite_tpl_vars;\n" .
|
|
"unset(\$_templatelite_tpl_vars);\n" .
|
|
' ?>';
|
|
}
|
|
else
|
|
{
|
|
$output = '<?php $_templatelite_tpl_vars = $this->_vars;' .
|
|
"\necho \$this->_fetch_compile_include(" . $include_file . ", array(".implode(',', (array)$arg_list)."));\n" .
|
|
"\$this->_vars = \$_templatelite_tpl_vars;\n" .
|
|
"unset(\$_templatelite_tpl_vars);\n" .
|
|
' ?>';
|
|
}
|
|
return $output;
|
|
}
|
|
?>
|