Aufruf durch Benutzergruppen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
vfrblue
Junior Supporter
Beiträge: 783
Registriert: 22.11.2016 18:46
Wohnort: Niedersachsen-West
Kontaktdaten:

Aufruf durch Benutzergruppen

Beitragvon vfrblue » 20.04.2017 22:20

Hallo,
ist es möglich, eine Erweiterung durch die Gruppen-ID der Benutzergruppen aufzurufen?
Im Klartext: Bestimmte Gruppen (Systemgruppen und benutzerdefinierte Gruppen) sollen eine Erweiterung nur sehen und benutzen können.
Gruß Hermann

Forum VFR-OC
User: phpbbtest PW: vfroc

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5491
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Aufruf durch Benutzergruppen

Beitragvon Kirk » 21.04.2017 06:44

Hallo
Was für eine Erweiterung meinst du?

Benutzeravatar
Mahony
Ehemaliger
Beiträge: 10994
Registriert: 17.11.2005 22:33
Wohnort: Esslingen (Neckar)
Kontaktdaten:

Re: Aufruf durch Benutzergruppen

Beitragvon Mahony » 21.04.2017 07:35

Hallo
Du könntest mittels dieses Snippets --> Template Variable zur Prüfung der Gruppen Mitgliedschaft abfragen, ob der Benutzer in der betreffenden Gruppe ist.
Damit kannst du Dinge im Template (im Style) ausblenden.

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.

Benutzeravatar
canonknipser
Supporter
Supporter
Beiträge: 1019
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: Aufruf durch Benutzergruppen

Beitragvon canonknipser » 21.04.2017 09:27

Hier eine pauschale Antwort zu geben, fällt schwer.
Zuerst einmal ist die Beantwortung folgender Frage wichtig:
Kirk hat geschrieben:Was für eine Erweiterung meinst du?

Wenn du dich pauschal auf alle möglichen Extension beziehst, dann kann die Antwort nur lauten:
Das kommt darauf an


  • Einige Extensions bringen ihre eigene Berechtigungen mit, die du dann ggf. gezielt für die betreffenden Benutzergruppen im ACP vergeben kannst
  • bei einigen Extensions kannst du über Schalter mit Gruppen-IDs, wie von mahony mit dem Snipplet (ACHTUNG: Das sind Anpassungen im Code von phpBB, die du ggf. bei jedem Update erneut vornehmen musst!) vorgeschlagen oder mit dieser Extension -> https://www.phpbb.com/customise/db/exte ... _variables (die das gleiche macht) bestimmte Aktionen in den Templates steuern. Dazu musst du aber gewisse Grundkenntnisse in der Template-Bearbeitung haben und solltest immer über einen Child-Style arbeiten, nicht direkt auf den Original-Dateien deines Styles (ebenfalls weil du sonst die Anpassungen nach jedem Update des Styles neu vornehmen musst)
  • Bei anderen Extensions musst du ggf. Anpassungen im Code der jeweiligen Extension vornehmen (zu Codeanpassungen s.o.)
  • ...
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;)
Kein Support via PN, nur im Board und (manchmal) im IRC

Benutzeravatar
vfrblue
Junior Supporter
Beiträge: 783
Registriert: 22.11.2016 18:46
Wohnort: Niedersachsen-West
Kontaktdaten:

Re: Aufruf durch Benutzergruppen

Beitragvon vfrblue » 21.04.2017 10:07

Vielen dank für die Antworten.
Es geht um diese Ext.:http://www.dmzx-web.net/viewtopic.php?f=49&t=1315
Die "overall_header_navigation_append.html" hat folgenden Inhalt:

Code: Alles auswählen

<!-- IF S_EDS_EXIST -->
<li <!-- IF not PHPBB_IS_32 -->class="small-icon icon-downloads"<!-- ENDIF --> data-last-responsive="true"><a href="{U_DM_EDS}" title="{L_EDS_DOWNLOADS}" role="menuitem"><!-- IF PHPBB_IS_32 --><i class="icon fa fa-download" aria-hidden="true"></i><!-- ENDIF --><span>{L_EDS_DOWNLOADS}</span></a></li>
<!-- IF DM_EDS_USE_UPLOAD --><li <!-- IF not PHPBB_IS_32 -->class="small-icon icon-upload"<!-- ENDIF --> data-last-responsive="true"><a href="{U_DM_EDS_UPLOAD}" title="{L_EDS_UPLOAD}" role="menuitem"><!-- IF PHPBB_IS_32 --><i class="icon fa fa-upload" aria-hidden="true"></i><!-- ENDIF --><span>{L_EDS_UPLOAD}</span></a></li><!-- ENDIF -->
<!-- ENDIF -->

Die Nav-Bar der User mit Rechten für die Ext. hat folgendes Bild:
[ externes Bild ]
Ohne Rechte sieht es so aus:
[ externes Bild ]
und das möchte ich weg haben für Gäste, kürzlich registrierte Benutzer und registrierte Benutzer.
Wir hatten ja die DL-Ext. von Oxpus installiert, aber viele User fanden die Handhabung umständlich und haben deswegen die Ext. nicht genutzt.
So suchen wir für eine einfache Lösung.
Gruß Hermann

Forum VFR-OC
User: phpbbtest PW: vfroc

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5491
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Aufruf durch Benutzergruppen

Beitragvon Kirk » 21.04.2017 11:27

Du installierst dir diese Erweiterung
Dann öffnest du die Datei overall_header_navigation_append.html im Verzeichnis root/ext/dmzx/downloadsystem/styles/prosilver/template/event
Finde:

Code: Alles auswählen

<!-- IF S_EDS_EXIST -->

Ersetzen mit:

Code: Alles auswählen

<!-- IF S_EDS_EXIST and not S_GROUP_x -->

Wobei x mit der Gruppen ID zu ersetzen ist.
Danach den Foren und Browser Cache leeren.

Benutzeravatar
vfrblue
Junior Supporter
Beiträge: 783
Registriert: 22.11.2016 18:46
Wohnort: Niedersachsen-West
Kontaktdaten:

Re: Aufruf durch Benutzergruppen

Beitragvon vfrblue » 21.04.2017 11:57

Hallo Udo,
ich habe deine Erweiterung installiert und die Benutzergruppen 2, 6 und 7 eingetragen, damit diese ausgeschlossen werden.
Da diese Gruppen die Erweiterung doch noch sehen konnten, habe ich das "not" vor "S_GROUP" entfernt. Danach konnten diese Gruppen nicht mehr den Button sehen.
Aber auch alle anderen, registrierten Gruppen wie Admins und Moderatoren haben jetzt keinen Zugriff.
Wenn ich jetzt die Anweisung für die registrierten User (6) rausnehme und dann die anderen Gruppen, wie Admins, Moderatoren und sonstige benutzerdefinierte Gruppen per " and not S_GRUOP_x" einbinde, bleiben dan die "normal" registrierten User aussen vor?
Gruß Hermann

Forum VFR-OC
User: phpbbtest PW: vfroc

Benutzeravatar
canonknipser
Supporter
Supporter
Beiträge: 1019
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: Aufruf durch Benutzergruppen

Beitragvon canonknipser » 21.04.2017 12:18

In der Gruppe 2 (Registrierte Benutzer) stecken alle Benutzer drin - auch Mods, Admins etc.

Durch die Extension wird für jede Gruppe, in der der der Benutzer ist, ein entsprechender Template-Switch (S_GROUP_x) erstellt, also z.B.
für "normale Benutzer"
  • S_GROUP_2
für Globale Moderatoren
  • S_GROUP_2 (weil er ja auch ein registrierter Benutzer ist)
    und
  • S_GROUP_4
für den Standard-Site-Adminstrator
  • S_GROUP_2 (weil er ja auch ein registrierter Benutzer ist)
    und
  • S_GROUP_4 (weil er ja per default auch ein globaler Moderator ist)
    und
  • S_GROUP_5
für einen normalen Moderator, der in einer von dir angelegten Gruppe Nummer 47 ist
  • S_GROUP_2 (weil er ja auch ein registrierter Benutzer ist)
    und
  • S_GROUP_47

Am besten ist es also, wenn du "Spezialgruppen" einschließt und nicht Standardgruppen ausschließt:
Also, wenn nur Globale Moderatoren und evtl. Moderatoren, die bspw. in der Gruppe 47 sind, zulassen willst:

Code: Alles auswählen

<!-- IF S_EDS_EXIST AND (S_GROUP_4 OR S_GROUP_47) -->
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;)
Kein Support via PN, nur im Board und (manchmal) im IRC

Benutzeravatar
vfrblue
Junior Supporter
Beiträge: 783
Registriert: 22.11.2016 18:46
Wohnort: Niedersachsen-West
Kontaktdaten:

Re: Aufruf durch Benutzergruppen

Beitragvon vfrblue » 21.04.2017 12:29

Code: Alles auswählen

<!-- IF S_EDS_EXIST AND (S_GROUP_4 OR S_GROUP_47) -->


Danke, das war's. Jetzt ist es so, wie ich es haben wollte. 8)
(Ich und programmieren: 2 Welten treffen aufeinander ...)
Gruß Hermann

Forum VFR-OC
User: phpbbtest PW: vfroc


Zurück zu „Extension Bastelstube“