Table Of Contents
Durch die userGroupOption.xml ist es möglich verschiedene Benutzergruppenrechte zu erstellen, um so bestimmte Funktionen nur einem entsprechenden Benutzerkreis zur Verfügung zu stellen.
github.com/WoltLab/WCF/blob/master/XSD/userGroupOption.xsd
Innerhalb der package.xml kann man der Installations- bzw. der Updateroutine durch folgenden instruction-Tag sagen, dass nun UserGroupOptions installiert bzw. geupdatet werden soll(en).
Display All
Das WSC legt automatisch bei der Erstellung von UserGroupOption Sprachvariabeln an, die mit über das jeweilige Plugin installiert werden sollten. Aus dem zuvor genanntem Beispiel sollten folgende Sprachvariabeln mit installiert werden:
Wid die beschreibung nicht als Sprachvariabel mitgeliefert, wird im ACP einfach keine Beschreibung angezeigt.
Ihr habt Fragen oder Anregungen? Lob oder Kritik? Lasst es mich doch durch einen Kommentar von euch wissen!
Die XSD auf GitHub
github.com/WoltLab/WCF/blob/master/XSD/userGroupOption.xsd
package.xml
Innerhalb der package.xml kann man der Installations- bzw. der Updateroutine durch folgenden instruction-Tag sagen, dass nun UserGroupOptions installiert bzw. geupdatet werden soll(en).
Mögliche Parameter
Tag | Parameter | Definition |
<data> | - | Einleitendes Elternelement |
<import> | - | Element zum Importieren neuer UserGroupOptions |
<delete> | - | Element zum Entfernen von bestehenden UserGroupOptions. |
<categories> | - | Gibt an, dass nun neue UserGroupOptions-Kategorien definiert werden. |
<category> | name="name.der.kategorie" | Definiert eine einzelne Kategorie |
<parent> | - | Gibt den Namen der Elternkategorie an, unter der diese Kategorie angezeigt werden soll. |
<showorder> | - | Gibt die nummerische Position an, an der die Kategorie innerhalb von <parent> angezeigt werden soll. |
<options> | - | Gibt die Option an, die aktiviert sein muss, damit die Kategorie angezeigt wird. |
<options> | - | Gibt die Option an, die aktiviert sein muss, damit die Kategorie angezeigt wird. |
<options> | - | Gibt an, das nun neue UserGroupOptions definiert werden. |
<option> | name="name_der_userGroupOption" | Definiert eine einzelne UserGroupOption. |
<categoryname> | - | Gibt die Kategorie an, in der die UserGroupOption angezeigt werden soll. |
<optiontype> | - | Gibt die Art der UserGroupOption an (Details: optiontype) |
<defaultvalue> | - | Gibt den Standartwert für die UserGrouopOption an. |
<userdefaultvalue> | - | Gibt den Standartwert für einfache Benutzer an. |
<moddefaultvalue> | - | Gibt den Standartwert für Moderatoren an. |
<admindefaultvalue> | - | Gibt den Standartwert für Administratoren an. |
<validationpattern> | - | Gibt einen Pattern zum Validieren der UserGroupOption an. |
<enableoptions> | - | Gibt andere UserGroupOptions an, die beim de-/aktivieren dieser UserGroupOption ein- oder ausgeblendet werden. |
<showorder> | - | Gibt die nummerische Position an, an der die Kategorie innerhalb von <parent> angezeigt werden soll. |
<options> | - | Gibt die Option an, die aktiviert sein muss, damit dieses UserGroupOption angezeigt wird. |
<permissions> | - | Gibt die UserOptions an, die vorhanden sein müssen, damit dieses UserGroupOption ausgewählt werden kann. |
<usersonly> | - | Gibt an, ob das UserGroupOption nur für angemeldete Benutzer (1) oder auch für Gäste einstellbar sein soll (0). |
Beispiele
Legt ein UserGroupOption vom optiontype boolean an
XML Source Code
- <?xml version="1.0" encoding="UTF-8"?>
- <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/2019/userGroupOption.xsd">
- <import>
- <categories>
- <category name="user.profile.example">
- <parent>user.profile</parent>
- </category>
- </categories>
- <options>
- <option name="user.profile.example.exampleOption">
- <categoryname>user.profile.example</categoryname>
- <optiontype>boolean</optiontype>
- <showorder>1</showorder>
- <defaultValue>0</defaultValue>
- <admindefaultvalue>1</admindefaultvalue>
- <userdefaultvalue>1</userdefaultvalue>
- </option>
- </options>
- </import>
- </data>
Benötigte Sprachvarianeln
Das WSC legt automatisch bei der Erstellung von UserGroupOption Sprachvariabeln an, die mit über das jeweilige Plugin installiert werden sollten. Aus dem zuvor genanntem Beispiel sollten folgende Sprachvariabeln mit installiert werden:
XML Source Code
- <category name="wcf.acp.group">
- <item name="wcf.acp.group.option.category.user.profile.example"><![CDATA[Name der UserGroupOption-Kategorie]]></item>
- <item name="wcf.acp.group.option.user.profile.example.exampleOption"><![CDATA[Name der UserGroupOption]]></item>
- <item name="wcf.acp.group.option.user.profile.example.exampleOption.description"><![CDATA[Beschreibung zum UserGroupOption]]></item>
- </category>
Abfrage von UserGroupOptions
PHP
PHP Source Code
- // Eine UserGroupOptions
- if (!WCF::getSession()->getPermission('user.profile.example.exampleOption')) {
- throw new UserInputException('example', 'empty');
- }
- // Mehrehre UserGroupOptions
- if(WCF::getSession()->checkPermissions(['user.profile.example.exampleOption', 'user.profile.example.exampleOption2']) == 1) {
- //do something
- }
- // Ist auch nur ein UsergroupOption nicht vorhanden, wird eine PermissionDeniedException geworfen
Template
Gut zu wissen
- Sprachvariabeln für Optionskategorien und Kategorien werden immer in der Kategorie "wcf.acp.group" definiert.
- Sprachvariabelnamen für Kategorien beginnen immer mit "wcf.acp.group.category". Bei UserGroupOptions-Namen lässt man das "category" weg.
- UserGroupOptionen-Namen müssen mindestens aus drei Teilen stehender i.d.R so aufgebaut ist "HauptKategorie.UnterKategorie.UserGroupOptionName"
Ihr habt Fragen oder Anregungen? Lob oder Kritik? Lasst es mich doch durch einen Kommentar von euch wissen!
3,114 times viewed