X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=template.php;h=43cceae9aa420938498602d32a01cd8f61b094ab;hb=484e7d7390f43456f0dbee648fa9a4e6854401fa;hp=3c0e1e068806fde5a8ed57ad4093cfb39ce74f9b;hpb=1b701682c788072eb0d469fc77b2925fc8ef16b5;p=wfpl.git diff --git a/template.php b/template.php index 3c0e1e0..43cceae 100644 --- a/template.php +++ b/template.php @@ -4,20 +4,19 @@ # # This file is part of wfpl. # -# wfpl is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# wfpl is free software; you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 2.1 of the License, or (at your option) # any later version. # -# wfpl is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. +# wfpl is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for +# more details. # -# You should have received a copy of the GNU General Public License -# along with wfpl; see the file COPYING. If not, write to the -# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -# MA 02111-1307, USA. +# You should have received a copy of the GNU Lesser General Public License +# along with wfpl; if not, write to the Free Software Foundation, Inc., 51 +# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # This file contains generally useful template handling code. It is wrapped in @@ -170,6 +169,23 @@ class tem { function output($templ = false) { print($this->run($templ)); } + + # 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. + # + # 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); + } + } + return $ret; + } } # Below are functions so you can use the above class without allocating or @@ -241,5 +257,9 @@ function template_run($template, &$keyval) { return preg_replace_callback(array('||', '|~([^~]*)~|', '|([^<]*)|', '|

([^<]*)

|'), 'template_filler', $template); } +function tem_top_subs() { + tem_init(); + return $GLOBALS['wfpl_template']->top_subs(); +} ?>