diff options
author | friendica <info@friendica.com> | 2012-07-03 22:23:08 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-07-03 22:23:08 -0700 |
commit | fd626022ec02ef47b9142bba08180502babbd0ca (patch) | |
tree | ffc77e4e9cafdc6e20217f3970de982cabcbd838 /library/Smarty/libs/plugins/function.counter.php | |
parent | 13b4962531ca3c4f085b385a2c6b8f088abb7d6a (diff) | |
download | volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.tar.gz volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.tar.bz2 volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.zip |
add smarty engine, remove some obsolete zot1 stuff
Diffstat (limited to 'library/Smarty/libs/plugins/function.counter.php')
-rw-r--r-- | library/Smarty/libs/plugins/function.counter.php | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/library/Smarty/libs/plugins/function.counter.php b/library/Smarty/libs/plugins/function.counter.php new file mode 100644 index 000000000..3906badf0 --- /dev/null +++ b/library/Smarty/libs/plugins/function.counter.php @@ -0,0 +1,78 @@ +<?php +/** + * Smarty plugin + * @package Smarty + * @subpackage PluginsFunction + */ + +/** + * Smarty {counter} function plugin + * + * Type: function<br> + * Name: counter<br> + * Purpose: print out a counter value + * + * @author Monte Ohrt <monte at ohrt dot com> + * @link http://www.smarty.net/manual/en/language.function.counter.php {counter} + * (Smarty online manual) + * @param array $params parameters + * @param Smarty_Internal_Template $template template object + * @return string|null + */ +function smarty_function_counter($params, $template) +{ + static $counters = array(); + + $name = (isset($params['name'])) ? $params['name'] : 'default'; + if (!isset($counters[$name])) { + $counters[$name] = array( + 'start'=>1, + 'skip'=>1, + 'direction'=>'up', + 'count'=>1 + ); + } + $counter =& $counters[$name]; + + if (isset($params['start'])) { + $counter['start'] = $counter['count'] = (int)$params['start']; + } + + if (!empty($params['assign'])) { + $counter['assign'] = $params['assign']; + } + + if (isset($counter['assign'])) { + $template->assign($counter['assign'], $counter['count']); + } + + if (isset($params['print'])) { + $print = (bool)$params['print']; + } else { + $print = empty($counter['assign']); + } + + if ($print) { + $retval = $counter['count']; + } else { + $retval = null; + } + + if (isset($params['skip'])) { + $counter['skip'] = $params['skip']; + } + + if (isset($params['direction'])) { + $counter['direction'] = $params['direction']; + } + + if ($counter['direction'] == "down") + $counter['count'] -= $counter['skip']; + else + $counter['count'] += $counter['skip']; + + return $retval; + +} + +?>
\ No newline at end of file |