[ANFRAGE] Wie kann ich "neues Thema" unterdrücken?

Hier könnt ihr Fragen im Allgemeinen zu phpBB stellen und Support erhalten
Hinweis für Supportanfragen!

1. Alle Codes wie z.B. index.php, overall_header.html usw. bitte ins Pastebin und dann im Beitrag verlinken
(kleinere Code-Snippets sind hiervon ausgenommen und sollten via "Code" eingefügt werden)
2. Name der MOD um die es geht und die URL zum Download
3. URL zum eigenen Forum
4. Wurde eine "Anfrage" gemacht und eine Lösung gefunden, den Thread bitte auf "Erledigt" stellen.

[ANFRAGE] Wie kann ich "neues Thema" unterdrücken?

Beitragvon regazer » Di 17. Dez 2013, 05:50

Ich habe ein Problem mit Unterforen, die keine Schreibberechtigung als für den Admin selbst haben sollen, also z.B. aktuelle Meldungen etc.

Wer als Gast solche Seiten aufruft, sieht den Text "neues Thema", klickt drauf und wird aufgefordert, sich anzumelden oder zu registrieren. Ich möchte aber, daß dieser Button gar nicht erscheint, wenn man nicht angemeldet ist.

Weiß zufällig jemand, wie sich das bewerkstelligen läßt? :roll: Ich habe gerade einige Stunden im Internet gesucht und lediglich einen Beitrag von 2008 gefunden, wo jemand das gleiche Problem erwähnte aber keine Lösung fand.
The more I look at the sources of phpBB the less I like it. :evil:
regazer
Registriertes Mitglied
Beiträge: 129
Themen: 10
Registriert: 09.08.2013
Danke gegeben: 8
Danke bekommen:
3 mal in 3 Beiträgen

Wie kann ich "neues Thema" unterdrücken?

Beitragvon wintstar » Di 17. Dez 2013, 17:02

Da läst sich nicht so einfach machen. Dazu müßte eine neue Berechtigung erstellt werden und dann das Template bearbeitet werden.
Gruß wintstar :)

Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).

phpBB 3.0.14 und phpBB 3.1.9 diese Versionen unter PHP 7
Benutzeravatar
wintstar
Registriertes Mitglied
Beiträge: 262
Themen: 19
Registriert: 01.11.2013
Danke gegeben: 13
Danke bekommen:
24 mal in 21 Beiträgen

Wie kann ich "neues Thema" unterdrücken?

Beitragvon regazer » Di 17. Dez 2013, 21:28

Nun, wenn es einfach wäre, würde ich nicht fragen. :lol:

Aber Spaß beiseite: Es gibt doch schon das Gäste-Profil. Es müßte doch möglich sein, das global anzupassen. Entweder irgendwo in einer Datei im Hauptverzeichnis oder bei den Includes. Leider habe ich keinen Schimmer von der Gesamt-Struktur, benutzten globalen Variablen usw., denn dann fände ich vielleicht, was ich suche.

Ich halte aufgrund meiner bisherigen Erfahrungen mit Modifikationen absolut nichts davon, immer alles in jedem Template einzeln anpassen zu müssen. Das ist ein ganz extremes Manko bei phpBB und wäre mir das vorher bekannt gewesen, hätte ich wahrscheinlich nach einer anderen Forensoftware gesucht. Auch die ganze Rechtevergabe ist völlig übertrieben und unübersichtlich. Ich habe in 20 verschiedene Styles ein gutes halbes Dutzend Modifikationen eingearbeitet und fast alle Vorgabe-Berechtigungen individuell nachbearbeitet, weil sie teilweise zu wenig erlaubten, teilweise zu viel. Wegen der vielen Arbeit ärgert mich auch, daß ich daraus kein premodded-Paket für die Zukunft erstellen kann. Alle in diversen Foren gefundenen Anfragen anderer, wie man sowas macht, wurden abgewimmelt. Aber das nur mal am Rande.

Zurück zu meinem angefragten Problem: Mir würde es schon nutzen, zu wissen, wo z.B. die Deklarationen für sowas wie "<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->" festgelegt werden, welche derartigen Deklarationen es überhaupt gibt und wo überall sie in Bezug auf Gruppen bzw. einzelne User GLOBAL (also nicht bei den Templates) eine Rolle spielen.
The more I look at the sources of phpBB the less I like it. :evil:
regazer
Registriertes Mitglied
Beiträge: 129
Themen: 10
Registriert: 09.08.2013
Danke gegeben: 8
Danke bekommen:
3 mal in 3 Beiträgen

Wie kann ich "neues Thema" unterdrücken?

Beitragvon wintstar » Di 17. Dez 2013, 21:50

Nein, leider ist es nicht so einfach. Habe ich selbst beim erstellen dieser Mod [FINAL] Board offline 1.0.3 festgestellt. Und ich bin immer noch am suchen, da diese Mod eventuell in phpBB 3.2 intigriert wird.
Gruß wintstar :)

Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).

phpBB 3.0.14 und phpBB 3.1.9 diese Versionen unter PHP 7
Benutzeravatar
wintstar
Registriertes Mitglied
Beiträge: 262
Themen: 19
Registriert: 01.11.2013
Danke gegeben: 13
Danke bekommen:
24 mal in 21 Beiträgen

Wie kann ich "neues Thema" unterdrücken?

Beitragvon regazer » Di 17. Dez 2013, 22:02

Gerade habe ich mal gezielt eine neue Gruppe "Gäste" erstellt und dafür die Rechte bzgl. Antwortmöglichkeit auf "nie" gestellt - ohne Erfolg. Das Problem liegt also in jedem Fall tief in den phpBB-Strukturen verborgen.

Ich habe gerade mal Deinen Link besucht und werde mir den Source mal ansehen. Vielleicht hilft mir das weiter, zumal Du anscheinend einiges eingebaut hast, was mir hinsichtlich Datenschutz auch nötig scheint.

Kannst Du mir vielleicht bzgl. der Deklarationen weiter helfen? Welche es gibt, wo die sind etc. ?

Ach, wie ich jetzt erst merkte, gibt es das von mir beschriebene Problem ja nicht nur hinsichtlich "neues Thema", sondern auch beim "Antworten" ...

Wo werden denn "mode=post" und "mode=reply" ausgewertet?
The more I look at the sources of phpBB the less I like it. :evil:
regazer
Registriertes Mitglied
Beiträge: 129
Themen: 10
Registriert: 09.08.2013
Danke gegeben: 8
Danke bekommen:
3 mal in 3 Beiträgen

Wie kann ich "neues Thema" unterdrücken?

Beitragvon wintstar » Di 17. Dez 2013, 22:16

Es gibt 2 Dateien die man sich genau ansehen muss includes/ -functions.php -session.php. Ich bin aber da schon ein Schritt weiter gekommen. Aber kann mich noch nicht äussern dazu da ich parallel für 3.2 entwickele und erst testen muss ob das auch in 3.0.12 funktioniert.
Gruß wintstar :)

Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).

phpBB 3.0.14 und phpBB 3.1.9 diese Versionen unter PHP 7
Benutzeravatar
wintstar
Registriertes Mitglied
Beiträge: 262
Themen: 19
Registriert: 01.11.2013
Danke gegeben: 13
Danke bekommen:
24 mal in 21 Beiträgen

folgende User möchten sich bei wintstar bedanken: [Bedankungen anzeigen]

Wie kann ich "neues Thema" unterdrücken?

Beitragvon regazer » Di 17. Dez 2013, 22:19

Danke erstmal ! Ich werde mir die beiden Dateien durchsehen und mir auch Deine Modifikation runterladen. Die Demoseite wirkt vielversprechend.

EDIT ( viele Stunden später ) :

Wie ich mittlerweile festgestellt habe, beginnen die relevanten Buttons alle mit "button_topic" und sind in den Dateien "buttons.css" und "colours.css" zugewiesen als "reply-icon", "post-icon" und "locked-icon".

Diese Buttons werden in den Dateien "viewtopic_body.html" und "viewforum_body.html" benutzt. In diesen beiden Dateien gibt es je zweimal Bereiche mit <div class="buttons">, bei denen jeweils vor bzw. hinter dieser Zuweisung <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO --> auftaucht.

Ich habe mich dabei am Style "prosilver" orientiert, auf dem der von mir meist benutzte Style aufbaut. Beispiel:
Code: Alles auswählen
   <div class="buttons">
   <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
      <div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
   <!-- ENDIF -->
   </div>
habe ich jeweils entsprechend so ergänzt
Code: Alles auswählen
   <div class="buttons">
   <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
   <!-- IF S_USER_LOGGED_IN -->
      <div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
   <!-- ENDIF -->
   <!-- ENDIF -->
   </div>

Ich werte also jeweils die Bedingung <!-- IF S_USER_LOGGED_IN --> ... <!-- ENDIF --> zusätzlich aus.
Das Ganze also in den beiden Dateien zusammen insgesamt an 4 Stellen.

Dadurch sind für Gäste nun grundsätzlich die Buttons "neues Thema", "antworten" und "gesperrt" nicht mehr sichtbar.

Allerdings bin ich mit dieser Lösung deshalb unzufrieden, weil es im Forum ein paar Bereiche gibt, in denen auch Gäste schreiben dürfen, also ohne sich einzuloggen. Durch den von mir gewählten Ansatz wird aber auch das unterbunden. Es müßte also nicht der Typ des Users ausgewertet werden, sondern seine Berechtigungen.

Was muß ich dabei beachten ?

Ach, und wie ich gerade merkte, hatte ich "zitieren" und "Beitrag melden" völlig übersehen. Das geht nämlich dann doch noch.
The more I look at the sources of phpBB the less I like it. :evil:
regazer
Registriertes Mitglied
Beiträge: 129
Themen: 10
Registriert: 09.08.2013
Danke gegeben: 8
Danke bekommen:
3 mal in 3 Beiträgen

Wie kann ich "neues Thema" unterdrücken?

Beitragvon wintstar » Mi 18. Dez 2013, 08:42

Es geht einfacher :) Nur 2 Dateien ändern :ugeek:

Um die Thema- und Antwortbutton für Gäste auszblenden ist folgendes zu ändern

öffne root/viewforum.php
finde
Code: Alles auswählen
   'S_DISPLAY_POST_INFO'   => ($forum_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_post', $forum_id) || $user->data['user_id'] == ANONYMOUS)) ? true : false,


ersetze mit
Code: Alles auswählen
   'S_DISPLAY_POST_INFO'   => ($forum_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_post', $forum_id) || $user->data['is_registered'] ? true : false)) ? true : false,



öffne root/viewtopic.php
Code: Alles auswählen
   'S_DISPLAY_REPLY_INFO'   => ($topic_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_reply', $forum_id) || $user->data['user_id'] == ANONYMOUS)) ? true : false,


ersetze mit
Code: Alles auswählen
   'S_DISPLAY_REPLY_INFO'   => ($topic_data['forum_type'] == FORUM_POST && ($auth->acl_get('f_reply', $forum_id) || $user->data['is_registered'])) ? true : false,


Geb bitte Rückmeldung ob es funktioniert.
Gruß wintstar :)

Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).

phpBB 3.0.14 und phpBB 3.1.9 diese Versionen unter PHP 7
Benutzeravatar
wintstar
Registriertes Mitglied
Beiträge: 262
Themen: 19
Registriert: 01.11.2013
Danke gegeben: 13
Danke bekommen:
24 mal in 21 Beiträgen

folgende User möchten sich bei wintstar bedanken: [Bedankungen anzeigen]

Wie kann ich "neues Thema" unterdrücken?

Beitragvon wintstar » Mi 18. Dez 2013, 10:38

regazer hat am Di 17. Dez 2013, 22:19 geschrieben:Allerdings bin ich mit dieser Lösung deshalb unzufrieden, weil es im Forum ein paar Bereiche gibt, in denen auch Gäste schreiben dürfen, also ohne sich einzuloggen. Durch den von mir gewählten Ansatz wird aber auch das unterbunden. Es müßte also nicht der Typ des Users ausgewertet werden, sondern seine Berechtigungen.

Ach, und wie ich gerade merkte, hatte ich "zitieren" und "Beitrag melden" völlig übersehen. Das geht nämlich dann doch noch.


Bin noch dabei eine Berechtigung für Foren zu erstellen. Somit man die Buttons je nach gesetzter Berechtigung für ein bestimmtes Forum ausblenden kann.
Gruß wintstar :)

Zitat: "Damit das Mögliche entsteht, muss immer wieder das Unmögliche versucht werden" (Hermann Hesse (1877-1962)).

phpBB 3.0.14 und phpBB 3.1.9 diese Versionen unter PHP 7
Benutzeravatar
wintstar
Registriertes Mitglied
Beiträge: 262
Themen: 19
Registriert: 01.11.2013
Danke gegeben: 13
Danke bekommen:
24 mal in 21 Beiträgen

Wie kann ich "neues Thema" unterdrücken?

Beitragvon regazer » Mi 18. Dez 2013, 13:04

Hallo, Wintstar !

Vielen, vielen Dank für Deinen SUPER-Rat !

Das funktioniert PRIMA !

Zum einen ist es die von mir absolut bevorzugte Methode, etwas GLOBAL regeln zu können, statt bei jedem Themen-Template einzeln, und zum anderen werden dadurch auch die Problem umgangen, die sich bei meinem Lösungsversuch ergaben.

Wenn es so gemacht wird, wie Du beschrieben hast, können Gäste in den Bereichen, in denen sie Schreibrechte haben neue Themen erstellen und antworten. In allen anderen gelten die Sperren. Damit hat sich zugleich auch das Problem bzgl. "Themen melden" und "zitieren" erledigt, denn diese Buttons waren ohnehin nur bei den Themen sichtbar, in denen auch Gäste Schreibrechte haben. Da waren dann bei meinem Versuch aber die Buttons "neues Thema" und "antworten" weg.

Erst schien mir, als ob Du das zugrunde liegende Probleme bereits VOLLSTÄNDIG gelöst hast, so daß sich die Frage mit Berechtigungen für bestimmte Foren so gar nicht mehr stellen würde, sondern über die normale (wenn auch schwierig zu konfigurierende) Rechtevergabe gehandhabt werden kann.

Allerdings habe ich jetzt ein seltsames Phänomen bemerkt, das bei "globalen Bekanntmachungen" auftritt. Werden diese in einem normalen Unterforum aufgerufen, gelten die üblichen Beschränkungen. Ruft man sie in einem Unterforum auf, in dem auch Gäste Schreibrechte haben, können diese entsprechend der übergeordneten Forenrechte reagieren.

Da liegt aber meiner Ansicht nach das Problem darin begründet, daß phpBB nicht die Rechte zugrunde legt, die für das jeweilige Unterforum gelten, in dem der entsprechende Beitrag erstellt wurde. Wenn ich z.B. in einem Forum "Bekanntmachungen", das nur Leseberechtigungen hat, einen Beitrag erstelle, den ich dann aber als "globale Bekanntmachung" publiziere, sollten doch eigentlich die Berechtigungen des Forums "Bekanntmachungen" gelten und nicht die des jeweiligen Forums, in dem diese GLOBAL gemachte Bekanntmachung dann AUCH erscheint.

Auf jeden Fall aber nochmals vielen, vielen Dank für Deine Hilfe! :D
The more I look at the sources of phpBB the less I like it. :evil:
regazer
Registriertes Mitglied
Beiträge: 129
Themen: 10
Registriert: 09.08.2013
Danke gegeben: 8
Danke bekommen:
3 mal in 3 Beiträgen

Nächste

Zurück zu Fragen / Support



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


x-Achse: 0
y-Achse: 0
cron