summaryrefslogtreecommitdiff
path: root/lib/smarty/plugins/function.counter.php
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2018-10-18 02:39:34 +0200
committeremkael <emkael@tlen.pl>2018-10-18 02:39:42 +0200
commitab5d8d4e07bb3c8230d0285ef8902ef1979fce51 (patch)
tree0b955e585cb2fdbc7207392a5f2c97d610b6a5bc /lib/smarty/plugins/function.counter.php
parentc055ce2ab60c6582bad3e5babcb1d00384fde78a (diff)
Updating Smarty
Diffstat (limited to 'lib/smarty/plugins/function.counter.php')
-rw-r--r--lib/smarty/plugins/function.counter.php78
1 files changed, 31 insertions, 47 deletions
diff --git a/lib/smarty/plugins/function.counter.php b/lib/smarty/plugins/function.counter.php
index 3906bad..a4129e7 100644
--- a/lib/smarty/plugins/function.counter.php
+++ b/lib/smarty/plugins/function.counter.php
@@ -1,78 +1,62 @@
<?php
/**
* Smarty plugin
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsFunction
*/
-
/**
* Smarty {counter} function plugin
- *
- * Type: function<br>
- * Name: counter<br>
+ * Type: function
+ * Name: counter
* 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)
+ * @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
- );
+ $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'];
+ $counter =& $counters[ $name ];
+ if (isset($params[ 'start' ])) {
+ $counter[ 'start' ] = $counter[ 'count' ] = (int)$params[ 'start' ];
}
-
- if (!empty($params['assign'])) {
- $counter['assign'] = $params['assign'];
+ if (!empty($params[ 'assign' ])) {
+ $counter[ 'assign' ] = $params[ 'assign' ];
}
-
- if (isset($counter['assign'])) {
- $template->assign($counter['assign'], $counter['count']);
+ if (isset($counter[ 'assign' ])) {
+ $template->assign($counter[ 'assign' ], $counter[ 'count' ]);
}
-
- if (isset($params['print'])) {
- $print = (bool)$params['print'];
+ if (isset($params[ 'print' ])) {
+ $print = (bool)$params[ 'print' ];
} else {
- $print = empty($counter['assign']);
+ $print = empty($counter[ 'assign' ]);
}
-
if ($print) {
- $retval = $counter['count'];
+ $retval = $counter[ 'count' ];
} else {
$retval = null;
}
-
- if (isset($params['skip'])) {
- $counter['skip'] = $params['skip'];
+ if (isset($params[ 'skip' ])) {
+ $counter[ 'skip' ] = $params[ 'skip' ];
+ }
+ if (isset($params[ 'direction' ])) {
+ $counter[ 'direction' ] = $params[ 'direction' ];
}
-
- if (isset($params['direction'])) {
- $counter['direction'] = $params['direction'];
+ if ($counter[ 'direction' ] === 'down') {
+ $counter[ 'count' ] -= $counter[ 'skip' ];
+ } else {
+ $counter[ 'count' ] += $counter[ 'skip' ];
}
-
- if ($counter['direction'] == "down")
- $counter['count'] -= $counter['skip'];
- else
- $counter['count'] += $counter['skip'];
-
return $retval;
-
}
-
-?> \ No newline at end of file