$context['rows'] =& $rows;
foreach($rows as $key => &$row) {
$context['cur'] = $key;
- $output .= fill_template($tem, $row, $context);
+ $output .= tem_apply_encodings($tem['name'], fill_template($tem, $row, $context), $tem['args']);
}
} else { # variable
$output .= tem_encoded_data($tem, $context);
if(count($tem['args'])) {
$auto_func = "tem_auto_" . $tem['args'][0];
if (!function_exists($auto_func)) {
- die("ERROR: template auto function '$auto_func' not found.<br>\n");
+ if (function_exists("enc_" . $tem['args'][0])) {
+ $auto_func = false;
+ } else {
+ die("ERROR: template auto function '$auto_func' not found.<br>\n");
+ }
}
# NAMESPACIFY $auto_func
}
return $rows;
}
-# Return the value for a tag as an encoded string.
-function tem_encoded_data($tag, $context)
-{
- $key = $tag['name'];
- $value = tem_get_data($key, $context);
- foreach($tag['args'] as $encoding) {
+function tem_apply_encodings ($key, $value, $encodings) {
+ if ($encodings) foreach($encodings as $encoding) {
$func = "enc_$encoding";
if (function_exists($func)) {
# NAMESPACIFY $func
$value = $func($value, $key);
- } else {
+ } elseif (!function_exists("tem_auto_$encoding")) {
die("ERROR: encoder function '$func' not found.<br>\n");
}
}
return $value;
}
+# Return the value for a tag as an encoded string.
+function tem_encoded_data($tag, $context)
+{
+ $key = $tag['name'];
+ $value = tem_get_data($key, $context);
+ return tem_apply_encodings($key, $value, $tag['args']);
+}
+
function is_sub_template(&$piece) {
return is_array($piece) && isset($piece['pieces']);
if($tem) return $tem;
}
}
- return false;
+ $false = false;
+ return $false;
}
class tem {
}
function get($key) {
- return $this->data[$key];
+ if (isset($this->data[$key])) {
+ return $this->data[$key];
+ } else {
+ return;
+ }
}
function show($name) {
}
function tem_init() {
- if(!$GLOBALS['wfpl_template']) {
+ if(!isset($GLOBALS['wfpl_template']) || !$GLOBALS['wfpl_template']) {
$GLOBALS['wfpl_template'] = new tem();
}
}
function tem_sub($name) {
tem_show($name);
}
-
-?>