[pmwiki-users] sorry i english problem with the cookbook : FastSearch

worm webmaster at wormcs.dyndns.org
Wed Aug 16 09:26:25 CDT 2006


hi all

i don t understand the explication off the :
"Edit the pagelist.php script and comment out the MakePageList function"

the terme comment out : = comment all the function? i have on the script 
pagelist.php :

function MakePageList($pagename, $opt, $retpages = 1) {
   global $MakePageListOpt, $SearchPatterns, $EnablePageListProtect, 
$PCache,
     $FmtV;
   StopWatch('MakePageList begin');
   SDVA($MakePageListOpt, array('list' => 'default'));

   $opt = array_merge((array)$MakePageListOpt, $opt);
   $readf = @$opt['readf'];
   # we have to read the page if order= is anything but name
   $order = @$opt['order'];
   $readf |= $order && ($order!='name') && ($order!='-name');

   $pats = @(array)$SearchPatterns[$opt['list']];
   if (@$opt['group']) $pats[] = FixGlob($opt['group'], '$1$2.*');
   if (@$opt['name']) $pats[] = FixGlob($opt['name'], '$1*.$2');

   # inclp/exclp contain words to be included/excluded.
   $incl = array(); $inclp = array(); $inclx = false;
   $excl = array(); $exclp = '';
   foreach((array)@$opt[''] as $i) { $incl[] = $i; }
   foreach((array)@$opt['+'] as $i) { $incl[] = $i; }
   foreach((array)@$opt['-'] as $i) { $excl[] = $i; }
   foreach($incl as $i) {
     $inclp[] = '$'.preg_quote($i).'$i';
     $inclx |= preg_match('[^\\w\\x80-\\xff]', $i);
   }
   if ($excl) $exclp = '$'.implode('|', array_map('preg_quote', 
$excl)).'$i';

   $searchterms = count($incl) + count($excl);
   $readf += $searchterms;                         # forced read if 
incl/excl

   if (@$opt['trail']) {
     $trail = ReadTrail($pagename, $opt['trail']);
     $list = array();
     foreach($trail as $tstop) {
       $pn = $tstop['pagename'];
       $list[] = $pn;
       $tstop['parentnames'] = array();
       PCache($pn, $tstop);
     }
     foreach($trail as $tstop)
       $PCache[$tstop['pagename']]['parentnames'][] =
         @$trail[$tstop['parent']]['pagename'];
   } else $list = ListPages($pats);
   if (IsEnabled($EnablePageListProtect, 1)) $readf = 1000;
   $matches = array();
   $FmtV['$MatchSearched'] = count($list);

   $terms = ($incl) ? PageIndexTerms($incl) : array();
   if (@$opt['link']) {
     $link = MakePageName($pagename, $opt['link']);
     $linkp = "/(^|,)$link(,|$)/i";
     $terms[] = " $link ";
     $readf++;
   }
   if ($terms) {
     $xlist = PageIndexGrep($terms, true);
     $a = count($list);
     $list = array_diff($list, $xlist);
     $a -= count($list);
     StopWatch("MakePageList: PageIndex filtered $a pages");
   }
   $xlist = array();

   StopWatch('MakePageList scanning '.count($list)." pages, readf=$readf");
   foreach((array)$list as $pn) {
     if ($readf) {
       $page = ($readf >= 1000)
               ? RetrieveAuthPage($pn, 'read', false, READPAGE_CURRENT)
               : ReadPage($pn, READPAGE_CURRENT);
       if (!$page) continue;
       if (@$linkp && !preg_match($linkp, @$page['targets']))
         { $xlist[] = $pn; continue; }
       if ($searchterms) {
         $text = $pn."\n".@$page['targets']."\n".@$page['text'];
         if ($exclp && preg_match($exclp, $text)) continue;
         foreach($inclp as $i)
           if (!preg_match($i, $text))
             { if ($inclx) $xlist[] = $pn; continue 2; }
       }
       $page['size'] = strlen(@$page['text']);
     } else $page = array();
     $page['pagename'] = $page['name'] = $pn;
     PCache($pn, $page);
     $matches[] = $pn;
   }
   StopWatch('MakePageList sort');
   if ($order) SortPageList($matches, $order);
   if ($xlist) {
     register_shutdown_function('flush');
     register_shutdown_function('PageIndexUpdate', $xlist, getcwd());
   }
   StopWatch('MakePageList end');
   if ($retpages)
     for($i=0; $i<count($matches); $i++)
       $matches[$i] = &$PCache[$matches[$i]];
   return $matches;
}
                           ^
do i comment all this? ---|

thx for your help

best regards
worm





More information about the pmwiki-users mailing list