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
Merge branch 'master' of /home/jason/dev/git/wfpl
[wfpl.git]
/
template.php
diff --git
a/template.php
b/template.php
index
822738b
..
5b03754
100644
(file)
--- a/
template.php
+++ b/
template.php
@@
-57,6
+57,16
@@
class tem {
$this->keyval[$key] = $value;
}
$this->keyval[$key] = $value;
}
+ # like set() but appends
+ function append($key, $value) {
+ $this->keyval[$key] .= $value;
+ }
+
+ # like set() but prepends
+ function prepend($key, $value) {
+ $this->keyval[$key] = $value . $this->keyval[$key];
+ }
+
# 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
+77,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
+96,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) {
@@
-188,7
+210,7
@@
class tem {
# 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.
#
# Return a hash.
# keys: name of top level sub-template.
@@
-213,6
+235,16
@@
function tem_init() {
}
}
}
}
+function tem_append($key, $value) {
+ tem_init();
+ $GLOBALS['wfpl_template']->append($key, $value);
+}
+
+function tem_prepend($key, $value) {
+ tem_init();
+ $GLOBALS['wfpl_template']->prepend($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);
@@
-228,11
+260,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();
tem_init();
- $GLOBALS['wfpl_template']->sub($sub_template_name);
+ $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);
function tem_load($filename) {
tem_init();
$GLOBALS['wfpl_template']->load($filename);
@@
-247,7
+290,8
@@
function tem_output($filename = false) {
# this is used in template_run() and should be of no other use
function template_filler($matches) {
# 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);
$value = $GLOBALS['wfpl_template_keyval'][$tag];
if($enc) {
$encs = explode('.', $enc);
@@
-269,7
+313,7
@@
function template_filler($matches) {
# returns the result.
function template_run($template, &$keyval) {
$GLOBALS['wfpl_template_keyval'] =& $keyval;
# 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() {
}
function tem_top_sub_names() {