includes/wikiengine/Render/Plain/List.php
author Dan
Thu, 09 Aug 2007 12:26:16 -0400
changeset 85 7c68a18a27be
parent 1 fe660c52c48f
permissions -rw-r--r--
AJAX comments are now paginated; plugin manager can now show system plugins; typo in installer corrected; links in oxygen/stpatty/admin footers changed to "About Enano" page; 1.0.1 release candidate

<?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;
        }
    }
}
?>