Seite 1 von 1

Probleme bei Moderatoren-erteilung

Verfasst: 25.01.2005 01:27
von markus4deadsy
Hallo :)...

Ich hab mein phpbb jetzt schon über ein jahr laufen. Bin auch sehr zufrieden damit, habs mir indessen schon mit etlichen mods aufgetunt.

Vor einem halben jahr bin ich dann damit auf einen neuen server umgezogen, was auch auf dem ersten blick problemlos geklappt hat.
Hab das Forum bis jetzt alleine Moderiert. Hab mich ber dazu entschieden ein paar User dafür zu nehmen.

Jetzt kommt mein problem.
Wenn ich im Admin Panel einen Benutzer in einem Forum als Moderator setzen will kommt folgende Fehlermeldung:

Code: Alles auswählen

Couldn't update private forum permissions

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near ' 1)' at line 2

INSERT INTO phpbb_auth_access (forum_id, group_id, auth_mod) VALUES (2, , 1)

Line : 391
File : /home/www/htdocs/cher-forum.de/extravaganza/admin/admin_ug_auth.php
Hab mir die angegeben datzein auch angeschaut aber werd nicht schlau draus.

Kann mir eienr von euch sagen was da faul ist?

Verfasst: 25.01.2005 02:20
von QCO
Zwischen den beiden Kommas fehlt ein Wert.
Da hast du offenbar einen Mod etwas verschusselt oder der Mod ist nicht sauber...
Poste mal Code aus der entsprechenden Datei.

Verfasst: 25.01.2005 03:49
von markus4deadsy
jo... hier der code...

von zeile 348 an

Code: Alles auswählen

			//
			// Checks complete, make updates to DB
			//
			$delete_sql = '';
			while( list($forum_id, $action) = @each($forum_auth_action) )
			{
				if ( $action == 'delete' )
				{
					$delete_sql .= ( ( $delete_sql != '' ) ? ', ' : '' ) . $forum_id;
				}
				else
				{
					if ( $action == 'insert' )
					{
						$sql_field = '';
						$sql_value = '';
						while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
						{
							$sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . $auth_type;
							$sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . $value;
						}
						$sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . 'auth_mod';
						$sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);

						$sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id, group_id, $sql_field) 
							VALUES ($forum_id, $group_id, $sql_value)";
					}
					else
					{
						$sql_values = '';
						while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
						{
							$sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . $auth_type . ' = ' . $value;
						}
						$sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . 'auth_mod = ' . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);

						$sql = "UPDATE " . AUTH_ACCESS_TABLE . " 
							SET $sql_values 
							WHERE group_id = $group_id 
								AND forum_id = $forum_id";
					}
					if( !($result = $db->sql_query($sql)) )
					{
						message_die(GENERAL_ERROR, "Couldn't update private forum permissions", "", __LINE__, __FILE__, $sql);
					}
				}
			}

			if ( $delete_sql != '' )
			{
				$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . " 
					WHERE group_id = $group_id 
						AND forum_id IN ($delete_sql)";
				if( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, "Couldn't delete permission entries", "", __LINE__, __FILE__, $sql);
				}
			}

			$l_auth_return = ( $mode == 'user' ) ? $lang['Click_return_userauth'] : $lang['Click_return_groupauth'];
			$message = $lang['Auth_updated'] . '<br /><br />' . sprintf($l_auth_return, '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
		}

Verfasst: 25.01.2005 15:10
von QCO
Das Problem passiert in dieser Zeile
$sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id, group_id, $sql_field)
VALUES ($forum_id, $group_id, $sql_value)";
, weil offenbar $group_id keinen Wert hat.
Du müsstest noch mehr Zeilen von weiter oben posten.

Verfasst: 25.01.2005 15:22
von markus4deadsy
Ich glaub das ist nicht nötig...

Mir fällt gerade mit schrecken ein das ich vor einigen monaten versucht hab die Benutzergruppenfunktion gänzlich zu löschen.
Da hab ich unter anderem auch in der datenbank rumgepfuscht und eventuell die Tabellen für die usergroups gelöscht.

Wie kann ich die denn neu aufspielen?

Hier trotzdem mal die komplette datei im textformat.

admin_ug_auth.txt

Verfasst: 25.01.2005 15:30
von QCO
Du hast gleich die ganze Tabelle gelöscht??? Und das Board läuft noch? Junge, Junge...
Ich bin mir nicht ganz sicher, aber evlt. hilft dir der DB Maintenance Mod

Verfasst: 25.01.2005 15:43
von markus4deadsy
ja, das war noch in der anfangszeit...
hab schon viel mist verzapft. Das forum hat schon einiges durch.

Was hat denn der mod für ne funktion?

Verfasst: 25.01.2005 16:06
von markus4deadsy
Aaahhh heyyy es hat geklappt.

Ich hatte die Gruppentabellen gelsöcht gehabt. Natürlich waren die meissten Benutzer noch in Gruppen eingetragen die es dann bei der Befugniskontrolle nicht gefunden hat.

Die Gruppeneinträge wurden alle entfernt und auf standart eingestellt.

Jetzt gehts wieder.

DB Maintenance ist ene gute funktion. Danke :)