Seite 1 von 1

FavForums - Gezielt Unterforen von der Suche ausnehmen

Verfasst: 03.03.2004 02:29
von Toff
Hi!

Vor einiger Zeit habe ich schon mal hier nachgefragt, ob es einen Mod gibt, der es den Usern erlaubt einzelne Foren generell aus der Suche auszuschliessen. Doch damals gabs keine Antwort, also versuche ich das selber zu realisieren...

Betreiber von Foren mit internationalen Subforen verstehen vielleicht die Notwendigkeit eines solchen Mods. Angenommen das Forum sieht so aus:

Forum A - Deutsch
Forum B - Deutsch
Forum C - Deutsch
Forum D - Italienisch
Forum E - Französisch
Forum F - Englisch

Benutzer, die Deutsch und Englisch können, nerven die Threads aus dem französichen und dem italienischem Forum usw. Mein Ziel ist es daher, dass die Benutzer ihre (Unter-)Foren und somit Sprachen auswählen können und somit ein wesentlich übersichtlichen Forum "sehen".

Da ich noch nie ein phpbb mod selber erstellt habe, orientiere ich mich an schon existierenden Mods. Ähnlich "Add a New Field to Profile-Mod" habe ich ein ein neues Feld ins Profil hinzugefügt, in dem die "FavForums" gespeichert werden sollen.

Als erstes soll eine Multiple-Select-Box im Profil angezeit werden, so dass der User aus allen Foren "seine" Unterforen auswählen kann. Hier ein Ausschnitt aus der "usercp_register.php"

Code: Alles auswählen

	// FAVFORUMS-start
	$sql = "SELECT *
		FROM " . FORUMS_TABLE . "
		ORDER BY cat_id, forum_order";
	if(!$favforums_result = $db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, "Couldn't obtain forums information.", "", __LINE__, __FILE__, $sql);
	}
	$forums_row = $db->sql_fetchrowset($favforums_result);
	$num_forums = $db->sql_numrows($favforums_result) ;
	
	$favforums_start = '' ;
	
	$favforums_select = "<select name=\"favforums\" size=\"7\" multiple>";
	for ($i = 0; $i < $num_forums; $i++)
	{
		$favforums_id = $forums_row[$i]['forum_id'];
		$favforums_name = $forums_row[$i]['forum_name'];
		//$selected = ( isset( $user_flag) ) ? (($user_flag == $flag_image) ? 'selected="selected"' : '' ) : '' ;
		
		$favforums_select .= "\t<option value=\"$favforums_id\">$favforums_name</option>";
	}
	$favforums_select .= '</select>';
	// FAVFORUMS-end
Dummerweise wird nur die cat_id des letzten ausgewählten Eintrages aus der Select-Box in die DB geschrieben. Kann mir hier jemand helfen die Werte richtig in die DB zu übergeben?

Danach werkel ich wieder weiter, die Anpassung der search.php sollte eigentlich wieder einfach werden :)

Danke
Toff

Verfasst: 04.03.2004 17:29
von Toff
Scheint nicht viele zu interessieren, aber das Ding ist fertig. Ich hab den Mod mal dokumentiert und hochgeladen:

Beschreibung:
Forums with multiple languages (as subforums) or a lot of different topics might get cluttered over the time. E.g. in the case of languages, people who know not every language people are using on your board might be a bit annoyed when they find threads in languages they don't understand. Or you've go a board about cars and motorcycles. Non-Biklers might be happy, if they could skip all motorcycle threads in their searches. So that's why i made the "Favorite Forums Mod".
Users are now able to select a list of their favorite forums inside the board. When the do a simple search or use the "View posts since last visit" search option only those forums in their favorites list are searched. So in the example i mentioned before, the Non-Biker selectes only the car related forums in his profile, and from now one threads from inside the biker forums don't show up anymore.
I added this "filter" only to the those to search option ("View posts since last visit" and a simple search). When you search for postings by a single user or inside a certain category, all forums will be searched.
Optional i added descriptions for the EZPortal mod. You only have to edit the portal.php, if you use the portal page.
Download:
http://people.freenet.de/toff_01/favforums_1.0_eng.txt

CU
Toff

Verfasst: 02.07.2004 21:30
von TheRealKoston
klingt nicht schlecht -
wie siehtsn aus wird das ding in die Mod-datenbank aufgenommen?
Weil wenns offiziell is, dann test ichs auch aus ;)
Will mir net unnötig board zerschiessen

Verfasst: 02.07.2004 22:50
von Toff
Klappt auf meinem Board (mehr als 5000 User) ohne Probleme ;) und wozu gibt es Backups bzw. sollte man Mods *immer* erst mal auf einem Testsystem installieren und bei erfolgreichem Test aufs den eigentlichen Server kopieren.

CU
Toff

Verfasst: 02.07.2004 22:57
von Both
Hi Toff...

finde deinen Mod ziehmlich nützlich. Wieso bloß sendest du den nicht an Dwing, damit er ihn
ins Mod-Forum eintragen kann. Dein Post wird irgendwann mal ganz unten sein, und nicht jeder benutz die Forensuche.
Und in der Mod-DB wird der nicht untergehen.

Timmy

Verfasst: 02.07.2004 23:06
von Toff
Ich hab Dwing mal eine PN geschrieben :)

CU
Toff