aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorrub <rub@piwigo.org>2007-07-10 05:09:05 +0000
committerrub <rub@piwigo.org>2007-07-10 05:09:05 +0000
commit7183b5dffec4e4d6b9d77a9d547414e98e8995a3 (patch)
tree61bd3dfcbb1cb5aa58425923c58cf78680ef278f /include
parentf3b1fed9c61a4fa9e3e761191e9d377f06d52f80 (diff)
Resolved issue 0000718: Add method "concat_var_from_handle" in template class
Rename trigger name loc_before_* by loc_begin_* Merge branch-1_7 2048:2050 into BSF git-svn-id: http://piwigo.org/svn/trunk@2058 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'include')
-rw-r--r--include/template.php34
1 files changed, 18 insertions, 16 deletions
diff --git a/include/template.php b/include/template.php
index 9b4b20fa6..0e8f626f0 100644
--- a/include/template.php
+++ b/include/template.php
@@ -155,7 +155,7 @@ class Template {
// actually compile the template now.
if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle]))
{
- trigger_action('loc_before_tpl_pparse', $handle, array(&$this));
+ trigger_action('loc_begin_tpl_pparse', $handle, array(&$this));
// Actually compile the code now.
$this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle]);
}
@@ -179,7 +179,7 @@ class Template {
// actually compile the template now.
if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle]))
{
- trigger_action('loc_before_tpl_parse', $handle, array(&$this));
+ trigger_action('loc_begin_tpl_parse', $handle, array(&$this));
// Actually compile the code now.
$this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle], true, '_str');
}
@@ -214,21 +214,23 @@ class Template {
*/
function assign_var_from_handle($varname, $handle)
{
- if (!$this->loadfile($handle))
- {
- die("Template->assign_var_from_handle(): Couldn't load template file for handle $handle");
- }
-
- trigger_action('loc_before_tpl_assign_var_from_handle', $handle, array(&$this));
- // Compile it, with the "no echo statements" option on.
- $_str = "";
- $code = $this->compile($this->uncompiled_code[$handle], true, '_str');
-
- // evaluate the variable assignment.
- eval($code);
- // assign the value of the generated variable to the given varname.
- $this->assign_var($varname, $_str);
+ trigger_action('loc_begin_tpl_assign_var_from_handle', $varname, $handle, array(&$this));
+ $this->assign_var($varname, $this->parse($handle, true));
+ return true;
+ }
+ /**
+ * Concat the uncompiled code for $handle as the value of $varname in the
+ * root-level. This can be used to effectively include a template in the
+ * middle of another template.
+ *
+ * Note that all desired assignments to the variables in $handle should be
+ * done BEFORE calling this function.
+ */
+ function concat_var_from_handle($varname, $handle)
+ {
+ trigger_action('loc_begin_tpl_concat_var_from_handle', $varname, $handle, array(&$this));
+ $this->concat_var($varname, $this->parse($handle, true));
return true;
}