Automatisch eine Gruppe entfernen (Gruppenwächter)

  • Hallo Leute,


    die Rechtehierarchie auf meinem Server ist so aufgebaut, dass eine bestimmte "nichtAdmin"-Gruppe den Gästen eine ServerGruppe zuteilen kann, mit der diese dann in andere Channel können.
    Läuft ansich alles Wunderbar. Allerdings gibt es einen Schöheitsfehler. Besagte "nichtAdmin"-Gruppenmitglieder können sich untereinander ebenfalls diese Grupe zuteilen. Das ist kein Sicherheitsproblem sondern eher ein optisches Problem.
    Ich möchte nun ein Skript erstellen, welches die Gruppem eines benutzers vergleicht und gegebenenfalls eine Gruppe entfernt.


    Kurzform: Gehört ein user einer oder keiner von beiden Gruppen an ist alles super, gehört er beiden an, soll eine Gruppe entfernt werden!


    Anhand dieses threads ts3 Auto change group server und dem darin geposteten Skript habe ich es auch soweit geschafft, dass es mir die gruppen ausliest/ ausgibt.


    In Zeile 14 habe ich auch schon versucht die Gruppen die verglichen werden sollen zu definieren.
    Probleme:
    Hat ein user keine der beiden Gruppen, wird ihm die höhere hinzugefügt.
    Hat ein user die geringere Gruppe, wird diese entfernt und die höhere hinzugefügt.


    Ich schaffe es einfach nicht das "and" zu definieren.


    Ich hoffe ihr könnt mir helfen.
    Gruß Chris

  • Allerdings gibt es einen Schöheitsfehler. Besagte "nichtAdmin"-Gruppenmitglieder können sich untereinander ebenfalls diese Grupe zuteilen.


    Warum löst du das nicht Rechte Technisch, sondern willst stattdessen ein Script dafür basteln?


    Und wenn dein Script funktionieren soll, dann solltest du dich nochmal mit den Grundlagen von PHP auseinander setzen.
    Das hier


    Code
    if ($clientinfo['data']['client_servergroups'] = 243 and 244)


    kann gar nicht funktionieren!

  • Mit folgenden Rechten ist das möglich:


    i_group_member_add_power
    i_group_needed_member_add_power


    Oder wo liegt da nun das Problem?

  • Nein, damit geht es eben nicht!
    Folgendes:
    Nennen wir die Gruppen mal 1,2 und 3
    Gr.1 hat keine Rechte (Standard Gastgruppe)
    Gr.2 kann in andere Channel wechseln etc.
    Gr3. kann user der Gr.1, die Gr.2 geben, damit diese in andere Channel können.
    Also hat Gr.2 hat "i_group_needed_member_add_power = 4" und Gr.3 hat "i_group_member_add_power =5"
    Das geht ja alles! Problem ist ja, dass ein user aus Gr.3 einem anderen user aus Gr.3 zusätzlich Gr.2 setzen kann.
    Kein user der in Gr.3 ist, soll zusätzlich Gr.2 haben.

  • Dieses Thema enthält 11 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.