diff options
Diffstat (limited to 'vendor/flexi/lib/helper/text_helper.php')
| -rw-r--r-- | vendor/flexi/lib/helper/text_helper.php | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/vendor/flexi/lib/helper/text_helper.php b/vendor/flexi/lib/helper/text_helper.php deleted file mode 100644 index c596727..0000000 --- a/vendor/flexi/lib/helper/text_helper.php +++ /dev/null @@ -1,183 +0,0 @@ -<?php - -# Copyright (c) 2008 - Marcus Lunzenauer <mlunzena@uos.de> -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -/** - * TextHelper. - * - * - * @package flexi - * @subpackage helper - * - * @author Marcus Lunzenauer (mlunzena@uos.de) - * @copyright (c) Authors - * @version $Id$ - */ - -class TextHelper { - - /** - * Holds the internal cycles. - * - * @ignore - */ - private static $cycles = array(); - - - /** - * Returns a camelized string from a lower case and underscored string by - * replacing slash with underscore and upper-casing each letter preceded - * by an underscore. - * - * @param string String to camelize. - * - * @return string Camelized string. - */ - function camelize($word) { - return str_replace(' ', '', - ucwords(str_replace(array('_', '/'), - array(' ', ' '), $word))); - } - - - /** - * Creates a Cycle object whose +__toString method cycles through elements of - * an array every time it is called. This can be used for example, to - * alternate classes for table rows: - * - * <? foreach ($items as $item) : ?> - * <tr class="<?= TextHelper::cycle('odd', 'even') ?>"> - * <td><?= item ?></td> - * </tr> - * <? endforeach ?> - * - * You can use named cycles to allow nesting in loops. Passing a single array - * as the only parameter with a <tt>name</tt> key will create a named cycle. - * You can manually reset a cycle by calling reset_cycle and passing the - * name of the cycle. - * - * <? foreach($items as $item) : ?> - * <tr class="<?= TextHelper::cycle(array("even", "odd", "name" => "row_class")) ?>"> - * <td> - * <? foreach ($item->values as $value) : ?> - * <span style="color:<?= TextHelper::cycle(array("red", "green", "blue", "name" => "colors")) : ?>"> - * <?= $value ?> - * </span> - * <? endforeach ?> - * <? TextHelper::reset_cycle("colors") ?> - * </td> - * </tr> - * <? endforeach ?> - */ - static function cycle($first_value) { - - $values = func_get_args(); - - - if (sizeof($values) == 1 && is_array($values[0])) { - $values = $values[0]; - $name = isset($values['name']) ? $values['name'] : 'default'; - unset($values['name']); - } - else { - $name = 'default'; - } - - $cycle = self::get_cycle($name); - if (is_null($cycle) || $cycle->values !== $values) { - $cycle = self::set_cycle($name, new TextHelperCycle($values)); - } - - return (string) $cycle; - } - - - /** - * Resets a cycle so that it starts from the first element the next time - * it is called. Pass in +name+ to reset a named cycle. - * - * @param string an optional name of a cycle - * - * @return void - */ - public static function reset_cycle($name = 'default') { - $cycle = self::get_cycle($name); - if (isset($cycle)) { - $cycle->reset(); - } - } - - - /** - * @ignore - */ - private static function get_cycle($name) { - return isset(self::$cycles[$name]) ? self::$cycles[$name] : NULL; - } - - /** - * @ignore - */ - private static function set_cycle($name, $cycle) { - return self::$cycles[$name] = $cycle; - } -} - - -/** - * This class holds an array of string and cycles through them. - * - * @package flexi - * @subpackage helper - * - * @author Marcus Lunzenauer (mlunzena@uos.de) - * @copyright (c) Authors - * @version $Id$ - */ - -class TextHelperCycle { - - - public $values; - - - function __construct($values) { - $this->values = (array) $values; - } - - - function cycle() { - $result = current($this->values); - if (next($this->values) === FALSE) - $this->reset(); - return $result; - } - - - function reset() { - reset($this->values); - } - - - function __toString() { - return $this->cycle(); - } -} |
