X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=template.php;h=1caaadc81cbb5cce7bf32922465aa6a1f2887692;hb=1b3ef2591aad28325486101883dd7c8a22d56670;hp=24252757a919ab5e1a25bc1bc317d3dfb76c1e5a;hpb=7add2ea3f61e40c5f0f5539ac6e02533c9390db4;p=wfpl.git diff --git a/template.php b/template.php index 2425275..1caaadc 100644 --- a/template.php +++ b/template.php @@ -67,10 +67,15 @@ class tem { return $this->keyval[$key]; } + # depricated (renamed show()) + function sub($sub_template_name) { + $this->show($sub_template_name); + } + # run the template engine on one of the sub-templates and append the result # to the keyval in the main array. See tem_test.php for an example of how # this can be used. - function sub($sub_template_name) { + function show($sub_template_name) { $this->keyval[$sub_template_name] .= template_run($this->sub_templates[$sub_template_name], $this->keyval); # after running a sub-template, clear its sub-templates @@ -177,19 +182,27 @@ class tem { print($this->run($templ)); } + # return the names of the top level subs, or an empty array + function top_sub_names() { + if(isset($this->sub_subs['top_level_subs'])) { + return $this->sub_subs['top_level_subs']; + } else { + return array(); + } + } + # return the contents of the top-level sub-templates # - # this does not run the sub-templates, so if you've not called tem_sub() on them, they will be blank. + # this does not run the sub-templates, so if you've not called tem_show() on them, they will be blank. # # Return a hash. # keys: name of top level sub-template. # values: contents of said sub-template. function top_subs() { $ret = array(); - if(isset($this->sub_subs['top_level_subs'])) { - foreach($this->sub_subs['top_level_subs'] as $name) { - $ret[$name] = $this->get($name); - } + $names = $this->top_sub_names(); + foreach($names as $name) { + $ret[$name] = $this->get($name); } return $ret; } @@ -220,9 +233,14 @@ function tem_run($templ = false) { return $GLOBALS['wfpl_template']->run($templ); } +# depricated (renamed tem_show()) function tem_sub($sub_template_name) { + tem_show($sub_template_name); +} + +function tem_show($sub_template_name) { tem_init(); - $GLOBALS['wfpl_template']->sub($sub_template_name); + $GLOBALS['wfpl_template']->show($sub_template_name); } function tem_load($filename) { @@ -264,9 +282,22 @@ function template_run($template, &$keyval) { return preg_replace_callback(array('||', '|~([^~]*)~|', '|([^<]*)|', '|

([^<]*)

|'), 'template_filler', $template); } +function tem_top_sub_names() { + tem_init(); + return $GLOBALS['wfpl_template']->top_sub_names(); +} + function tem_top_subs() { tem_init(); return $GLOBALS['wfpl_template']->top_subs(); } +# replaces currently set template, and returns the old. +function tem_load_new($file) { + $old = $GLOBALS['wfpl_template']; + $GLOBALS['wfpl_template'] = new tem(); + $GLOBALS['wfpl_template']->load($file); + return $old; +} + ?>