group_single_user & individuelle Benutzerrechte

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
maRvin06
Mitglied
Beiträge: 11
Registriert: 12.01.2006 18:46

group_single_user & individuelle Benutzerrechte

Beitrag von maRvin06 »

Hallo zusammen,

ich nutze das phpBB in der Version .20 und möchte bestimmten Usern bestimmte Rechte geben. Da ich jedoch nicht die Benutzertabelle des phpBB nutze, sondern meine eigene, die an ein komplettes System angepasst ist, hab ich das ganze also ein wenig modifiziert (Registrierung läuft auch nicht über das phpBB)! Nun habe ich festgestellt das ich keine individuellen Rechte vergeben kann, weil die entsprechende "single user group" fehlt. Bin ich richtig in der Annahme, das für jeden User des phpBBs ein eigener Eintrag in der Tabelle "*_groups", sowie "*_user_group" existieren muss?

Habe zum Problem

Code: Alles auswählen

Couldn't update private forum permissions

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1)' at line 2

INSERT INTO forum_auth_access (forum_id, group_id, auth_mod) VALUES (28, , 1)

Line : 396
File : admin_ug_auth.php
zwar viel im Forum gefunden, aber im Quelltext nun herausbekommen das es anscheinend so aussehen muss.

Kann mir wer das bestätigen?

Grüße,

Marvin
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Genau so ist es:
Die Tabellen *_users, *_user_groups und *_groups stehen in einem Zusammen hang und deshalb kann Dein Script die $group_id nicht mit einem Wert belegen....
Irgendwo in diesem Forum habe ich mich genau zu dieser Problematik geäussert... weiss aber nicht mehr wo exakt.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
maRvin06
Mitglied
Beiträge: 11
Registriert: 12.01.2006 18:46

Beitrag von maRvin06 »

Das sie in einem Zusammenhang stehen erklärt sich von selbst.. Meine Frage ist nur, ob auch zu jedem User ein Datensatz in *_group und in *_user_group angelegt wird..
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

maRvin06 hat geschrieben:Das sie in einem Zusammenhang stehen erklärt sich von selbst...
Ach so? :o
maRvin06 hat geschrieben:...Meine Frage ist nur, ob auch zu jedem User ein Datensatz in *_group und in *_user_group angelegt wird..
Welcher selbsterklärende Zusammenhang wäre naheliegender?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
maRvin06
Mitglied
Beiträge: 11
Registriert: 12.01.2006 18:46

Beitrag von maRvin06 »

Entweder wir reden aneinander vorbei oder.. oder oder.. ich weiss auch nich :)

Ich meinte eigentlich ob direkt ein Datensatz angelegt wird, wenn sich ein User normal registriert. Laut Quellcode scheint das so zu sein.. Ich kann und wills eigentlich nicht testen, da hier bestimmt genug Leute rumschwirren die ihr System nicht modifiziert haben und mir bestimmt schneller eine Auskunft darüber geben können...
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

maRvin06 hat geschrieben:...Ich meinte eigentlich ob direkt ein Datensatz angelegt wird, wenn sich ein User normal registriert. Laut Quellcode scheint das so zu sein...
Das ist eine gewagte Aussage und ein Blick in die usercp_register.php wird Dir sicher Klarheit bringen.

Aber gut, weil heute Dienstag ist, werde ich mal Deine Faulheit unterstützen und Dir die Benutzung der Suche ersparen --->

Wenn ein User angelegt wird, werden die Einträge in die *_users geschrieben, der User bekommt eine ID (Variablenname $user_id).

Dann wird eine neue Gruppe in der Tabelle *_groups eingetragen, deren Inhalt aus group_name, group_description, group_single_user, group_moderator besteht.
Die Eintragswerte sind group_name = '', group_description = 'Personal User', group_single_user = 1, group_moderator = 0.

Code: Alles auswählen

$sql = "INSERT INTO " . GROUPS_TABLE . " (group_name, group_description, group_single_user, group_moderator)
                                VALUES ('', 'Personal User', 1, 0)";
Die Gruppen ID ist autoinkrement und somit die nächste folgene ID (Variablenname $group_id).

Code: Alles auswählen

$group_id = $db->sql_nextid();
Hernach wird in der Tabelle *_user_group ein neuer Eintrag generiert, der folgendes enthält:
user_id = $user_id, group_id = $group_id, user_pending = 0.

Code: Alles auswählen

$sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
                                VALUES ($user_id, $group_id, 0)";
Wie Du siehst gibt es in phpBB eigentlich keine Userverwaltung im eigentlichen Sinne.... Es sind alles Gruppen.....
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
maRvin06
Mitglied
Beiträge: 11
Registriert: 12.01.2006 18:46

Beitrag von maRvin06 »

Ahhhh... Genau das wollte ich wissen ;) Jetzt msus ich nämlich für jeden User so einen Datensatz anlegen, damit ich denen individuelle Rechte geben kann..

Übrigens ich bin nicht faul, aber die Frage ob zu jedem registrierten User ein Datensatz in _user_group und _group erfolgt, hätte man leichter beantworten können, als das ich im Quelltext nachsehe und spekuliere ob, und wenn, warum, wie... blaaa..

Nunja, vielen lieben Dank für Deine ausführliche Erläuterung :)
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“