userGroupOption.xml

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Durch die userGroupOption.xml ist es möglich verschiedene Benutzergruppenrechte zu definieren.
    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.

    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).

    XML Source Code

    1. <instructions type="install">
    2. <instruction type="userGroupOption" />
    3. </instructions>



    Mögliche Parameter


    TagParameterDefinition
    <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

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <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">
    3. <import>
    4. <categories>
    5. <category name="user.profile.example">
    6. <parent>user.profile</parent>
    7. </category>
    8. </categories>
    9. <options>
    10. <option name="user.profile.example.exampleOption">
    11. <categoryname>user.profile.example</categoryname>
    12. <optiontype>boolean</optiontype>
    13. <showorder>1</showorder>
    14. <defaultValue>0</defaultValue>
    15. <admindefaultvalue>1</admindefaultvalue>
    16. <userdefaultvalue>1</userdefaultvalue>
    17. </option>
    18. </options>
    19. </import>
    20. </data>
    Display All

    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

    1. <category name="wcf.acp.group">
    2. <item name="wcf.acp.group.option.category.user.profile.example"><![CDATA[Name der UserGroupOption-Kategorie]]></item>
    3. <item name="wcf.acp.group.option.user.profile.example.exampleOption"><![CDATA[Name der UserGroupOption]]></item>
    4. <item name="wcf.acp.group.option.user.profile.example.exampleOption.description"><![CDATA[Beschreibung zum UserGroupOption]]></item>
    5. </category>
    Wid die beschreibung nicht als Sprachvariabel mitgeliefert, wird im ACP einfach keine Beschreibung angezeigt.

    Abfrage von UserGroupOptions



    PHP


    PHP Source Code

    1. // Eine UserGroupOptions
    2. if (!WCF::getSession()->getPermission('user.profile.example.exampleOption')) {
    3. throw new UserInputException('example', 'empty');
    4. }
    5. // Mehrehre UserGroupOptions
    6. if(WCF::getSession()->checkPermissions(['user.profile.example.exampleOption', 'user.profile.example.exampleOption2']) == 1) {
    7. //do something
    8. }
    9. // Ist auch nur ein UsergroupOption nicht vorhanden, wird eine PermissionDeniedException geworfen


    Template


    Smarty-Template

    1. {if $__wcf->session->getPermission('user.profile.example.exampleOption')}
    2. {* do something *}
    3. {/if}



    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!

    535 times viewed