Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 8 Gast/Gäste
Mindestbeiträge
#11
Ähm wo kann ich die ID's der Gruppen finden???:question:

Bin totaler Anfänger wäre hilfreich wenn man mir das erklären könnte.

(ID von Registrierte Benutzer und von selbst erstelle Gruppe)
Grüße
Zitieren
#12
In der Datenbank, Tabelle mybb_usergroups. Die ID steht in der ersten Spalte.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#13
Danke hat super geklappt Smile
Grüße
Zitieren
#14
Hallo,

auch ich komme hier nicht weiter. Ich habe 4 Berechtigungsgruppen:
1 - Offenes Forum
2 - nur registrierte Nutzer
3 - Nutzer, die mehr als 10 Posts haben
4 - Nutzer, die sich kennen

Mit der 4 habe ich kein Problem, die will ich ohnehin manuell freischalten. Es geht mir und die 3.

Ich habe es nun einmal mit der Global.php versucht, das hat nicht geklappt. Mein Test User konnte auch nach 11 Posts nur die ersten beiden sehen.

Wobei ich dazu 1 Frage habe:


Zitat:PHP-Code:

## Update Usergroup ##
// ID der alten Benutzergruppe
$gid1 = "2";


// ID der neuen Benutzergruppe
$gid2 = "4";

// Anzahl an Beiträgen
$minposts = "5";

// Aktualisiere Benutzer
if ($mybb->user['postnum'] == $minposts)
{
// Update usergroup
$update_group = $db->query("UPDATE ".TABLE_PREFIX."users SET usergroup = '".$gid2."', displaygroup = '".$gid2."' WHERE uid = '".$mybb->user['uid']."' AND usergroup = '".$gid1."'");
}
## Update Usergroup ##

Hier habe ich nur die ersten 3 Blöcke geändert (ID alte Gruppe, ID neue Gruppe; Anzahl Beiträge) oder hätte ich da noch mehr ändern müssen?

Dann habe ich den anderen Weg versucht:

Zitat:Du musst die IDs der Gruppen und die Anzahl der Beiträge an deine Bedürfnisse anpassen. Dieser Codeschnipsel verschiebt einen Benutzer mit der angegebenen Beitragszahl automatisch in die neue Benutzergruppe.

Um alle Benutzer zu verschieben, kannst du diesen Query ausführen:
Code:

UPDATE mybb_users SET usergroup = 'x', displaygroup = 'x' WHERE postnum >= 'y' AND usergroup = 'z';
x = ID der neuen Gruppe
y = Beitragszahl
z = ID der alten Gruppe

Ergebnis: Mein Testuser konnte jetzt ÜBERALL rein, auch schreiben, was er ja nicht sollte. Es sollte ihm lediglich ein weiteres Forum geöffnet werden.

Kurioserweise bekam er eine Meldung beim Betreten des Forums (auch nach Aus- und wieder Einloggen):

Dein Account wurde ausgeschlossen.
Ausschlussgrund: Unbekannt
Ausschluss wird aufgehoben: Unbekannt

Versteht das einer? Und wie kann ich diese SQL Abfrage wieder rückgängig machen?

Viele Grüsse

Ingrid
Zitieren
#15
siroca schrieb:Kurioserweise bekam er eine Meldung beim Betreten des Forums (auch nach Aus- und wieder Einloggen):

Dein Account wurde ausgeschlossen.
Ausschlussgrund: Unbekannt
Ausschluss wird aufgehoben: Unbekannt
Kannst du bei der Benutzergruppe überprüfen, ob in den Gruppen-Einstellungen "Zur Ausschlussgruppe zugehörig?" auf "Nein" steht?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#16
[/quote]
Kannst du bei der Benutzergruppe überprüfen, ob in den Gruppen-Einstellungen "Zur Ausschlussgruppe zugehörig?" auf "Nein" steht?
[/quote]

Er stand auf Ja - ich habe ihn jetzt auf Nein gesesetzt - dann hat sich der Testuser wieder eingeloggt - Meldung ist weg. Big Grin

Nur kann der Test User auch das Privat Forum sehen und das soll er nicht.

Also es gibt 4 Gruppen:

Den 1. Teil des Forums sehen alle - das klappt
den 2. Teil des Forums sehen nur die Registrieren - das klappt auch
den 3. Teil des Forums sehen die, die mehr als 10 Beiträge geschrieben haben - das sieht mein Testuser nach 10 Beiträgen auch
den 4. Teil sehen nur die, die ich manuell freischalte - und das klappt dahin gehend nicht, dass der Testuser mit 10 Beiträgen auch automatisch in diese private Ecke kommt.


Viele Grüsse

Ingrid
Zitieren
#17
siroca schrieb:den 4. Teil sehen nur die, die ich manuell freischalte - und das klappt dahin gehend nicht, dass der Testuser mit 10 Beiträgen auch automatisch in diese private Ecke kommt.


Viele Grüsse

Ingrid
Hast du die richtige Benutzergruppen-ID im Skript für Punkt 3 eingestellt? In diese Gruppe soll ja keiner automatisch kommen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#18
[/quote]
Hast du die richtige Benutzergruppen-ID im Skript für Punkt 3 eingestellt? In diese Gruppe soll ja keiner automatisch kommen.
[/quote]

Ich gehe mal davon aus, Du meinst mit Script das, wo ich x durch die GID Nr. ersetze musste?

Ja habe ich. Diese Gruppe "mehr als 10" hat die GID 9. Die Registrierten haben die 2.

Das funktioniert ja auch einwandfrei, der Testuser hat 10 Beiträge gesehen und sieht nun Teil 1, 2, 3 und 4 des Forums. Nur Teil 4 soll er eben nicht sehen. Dieser Teil 4 hat die GID 8.

Im SQL Dumper kann man ja auch den Type einstellen. Die Standardgruppen haben Type 1, die benutzerdefinierten Tpy 2. Ich habe bei Privat Type 2 gelassen, bei grösser 10 aber Type 4 eingegeben (ohne zu wissen was das für einen Einfluss hat Big Grin - "learning bei doing" Big Grin

Viele Grüsse

Ingrid
Zitieren
#19
Kleine Ursache - große Wirkung - ich habe das Problem gefunden - typischer Anfänger Fehler Big Grin

Ich habe die Benutzergruppe >10 Beiträge nach dem Privaten erstellt. Von daher war in Privat im ACP diese neue Benutzergruppe noch mit Haken drin. Ich habe die Haken gelöscht und nun läuft es so, wie ich mir das vorstelle Shy

Viele Grüsse

Ingrid
Zitieren
#20
Disco1909 schrieb:was man nicht alles findet, wenn man bissl geduld zum suchen hat.
http://mods.mybboard.net/view.php?did=471
das könnte man doch bissl erweitern, oder?
Fehler 404 :-(
Michael schrieb:Erstelle eine neue Benutzergruppe, die die erweiterten Rechte inne hat. Öffne dann die Datei global.php und füge am Ende vor dem ?> folgendes ein:
PHP-Code:
## Update Usergroup ##
// ID der alten Benutzergruppe
$gid1 "2";

// ID der neuen Benutzergruppe
$gid2 "4";

// Anzahl an Beiträgen
$minposts "5";

// Aktualisiere Benutzer
if ($mybb->user['postnum'] == $minposts)
{
// Update usergroup
$update_group $db->query("UPDATE ".TABLE_PREFIX."users SET usergroup = '".$gid2."', displaygroup = '".$gid2."' WHERE uid = '".$mybb->user['uid']."' AND usergroup = '".$gid1."'");
}
## Update Usergroup ## 
Kann man das nicht wie folgt ändern:

Neuling = Gruppe 2 bis 10 Beiträge
Member = Gruppe 10 ab 11 Beiträge
Aktiver member = Gruppe 9 ab 50 Beiträge
Gruß, Micha
=========
Zitieren