Seite 1 von 1

Couldn't update private forum permissions

Verfasst: 26.01.2003 19:34
von makue
Hallo, ich habe folgendes Problem: Ich möchte gern einen User als Moderator für ein Forum eintragen und erhalte die Fehlermeldung:

Couldn't update private forum permissions

Ich muss dazu sagen, das ich mit 'nem selbstgeschriebenen Script mal User aus einem anderem Board importiert habe. Mit so einem Tool was hier angeboten wurde habe ich die db gecheckt und sie war ok. Soviel dazu.

Was ich schon gefunden habe:

im admin_ug_auth.php steht folgendes:

Code: Alles auswählen

$sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id, group_id, $sql_field) 
VALUES ($forum_id, $group_id, $sql_value)";
$db->sql_query($sql) kann nun nicht fehlerfrei sugeführt werden weil $group_id ein Leerstring ist. Leer deshalb, weil es ein Problem bei folgender Abfrage gibt:

Code: Alles auswählen

$sql = "SELECT g.group_id, u.user_level
	FROM " . USER_GROUP_TABLE . " ug, " . USERS_TABLE . " u, " . GROUPS_TABLE . " g
	WHERE u.user_id = $user_id 
	AND ug.user_id = u.user_id 
	AND g.group_id = ug.group_id 
	AND g.group_single_user = " . TRUE;
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not select info from user/user_group table', '', __LINE__, __FILE__, $sql);
}

$row = $db->sql_fetchrow($result);
$group_id = $row['group_id'];
Und hier komme ich nicht klar weil ich nicht weiss was in der GROUPS_TABLE stehen muss. Auf jeden Fall gibt es da nicht für jeden User eine Zeile. Aber auch User die sich neu angemeldet haben findet man unter Umständen in dieser Tabelle nicht.

Kann mir jemand sagen was es mit der Tabelle auf sich hat bzw. ob man die vielleicht mit Hilfe der USERS_TABLE neu erstellen kann?

Ich habe übrigens nur eine Gruppe definiert, die steht auch mit group_id 239 drin. Kann man denn den Rest der Tabelle nicht löschen? Also ich bin da jetzt sehr unsicher weil da 3 Tabellen irgendwie zusammenhängen und ich das nicht ganz checke.

Ich hoffe, irgend jemand von Euch kann mir helfen. Danke!

Verfasst: 26.01.2003 19:43
von PhilippK
Also,

phpbb_users enthält die User,
phpbb_groups die Gruppen (wobei für jeden Benutzer eine eigene Single User Group existieren muss!)
phpbb_user_group sorgt für die entsprechende Zuordnung

Kurzum: für jeden User muss in jeder der Tabelle mind. ein Datensatz existieren.

Checken kannst du das ganze damit: http://www.phpbb.de/viewtopic.php?t=16999

Gruß, Philipp

Verfasst: 26.01.2003 19:46
von saerdnaer
BTW: in solchen fällen immer den link:debugmode aktivieren...

EDIT: ich schreib auch den quicklink jedesmal falsch...

ah

Verfasst: 26.01.2003 19:50
von makue
Tausend Dank! Ich hatte schon sowas vermutet. :( Seltsam nur, dass ich mit dieser Fehlermeldung über die Suchfunktion nichts gefunden habe, sonst hätte ich Euch hier nicht belästigt! :wink:

Nun mal sehen was das Script kann, natürlich sichere ich die DB vorher erst! :)

Nachtrag: Es hat funktioniert, vielen Dank noch einmal!