, All rights reserved // Copyright (c) 2011, Latif Khalifa // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. // // Based on C# version by Eric Woodruff (Eric@EWoodruff.us) from code by Ferdinand Prantl // Copyright 2008, Eric Woodruff, All rights reserved $ret = ""; $ki = DOMDocument::load("WebKI.xml"); $xpath = new DOMXpath($ki); $root = $xpath->query("*" ); $startIndex = 0; if (isset($_GET["StartIndex"])) { $startIndex = (int)$_GET["StartIndex"]; } $endIndex = $startIndex + 128; if ($endIndex > $root->length) $endIndex = $root->length; if ($startIndex > 0) { $prev = $startIndex - 128; if ($prev < 0) $prev = 0; $ret .= "
\r\n" . " << Previous page\r\n
\r\n"; } $title = ""; while($startIndex < $endIndex) { $node = $root->item($startIndex); $url = $node->getAttribute("Url"); if (!$url) { $url = "#"; $target = ""; } else { $target = " target=\"TopicContent\""; } $ret .= sprintf("
\r\n" . " %s\r\n", $url, $target, htmlentities($node->getAttribute("Title"))); if ($node->hasChildNodes()) { foreach($node->childNodes as $subNode) { $ret .= sprintf("
\r\n" . "%s\r\n
\r\n", $subNode->getAttribute("Url"), htmlentities($subNode->getAttribute("Title"))); } } $ret .= "
\r\n"; $startIndex++; } if ($startIndex < $root->length) { $ret .= "
\r\n" . " Next page >>\r\n
\r\n"; } print $ret;