Blame | Letzte Änderung | Log anzeigen | RSS feed
<?//error_reporting(E_ALL);// forget about any script timeoutsset_time_limit(0);mysql_connect("localhost","content_managem","k-dp-u");function message($msg,$line=false,$debug=false){if ($debug == true){printf("%4u: %s\n",$line,$msg);echo "<br>";}}$Datenbanken=array("zeltdepot_de","reitsportdepot_de","bootdepot_de","pieper_golf_de","wirbelsaeule_com","pieper_shop_de","blsb_bochum_de","pq_media_de");foreach($Datenbanken as $DB){// Datenbank anwählenmessage("use $DB",__LINE__,true);mysql_query ("use $DB") or die (mysql_errno().": ".mysql_error());/* ######################################################################################################## *//* # Tabellen füllen # *//* ######################################################################################################## */foreach(array("such_woerter","such_quelle_to_such_woerter",) as $tab){message("delete from $tab",__LINE__);if(!mysql_query("delete from $tab")){echo mysql_error();echo "<br>";}}if(!mysql_query("ALTER TABLE such_woerter AUTO_INCREMENT=0")){echo mysql_error();echo "<br>";}$query_such_quelle="select * from such_quelle where rang > 3";$result_such_quelle = mysql_query ($query_such_quelle) or die (mysql_errno().": ".mysql_error()."<hr>".$query_such_quelle."<hr>");message($query_such_quelle,__LINE__);while($such_quelle=mysql_fetch_assoc($result_such_quelle)){$query_such_index="select ".implode(", ",getKeys($DB.".".$such_quelle["quelle_tab"])).",".$such_quelle["quelle_feldname"]." from ".$such_quelle["quelle_tab"]." ".$such_quelle["quelle_bedingung"];message($query_such_index,__LINE__);$result_such_index = mysql_query ($query_such_index) or die (mysql_errno().": ".mysql_error()."<hr>".$query_such_index."<hr>");while($such_index=mysql_fetch_assoc($result_such_index)){/*Hier wird der Inhalt eines Feldes in seine Bestandteile zerlegt.Wenn nicht exakt gearbeitet wird, sieht das Ergebnis schlecht aus.*/$such_index[$such_quelle["quelle_feldname"]] = preg_replace(array("/<.*?>/","/&#(\d+);/e"),array(" ","chr(\\1)"),$such_index[$such_quelle["quelle_feldname"]]);foreach(preg_split ('/\s+/', $such_index[$such_quelle["quelle_feldname"]]) as $raw_keyword){$keyword = preg_replace(array("/[^A-Za-zÄÖÜäöüß0-9,]/"),array(""),$raw_keyword,-1);if (strlen($keyword) > 1){$query_such_woerter="insert into such_woerter (wort) values ('$keyword')";$result_such_woerter = mysql_query ($query_such_woerter);if(!$result_such_woerter){echo mysql_error();echo "<br>";}if($result_such_woerter){message(str_pad("insert $keyword",40).implode("-",array_keys(count_chars($keyword,1))),__LINE__);$such_wort_ID=mysql_insert_id();}else{$query_such_wort="select ID from such_woerter where wort = '".addslashes($keyword)."'";$result_such_wort = mysql_query ($query_such_wort) or die (mysql_errno().": ".mysql_error()."<hr>".$query_such_wort."<hr>");$such_wort=mysql_fetch_assoc($result_such_wort);$such_wort_ID=$such_wort["ID"];}if(!mysql_query("insert into such_quelle_to_such_woerter values(".$such_quelle["ID"].", ".$such_wort_ID.", ".$such_index["ID"].", '".$such_index["Language"]."')")){echo mysql_error();echo "<br>";}}}}}/* ######################################################################################################## *//* # ungültige Einträge entfernen *//* ######################################################################################################## */$query="selectdistinctsuch_quelle.quelle_tab,such_quelle_to_such_woerter.such_quelle_ID,such_quelle_to_such_woerter.quelle_ID,such_quelle_to_such_woerter.quelle_languagefromsuch_quelle,such_quelle_to_such_woerterwheresuch_quelle.ID = such_quelle_to_such_woerter.such_quelle_ID";$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>".$query."<hr>");while($zeile=mysql_fetch_assoc($result)){switch ($zeile["quelle_tab"]){case "directory":$buffer=rootDir($zeile["quelle_ID"],$zeile["quelle_language"]);if (($buffer["Father"] == -1) && ($buffer["status"] == 0)){$zeile["Status"]=0;} else {$zeile["Status"]=1;}break;case "artikel":$zeile["Status"]=artikelStatus($zeile["quelle_ID"],$zeile["quelle_language"]);break;default:$zeile["Status"]=0;break;}if ($zeile["Status"] == 1){$query="delete fromsuch_quelle_to_such_woerterwheresuch_quelle_ID = '".$zeile["such_quelle_ID"]."'and quelle_ID = '".$zeile["quelle_ID"]."'and quelle_language = '".$zeile["quelle_language"]."'";$zeile["query"] = $query;mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>".$query."<hr>");}}}/* ######################################################################################################## *//* # Serviveroutinen allgemein *//* ######################################################################################################## */function getKeys($target){$buffer=array();$query="show keys from $target";$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>".$query."<hr>");while($zeile=mysql_fetch_assoc($result)){if ($zeile["Key_name"] == "PRIMARY"){$buffer[]=$zeile["Column_name"];}}return $buffer;}/* ######################################################################################################## *//* # Serviveroutinen die für den check benötigt werden *//* ######################################################################################################## */function rootDir($ID,$language){$query="select ID,Father,status from directory where ID=$ID and language='$language' and Father > 0 and status=0 and Father != ID";message($query,__LINE__);$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>".$query."<hr>");if ($zeile=mysql_fetch_assoc($result)){$zeile=rootDir($zeile["Father"],$language);}return $zeile;}function artikelStatus($ID,$language){$query="select * from artikel where ID=$ID and language='$language'";$result = mysql_query ($query) or die (mysql_errno().": ".mysql_error()."<hr>".$query."<hr>");$zeile=mysql_fetch_assoc($result);if(($zeile["status"] == 0)&&($zeile["Father"] > -2)){// Artikel selbst ist OK, Pfad überprüfen$buffer=rootDir($zeile["Father"],$zeile["Language"]);if(($buffer["Father"] == -1)&&($buffer["status"] == 0)){// Artikel OK, Pfad OKreturn 0;}else{// Artikel OK, Pfad nicht OKreturn 1;}}else{ // Artikel ist nicht OKreturn 1;}}?>