################################################################################# # Ähnliche Themen # # # # Autor: Helga # # Email: Helga(Helga@low-group.de) # # # # # # Zu ändernde Dateien: # # thread.php # # # # WICHTIG! Vor dem Einbau des Hacks unbedingt ein Backup # # der zu ändernden Dateien machen!!! # # # ################################################################################# Disclaimer: Dieses Addon darf auf keiner anderen Seite als low-group.de ohne Genehmigung des Autors zum Download angeboten werden. Beschreibung: Mit diesem Addon bekommt man eine Anzeige unter den Posts mit ähnlichen Themen. Vorraussetzung: MySQL-Version 3.23.23 und höher !!! Ausführung: im ACP unter "SQL Abfragen" dies ausführen: ALTER TABLE `bb1_threads` ADD FULLTEXT (`topic`); die bb1 mit eurem Wert abgleichen. Dann in der thread.php dies suchen: $thread['topic'] = htmlconverter(textwrap($thread['topic'])); dort drunter dies einfügen: ############################################ /* Ähnlich Themen Helga */ function getBoards() { global $db,$n,$wbbuserdata,$boardcache; if(!isset($boardcache) || !is_array($boardcache)) $boardcache=array(); $result=$db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards ORDER BY parentid ASC, boardorder ASC"); while($row=$db->fetch_array($result)) { $boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row; } $boardpermissions=getPermissions(); $boardids=""; foreach($boardcache as $key=>$val) { foreach($val as $key2=>$val2) { foreach($val2 as $row) if(!isset($boardpermissions[$row['boardid']]['can_use_search']) || $boardpermissions[$row['boardid']]['can_use_search']!=0) $boardids.=",".$row['boardid']; } } return $boardids; } $find = str_replace("'","",wbb_trim($thread['topic'])); $findarray = explode("\n",$badsearchwords); $find = str_replace($findarray, " ", $find); $find = preg_replace("/( \+|^\+)/s", " ", $find); $find = preg_replace("/( \-|^\-)/s", " ", $find); $find = preg_replace("/[\/,\.:;\(\)\[\]?!#{}%_\-+=\\\\]/s", " ", $find); $find = preg_replace("/['\"]/s", "", $find); $find = preg_replace("/\s{2,}/", " ", $find); $similar = $db->query("SELECT t.*, MATCH(topic) AGAINST('$find') as rang, b.title, b.boardid FROM bb".$n."_threads as t LEFT JOIN bb".$n."_boards as b ON (b.boardid=t.boardid) WHERE t.visible=1 AND t.threadid <> $threadid AND t.boardid IN (0".GetBoards().") AND MATCH(topic) AGAINST('$find') ORDER by rang DESC LIMIT 0,5"); while ($rowsim = $db->fetch_array($similar)) { $i++; $tdclass = getone($i, "tablea", "tableb"); $stopiclong = $rowsim['topic']; if(strlen($rowsim[topic]) > '37') $stopic = "".substr($rowsim[topic], 0, 37)."..."; else $stopic = $rowsim['topic']; $slastdate = formatdate($wbbuserdata['dateformat'], $rowsim['lastposttime']); $slasttime = formatdate($wbbuserdata['timeformat'], $rowsim['lastposttime']); eval("\$threadsim_bit .= \"".$tpl->get("thread_similar_bit")."\";"); } eval("\$threadsim = \"".$tpl->get("thread_similar")."\";"); /* Ähnliche Themen Ende Helga */ ########################## Dann in der template thread.tpl dieses suchen:
$t->pagelink {$lang->items['LANG_THREAD_THREADED']} | {$lang->items['LANG_THREAD_FLATTHREAD']}
und drunter oder drüber dieses einfügen: 0)> $threadsim Dann nur noch im ACP unter Sprachpacket importieren, die thread.lng importieren und die Template importieren und cachen. Das wars schon. Helga