iliaa Mon May 24 16:23:06 2004 EDT
Modified files: /livedocs livedoc.php Log: Optimizations: part #1 http://cvs.php.net/diff.php/livedocs/livedoc.php?r1=1.103&r2=1.104&ty=u Index: livedocs/livedoc.php diff -u livedocs/livedoc.php:1.103 livedocs/livedoc.php:1.104 --- livedocs/livedoc.php:1.103 Fri May 7 09:32:58 2004 +++ livedocs/livedoc.php Mon May 24 16:23:05 2004 @@ -18,7 +18,7 @@ // | Generate an HTML version of a phpdoc/docbook page on the fly | // +----------------------------------------------------------------------+ // -// $Id: livedoc.php,v 1.103 2004/05/07 13:32:58 wez Exp $ +// $Id: livedoc.php,v 1.104 2004/05/24 20:23:05 iliaa Exp $ define('LIVEDOC_SOURCE', dirname(__FILE__)); include LIVEDOC_SOURCE . '/common.php'; @@ -171,64 +171,38 @@ $nav = "<table class='nav' border='0' cellpadding='0' cellspacing='0' width='150'>"; /* Get the fileinfo for the reference */ - $q = sqlite_query($idx, "SELECT title, filename, idents.fileid, files.dirid from idents, files where id='$current_page' and idents.fileid=files.fileid"); - - if ($q && $tr = sqlite_fetch_array($q, SQLITE_NUM)) { - list($title, $filename, $fileid, $dirid) = $tr; - } else { - $q = sqlite_query($fb_idx, "SELECT title, filename, idents.fileid, files.dirid from idents, files where id='$current_page' and idents.fileid=files.fileid"); - - if ($q && $tr = sqlite_fetch_array($q, SQLITE_NUM)) { - list($title, $filename, $fileid, $dirid) = $tr; - } + $tr = sqlite_array_query($idx, "SELECT title, filename, idents.fileid, files.dirid from idents, files where id='$current_page' and idents.fileid=files.fileid", SQLITE_NUM); + if (!$tr) { + $tr = sqlite_array_query($fb_idx, "SELECT title, filename, idents.fileid, files.dirid from idents, files where id='$current_page' and idents.fileid=files.fileid", SQLITE_NUM); } + list($title, $filename, $fileid, $dirid) = $tr; /* Get parent ID and child IDs */ /* - first we get the first three parts of the path */ - $q = sqlite_query($idx, " - SELECT path - FROM toc - WHERE docbook_id = '$current_page' - "); - $r = sqlite_fetch_array($q, SQLITE_NUM); - if ($r[0]) { - $parent_ids = explode(",", $r[0]); - foreach($parent_ids as $id) { - $path[] = $id; + if (($r = sqlite_single_query($idx, "SELECT path FROM toc WHERE docbook_id = '$current_page' LIMIT 1", SQLITE_NUM))) { + $path = explode(",", $r); + foreach ($path as $item) { + $nav .= do_nav_line($item, 'up', $current_page, $lang, $dummy); } - } else { - $path = array('manual'); - } - - foreach ($path as $item) { $last_item = $item; - $nav .= do_nav_line($item, 'up', $current_page, $lang, $dummy); + } else { + $nav .= do_nav_line('manual', 'up', $current_page, $lang, $dummy); + $last_item = 'manual'; } /* With $last_item we're going to show all brothers */ - $q = sqlite_query($idx, " - SELECT docbook_id - FROM toc - WHERE parent_docbook_id = '$last_item' - ORDER BY id - "); - while ($r = sqlite_fetch_array($q, SQLITE_NUM)) { - $nav .= do_nav_line($r[0], 'down', $current_page, $lang, $dummy); + $r = (array) sqlite_single_query($idx, "SELECT docbook_id FROM toc WHERE parent_docbook_id = '$last_item' ORDER BY id"); + foreach ($r as $val) { + $nav .= do_nav_line($val, 'down', $current_page, $lang, $dummy); } $children = array(); /* And finally all children, but only if $current_page != $last_item * because showing the same thing twice makes no sense */ - $q = sqlite_query($idx, " - SELECT docbook_id - FROM toc - WHERE parent_docbook_id = '$current_page' - AND parent_docbook_id <> 'manual' - ORDER BY id - "); - while ($r = sqlite_fetch_array($q, SQLITE_NUM)) { - $nav .= do_nav_line($r[0], 'downdown', $current_page, $lang, $title); - $children[$r[0]] = $title; + $r = (array) sqlite_single_query($idx, "SELECT docbook_id FROM toc WHERE parent_docbook_id = '$current_page' AND parent_docbook_id <> 'manual' ORDER BY id"); + foreach ($r as $val) { + $nav .= do_nav_line($val, 'downdown', $current_page, $lang, $title); + $children[$val] = $title; } $nav .= "</table>\n"; @@ -250,24 +224,14 @@ $saferef = sqlite_escape_string($ref); - $q = sqlite_query($GLOBALS['idx'], "SELECT fileid from idents where id='$saferef'"); - if ($q && $r = sqlite_fetch_array($q, SQLITE_NUM)) { - $fileid = $r[0]; + if (($fileid = sqlite_single_query($GLOBALS['idx'], "SELECT fileid from idents where id='$saferef'"))) { $idx = $GLOBALS['idx']; - } elseif (isset($GLOBALS['fb_idx'])) { - $q = sqlite_query($GLOBALS['fb_idx'], "SELECT fileid from idents where id='$saferef'"); - if ($q && $r = sqlite_fetch_array($q, SQLITE_NUM)) { - $fileid = $r[0]; - $idx = $GLOBALS['fb_idx']; - } + } else if (isset($GLOBALS['fb_idx']) && ($fileid = sqlite_single_query($GLOBALS['fb_idx'], "SELECT fileid from idents where id='$saferef'"))) { + $idx = $GLOBALS['fb_idx']; } - - if ($fileid !== null) { - /* determine the first node within that file */ - $q = sqlite_query($idx, "SELECT id from idents where fileid='$fileid' LIMIT 1"); - if ($q && $r = sqlite_fetch_array($q, SQLITE_NUM)) { - $firstid = $r[0]; - } + + if ($fileid !== null) { /* determine the first node within that file */ + $firstid = sqlite_single_query($idx, "SELECT id from idents where fileid='$fileid' LIMIT 1"); } if ($firstid != $ref) {