import of Diogenes 0.9.18
[diogenes.git] / include / Text / Wiki / Render / Plain / List.php
1 <?php
2
3
4 class Text_Wiki_Render_Plain_List extends Text_Wiki_Render {
5
6 /**
7 *
8 * Renders a token into text matching the requested format.
9 *
10 * This rendering method is syntactically and semantically compliant
11 * with XHTML 1.1 in that sub-lists are part of the previous list item.
12 *
13 * @access public
14 *
15 * @param array $options The "options" portion of the token (second
16 * element).
17 *
18 * @return string The text rendered from the token options.
19 *
20 */
21
22 function token($options)
23 {
24 // make nice variables (type, level, count)
25 extract($options);
26
27 // set up indenting so that the results look nice; we do this
28 // in two steps to avoid str_pad mathematics. ;-)
29 $pad = str_pad('', $level, "\t");
30 $pad = str_replace("\t", ' ', $pad);
31
32 switch ($type) {
33
34 case 'bullet_list_start':
35 break;
36
37 case 'bullet_list_end':
38 if ($level == 0) {
39 return "\n\n";
40 }
41 break;
42
43 case 'number_list_start':
44 break;
45
46 case 'number_list_end':
47 if ($level == 0) {
48 return "\n\n";
49 }
50 break;
51
52 case 'bullet_item_start':
53 case 'number_item_start':
54 return "\n$pad";
55 break;
56
57 case 'bullet_item_end':
58 case 'number_item_end':
59 default:
60 // ignore item endings and all other types.
61 // item endings are taken care of by the other types
62 // depending on their place in the list.
63 return;
64 break;
65 }
66 }
67 }
68 ?>