[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