Seite 1 von 3

[Anfrage] bestimmte Foren aus "Neue Beiträge" auss

Verfasst: 07.11.2008 12:40
von Odiii
Hallo liebe Leute!

Da es anscheinend keinen solchen Mod gibt, wollte ich einfach mal anfragen, ob jemand Interesse hätte, eine solche kleine Modifikation zu schreiben. Da ich leider nicht fit in PHP bin, kann ich sowas nicht und frage hier einfach mal an.

Was man machen sollte:
Man sollte im UCP Foren wählen könne, die man nicht unter "Neue Beiträge" angezeigt bekommt.

Wenn jemand Interesse und etwas Zeit hat, würde ich mich sehr darüber freuen :wink:

Gruß
Odiii

Verfasst: 07.11.2008 18:18
von DanielHeinrich
Hi!

was du suchst ist diese Mod in einer modifizierten Version:

Führe also einfach die darin enthaltenen Anweisungen aus, ABER:
ignoriere hier erstmal die Änderungen an folgenden Dateien:
- search.php
- includes/functions_display.php
- language/de/search.php
- language/en/search.php
- styles/subsilver2/template/search_body.html
- styles/prosilver/template/search_body.html

kommen wir noch zum wichtigsten Teil - zurück zur search.php:
Die Anleitung muss an diesen Stellen modifiziert werden:

statt

Code: Alles auswählen

if ($user->data['user_id']!=ANONYMOUS && !(isset($user->data['is_bot']) && $user->data['is_bot']==1))
{
	include_once($phpbb_root_path . 'includes/functions_forum_select.' . $phpEx);
	$unwanted_forums_list=get_all_unwanted_forums();
}
else
{
	$unwanted_forums_list=NULL;
}
fügst du

Code: Alles auswählen

if ($user->data['user_id']!=ANONYMOUS && !(isset($user->data['is_bot']) && $user->data['is_bot']==1) && search_id=='newposts')
{
	include_once($phpbb_root_path . 'includes/functions_forum_select.' . $phpEx);
	$unwanted_forums_list=get_all_unwanted_forums();
}
else
{
	$unwanted_forums_list=NULL;
}
ein - der Rest der Änderungen an dieser Datei kann wie in der Mod-Anleitung beschrieben durchgeführt werden.

Nun muss noch die Datei includes/functions_forum_select.php modifiziert werden:
Da du die Foren auswählst die du NICHT sehen willst:

SUCHE:

Code: Alles auswählen

$sql='SELECT forum_id, parent_id, forum_name FROM '.FORUMS_TABLE.' WHERE static<>1'.((!empty($subqery_list))?' AND '.$db->sql_in_set('forum_id', $subqery_list, true):'');
ERSETZE DURCH:

Code: Alles auswählen

$sql='SELECT forum_id, parent_id, forum_name FROM '.FORUMS_TABLE.' WHERE static<>1'.((!empty($subqery_list))?' AND '.$db->sql_in_set('forum_id', $subqery_list, false):'');
So, ich hoffe ich habe da jetzt keinen Fehler eingebaut da ich das ganze bei mir nicht getestet habe ;-)

bis bald

Daniel Heinrich

Verfasst: 07.11.2008 20:57
von Odiii
danke dafür, werde das heute mal ausprobieren :)

//EDIT

Der Mod ist echt Klasse.
Habe ihn jetzt noch nicht eingebaut, da ich eine Frage habe.
Ich würde den gesamten Mod gerne einbauen.
ABER
Wenn man Forum X markiert hat, dass es nicht mehr erscheint, werden dann neue Beiträge in diesem auch nicht mehr unter "Neue Beiträge" angezeigt?

Wenn das so wäre, wäre es super und der Mod genial!

Verfasst: 08.11.2008 15:49
von DanielHeinrich
Hi!

Schön dass dir die Mod gefällt :-)

Die Mod von mir (im ursprünglichen Zustand) macht folgendes:

Der User kann im UCP Foren auswählen die für ihn interessant sind.
Dadurch werden dann auch nur die vom User ausgewählten, und die vom Administrator als 'statisch' markierten Foren angezeigt und bei der Forensuche berücksichtigt(Wobei diese Funktion auch in der Suchmaske für die aktuelle Suche vom User deaktivirrt werden kann). Ja das gilt auch für die Suche nach 'neuen Beiträgen' ;-)

Solltest du allerdings wollen dass der User nicht die Foren auswählt die er lesen will, sondern die die es auszublenden gilt, musst du nachdem du die Anleitung befolgt hast in der Datei

includes/functions_forum_select.php

den Code

Code: Alles auswählen

$sql='SELECT forum_id, parent_id, forum_name FROM '.FORUMS_TABLE.' WHERE static<>1'.((!empty($subqery_list))?' AND '.$db->sql_in_set('forum_id', $subqery_list, true):''); 
durch

Code: Alles auswählen

$sql='SELECT forum_id, parent_id, forum_name FROM '.FORUMS_TABLE.' WHERE static<>1'.((!empty($subqery_list))?' AND '.$db->sql_in_set('forum_id', $subqery_list, false):''); 
ersetzen ;-)

bis bald

Daniel Heinrich

Verfasst: 09.11.2008 10:40
von Odiii
So, hat nun alles wunderbar geklappt aber wo aktiviere ich das?

Verfasst: 09.11.2008 12:30
von DanielHeinrich
Hi!

die Module für das UCP und das ACP kannst du unter "Administrations-Bereich" -> "System" -> "Administrations-Bereich" bzw.
"Administrations-Bereich" -> "System" -> "Persönlicher Bereich"

eingefügt und aktivirt werden.

bis bald

Daniel Heinrich

Verfasst: 09.11.2008 22:21
von Odiii
Hab jetzt mal probiert die modifizierte Version zu nehmen, allerdings so, dass die Foren genommen werden, die angekreuzt werden.

Aber irgendwie funzt das net ganz.

Habe die Dateien:
- includes/functions_display.php
- language/de/search.php
- language/en/search.php
- styles/subsilver2/template/search_body.html
- styles/prosilver/template/search_body.html

wieder in den Ursprung-Zustand gesetzt und dachte, dass nun nur die Search-Funktion gehen würde.

Aber es wirkt sich nix auf die Suche aus noch auf die Foren.
Die [X] verschwinden auch nicht, wenn ich andere Foren anklicke.....

BTW: Habe die Search.php modifiziert und die functions_forum so gelassen wie sie ist.

Verfasst: 10.11.2008 00:44
von DanielHeinrich
Hi!

um eine effektive Hilfestellung geben zu können wären für mich nun zumindest die von dir veränderten Dateien hilfreich, damit ich genau sehen kann was du wo geändert hast.

Ausserdem wäre es eventuell hilfreich wenn du mir einige detailierte Informationen zu deine aktuellen Problem geben könntest:
- Was genau hast du angeklickt / eingestellt
und
- Welches Ergebnis hast du von dieser Aktion / diesen Aktionen genau erhofft?

Je detailierter du das beschreiben kannst - desto besser ;-)



bis bald

Daniel Heinrich

Verfasst: 10.11.2008 21:07
von Odiii
Hallo

also ich habe diese Dateien:
- includes/functions_display.php
- language/de/search.php
- language/en/search.php
- styles/subsilver2/template/search_body.html
- styles/prosilver/template/search_body.html

normalisiert, sprich die Mod-Änderungen für die Dateien entfernt.
Dann habe ich

Code: Alles auswählen

if ($user->data['user_id']!=ANONYMOUS && !(isset($user->data['is_bot']) && $user->data['is_bot']==1) && search_id=='newposts')
{
   include_once($phpbb_root_path . 'includes/functions_forum_select.' . $phpEx);
   $unwanted_forums_list=get_all_unwanted_forums();
}
else
{
   $unwanted_forums_list=NULL;
} 
mit den Standard ersetzt (wie du es beschrieben hast)
->Caches geleert.

Ich wollte erreichen, das im UCP die Forenauswahl bleibt.
Wenn man aber Foren markiert, dass sich diese nicht auf die Sichtbarkeit sondern nur auf die Suche auswirkt. Sprich markierte Foren werden dennoch angezeigt, erscheinen aber nicht unter "Neue Beiträge" oder ähnliches.

Das Problem liegt jetzt darin, das wenn ich Foren markiere, dennoch hinter allen das [X] steht. Jedoch müssten die, die ich nicht markiert habe, so gekennzeichnet werden: [ ]

Zudem werden trotzdem unter "Neue Beiträge" alle neuen angezeigt, nicht nur die, die ich vorher im Persönlichen Bereich markiert habe.

Hoffe das war genau ^^

Danke für deine Hilfe ;)

Verfasst: 10.11.2008 23:24
von DanielHeinrich
Hi!

du hast daran gedacht nachdem du die Foren ausgewählt hast auf einen der darunter liegenden Button zu klickenn? (gewählte Foren Zeigen, gewählte Foren ausblenden, nur gewählte foren zeigen)

Ausserdem (eventuell habe ich das vergessen zu erwähnen) ist die beschriftung der buttons in deinem Falle nicht mehr korrekt da du ja nicht die foren auswählst die du sehen willst sondern die die du nicht sehen willst.

einfach gesagt bedeutet dass: der erste button fügt die [x] - markierung hinzu die dafür sorgt dass das Forum bei dir in der Suche nicht beachtet wird und ignoriert schon bestehende markierungen, der zweite löscht bestehende markierungen und der dritte löscht alle markierungen und markiert nur die die gerade vom user gewählt wurden.

solltest du weiterhin Probleme hiermit haben baue ich am nächsten Wochenende das ganze selber nach und gebe dir dann die fertige lösung.

bis bald

Daniel Heinrich

PS: Bitte ignorier hier mal fehlende groß und kleinschreibung.. ;-)