diff options
Diffstat (limited to 'includes/pear/Text/Wiki/Render/Plain/List.php')
| -rw-r--r-- | includes/pear/Text/Wiki/Render/Plain/List.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/includes/pear/Text/Wiki/Render/Plain/List.php b/includes/pear/Text/Wiki/Render/Plain/List.php new file mode 100644 index 0000000..9983689 --- /dev/null +++ b/includes/pear/Text/Wiki/Render/Plain/List.php @@ -0,0 +1,68 @@ +<?php + + +class Text_Wiki_Render_Plain_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) + extract($options); + + // set up indenting so that the results look nice; we do this + // in two steps to avoid str_pad mathematics. ;-) + $pad = str_pad('', $level, "\t"); + $pad = str_replace("\t", ' ', $pad); + + switch ($type) { + + case 'bullet_list_start': + break; + + case 'bullet_list_end': + if ($level == 0) { + return "\n\n"; + } + break; + + case 'number_list_start': + break; + + case 'number_list_end': + if ($level == 0) { + return "\n\n"; + } + break; + + case 'bullet_item_start': + case 'number_item_start': + return "\n$pad"; + break; + + case 'bullet_item_end': + case 'number_item_end': + default: + // ignore item endings and all other types. + // item endings are taken care of by the other types + // depending on their place in the list. + return; + break; + } + } +} +?>
\ No newline at end of file |
