Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
wfpl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
metaform: textarea is smaller, s/tem_sub/tem_show/
[wfpl.git]
/
template.php
diff --git
a/template.php
b/template.php
index
2425275
..
36e1ad1
100644
(file)
--- a/
template.php
+++ b/
template.php
@@
-57,6
+57,11
@@
class tem {
$this->keyval[$key] = $value;
}
$this->keyval[$key] = $value;
}
+ # like set() but appends
+ function append($key, $value) {
+ $this->keyval[$key] .= $value;
+ }
+
# clear a value. Functionally equivalent to set($key, '') but cleaner and more efficient
function clear($key) {
unset($this->keyval[$key]);
# clear a value. Functionally equivalent to set($key, '') but cleaner and more efficient
function clear($key) {
unset($this->keyval[$key]);
@@
-67,10
+72,15
@@
class tem {
return $this->keyval[$key];
}
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.
# 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
$this->keyval[$sub_template_name] .= template_run($this->sub_templates[$sub_template_name], $this->keyval);
# after running a sub-template, clear its sub-templates
@@
-81,6
+91,13
@@
class tem {
}
}
}
}
+ 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) {
# this is used by tem::load() and should be otherwise useless
function _load(&$in, &$out, &$parents, &$parent) {
while($in) {
@@
-177,19
+194,27
@@
class tem {
print($this->run($templ));
}
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
#
# 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();
#
# 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;
}
}
return $ret;
}
@@
-205,6
+230,11
@@
function tem_init() {
}
}
}
}
+function tem_append($key, $value) {
+ tem_init();
+ $GLOBALS['wfpl_template']->append($key, $value);
+}
+
function tem_set($key, $value) {
tem_init();
$GLOBALS['wfpl_template']->set($key, $value);
function tem_set($key, $value) {
tem_init();
$GLOBALS['wfpl_template']->set($key, $value);
@@
-220,11
+250,22
@@
function tem_run($templ = false) {
return $GLOBALS['wfpl_template']->run($templ);
}
return $GLOBALS['wfpl_template']->run($templ);
}
+# depricated (renamed tem_show())
function tem_sub($sub_template_name) {
function tem_sub($sub_template_name) {
+ tem_show($sub_template_name);
+}
+
+function tem_show($sub_template_name) {
+ tem_init();
+ $GLOBALS['wfpl_template']->show($sub_template_name);
+}
+
+function tem_show_separated($sub_template_name) {
tem_init();
tem_init();
- $GLOBALS['wfpl_template']->sub($sub_template_name);
+ $GLOBALS['wfpl_template']->show_separated($sub_template_name);
}
}
+
function tem_load($filename) {
tem_init();
$GLOBALS['wfpl_template']->load($filename);
function tem_load($filename) {
tem_init();
$GLOBALS['wfpl_template']->load($filename);
@@
-264,9
+305,22
@@
function template_run($template, &$keyval) {
return preg_replace_callback(array('|<!--~([^~]*)~-->|', '|~([^~]*)~|', '|<span class="template">([^<]*)</span>|', '|<p class="template">([^<]*)</p>|'), 'template_filler', $template);
}
return preg_replace_callback(array('|<!--~([^~]*)~-->|', '|~([^~]*)~|', '|<span class="template">([^<]*)</span>|', '|<p class="template">([^<]*)</p>|'), '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();
}
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;
+}
+
?>
?>