示例#1
0
function walk_toc_entries($parent_no = 0)
{
    global $alias, $book, $toc_nos, $linage;
    $entries = $book->get_toc_entries($parent_no);
    if (count($entries)) {
        echo '<ul class="tree">';
        foreach ($entries as $number => $entry) {
            list($name, $link, $nchildren) = $entry;
            if ($nchildren) {
                if ($toc_nos[$number]) {
                    echo '<li class="expanded">';
                } else {
                    echo '<li class="collapsed">';
                }
            } else {
                echo '<li class="single">';
            }
            array_push($linage, $number);
            if ($toc_nos[$number] || !$nchildren) {
                echo '<a href="' . $link . '">';
            } else {
                // See also http://htmlhelp.com/faq/html/frames.html#frame-update2
                echo '<a href="../../tocfrm.php?book=' . htmlspecialchars($alias, ENT_QUOTES) . '&amp;toc_nos=' . implode('+', $linage) . '" target="_self" onclick="top.main.location=\'' . htmlspecialchars($base . $link, ENT_QUOTES) . '\';">';
            }
            echo htmlspecialchars($name, ENT_NOQUOTES) . '</a>';
            if ($toc_nos[$number] && $nchildren) {
                walk_toc_entries($number);
            }
            array_pop($linage);
            echo '</li>';
        }
        echo '</ul>';
    }
}
function walk_toc_entries($parent_no = 0)
{
    global $book;
    $entries = $book->get_toc_entries($parent_no);
    if (count($entries)) {
        echo '<treechildren>';
        foreach ($entries as $number => $entry) {
            list($title, $link, $nchildren) = $entry;
            if ($nchildren) {
                echo '<treeitem container="true">';
            } else {
                echo '<treeitem>';
            }
            echo '<treerow>';
            echo '<treecell label="' . htmlspecialchars($title, ENT_QUOTES) . '" value="' . htmlspecialchars($link, ENT_QUOTES) . '"/>';
            echo '</treerow>';
            walk_toc_entries($number);
            echo '</treeitem>';
        }
        echo '</treechildren>';
    }
}