108 lines
3.2 KiB
PHP
108 lines
3.2 KiB
PHP
<?php
|
|
|
|
|
|
function drawContents (&$list) {
|
|
$st = input::$IE ? "margin:0px 0px 0px 20px" : "margin:0px 0px 0px -15px";
|
|
|
|
$kl = array_keys($list);
|
|
foreach ($kl as $k) {
|
|
echo "<li><a href='#{$list[$k]['name']}'>{$list[$k]['title']}</a>";
|
|
if (count($list[$k]['subsections'])) {
|
|
echo "<ul style='$st'>";
|
|
drawContents($list[$k]['subsections']);
|
|
echo "</ul>";
|
|
}
|
|
echo "</li>";
|
|
}
|
|
}
|
|
|
|
|
|
function displayLinks($text) {
|
|
$l = explode('<mlink ', $text);
|
|
$nText = array_shift($l);
|
|
while (count($l)) {
|
|
$t = preg_replace('/^\s*to=[\'"]/', '', array_shift($l));
|
|
$toName = preg_replace('/^([A-Za-z0-9_\-]+)[\'"]>(.*\n)*.*/', '\1', $t);
|
|
$toName = preg_replace('/\s/', '', $toName);
|
|
$t = preg_replace('/^[A-Za-z0-9_\-]+[\'"]>/', '', $t);
|
|
|
|
$secId = handler::$h->lib->call('getSectionId', handler::$h->lang, $toName);
|
|
$link = "";
|
|
if (!is_null($secId)) {
|
|
$pageId = handler::$h->lib->call('getPageId', $secId);
|
|
if (!is_null($pageId)) {
|
|
$lt = handler::$h->lib->call('readSectionRecord', $secId);
|
|
if ($pageId == handler::$h->page['id']) {
|
|
$link = "<a href='#{$lt['name']}'>";
|
|
} else {
|
|
$pg = handler::$h->lib->call('readSectionRecord', $pageId);
|
|
$link = "<a href='?c=0&p={$pg['name']}#{$lt['name']}'>";
|
|
}
|
|
}
|
|
}
|
|
|
|
$nText .= $link . preg_replace('/^(.*)<\/mlink>(.*\n)*.*/', '\1', $t) . ($link != '' ? "</a>" : "")
|
|
. preg_replace('/^.*<\/mlink>/', '', $t);
|
|
}
|
|
|
|
return $nText;
|
|
}
|
|
|
|
|
|
function drawSecTitle(&$section, $depth) {
|
|
$pgLink = "";
|
|
if ($section['linkto'] != "") {
|
|
$pageId = handler::$h->lib->call('getPageId', $section['linkto']);
|
|
if (!is_null($pageId)) {
|
|
$lt = handler::$h->lib->call('readSectionRecord', $section['linkto']);
|
|
if ($pageId == handler::$h->page['id']) {
|
|
$pgLink = " (<a href='#{$lt['name']}'>view</a>)";
|
|
} else {
|
|
$pg = handler::$h->lib->call('readSectionRecord', $pageId);
|
|
$pgLink = " (<a href='?c=0&p={$pg['name']}#{$lt['name']}'>view</a>)";
|
|
}
|
|
}
|
|
}
|
|
|
|
$mDepth = ($depth - 2) * 10;
|
|
echo "<table style='width:95%;margin:0;padding:0'><tr><td style='width:85%'><a name='{$section['name']}'></a><h$depth"
|
|
. " style='padding:0;margin:5px 0px 5px {$mDepth}px'>{$section['title']}$pgLink</h$depth>"
|
|
. "</td><td style='text-align:right'><a href='#" . handler::$h->page['name'] . "'>Top</a></td></tr></table>";
|
|
}
|
|
|
|
function drawSections (&$list, $depth = 2) {
|
|
$kl = array_keys($list);
|
|
foreach ($kl as $k) {
|
|
if ($depth == 2) {
|
|
echo "<hr/>";
|
|
}
|
|
drawSecTitle($list[$k], $depth);
|
|
if ($list[$k]['contents'] != '') {
|
|
echo "<div class='mansection'>" . displayLinks($list[$k]['contents']) . "</div>";
|
|
}
|
|
if (count($list[$k]['subsections'])) {
|
|
drawSections($list[$k]['subsections'], $depth + 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if (is_null(handler::$h->page)) {
|
|
include('manual_notfound.en.inc');
|
|
return;
|
|
}
|
|
|
|
?>
|
|
<a name="<?=handler::$h->page['name']?>"></a>
|
|
<h1 style="margin:0;padding:0"><?=handler::$h->page['title']?></h1>
|
|
<?
|
|
|
|
if (count(handler::$h->page['subsections'])) {
|
|
$st = input::$IE ? "margin:0px 0px 0px 30px" : "margin:0px 0px 0px -15px";
|
|
echo "<div class='mansection'><b>Contents:</b><ul style='$st'>";
|
|
drawContents(handler::$h->page['subsections']);
|
|
echo "</ul></div>";
|
|
drawSections(handler::$h->page['subsections']);
|
|
}
|
|
|
|
?>
|