<?php
-# Copyright (C) 2005 Jason Woofenden
-#
-# This file is part of wfpl.
-#
-# 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 Lesser General Public License for
-# more details.
-#
-# 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
# an object so that if you want/need to you can make more than one instance of
}
}
+ function show_separated($sub_template_name) {
+ if($this->get($sub_template_name)) {
+ $this->show($sub_template_name . '_sep');
+ }
+ $this->show($sub_template_name);
+ }
+
# this is used by tem::load() and should be otherwise useless
function _load(&$in, &$out, &$parents, &$parent) {
while($in) {
$GLOBALS['wfpl_template']->show($sub_template_name);
}
+function tem_show_separated($sub_template_name) {
+ tem_init();
+ $GLOBALS['wfpl_template']->show_separated($sub_template_name);
+}
+
+
function tem_load($filename) {
tem_init();
$GLOBALS['wfpl_template']->load($filename);
# this is used in template_run() and should be of no other use
function template_filler($matches) {
- list($tag, $enc) = explode('.', $matches[1], 2);
+ $match = array_pop($matches);
+ list($tag, $enc) = explode('.', $match, 2);
$value = $GLOBALS['wfpl_template_keyval'][$tag];
if($enc) {
$encs = explode('.', $enc);
# returns the result.
function template_run($template, &$keyval) {
$GLOBALS['wfpl_template_keyval'] =& $keyval;
- return preg_replace_callback(array('|<!--~([^~]*)~-->|', '|~([^~]*)~|', '|<span class="template">([^<]*)</span>|', '|<p class="template">([^<]*)</p>|'), 'template_filler', $template);
+ return preg_replace_callback('`<!--~([^~]*)~-->|~([^~]*)~|<span class="template">([^<]*)</span>|<p class="template">([^<]*)</p>`', 'template_filler', $template);
}
function tem_top_sub_names() {