YourWBB


yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Hacks und Addons » Ähnliche Themen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 36.133 Views | | Thema zu Favoriten hinzufügen
Seiten (6): [1] 2 3 4 5 6 nächste »
Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Ähnliche Themen 7 Bewertungen - Durchschnitt: 7,297 Bewertungen - Durchschnitt: 7,29
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

 Ähnliche Themen Antworten Zitieren Editieren Melden       UP

Titel: Ähnliche Themen
Version: 1.0
Beschreibung: Name: Ähnliche Themen
Version: 1.0
Für wBB-Version: 2.3
Getestet mit: 2.3 Beta 3

Beschreibung: Mit diesem Hack werden zu jedem Thema 5 ähnliche Themen gesucht. Dazu wird
die MySQL-Bedingung LIKE verwendet, d.h. wenn die Anzeige "komisch" oder
unsauber funktioniert, dann ist MySQL schuld.
Dieser Hack ist im Gegensatz zu den meisten anderen Hacks, die ähnliches
leisten, sehr sparsam gecodet. Es für die Abfrage nur ein zusätzlicher SQL-
Query nötig, ein weiterer kommt hinzu, wenn der Permission-Cache nicht gesetzt
ist, um die Foren ausfindig zu machen, in denen gesucht wird.
Foren, zu denen man keine Berechtigung hat, werden, genauso wie passwortgeschützte
Foren, von der Suche nach ähnlichen Themen ausgeschlossen, sodass niemand etwas
sieht, was er nicht sehen darf.

Demo: http://board.rellek.org/attachment.php?attachmentid=538
Copyright: (c) 2005 by rellek
Disclaimer: Keine Haftung für irgendwelche Schäden am Board. Fehler sind natürlich nicht ausgeschlossen

---

Bekannte Fehler: -
Updates und Bugfixes: -
----
Demo: http://board.rellek.org/attachment.php?attachmentid=538

weiter zum Download
01.01.05 18:01 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Wer am Beta-Test der neuen Version teilnehmen möchte, der ersetzt bitte den längeren Abschnitt zwischen den beiden
code:
1:
/* Ähnliche Themen */

und
code:
1:
/* Ähnliche Themen Ende */


mit:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
/* Ähnlich Themen */
function GetAccessableForums() {
	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_view_board']) || $boardpermissions[$row['boardid']]['can_view_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_enter_board']) || $boardpermissions[$row['boardid']]['can_enter_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_read_thread']) || $boardpermissions[$row['boardid']]['can_read_thread'] != 0)) $boardids .= ",".$row['boardid'];
		}	
	}
	return $boardids;
}

/* Unset Used Vars To Avoid Hacking Attempts */
unset($similar_thread_bit);
unset($like_string);

$ttopic = str_replace("."," ",$threadtopic);
$ttopic = str_replace("!"," ",$ttopic);
$ttopic = str_replace("?"," ",$ttopic);
$ttopic = str_replace("/"," ",$ttopic);
$ttopic = str_replace("§"," ",$ttopic);
$ttopic = str_replace("$"," ",$ttopic);
$ttopic = str_replace("%"," ",$ttopic);
$ttopic = str_replace("&"," ",$ttopic);
$ttopic = str_replace("("," ",$ttopic);
$ttopic = str_replace(")"," ",$ttopic);
$ttopic = str_replace("="," ",$ttopic);
$ttopic = str_replace("\\"," ",$ttopic);
$ttopic = str_replace("?"," ",$ttopic);
$ttopic = str_replace("-"," ",$ttopic);
$ttopic = str_replace("*"," ",$ttopic);
$ttopic = str_replace("+"," ",$ttopic);
$ttopic = str_replace("#"," ",$ttopic);
$ttopic = str_replace("_"," ",$ttopic);
$ttopic = str_replace(","," ",$ttopic);
$ttopic = str_replace(":"," ",$ttopic);
$ttopic = str_replace(";"," ",$ttopic);
$ttopic = str_replace("<"," ",$ttopic);
$ttopic = str_replace(">"," ",$ttopic);
$ttopic = str_replace("|"," ",$ttopic);
$ttopic = str_replace("~"," ",$ttopic);
$ttopic = str_replace("'"," ",$ttopic);
$ttopic = str_replace('"',' ',$ttopic);
$ttopic = explode(" ",$ttopic);
$badwordlist = explode("\n",$badsearchwords);
$y = count($ttopic);
if($y>1) {
  foreach($ttopic as $tt) {
  	if(!in_array($tt, $badwordlist)) {
  		if(strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength) $x++;
  		if($x>1 && (strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength)) $like_string .= " OR t.topic LIKE ";
  		if(strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength) $like_string .= "'%".$tt."%'";
  }
}
} else $like_string = "'%$threadtopic%'";
if($like_string) {
	$similar = $db->query("SELECT
                      t.threadid, t.boardid, x.title, x.boardid, t.prefix, t.topic, t.starttime, t.starterid, t.starter, t.lastposttime, t.lastposterid, t.lastposter, t.replycount, t.views, t.attachments, t.closed, t.important, t.pollid
                      FROM bb".$n."_threads t, bb".$n."_boards x
                      LEFT JOIN bb".$n."_boards b ON (t.boardid=b.boardid)
                      WHERE t.visible='1'
                      AND t.closed <> 3
                      AND t.threadid <> $threadid
                      AND b.password=''
                      AND t.boardid=x.boardid
                      AND t.boardid IN (0".GetAccessableForums().")
                      AND (t.topic LIKE ".$like_string.")
                      ORDER BY t.lastposttime DESC
                      LIMIT 0, 5;");
	}
if($like_string && $db->num_rows($similar)) {
	$i = "0";
	while ($row = $db->fetch_array($similar)) {
		$i++;
		$tdclass = getone($i, "tablea", "tableb");
		$started = formatdate($wbbuserdata['dateformat'], $row['starttime'],1);
		$started .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['starttime'])."</span>";
		$lastreply = formatdate($wbbuserdata['dateformat'], $row['lastposttime'],1);
		$lastreply .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['lastposttime'])."</span>";
		if ($row['replycount'] >= 1000) $row['replycount'] = number_format($row['replycount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
		if ($row['views'] >= 1000) $row['views'] = number_format($row['views'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
		if (strlen($row['topic']) > 60) $row['topic'] = substr($row['topic'], 0, 54).' [...]';
		$row['topic'] = htmlconverter($row['topic']);
		eval("\$similar_thread_bit .= \"".$tpl->get("thread_similarthread_bit")."\";");
	}
	eval("\$similar_thread = \"".$tpl->get("thread_similarthread")."\";");
}
/* Ähnliche Themen Ende */


Auftretende Bugs bitte melden !

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von rellek: 17.02.05 14:03.

06.01.05 16:19 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
skooli
Mitglied


Dabei seit: 31.05.04
Beiträge: 46

Antworten Zitieren Editieren Melden       UP

ich hab wieder das gleiche Problem wie mit dem Hack in der Version 2.1.x

alle änderungen durchgeführt, templates gecached, aber es erscheint einfach nichts.

Diesemal funzt es auch nicht mit der Änderung vom Beta-Test, der hier im Support-Thread ist (wenn ich das einfüge, bleibt die thread.php immer weiß).

Woran kann das liegen? hinten dran ist meine thread.php, hilft vielleicht...

Dateianhang:
zip thread.zip (8,35 KB, 1 mal heruntergeladen)
18.01.05 18:34 skooli ist offline E-Mail Finden Als Freund hinzufügen
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Gibt es auch ähnliche Themen?
19.01.05 13:29 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
Marvel
Mitglied


Dabei seit: 16.01.04
Beiträge: 303

Antworten Zitieren Editieren Melden       UP

Hack geht wirklich nicht... Voll die scheiße...
Wurde der Hack vor dem release überhaupt getestet?! Augen rollen
24.01.05 23:17 Marvel ist offline E-Mail Finden Als Freund hinzufügen
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Nein, weil ich habe noch >NIE< Hacks getestet, bevor ich sie release und die ganzen anderen, die damit uzfrieden sind, die sehen eine Illusion, bzw. bauen sich den Demo-Screen ins Forum ein.

Also echt mal.

Hier auch ne Live-Demo -FALLS es dich interessieren sollte: http://board.rellek.org/thread.php?threadid=5260
25.01.05 14:36 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
Marvel
Mitglied


Dabei seit: 16.01.04
Beiträge: 303

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von rellek
Nein, weil ich habe noch >NIE< Hacks getestet, bevor ich sie release und die ganzen anderen, die damit uzfrieden sind, die sehen eine Illusion, bzw. bauen sich den Demo-Screen ins Forum ein.

Also echt mal.

Hier auch ne Live-Demo -FALLS es dich interessieren sollte: http://board.rellek.org/thread.php?threadid=5260



Ich hab das eher als Scherz geschrieben :rolleyes:
Der Hack geht, aber alle Themen die davor erstellt wurde, machen net mit Augenzwinkern
Also Hack hat keine Funktion bei alten Themen, kann man das so machen das es auch bei alten Themen erscheint?
25.01.05 22:36 Marvel ist offline E-Mail Finden Als Freund hinzufügen
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Dem hack ist egal, wie alt der Thread ist - er muss ähnliche Elemente enthalten.
26.01.05 13:36 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
Marvel
Mitglied


Dabei seit: 16.01.04
Beiträge: 303

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von rellek
Dem hack ist egal, wie alt der Thread ist - er muss ähnliche Elemente enthalten.



mmm komisch hab ez fast alle Themen durchgeguckt, [ja ok net fast alle aber viele] und die wo was ähnliches stand, werden die ähnliche themen nicht agezeigt...
nur wenn ich neue erstelle und es probier geht es!!!
26.01.05 22:21 Marvel ist offline E-Mail Finden Als Freund hinzufügen
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Ähnlich heißt ja bei MySQL, dass das Wort, was gefunden werden soll, ein Teil des Wortes ist, nachdem gesucht wird ..... wenn die Bedingungen nicht erfüllt werden, dann findet er eben keines...
27.01.05 13:53 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
M@K€
Mitglied


Dabei seit: 06.07.04
Beiträge: 4

Antworten Zitieren Editieren Melden       UP

Also bei mir zeigt er bei beiden varianten nur die letzten 5 Beiträge an aber nix ähnliche Themen :doof

Habe auch mal ähnliche erstellt aber er findet da nix oder besser er zeigt alle neuen an

Was steht in den postings

1mal test test
1mal link link

trotzdem wird wenn ich zum beispiel auf das Test Thema gehe Link angezeigt, da frage ich mich jetzt was haben Test und Link gemeinsam da gibt es ja nichtmal ein gleichen buchstaben. Hatte auch probiert weil sie erst im gleichen Forum waren das es daran liegt aber selbst nach dem verschieben und auch nach einem löschen und neuerstellen in einem anderen Forum kommt immer noch der Link wenn ich das thema Test aufrufe verwirrt

Oder kurz gesagt die letzten 5 Beiträge werden angezeigt aber sonst nix

bevor ich nicht den Beta text eingefügt hatte ging sogar garnichts danach gehen jetzt beide varianten aber leider halt nur die letzten 5 Beiträge


Weiß jemand was das ist.
06.02.05 14:51 M@K€ ist offline E-Mail Finden Als Freund hinzufügen
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Der sucht nur nach ähnlichen Überschriften.

Das heißt: Wenn du 2 Threads hast, "Test" und "Test1", und gehst in den "Test"-Thread, dann wird "Test1" gefunden, bei "Test1" wird "Test" aber nicht gefunden. Also ist MySQL schuld unglücklich
07.02.05 12:48 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
martin21 martin21 ist männlich
Mitglied


Dabei seit: 18.01.04
Beiträge: 224
Herkunft: KN am See
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Super Idee!!! Könnte man auf phonetische Ähnlichkeiten erweitern großes Grinsen Alle Umlaute werden weggelassen, und dann der rest verglichen großes Grinsen

Ansonsten wäre es toll, wenn sich dieser Hack auch auf den Inhalt beziehen würde *duck* ok scheiss viel Arbeit und sehr viel Abfragen großes Grinsen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von martin21: 07.02.05 19:22.

07.02.05 19:19 martin21 ist offline E-Mail WWW Finden Als Freund hinzufügen Füge martin21 in deine Kontaktliste ein
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Wie willst du das mit Inhalt machen? Du musst davon ausgehen, dass der Server ein Computer ist, kein Mensch.
08.02.05 08:18 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
demut
Mitglied


Dabei seit: 19.10.04
Beiträge: 9

Antworten Zitieren Editieren Melden       UP

Der hack hat mit der Originalversion (also nicht der neuen Beta) zwar weniger gefunden, die Ergebnisse waren aber besser. Nach dem Einbau des betacodes scheint der Vergleich nahezu beliebig. Es werden nur Themenüberschriften verglichen, oder?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von demut: 17.02.05 08:26.

17.02.05 08:26 demut ist offline E-Mail Finden Als Freund hinzufügen Füge demut in deine Kontaktliste ein
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Ja, da werden nur die Überschriften verglichen, wie vorher eben auch.
Nur, dass nicht nach dem Betreff in seiner Gesamtheit, sondern nach einzelnen Wörtern gesucht wird.
17.02.05 14:00 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
demut
Mitglied


Dabei seit: 19.10.04
Beiträge: 9

Antworten Zitieren Editieren Melden       UP

Ist eine weitere Version in Planung?
Und ganz "nebenbei" - Danke für den Hack! :-)
17.02.05 19:16 demut ist offline E-Mail Finden Als Freund hinzufügen Füge demut in deine Kontaktliste ein
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Ja, ist. Diese wird u.a. im Profil deaktivierbar sein und eine andere (möglicherweise bessere) Technologie, um ähnliche Themen zu finden (ja, schonmalwieder großes Grinsen )
18.02.05 12:18 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
demut
Mitglied


Dabei seit: 19.10.04
Beiträge: 9

Antworten Zitieren Editieren Melden       UP

:-) Super! Bin gespannt und bin auch gerne Betatester, falls gesucht.
18.02.05 13:16 demut ist offline E-Mail Finden Als Freund hinzufügen Füge demut in deine Kontaktliste ein
Alluidh Alluidh ist männlich
Mitglied


images/avatars/avatar-369.gif

Dabei seit: 22.01.04
Beiträge: 558
Herkunft: NRW

Antworten Zitieren Editieren Melden       UP

Der Hack ist absolut spassig ... Freue mich schon sehr auf die neue Version ...

Danke, rellek

Alluidh
05.04.05 08:30 Alluidh ist offline E-Mail WWW Finden Als Freund hinzufügen Füge Alluidh in deine Kontaktliste ein
Seiten (6): [1] 2 3 4 5 6 nächste » Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Hacks und Addons » Ähnliche Themen