summaryrefslogtreecommitdiff
path: root/pear/Text/Wiki/Render/Creole/List.php
blob: bbb9b768155545aa729582da1478a7d7b506aabd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php

class Text_Wiki_Render_Creole_List extends Text_Wiki_Render {

    /**
    *
    * Renders a token into text matching the requested format.
    *
    * This rendering method is syntactically and semantically compliant
    * with XHTML 1.1 in that sub-lists are part of the previous list item.
    *
    * @access public
    *
    * @param array $options The "options" portion of the token (second
    * element).
    *
    * @return string The text rendered from the token options.
    *
    */

    function token($options)
    {
        // make nice variables (type, level, count)

        switch ($options['type']) {

        case 'bullet_list_start':
        case 'number_list_start':
            return '';
            break;
        case 'bullet_list_end':
        case 'number_list_end':
            if ($options['level'] == 0) {
                return "\n";
            }
            break;
        case 'bullet_item_start':
            $pad = str_pad('', $options['level'], '*');
            return $pad . ' ';
            break;
        case 'number_item_start':
            $pad = str_pad('', $options['level'], '#');
            return $pad . ' ';
            break;
        case 'bullet_item_end':
        case 'number_item_end':
        default:
            return "\n";
            break;
        }
    }
}
?>