_parse_arguments($arguments); $arg_list = array(); if (empty($_args['file'])) { throw new Template_Exception("missing 'file' attribute in include tag", $object); } 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 = '_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 = '_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; } ?>