Source for file function.cycle.php
Documentation is available at function.cycle.php
* Smarty {cycle} function plugin
* Purpose: cycle through given values<br>
* - name = name of cycle (optional)
* - values = comma separated list of values to cycle,
* or an array of values to cycle
* (this can be left out for subsequent calls)
* - reset = boolean - resets given var to true
* - print = boolean - print var or not. default is true
* - advance = boolean - whether or not to advance the cycle
* - delimiter = the value delimiter, default is ","
* - assign = boolean, assigns to template var instead of
* {cycle values="#eeeeee,#d0d0d0d"}
* {cycle name=row values="one,two,three" reset=true}
* @link http://smarty.php.net/manual/en/language.function.cycle.php {cycle}
* @author Monte Ohrt <monte at ohrt dot com>
* @author credit to Mark Priatel <mpriatel@rogers.com>
* @author credit to Gerard <gerard@interfold.com>
* @author credit to Jason Sweat <jsweat_php@yahoo.com>
$name =
(empty($params['name'])) ?
'default' :
$params['name'];
$print =
(isset
($params['print'])) ? (bool)
$params['print'] :
true;
$advance =
(isset
($params['advance'])) ? (bool)
$params['advance'] :
true;
$reset =
(isset
($params['reset'])) ? (bool)
$params['reset'] :
false;
if(!isset
($cycle_vars[$name]['values'])) {
if(isset
($cycle_vars[$name]['values'])
&&
$cycle_vars[$name]['values'] !=
$params['values'] ) {
$cycle_vars[$name]['index'] =
0;
$cycle_vars[$name]['values'] =
$params['values'];
$cycle_vars[$name]['delimiter'] =
(isset
($params['delimiter'])) ?
$params['delimiter'] :
',';
if(is_array($cycle_vars[$name]['values'])) {
$cycle_array =
$cycle_vars[$name]['values'];
$cycle_array =
explode($cycle_vars[$name]['delimiter'],$cycle_vars[$name]['values']);
if(!isset
($cycle_vars[$name]['index']) ||
$reset ) {
$cycle_vars[$name]['index'] =
0;
if (isset
($params['assign'])) {
$smarty->assign($params['assign'], $cycle_array[$cycle_vars[$name]['index']]);
$retval =
$cycle_array[$cycle_vars[$name]['index']];
if ( $cycle_vars[$name]['index'] >=
count($cycle_array) -
1 ) {
$cycle_vars[$name]['index'] =
0;
$cycle_vars[$name]['index']++
;
/* vim: set expandtab: */
Documentation generated on Sun, 09 Mar 2008 23:51:56 -0300 by phpDocumentor 1.4.0