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) {