Forum-Befugnisse

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
JB007
Mitglied
Beiträge: 102
Registriert: 23.07.2004 07:52
Wohnort: Troisdorf
Kontaktdaten:

Forum-Befugnisse

Beitrag von JB007 »

Ich möchte eine Anzahl Foren in der allgemeinen Übersicht ('index.php') nur für Moderatoren sichtbar machen. Dass ich das über den Admin-Bereich über > Foren >> Befugnisse einstellen kann, ist mir bekannt. So weit so gut!

Gleichzeitig möchte ich aber, dass diese Foren, wenn ich sie einzeln über einen Link ('viewforum.php') aufrufe, folgende Befugnisse aufweisen:
- Ansicht: Alle
- Lesen: Alle
- Posten: Mods
- Antworten: Reg
- Bearbeiten: Reg
- Löschen: Reg
- Wichtig: Mod
- Ankündigungen: Mod
- Umfrage: Reg
- Umfrage erstellen: Mod

Wie erreiche ich das? Gibt es eventuell einen Mod/Hack hierzu? Bisher habe ich nichts gefunden. Danke vorab!
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Wenn sie nur Moderatoren sehen sollen, stecke sie in eine Gruppe und setze die Ansicht (View) Befugnisse auf Privat.
KB:privates_forum
Benutzeravatar
JB007
Mitglied
Beiträge: 102
Registriert: 23.07.2004 07:52
Wohnort: Troisdorf
Kontaktdaten:

Beitrag von JB007 »

Diese Möglichkeit ist mir schon bewusst / bekannt.

Leider für diese Möglichkeit aber doch zum Ausschluss nicht registrierter Gäste.

Im Grunde genommen möchte ich Foren haben, die in der allgemeinen Übersicht nicht auftauchen, über einen separaten Link z.B. auf der Homepage dennoch für jeden, also auch für nicht registrierte User, aufrufbar und einsehbar sind und o.a. Befugnisse aufweisen.

Die Einrichtung eines privaten Forums bringt also nicht die gewünschte Lösung...
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Dann stell die Befugnisse so ein, das (wie gewünscht) jeder das Forum betreten/benutzen könnte und entferne einfach die Auflistung des jeweiligen Forums vom Index, in dem du explizit angibst, das das jeweilige Forum mit der ID xy nicht angezeigt werden soll (mehrere Foren mit Komma trennen).

index.php (blau ist neu)
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) WHERE f.forum_id NOT IN (1,2,3)
ORDER BY f.cat_id, f.forum_order";
Benutzeravatar
JB007
Mitglied
Beiträge: 102
Registriert: 23.07.2004 07:52
Wohnort: Troisdorf
Kontaktdaten:

Beitrag von JB007 »

Funktioniert leider nicht. Erhalte einen Parse Error!

Code: Alles auswählen

Parse error: parse error in /mnt/be1/08/467/00000011/htdocs/community/index.php on line 159
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Poste mal hier den obigen Code-Block, nach der Änderung.
Benutzeravatar
JB007
Mitglied
Beiträge: 102
Registriert: 23.07.2004 07:52
Wohnort: Troisdorf
Kontaktdaten:

Beitrag von JB007 »

Sorry, habe mitlerweile etwas rumgetestet und weiß nicht mehr, wie die ursprüngliche fehlermeldung zustande gekommen ist.

habe aber mitlweile eine neue und längere fehlermeldung erhalten. und zwar für folgenden code:

Code: Alles auswählen

default:
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id " .
" FROM ((( " . FORUMS_TABLE . " f " .
" LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" .
" LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )  WHERE f.forum_id NOT IN (12,13,28) " .
" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) "  .
" ORDER BY f.cat_id, f.forum_order";
break;
}
Da gab es dann folgende schöne Fehlermeldung:

Code: Alles auswählen

Could not query forums information

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE f.forum_id NOT IN (12,13,28) LEFT JOIN phpbb_topics t ON

SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id FROM ((( phpbb_forums f LEFT JOIN phpbb_posts p ON p.post_id = f.forum_last_post_id ) LEFT JOIN phpbb_users u ON u.user_id = p.poster_id ) WHERE f.forum_id NOT IN (12,13,28) LEFT JOIN phpbb_topics t ON t.topic_last_post_id = p.post_id ) ORDER BY f.cat_id, f.forum_order

Line : 166
File : /mnt/be1/08/467/00000011/htdocs/community/index_020804.php 
Hatte vermutet, dass das ein "Zeichensetzungsfehler" war, also Semikolon oder Anführungsstriche nicht richtig gesetzt. Aber alle probierten Änderungen brachten keine Verbesserung.

Sorry schon mal vorab, falls es sich um einen "dummen" Fehler handelt. Bin PHP Anfänger... :roll:

Danke vorab!
Zuletzt geändert von JB007 am 03.08.2004 00:15, insgesamt 1-mal geändert.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Tausch mal die Zeilen

Code: Alles auswählen

" LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )  WHERE f.forum_id NOT IN (12,13,28) " .
und

Code: Alles auswählen

" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) "  .
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
JB007
Mitglied
Beiträge: 102
Registriert: 23.07.2004 07:52
Wohnort: Troisdorf
Kontaktdaten:

Beitrag von JB007 »

Erhalte dann die Fehlermeldung:

Code: Alles auswählen

Could not query forums information

DEBUG MODE

SQL Error : 1066 Not unique table/alias: 't'

SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id FROM ((( phpbb_forums f LEFT JOIN phpbb_posts p ON p.post_id = f.forum_last_post_id ) LEFT JOIN phpbb_topics t ON t.topic_last_post_id = p.post_id ) LEFT JOIN phpbb_topics t ON t.topic_last_post_id = p.post_id ) ORDER BY f.cat_id, f.forum_order

Line : 166
File : /mnt/be1/08/467/00000011/htdocs/community/index_020804.php
Kannst du dir unter http://www.turnverein-bergheim.de/commu ... 020804.php auch gerne mal selber ansehen.

Der Code in der index.php lautet jetzt:

Code: Alles auswählen

$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id " .
" FROM ((( " . FORUMS_TABLE . " f " .
" LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" .
" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) "  .
" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) "  .
" ORDER BY f.cat_id, f.forum_order";
break;
}
Benutzeravatar
JB007
Mitglied
Beiträge: 102
Registriert: 23.07.2004 07:52
Wohnort: Troisdorf
Kontaktdaten:

Beitrag von JB007 »

hmm

Code: Alles auswählen

" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) "  . 
ist doppelt vorhanden.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“