Code:
<?php
/************************************************************************/
/* PHP-NUKE: Web Portal System */
/* =========================== */
/* */
/* Copyright (c) 2002 by Francisco Burzi */
/* http://phpnuke.org */
/* */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License. */
/************************************************************************/
/* Additional security & Abstraction layer conversion */
/* 2003 chatserv */
/* http://www.nukefixes.com -- http://www.nukeresources.com */
/************************************************************************/
// Modified by Alessandro Trebbi (a.trebbi@gmail.com)
if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
die ("You can't access this file directly...");
}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
require_once("modules/".$module_name."/lib/KwIndex.lib.php");
class NukeKwIndex extends KwIndex {
function &document_sub($doc_ids) {
global $db, $prefix;
$docs = array();
foreach($doc_ids as $doc_id) {
switch (substr($doc_id,0,1)) {
case '1':
// pagine
$query = "SELECT pid, title, subtitle, page_header, text, page_footer FROM ".$prefix."_pages WHERE pid=".substr($doc_id,1);
$res = $db->sql_query($query);
while($row = $db->sql_fetchrow($res)) {
$docs[$doc_id] = strip_tags($row[1]." ".$row[2]." ".$row[3]." ".$row[4]." ".$row[5]);
}
break;
case '2':
// news
$query = "SELECT sid, title, hometext, bodytext, notes FROM ".$prefix."_stories WHERE sid=".substr($doc_id,1);
$res = $db->sql_query($query);
while($row = $db->sql_fetchrow($res)) {
$docs[$doc_id] = strip_tags($row[1]." ".$row[2]." ".$row[3]." ".$row[4]);
}
break;
case '3':
// downloads
$query = "SELECT lid, title, description FROM ".$prefix."_downloads_downloads WHERE lid=".substr($doc_id,1);
$res = $db->sql_query($query);
while($row = $db->sql_fetchrow($res)) {
$docs[$doc_id] = strip_tags($row[1]." ".$row[2]);
}
break;
case '4':
// links
$query = "SELECT lid, title, description FROM ".$prefix."_links_links WHERE lid=".substr($doc_id,1);
$res = $db->sql_query($query);
while($row = $db->sql_fetchrow($res)) {
$docs[$doc_id] = strip_tags($row[1]." ".$row[2]);
}
break;
case '5':
// eventi
$query = "SELECT eid, title, hometext FROM ".$prefix."_events WHERE eid=".substr($doc_id,1);
$res = $db->sql_query($query);
while($row = $db->sql_fetchrow($res)) {
$docs[$doc_id] = strip_tags($row[1]." ".$row[2]);
}
break;
case '6':
// recensioni
$query = "SELECT id, title, text FROM ".$prefix."_reviews WHERE id=".substr($doc_id,1);
$res = $db->sql_query($query);
while($row = $db->sql_fetchrow($res)) {
$docs[$doc_id] = strip_tags($row[1]." ".$row[2]);
}
break;
case '7':
// commenti
$query = "SELECT tid, subject, comment FROM ".$prefix."_comment WHERE tid=".substr($doc_id,1);
$res = $db->sql_query($query);
while($row = $db->sql_fetchrow($res)) {
$docs[$doc_id] = strip_tags($row[1]." ".$row[2]);
}
break;
}
}
return $docs;
}
}
global $admin, $prefix, $db, $module_name, $articlecomm, $multilingual, $days;
// se necessario ricrea l'indice del sito
rebuildIndex();
if ($fmt=="xml") {
xmlheader();
} else {
$ThemeSel = get_theme();
$offset=10;
if (!isset($min)) $min=0;
if (!isset($max)) $max=$min+$offset;
$query = stripslashes(check_html($query, nohtml));
$pagetitle = "- "._SEARCH."";
include("header.php");
$topic = intval($topic);
if ($topic>0) {
$row = $db->sql_fetchrow($db->sql_query("SELECT topicimage, topictext from ".$prefix."_topics where topicid='$topic'"));
$topicimage = $row['topicimage'];
$topictext = $row['topictext'];
if (file_exists("themes/$ThemeSel/images/topics/$topicimage")) {
$topicimage = "themes/$ThemeSel/images/topics/$topicimage";
} else {
$topicimage = "$tipath/$topicimage";
}
} else {
$topictext = ""._ALLTOPICS."";
if (file_exists("themes/$ThemeSel/images/topics/AllTopics.gif")) {
$topicimage = "themes/$ThemeSel/images/topics/AllTopics.gif";
} else {
$topicimage = "$tipath/AllTopics.gif";
}
}
if (file_exists("themes/$ThemeSel/images/topics/AllTopics.gif")) {
$alltop = "themes/$ThemeSel/images/topics/AllTopics.gif";
} else {
$alltop = "$tipath/AllTopics.gif";
}
OpenTable();
if ($type == "users") {
echo "<center><font class=\"title\"><b>"._SEARCHUSERS."</b></font></center><br>";
} elseif ($type == "reviews") {
echo "<center><font class=\"title\"><b>"._SEARCHREVIEWS."</b></font></center><br>";
} elseif ($type == "comments" AND isset($sid)) {
$res = $db->sql_query("select title from ".$prefix."_stories where sid='$sid'");
list($st_title) = $db->sql_fetchrow($res);
$instory = "AND sid='$sid'";
echo "<center><font class=\"title\"><b>"._SEARCHINSTORY." $st_title</b></font></center><br>";
} else {
echo "<center><font class=\"title\"><b>"._SEARCHIN." $topictext</b></font></center><br>";
}
echo "<table width=\"100%\" border=\"0\"><TR><TD>";
if (($type == "users") OR ($type == "reviews")) {
echo "<img src=\"$alltop\" align=\"right\" border=\"0\" alt=\"\">";
} else {
echo "<img src=\"$topicimage\" align=\"right\" border=\"0\" alt=\"$topictext\">";
}
echo "<form action=\"modules.php?name=$module_name\" method=\"POST\">"
."<input size=\"25\" type=\"text\" name=\"query\" value=\"$query\"> "
."<input type=\"submit\" value=\""._SEARCH."\"><br><br>";
if (isset($sid)) {
echo "<input type='hidden' name='sid' value='$sid'>";
}
echo "<!-- Topic Selection -->";
$toplist = $db->sql_query("SELECT topicid, topictext from ".$prefix."_topics order by topictext");
echo "<select name=\"topic\">";
echo "<option value=\"\">"._ALLTOPICS."</option>\n";
while($row2 = $db->sql_fetchrow($toplist)) {
$topicid = intval($row2['topicid']);
$topics = $row2['topictext'];
if ($topicid==$topic) { $sel = "selected "; }
echo "<option $sel value=\"$topicid\">$topics</option>\n";
$sel = "";
}
echo "</select>";
/* Category Selection */
$category = intval($category);
echo " <select name=\"category\">";
echo "<option value=\"0\">"._ARTICLES."</option>\n";
$result3 = $db->sql_query("SELECT catid, title from ".$prefix."_stories_cat order by title");
while ($row3 = $db->sql_fetchrow($result3)) {
$catid = intval($row3['catid']);
$title = $row3['title'];
if ($catid==$category) { $sel = "selected "; }
echo "<option $sel value=\"$catid\">$title</option>\n";
$sel = "";
}
echo "</select>";
/* Authors Selection */
$thing = $db->sql_query("SELECT aid from ".$prefix."_authors order by aid");
echo " <select name=\"author\">";
echo "<option value=\"\">"._ALLAUTHORS."</option>\n";
while($row4 = $db->sql_fetchrow($thing)) {
$authors = $row4['aid'];
if ($authors==$author) { $sel = "selected "; }
echo "<option value=\"$authors\">$authors</option>\n";
$sel = "";
}
echo "</select>";
/* Date Selection */
?>
<select name="days">
<option <?php echo $days == 0 ? "selected " : ""; ?> value="0"><?php echo _ALL ?></option>
<option <?php echo $days == 7 ? "selected " : ""; ?> value="7">1 <?php echo _WEEK ?></option>
<option <?php echo $days == 14 ? "selected " : ""; ?> value="14">2 <?php echo _WEEKS ?></option>
<option <?php echo $days == 30 ? "selected " : ""; ?> value="30">1 <?php echo _MONTH ?></option>
<option <?php echo $days == 60 ? "selected " : ""; ?> value="60">2 <?php echo _MONTHS ?></option>
<option <?php echo $days == 90 ? "selected " : ""; ?> value="90">3 <?php echo _MONTHS ?></option>
</select><br>
<?php
if (($type == "all") OR ($type == "")) {
$sel0 = "checked";
} elseif ($type == "stories") {
$sel1 = "checked";
} elseif ($type == "comments") {
$sel2 = "checked";
} elseif ($type == "users") {
$sel3 = "checked";
} elseif ($type == "reviews") {
$sel4 = "checked";
}
$num_rev = $db->sql_numrows($db->sql_query("SELECT * from ".$prefix."_reviews"));
echo ""._SEARCHON."";
echo "<input type=\"radio\" name=\"type\" value=\"all\" $sel0> All";
echo "<input type=\"radio\" name=\"type\" value=\"stories\" $sel1> "._SSTORIES."";
if ($articlecomm == 1) {
echo "<input type=\"radio\" name=\"type\" value=\"comments\" $sel2> "._SCOMMENTS."";
}
echo "<input type=\"radio\" name=\"type\" value=\"users\" $sel3> "._SUSERS."";
if ($num_rev > 0) {
echo "<input type=\"radio\" name=\"type\" value=\"reviews\" $sel4> "._REVIEWS."";
}
echo "</form></td></tr></table>";
}
// statistiche indice
echo "Ricerca su ".getDocNumber()." documenti<br>";
if (is_admin($admin)) {
echo "<a href=\"modules.php?name=$name&forcerebuild=1\">Ricostruzione indice</a>";
}
if (isset($query) && $query!="") {
global $db, $prefix, $query, $currentlang;
$doc_ids=array();
echo "<br><hr noshade size=\"1\"><center><b>"._SEARCHRESULTS."</b></center><br><br>";
$p = array (
"index_name" => $prefix."_siteindex",
);
$kw = new NukeKwIndex($p);
// ricerca...
$p = array('words'=>$query,'boolean'=>'AND');
$doc_ids = $kw->search($p);
if (!isset($doc_ids))
die("can't search: ".$kw->ERROR);
// metto davanti quelli piu' recenti
rsort($doc_ids, SORT_NUMERIC);
// visualizzo solo quelli della pagina che stavo cercando
/*
$doc_ids = array_slice($doc_ids, ($pagina-1)*$risPerPg-$risultati+$trovati,
$risPerPg-$trovati);
*/
$time = time();
foreach ($doc_ids as $doc_id) {
switch (substr($doc_id,0,1)) {
case '1':
// pagine
$stmt = "SELECT pid, title, subtitle, page_header, text, page_footer, clanguage, date, active FROM ".$prefix."_pages WHERE pid=".substr($doc_id,1);
$res = $db->sql_query($stmt);
while($row = $db->sql_fetchrow($res)) {
$subject = $row[1];
$link = "modules.php?name=Content&pa=showpage&pid=".substr($doc_id,1);
$a_body = $row[2]." ".$row[3]." ".$row[4]." ".$row[5];
$doclang = $row[clanguage];
$doctopic = "";
$docauthor = "";
$doctime = mktime(0,0,0,intval(substr($row[date],5,2)),intval(substr($row[date],8,2)),intval(substr($row[date],0,4)));
if ($row[active]!=1)
continue;
}
break;
case '2':
// news
$stmt = "SELECT sid, title, hometext, bodytext, notes, alanguage, topic, aid, time FROM ".$prefix."_stories WHERE sid=".substr($doc_id,1);
$res = $db->sql_query($stmt);
while($row = $db->sql_fetchrow($res)) {
$subject = $row[1];
$link = "modules.php?name=News&file=article&sid=".substr($doc_id,1);
$a_body = $row[2]." ".$row[3]." ".$row[4];
$doclang = $row[alanguage];
$doctopic = $row[topic];
$docauthor = $row[aid];
$doctime = mktime(0,0,0,intval(substr($row[time],5,2)),intval(substr($row[time],8,2)),intval(substr($row[time],0,4)));
}
break;
case '3':
// downloads
$stmt = "SELECT lid, title, description, cid, date FROM ".$prefix."_downloads_downloads WHERE lid=".substr($doc_id,1);
$res = $db->sql_query($stmt);
while($row = $db->sql_fetchrow($res)) {
$subject = $row[1];
//$link = "modules.php?name=Downloads&d_op=viewdownloaddetails&lid=".substr($doc_id,1)."&title=".$row[1];
$link = "modules.php?name=Downloads&d_op=viewdownload&cid=".$row[cid];
$a_body = $row[2];
$doclang = "";
$doctopic = "";
$docauthor = "";
$doctime = mktime(0,0,0,intval(substr($row[date],5,2)),intval(substr($row[date],8,2)),intval(substr($row[date],0,4)));
}
break;
case '4':
// links
$stmt = "SELECT lid, title, description, cid, date FROM ".$prefix."_links_links WHERE lid=".substr($doc_id,1);
$res = $db->sql_query($stmt);
while($row = $db->sql_fetchrow($res)) {
$subject = $row[1];
//$link = "links.html?amp;l_op=viewlinkdetails&lid=".substr($doc_id,1)."&ttitle=".$row[1];
$link = "links.html?amp;l_op=viewlink&cid=".$row[cid];
$a_body = $row[2];
$doclang = "";
$doctopic = "";
$docauthor = "";
$doctime = mktime(0,0,0,intval(substr($row[date],5,2)),intval(substr($row[date],8,2)),intval(substr($row[date],0,4)));
}
break;
case '5':
// eventi
$stmt = "SELECT eid, title, hometext, topic, aid, time FROM ".$prefix."_events WHERE eid=".substr($doc_id,1);
$res = $db->sql_query($stmt);
while($row = $db->sql_fetchrow($res)) {
$subject = $row[1];
$link = "modules.php?name=Calendar&file=index&type=view&eid=".substr($doc_id,1);
$a_body = $row[2];
$doclang = "";
$doctopic = $row[topic];
$docauthor = $row[aid];
$doctime = mktime(0,0,0,intval(substr($row[time],5,2)),intval(substr($row[time],8,2)),intval(substr($row[time],0,4)));
}
break;
case '6':
// recensioni
$stmt = "SELECT id, title, text, rlanguage, date FROM ".$prefix."_reviews WHERE id=".substr($doc_id,1);
$res = $db->sql_query($stmt);
while($row = $db->sql_fetchrow($res)) {
$subject = $row[1];
$link = "reviews.html?amp;rop=showcontent&id=".substr($doc_id,1);
$a_body = $row[2];
$doclang = $row[rlanguage];
$doctopic = "";
$docauthor = "";
$doctime = mktime(0,0,0,intval(substr($row[date],5,2)),intval(substr($row[date],8,2)),intval(substr($row[date],0,4)));
}
break;
case '7':
// commenti
$stmt = "SELECT tid, subject, comment, sid, pid, date FROM ".$prefix."_comments WHERE tid=".substr($doc_id,1);
$res = $db->sql_query($stmt);
while($row = $db->sql_fetchrow($res)) {
$subject = $row[1];
if ($row[sid] != "") {
$link = "modules.php?name=News&file=article&sid=".$row[sid];
}
$a_body = $row[2];
$doclang = "";
$docauthor = "";
$doctime = mktime(0,0,0,intval(substr($row[date],5,2)),intval(substr($row[date],8,2)),intval(substr($row[date],0,4)));
}
break;
}
// controllo su lingua del documento
if ($multilingual == 1) {
if ($doclang != "" && $doclang != $currentlang)
continue;
}
// controllo su topic
if (isset($topic) && $topic != "") {
if ($doctopic != "" && $doctopic != $topic)
continue;
}
// controllo su autore
if (isset($author) && $author != "") {
if ($docauthor != "" && $docauthor != $author)
continue;
}
// controllo su data
if ($days != 0 && isset($doctime)) {
$docdays = ($time - $doctime) / 86400;
if ($docdays>$days) {
continue;
}
}
$trovati++;
// faccio il display dei soli risultati della pagina corrente
// 1-10 11-20 21-30 ...
/*
if ($risultati < ($pagina-1)*$risPerPg+1 ||
$risultati > ($pagina)*$risPerPg)
continue;
*/
$a_body = strip_tags($a_body);
//htmlspecialchars($abody);
// elaboro $a_body, mi interessano solo le parti "intorno" alle stringhe cercate
/*
foreach($search_words as $search_word) {
$string = eregi_replace("($search_word)",'<span style="background-color: '.$bgcolor.'">\\1</span>', $string);
}
*/
//$warr = str_word_count($query, 1);
$warr = preg_split("/[\s,]+/", $query);
$bgcolor="#ffff00";
foreach($warr as $w) {
$a_body = eregi_replace("($w)",
'<span style="background-color: '.$bgcolor.'">\\1</span>',
$a_body);
$subject = eregi_replace("($w)",
'<span style="background-color: '.$bgcolor.'">\\1</span>',
$subject);
}
$lenFrag=255;
// taglio l'inizio e la fine di a_body
$posword = strpos($a_body,'<');
if (!$posword==false && $posword>$lenFrag)
$a_body = "...".substr($a_body, $posword-$lenFrag);
//$posword = strrpos($a_body,'</span>');
// cerca solo un carattere singolo
$posword = _strrpos_needle($a_body,'>');
if (!$posword==false && $posword<strlen($a_body)-$lenFrag)
$a_body = substr($a_body,0,$posword+$lenFrag)."...";
// ultima cosa, andrebbero filtrate le parti in mezzo tra le varie
// stringhe trovate
$a_body = eregi_replace("(>[^\<\>]{".$lenFrag."})([^\<\>]+)([^\<\>]{".$lenFrag."}\<)",
//$a_body = eregi_replace("(>[^\<\>]{255})([^\<\>]+)([^\<\>]{255}\<)",
'\\1...\\3',
$a_body);
if ($fmt=="xml") {
echo "<SearchResult>\n"
." <TITLE>$subject</TITLE>\n"
." <LINK>$link</LINK>\n"
." <CONTENT>$a_body</CONTENT>\n"
."</SearchResult>\n";
} else {
echo("<br><a href=\"$link\"><font class=\"title\">$subject</font></a> (".date("M-d-Y",$doctime).")<br><br>$a_body<br><br>");
}
}
if ($fmt=="xml") {
xmlfooter();
die();
}
if ($trovati==0) {
echo "<br>Nessuna pagina trovata<br>";
}
// altre ricerche
echo "<br>";
/*if (is_active("Downloads")) {
$dcnt = $db->sql_numrows($db->sql_query("SELECT * from ".$prefix."_downloads_downloads WHERE title LIKE '%$query%' OR description LIKE '%$query%'"));
$mod1 = "<li> <a href=\"modules.php?name=Downloads&d_op=search&query=$query\">"._DOWNLOADS."</a> ($dcnt "._SEARCHRESULTS.")";
}
/*if (is_active("Web_Links")) {
$lcnt = $db->sql_numrows($db->sql_query("SELECT * from ".$prefix."_links_links WHERE title LIKE '%$query%' OR description LIKE '%$query%'"));
$mod2 = "<li> <a href=\"links.html?amp;l_op=search&query=$query\">"._WEBLINKS."</a> ($lcnt "._SEARCHRESULTS.")";
}
if (is_active("Encyclopedia")) {
$ecnt1 = $db->sql_query("SELECT eid from ".$prefix."_encyclopedia WHERE active='1'");
$ecnt = 0;
while($row_e = $db->sql_fetchrow($ecnt1)) {
$eid = intval($row_e['eid']);
$ecnt2 = $db->sql_numrows($db->sql_query("select * from ".$prefix."_encyclopedia WHERE title LIKE '%$query%' OR description LIKE '%$query%' AND eid='$eid'"));
$ecnt3 = $db->sql_numrows($db->sql_query("select * from ".$prefix."_encyclopedia_text WHERE title LIKE '%$query%' OR text LIKE '%$query%' AND eid='$eid'"));
$ecnt = $ecnt+$ecnt2+$ecnt3;
}
$mod3 = "<li> <a href=\"modules.php?name=Encyclopedia&file=search&query=$query\">"._ENCYCLOPEDIA."</a> ($ecnt "._SEARCHRESULTS.")";
}*/
// YOU CAN'T MODIFY FOLLOWING LINES
// IF YOU NEED TO HIDE OR MODIFY ANY PART OF THE FOOLOWING LINES AND REMOVE
// COPYRIGHT.PHP AITTLE FEE IS REQUIRED
// FOR DETAILS PLEASE CHECK http://www.madeinpesaro.com/contentid-26.html
echo "<font class=\"title\">"._FINDMORE."<br><br>"
.""._DIDNOTFIND."</font><br><br>"
.""._SEARCH." \"<b>$query</b>\" "._ON.":<br><br>"
."<ul>"
."$mod1"
."$mod2"
."$mod3";
if (is_active("Amazon")) {
echo "<li> <a href=\"modules.php?name=Amazon&op=ShowResults&page=1&mode=books&keyword=$query\">Amazon (Books,...)</a>";
}
if (is_active("NewsGroups")) {
echo "<li> <a href=\"news.htmlGroups&file=search&words=$query&action=search_all\">$sitename NewsGroups</a>";
}
global $currentlang;
if ($currentlang=="italian")
$hl = "it";
else
$hl = "en";
$cof = rawurlencode("GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;");
echo "<li> <a href=\"http://www.google.com/custom?q=$query&sa=Ricerca&client=pub-7926667066499508&forid=1&ie=ISO-8859-1&oe=ISO-8859-1&cof=$cof&hl=$hl\" target=\"new\">Google</a>"
."</ul>";
//."<li> <a href=\"http://groups.google.com/groups?q=$query&client=pub-7926667066499508&forid=1\" target=\"new\">Google Groups</a>"
}
echo "<br>Search engine provided by <a href=\"http://www.madeinpesaro.com\">Made In Pesaro</a>";
// END OF UNMODIFIABLE PART
CloseTable();
include "footer.php";
function rebuildIndex() {
global $db, $prefix, $forcerebuild;
$last_ids = array(0,0,0,0,0,0,0,0,0);
$doc_ids=array();
$p = array (
"index_name" => $prefix."_siteindex",
);
$kw = new NukeKwIndex($p);
// in caso di forcerebuild va ripulito l'indice
if ($forcerebuild==1) {
$kw->empty_index();
}
// determino l'ultimo documento indicizzato
$result = $db->sql_query("SELECT substring( max( id ) , 2 ) AS last_id, left( id, 1 ) AS tipo"
." FROM `".$prefix."_siteindex_doclist`"
." GROUP BY tipo");
while ($row = $db->sql_fetchrow($result)) {
$last_ids[$row[tipo]-1] = $row[last_id];
}
// ricostruzione indice
// pagine
$result = $db->sql_query("select pid from ".$prefix."_pages where pid>$last_ids[0] order by pid limit 0, 10");
while ($row = $db->sql_fetchrow($result)) {
array_push($doc_ids, "1".$row[0]);
}
// news
$result = $db->sql_query("select sid from ".$prefix."_stories where sid>$last_ids[1] order by sid limit 0, 10");
while ($row = $db->sql_fetchrow($result)) {
array_push($doc_ids, "2".$row[0]);
}
// downloads
$result = $db->sql_query("select lid from ".$prefix."_downloads_downloads where lid>$last_ids[2] order by lid limit 0, 10");
while ($row = $db->sql_fetchrow($result)) {
array_push($doc_ids, "3".$row[0]);
}
// links
$result = $db->sql_query("select lid from ".$prefix."_links_links where lid>$last_ids[3] order by lid limit 0, 10");
while ($row = $db->sql_fetchrow($result)) {
array_push($doc_ids, "4".$row[0]);
}
// eventi
$result = $db->sql_query("select eid from ".$prefix."_events where eid>$last_ids[4] order by eid limit 0, 10");
while ($row = $db->sql_fetchrow($result)) {
array_push($doc_ids, "5".$row[0]);
}
// recensioni
$result = $db->sql_query("select id from ".$prefix."_reviews where id>$last_ids[5] order by id limit 0, 10");
while ($row = $db->sql_fetchrow($result)) {
array_push($doc_ids, "6".$row[0]);
}
// commenti
$result = $db->sql_query("select tid from ".$prefix."_comments where tid>$last_ids[6] order by tid limit 0, 10");
while ($row = $db->sql_fetchrow($result)) {
array_push($doc_ids, "7".$row[0]);
}
// alla fine di tutto
$kw->add_document($doc_ids);
// ottimizzazione indice
// se compare in almeno 1/3 dei documenti non la indicizzo
// SOLO SE CI SONO ALMENO 100 DOCUMENTI
/*
$result = $db->sql_query("select count(*) from ".$prefix."_siteindex_doclist");
if ($row = $db->sql_fetchrow($result) && intval(getDocNumber())>=100) {
$comwords = $kw->common_word(40);
$kw->add_stop_word($comwords);
$kw->remove_word($comwords);
}
*/
}
function xmlheader() {
global $db, $sitename;
// Send headers
header('Content-Type: text/xml');
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";
echo "<!--\n"
."-\n"
."- Produced by $sitename\n"
."-\n"
."-->\n";
echo "<KWSEARCH>\n";
}
function xmlfooter() {
echo "</KWSEARCH>\n";
}
function getDocNumber() {
global $db, $prefix;
$result = $db->sql_query("select count(*) from ".$prefix."_siteindex_doclist");
if ($row = $db->sql_fetchrow($result)) {
return $row[0];
}
// errore
return -1;
}
?>
|