fixed cycle function to respect delimiter setting after initial setting

This commit is contained in:
mohrt
2002-06-03 16:53:26 +00:00
parent 07ec5ba096
commit d05fb1fc4c
3 changed files with 20 additions and 14 deletions

2
NEWS
View File

@@ -1,3 +1,5 @@
- fixed cycle function to respect delimiter setting
after initial setting (Monte)
- update $GLOBALS references to work properly with
track_globals settings (Michal Prinke, Monte)
- fixed bug in math function with call to assign

View File

@@ -46,11 +46,7 @@ function smarty_function_cycle($params, &$smarty)
if (!isset($advance)) {
$advance = true;
}
if (!isset($delimiter)) {
$delimiter = ',';
}
if (!in_array('values', array_keys($params))) {
if(!isset($cycle_vars[$name]['values'])) {
$smarty->trigger_error("cycle: missing 'values' parameter");
@@ -64,8 +60,14 @@ function smarty_function_cycle($params, &$smarty)
$cycle_vars[$name]['values'] = $values;
}
if (isset($delimiter)) {
$cycle_vars[$name]['delimiter'] = $delimiter;
} elseif (!isset($cycle_vars[$name]['delimiter'])) {
$cycle_vars[$name]['delimiter'] = ',';
}
if(!is_array($cycle_vars[$name]['values'])) {
$cycle_array = explode($delimiter,$cycle_vars[$name]['values']);
$cycle_array = explode($cycle_vars[$name]['delimiter'],$cycle_vars[$name]['values']);
} else {
$cycle_array = $cycle_vars[$name]['values'];
}
@@ -73,7 +75,7 @@ function smarty_function_cycle($params, &$smarty)
if(!isset($cycle_vars[$name]['index']) || $reset ) {
$cycle_vars[$name]['index'] = 0;
}
if (isset($assign)) {
$print = false;
$smarty->assign($assign, $cycle_array[$cycle_vars[$name]['index']]);

View File

@@ -46,11 +46,7 @@ function smarty_function_cycle($params, &$smarty)
if (!isset($advance)) {
$advance = true;
}
if (!isset($delimiter)) {
$delimiter = ',';
}
if (!in_array('values', array_keys($params))) {
if(!isset($cycle_vars[$name]['values'])) {
$smarty->trigger_error("cycle: missing 'values' parameter");
@@ -64,8 +60,14 @@ function smarty_function_cycle($params, &$smarty)
$cycle_vars[$name]['values'] = $values;
}
if (isset($delimiter)) {
$cycle_vars[$name]['delimiter'] = $delimiter;
} elseif (!isset($cycle_vars[$name]['delimiter'])) {
$cycle_vars[$name]['delimiter'] = ',';
}
if(!is_array($cycle_vars[$name]['values'])) {
$cycle_array = explode($delimiter,$cycle_vars[$name]['values']);
$cycle_array = explode($cycle_vars[$name]['delimiter'],$cycle_vars[$name]['values']);
} else {
$cycle_array = $cycle_vars[$name]['values'];
}
@@ -73,7 +75,7 @@ function smarty_function_cycle($params, &$smarty)
if(!isset($cycle_vars[$name]['index']) || $reset ) {
$cycle_vars[$name]['index'] = 0;
}
if (isset($assign)) {
$print = false;
$smarty->assign($assign, $cycle_array[$cycle_vars[$name]['index']]);