- changed name of {template} tag to {function}

This commit is contained in:
Uwe.Tews
2009-04-24 22:36:12 +00:00
parent e315782819
commit 4f4f2d3dd3
5 changed files with 31 additions and 30 deletions

View File

@@ -1,4 +1,5 @@
04/24/2009 04/24/2009
- changed name of {template} tag to {function}
- added new {template} tag - added new {template} tag
04/23/2009 04/23/2009

View File

@@ -1,19 +1,19 @@
<?php <?php
/** /**
* Smarty Internal Plugin Compile Template * Smarty Internal Plugin Compile Function
* *
* Compiles the {template} tag * Compiles the {function} tag
* *
* @package Smarty * @package Smarty
* @subpackage Compiler * @subpackage Compiler
* @author Uwe Tews * @author Uwe Tews
*/ */
/** /**
* Smarty Internal Plugin Compile Template Class * Smarty Internal Plugin Compile Function Class
*/ */
class Smarty_Internal_Compile_Template extends Smarty_Internal_CompileBase { class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase {
/** /**
* Compiles code for the {template} tag * Compiles code for the {function} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param object $compiler compiler object * @param object $compiler compiler object
@@ -27,10 +27,10 @@ class Smarty_Internal_Compile_Template extends Smarty_Internal_CompileBase {
// check and get attributes // check and get attributes
$_attr = $this->_get_attributes($args); $_attr = $this->_get_attributes($args);
$save = array($_attr, $compiler->template->extracted_compiled_code, $compiler->template->extract_code); $save = array($_attr, $compiler->template->extracted_compiled_code, $compiler->template->extract_code);
$this->_open_tag('template', $save); $this->_open_tag('function', $save);
$_name = trim($_attr['name'], "'"); $_name = trim($_attr['name'], "'");
foreach ($_attr as $_key => $_data) { foreach ($_attr as $_key => $_data) {
$compiler->template->properties['template'][$_name]['parameter'][$_key] = $_data; $compiler->template->properties['function'][$_name]['parameter'][$_key] = $_data;
} }
$compiler->template->extract_code = true; $compiler->template->extract_code = true;
$compiler->template->extracted_compiled_code = ''; $compiler->template->extracted_compiled_code = '';

View File

@@ -1,19 +1,19 @@
<?php <?php
/** /**
* Smarty Internal Plugin Compile Template Close * Smarty Internal Plugin Compile Function Close
* *
* Compiles the {/template} tag * Compiles the {/function} tag
* *
* @package Smarty * @package Smarty
* @subpackage Compiler * @subpackage Compiler
* @author Uwe Tews * @author Uwe Tews
*/ */
/** /**
* Smarty Internal Plugin Compile TemplateClose Class * Smarty Internal Plugin Compile FunctionClose Class
*/ */
class Smarty_Internal_Compile_TemplateClose extends Smarty_Internal_CompileBase { class Smarty_Internal_Compile_FunctionClose extends Smarty_Internal_CompileBase {
/** /**
* Compiles code for the {/template} tag * Compiles code for the {/function} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param object $compiler compiler object * @param object $compiler compiler object
@@ -28,13 +28,13 @@ class Smarty_Internal_Compile_TemplateClose extends Smarty_Internal_CompileBase
// check and get attributes // check and get attributes
$this->optional_attributes = array('name'); $this->optional_attributes = array('name');
$_attr = $this->_get_attributes($args); $_attr = $this->_get_attributes($args);
$saved_data = $this->_close_tag(array('template')); $saved_data = $this->_close_tag(array('function'));
// if name does match to opening tag // if name does match to opening tag
if (isset($_attr['name']) && $saved_data[0]['name'] != $_attr['name']) { if (isset($_attr['name']) && $saved_data[0]['name'] != $_attr['name']) {
$this->compiler->trigger_template_error('mismatching name attributes "' . $saved_data[0]['name'] . '" and "' . $_attr['name'] . '"'); $this->compiler->trigger_template_error('mismatching name attributes "' . $saved_data[0]['name'] . '" and "' . $_attr['name'] . '"');
} }
$_name = trim($saved_data[0]['name'], "'"); $_name = trim($saved_data[0]['name'], "'");
$compiler->template->properties['template'][$_name]['compiled'] = str_replace("\n",'_%n',$compiler->template->extracted_compiled_code); $compiler->template->properties['function'][$_name]['compiled'] = str_replace("\n",'_%n',$compiler->template->extracted_compiled_code);
$compiler->template->extracted_compiled_code = $saved_data[1]; $compiler->template->extracted_compiled_code = $saved_data[1];
$compiler->template->extract_code = $saved_data[2]; $compiler->template->extract_code = $saved_data[2];
return true; return true;

View File

@@ -1,20 +1,20 @@
<?php <?php
/** /**
* Smarty Internal Plugin Compile TemplateCall * Smarty Internal Plugin Compile Internalfunctioncall
* *
* Compiles the {templatecall} tag * Compiles the {internalfunctioncall} tag
* *
* @package Smarty * @package Smarty
* @subpackage Compiler * @subpackage Compiler
* @author Uwe Tews * @author Uwe Tews
*/ */
/** /**
* Smarty Internal Plugin Compile TemplateCall Class * Smarty Internal Plugin Compile Internalfunctioncall Class
*/ */
class Smarty_Internal_Compile_TemplateCall extends Smarty_Internal_CompileBase { class Smarty_Internal_Compile_Internalfunctioncall extends Smarty_Internal_CompileBase {
/** /**
* Compiles code for the {templateall} tag * Compiles code for the {internalfunctioncall} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param object $compiler compiler object * @param object $compiler compiler object
@@ -34,12 +34,12 @@ class Smarty_Internal_Compile_TemplateCall extends Smarty_Internal_CompileBase {
} }
$_name = trim( $_attr['name'],"'"); $_name = trim( $_attr['name'],"'");
// create template object // create template object
$_output = "<?php \$_template = new Smarty_Template ('string:', \$_smarty_tpl);"; $_output = "<?php \$_template = new Smarty_Template ('string:', \$_smarty_tpl);\n";
// assign default paramter // assign default paramter
if (isset($compiler->template->properties['template'][$_name]['parameter'])) { if (isset($compiler->template->properties['function'][$_name]['parameter'])) {
foreach ($compiler->template->properties['template'][$_name]['parameter'] as $_key => $_value) { foreach ($compiler->template->properties['function'][$_name]['parameter'] as $_key => $_value) {
if (!isset($_attr[$_key])) { if (!isset($_attr[$_key])) {
$_output .= "\$_template->assign('$_key',$_value);"; $_output .= "\$_template->assign('$_key',$_value);\n";
} }
} }
} }
@@ -49,15 +49,15 @@ class Smarty_Internal_Compile_TemplateCall extends Smarty_Internal_CompileBase {
if (!empty($_attr)) { if (!empty($_attr)) {
// create variables // create variables
foreach ($_attr as $_key => $_value) { foreach ($_attr as $_key => $_value) {
$_output .= "\$_template->assign('$_key',$_value);"; $_output .= "\$_template->assign('$_key',$_value);\n";
} }
} }
if (isset($compiler->template->properties['template'][$_name]['compiled'])) { if (isset($compiler->template->properties['function'][$_name]['compiled'])) {
$_compiled = str_replace(array('_%n',"'"), array('',"\'"), $compiler->template->properties['template'][$_name]['compiled']); $_compiled = str_replace(array('_%n',"'"), array("\n","\'"), $compiler->template->properties['function'][$_name]['compiled']);
$_output .= "\$_template->compiled_template = '$_compiled'; \$_template->mustCompile = false;"; $_output .= "\$_template->compiled_template = '$_compiled';\n \$_template->mustCompile = false;\n";
} else { } else {
// for recursion // for recursion
$_output .= "\$_template->compiled_template = \$_smarty_tpl->compiled_template; \$_template->mustCompile = false;"; $_output .= "\$_template->compiled_template = \$_smarty_tpl->compiled_template;\n \$_template->mustCompile = false;\n";
} }
// was there an assign attribute // was there an assign attribute
if (isset($_assign)) { if (isset($_assign)) {

View File

@@ -112,10 +112,10 @@ class Smarty_Internal_TemplateCompilerBase extends Smarty_Internal_Base {
$this->has_code = true; $this->has_code = true;
$this->has_output = false; $this->has_output = false;
// compile the smarty tag (required compile classes to compile the tag are autoloaded) // compile the smarty tag (required compile classes to compile the tag are autoloaded)
if (isset($this->template->properties['template'][$tag])) { if (isset($this->template->properties['function'][$tag])) {
// template defined by {template} tag // template defined by {template} tag
$args['name'] = $tag; $args['name'] = $tag;
$tag = 'templatecall'; $tag = 'internalfunctioncall';
} }
if (!($_output = $this->$tag($args, $this)) === false) { if (!($_output = $this->$tag($args, $this)) === false) {
if ($_output !== true) { if ($_output !== true) {