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

Reply via email to