# tem_auto_* function to munge the data, automating certain common use
# cases. See the comments on the tem_auto functions for more details.
-require_once('code/wfpl/encode.php');
-require_once('code/wfpl/file.php');
-require_once('code/wfpl/misc.php');
+require_once(__DIR__ . '/encode.php');
+require_once(__DIR__ . '/file.php');
+require_once(__DIR__ . '/misc.php');
# Top-Level Functions
# The middle form will be converted to the last form as we use it.
-function tem_data_as_rows($value) {
+function tem_data_as_rows($value, $key) {
if(is_array($value)) {
- # numeric keys, is already array of arrays -- expand sub-template for each.
- if(array_key_exists(0, $value)) return $value;
+ # numeric keys
+ if(array_key_exists(0, $value)) {
+ if(is_array($value[0])) return $value; # already array of hashes.
+ else return columnize($value, $key);
# key/value pairs -- expand sub-template once.
- else return array($value);
+ } else return array($value);
} elseif($value || $value === 0 || $value === '0' || $value === '') {
# value -- expand sub-template once using only parent values
return array(array());
if(count($tem['args'])) {
$auto_func = "tem_auto_" . $tem['args'][0];
- function_exists($auto_func)
- or die("ERROR: template auto function '$auto_func' not found.<br>\n");
+ if (!function_exists($auto_func)) {
+ die("ERROR: template auto function '$auto_func' not found.<br>\n");
+ }
+ # NAMESPACIFY $auto_func
+ }
+ if ($auto_func) {
+ $value = $auto_func($scope['data'][$key], $key, $scope, $tem['args']);
}
- if($auto_func) $value = $auto_func($scope['data'][$key], $key, $scope);
else $value = $scope['data'][$key];
- $rows = tem_data_as_rows($value);
+ $rows = tem_data_as_rows($value, $key);
if(is_array($value)) $scope['data'][$key] = $rows;
return $rows;
$value = tem_get_data($key, $context);
foreach($tag['args'] as $encoding) {
$func = "enc_$encoding";
- if(function_exists($func)) $value = $func($value, $key);
- else die("ERROR: encoder function '$func' not found.<br>\n");
+ if (function_exists($func)) {
+ # NAMESPACIFY $func
+ $value = $func($value, $key);
+ } else {
+ die("ERROR: encoder function '$func' not found.<br>\n");
+ }
}
return $value;
}