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 - update $GLOBALS references to work properly with
track_globals settings (Michal Prinke, Monte) track_globals settings (Michal Prinke, Monte)
- fixed bug in math function with call to assign - fixed bug in math function with call to assign

View File

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

View File

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