X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=template.php;h=822738b18a45e0a228b6a3106ce41ecb32c98a6c;hb=71fc7c41c946279b6d1e1072f72ad3f5aa6a7b39;hp=24252757a919ab5e1a25bc1bc317d3dfb76c1e5a;hpb=7add2ea3f61e40c5f0f5539ac6e02533c9390db4;p=wfpl.git diff --git a/template.php b/template.php index 2425275..822738b 100644 --- a/template.php +++ b/template.php @@ -177,6 +177,15 @@ 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. @@ -186,10 +195,9 @@ class tem { # 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; } @@ -264,9 +272,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; +} + ?>