changed git call from https to git readonly
[atutor.git] / mods / phpdoc2 / PhpDocumentor / phpDocumentor / Smarty-2.6.0 / libs / plugins / function.counter.php
1 <?php\r
2 /**\r
3  * Smarty plugin\r
4  * @package Smarty\r
5  * @subpackage plugins\r
6  */\r
7 \r
8 \r
9 /**\r
10  * Smarty {counter} function plugin\r
11  *\r
12  * Type:     function<br>\r
13  * Name:     counter<br>\r
14  * Purpose:  print out a counter value\r
15  * @link http://smarty.php.net/manual/en/language.function.counter.php {counter}\r
16  *       (Smarty online manual)\r
17  * @param array parameters\r
18  * @param Smarty\r
19  * @return string|null\r
20  */\r
21 function smarty_function_counter($params, &$smarty)\r
22 {\r
23     static $counters = array();\r
24 \r
25     extract($params);\r
26 \r
27     if (!isset($name)) {\r
28                 if(isset($id)) {\r
29                         $name = $id;\r
30                 } else {                \r
31                 $name = "default";\r
32                 }\r
33         }\r
34 \r
35     if (!isset($counters[$name])) {\r
36         $counters[$name] = array(\r
37             'start'=>1,\r
38             'skip'=>1,\r
39             'direction'=>'up',\r
40             'count'=>1\r
41             );\r
42     }\r
43     $counter =& $counters[$name];\r
44 \r
45     if (isset($start)) {\r
46         $counter['start'] = $counter['count'] = $start;\r
47     }\r
48 \r
49     if (!empty($assign)) {\r
50         $counter['assign'] = $assign;\r
51     }\r
52 \r
53     if (isset($counter['assign'])) {\r
54         $smarty->assign($counter['assign'], $counter['count']);\r
55     }\r
56     \r
57     if (isset($print)) {\r
58         $print = (bool)$print;\r
59     } else {\r
60         $print = empty($counter['assign']);\r
61     }\r
62 \r
63     if ($print) {\r
64         $retval = $counter['count'];\r
65         } else {\r
66                 $retval = null;\r
67         }\r
68 \r
69     if (isset($skip)) {\r
70         $counter['skip'] = $skip;\r
71     }\r
72     \r
73     if (isset($direction)) {\r
74         $counter['direction'] = $direction;\r
75     }\r
76 \r
77     if ($counter['direction'] == "down")\r
78         $counter['count'] -= $counter['skip'];\r
79     else\r
80         $counter['count'] += $counter['skip'];\r
81         \r
82         return $retval;\r
83         \r
84 }\r
85 \r
86 /* vim: set expandtab: */\r
87 \r
88 ?>\r