mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-09 12:54:26 +02:00
- changed name of {template} tag to {function}
This commit is contained in:
@@ -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
|
||||||
|
@@ -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 = '';
|
@@ -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;
|
@@ -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)) {
|
@@ -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) {
|
||||||
|
Reference in New Issue
Block a user