1
+ − 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
?>