Ich habe lediglich die Datenbankabfrage und Linkgenerierung im Outputteil geändert, so dass jetzt über alle Clients gesucht werden kann
Frohe Weihnachten
Detlev
TITEL:
Suchmodul v1.3 (clientübergreifend)
Copyright: Sven
LASTMODIFY: 23.12.2002 10:00
BESCHREIBUNG:
Bietet eine Volltextsuche. Durchsucht Titel,Beschreibung und Content.
(c) webmaster@zu-hause.biz 16.09.2002
INPUT:
echo "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">
<tr valign=\"top\">
<td width=\"202\">Schriftart Link:</td>
<td><select name=\"CMS_VAR[0]\" size=\"1\">";
if ("CMS_VALUE[0]" != 0) {echo "<option value=\"0\">".$lngForm["nothing"]."</option>";}
else {echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";}
for ($i=1; $i<=50; $i++) {if ( $i != "CMS_VALUE[0]" ) {echo "<option value=\"$i\">Font $i</option>";} else {echo "<option value=\"$i\" selected>Font $i</option>";}}
echo "</SELECT></td>
</tr> <tr valign=\"top\">
<td width=\"202\">Schriftart Text:</td>
<td><select name=\"CMS_VAR[1]\" size=\"1\">";
if ("CMS_VALUE[1]" != 0) {echo "<option value=\"0\">".$lngForm["nothing"]."</option>";}
else {echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";}
for ($i=1; $i<=50; $i++) {if ( $i != "CMS_VALUE[1]" ) {echo "<option value=\"$i\">Font $i</option>";} else {echo "<option value=\"$i\" selected>Font $i</option>";}}
echo "</SELECT></td>
</tr> <tr valign=\"top\">
<td width=\"202\">Zusatzangaben: </td>
<td><INPUT TYPE=\"radio\" NAME=\"CMS_VAR[2]\" VALUE=\"0\" ";
if("CMS_VALUE[2]" == 0){ echo "checked=checked"; }; echo "> nichts <br>
<INPUT TYPE=\"radio\" NAME=\"CMS_VAR[2]\" VALUE=\"1\" ";
if("CMS_VALUE[2]" == 1){ echo "checked=checked"; }; echo "> Kommentar <br>
<INPUT TYPE=\"radio\" NAME=\"CMS_VAR[2]\" VALUE=\"2\" ";
if("CMS_VALUE[2]" == 2){ echo "checked=checked"; }; echo "> Textausschnitt </td>
</tr> <tr valign=\"top\">
<td width=\"202\">Linkziel: </td>
<td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[3]\" VALUE=\"CMS_VALUE[3]\"></td>
</tr>
</table>";
OUTPUT:
echo "<center><table width=\"100%\" border=\"1\"><tr><td align=center>
<form name=\"suche\" method=\"POST\" action=\"".$auth->url()."\" >
<input type=\"text\" size=\"9\" style=\"width:120px\" name=\"suche\" value=\"$suche\">
<INPUT TYPE=\"submit\" VALUE=\"Suchen\"></FORM></td></tr>";
if($suche){
$suche = trim($suche);
$suchregexp = "(".str_replace(" ",")|(",$suche).")";
$s=ereg_replace("ü", "%FC",strtolower($suche));
$s=ereg_replace("ä", "%E4",$s);
$s=ereg_replace("ö", "%F6",$s);
$suchregexp .= "|$s";
$suchliste = explode(" ",strtolower($suche));
$sql = "SELECT A.title AS title,
A.idside AS idside,
A.summary AS comment,
A.idsidelang AS sideid,
B.idcat AS idcat,
C.parentid AS parentid,
D.value AS content,
G.name AS clientname ";
$sql .= "FROM $cfgTab_side_lang AS A,
$cfgTab_cat_side AS B,
$cfgTab_cat AS C,
$cfgTab_content AS D,
$cfgTab_clients AS G ";
$sql .= "WHERE A.idside=B.idside AND
A.idsidelang=D.idsidelang AND
B.idcat=C.idcat AND
A.online='1' AND
C.idclient=G.idclient";
$sql .= " AND (D.value REGEXP '$suchregexp' OR A.title REGEXP '$suchregexp' OR A.summary REGEXP '$suchregexp')";
$db->query($sql);
if ($db->num_rows() != 0){
for ($i=0; $i<$db->num_rows(); $i++) {
$db->next_record();
if ($auth->auth["uid"] == "nobody"){
$sql2 = "SELECT public FROM $cfgTab_cat_lang WHERE idcat='".$db->f("idcat")."'";
$db2 = new DB_Contenido; $db2->query($sql2); $db2->next_record();
if($db2->f("public") == 0)continue;
};
$num = 0 + $db->f("sideid");
$results[$num][link] = "../".$db->f("clientname")."/front_content.php?parent=".$db->f("parentid")."&subid=".$db->f("parentid")."&idcat=".$db->f("idcat")."&idside=".$db->f("idside")."";
$results[$num][title] = $db->f("title");
switch ("CMS_VALUE[2]") {
case 0: $results[$num][text] = "";break;
case 1: $results[$num][text] = $db->f("comment");break;
case 2: $results[$num][text] .= substr(strip_tags(rawurldecode($db->f("content"))),0,100)."...";
};
for($x=0;$x<count($suchliste);$x++){
$hits[$num] += substr_count(strtolower($db->f("title")), $suchliste[$x]) +
substr_count(strtolower($db->f("comment")), $suchliste[$x]) +
substr_count(strtolower($db->f("content")), $suchliste[$x]);
};
};
if(count($hits) > 0){
$hits = array_values($hits);
$results = array_values($results);
array_multisort ($results, SORT_DESC, SORT_NUMERIC, $hits, SORT_DESC, SORT_NUMERIC);
for ($i=0; $i<count($hits); $i++){
echo "<tr><td align=left><a href=\"".$results[$i][link]."\" id=\"fontCMS_VALUE[0]\"";
if("CMS_VALUE[3]"){echo "TARGET=\"CMS_VALUE[3]\" ";};
echo ">".$results[$i][title]."</a> <span id=\"fontCMS_VALUE[1]\">(".$hits[$i]." Treffer)<BR>";
echo $results[$i][text]."</span></td></tr>";
};
} else { echo "<tr><td align=center>Keine passenden Seiten gefunden</td></tr>"; };
} else { echo "<tr><td align=center>Keine passenden Seiten gefunden</td></tr>"; };
};
echo "</table></center>";