From 5130cc014131a3285c6614e06cfb5ad8098addf8 Mon Sep 17 00:00:00 2001 From: Josh Grams Date: Thu, 6 Aug 2009 10:06:58 -0400 Subject: [PATCH] * template.php: more renames (specify 'data'). --- template.php | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/template.php b/template.php index 3eef030..c48d700 100644 --- a/template.php +++ b/template.php @@ -67,23 +67,22 @@ function parse_template($string) { # note: for some reason this captures ''. $matches = preg_split("/()/", $string, -1, PREG_SPLIT_DELIM_CAPTURE); foreach($matches as $match) { - if(substr($match,0,1) == '~') { + if($match == '~~') $match = '~'; + if(substr($match,0,1) == '~' and strlen($match) > 2) { $args = explode(' ', substr($match,1,-1)); if(count($args) == 1 and $args[0] == '}') $name = ''; else $name = array_shift($args); if(last($args) == '{') { # open block - array_pop($args); - # create a new sub-template - # and add it to the parent. - $tem =& tem_push($tem); - $tem['parent']['pieces'][] =& $tem; + array_pop($args); # drop '{' + $tem =& tem_push($tem); # create a new sub-template + $tem['parent']['pieces'][] =& $tem; # as a piece of the parent $tem['name'] = $name; $tem['pieces'] = array(); $tem['args'] = $args; } elseif(last($args) == '}') { # close block - array_pop($args); + array_pop($args); # drop '}' $cur = $tem['name']; if($name && $name != $cur) { die("Invalid template: tried to close '$name', but '$cur' is current."); @@ -108,7 +107,7 @@ function fill_template($template, &$data, &$context = NULL) { foreach($template['pieces'] as $tem) { if(is_string($tem)) $output .= $tem; elseif($tem['pieces']) { # sub-template - $rows =& tem_get_rows($tem, $context); + $rows =& tem_row_data($tem, $context); foreach($rows as $key => &$row) { $context =& tem_push($context); $context['data'] =& $row; @@ -118,7 +117,7 @@ function fill_template($template, &$data, &$context = NULL) { } } else { # variable - $output .= tem_get_enc($tem, $context); + $output .= tem_encoded_data($tem, $context); } } return $output; @@ -181,7 +180,7 @@ function tem_data_as_rows($value) { # To look up a key, we check each namespace (starting with the # innermost one) until a value is found. -function tem_find_scope($key, $context) { +function tem_data_scope($key, $context) { $scope = $context; do{ if(array_key_exists($key, $scope['data'])) { @@ -193,14 +192,14 @@ function tem_find_scope($key, $context) { return array('parent' => $context); } -function tem_find_value($key, $context) { - $scope = tem_find_scope($key, $context); +function tem_get_data($key, $context) { + $scope = tem_data_scope($key, $context); if($scope) return $scope['data'][$key]; } # Return the value for a tag as a set of rows to fill a sub-template. # If $tag has an arg, call the tem_auto function to munge the data. -function &tem_get_rows($tag, $context) +function &tem_row_data($tag, $context) { $key = $tag['name']; if(count($tag['args'])) { @@ -208,7 +207,7 @@ function &tem_get_rows($tag, $context) function_exists($func) or die("ERROR: template auto function '$func' not found.
\n"); } - $scope = tem_find_scope($key, $context); + $scope = tem_data_scope($key, $context); if($func) $value = $func($key, $scope); else $value = $scope['data'][$key]; @@ -220,10 +219,10 @@ function &tem_get_rows($tag, $context) } # Return the value for a tag as an encoded string. -function tem_get_enc($tag, $context) +function tem_encoded_data($tag, $context) { $key = $tag['name']; - $value = tem_find_value($key, $context); + $value = tem_get_data($key, $context); foreach($tag['args'] as $encoding) { $func = "enc_$encoding"; if(function_exists($func)) $value = $func($value, $key); -- 1.7.10.4