Source for file cycle.php
Documentation is available at cycle.php
* Cycles between several values and returns one of them on each call
* * name : the cycler name, specify if you need to have multiple concurrent cycles running
* * values : an array of values or a string of values delimited by $delimiter
* * print : if false, the pointer will go to the next one but not print anything
* * advance : if false, the pointer will not advance to the next value
* * delimiter : the delimiter used to split values if they are provided as a string
* * assign : if set, the value is saved in that variable instead of being output
* * reset : if true, the pointer is reset to the first value
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from the use of this software.
* @author Jordi Boggiano <j.boggiano@seld.be>
* @copyright Copyright (c) 2008, Jordi Boggiano
* @license http://dwoo.org/LICENSE Modified BSD License
public function process($name =
'default', $values =
null, $print =
true, $advance =
true, $delimiter =
',', $assign =
null, $reset =
false)
$values =
explode($delimiter, $values);
if (!isset
($this->cycles[$name]) ||
$this->cycles[$name]['values'] !==
$values) {
$this->cycles[$name]['index'] =
0;
} elseif (isset
($this->cycles[$name])) {
$values =
$this->cycles[$name]['values'];
$this->cycles[$name]['index'] =
0;
$out =
$values[$this->cycles[$name]['index']];
if ($this->cycles[$name]['index'] >=
count($values)-
1) {
$this->cycles[$name]['index'] =
0;
$this->cycles[$name]['index']++
;
$this->dwoo->assignInScope($out, $assign);
Documentation generated on Sun, 07 Feb 2010 17:53:31 +0000 by phpDocumentor 1.4.0