Seite 1 von 1

Problem im Admin Bereich nach update

Verfasst: 02.07.2007 17:06
von hunny
Hallo,
ich habe mein Forum auf die neuste Version upgedatet. Läuft auch alles so weit bis auf das ich immer folgende Fehlermeldung bekomme wenn ich im ACP Einstellungen der User ändern möchte:
Fatal error: Call to undefined function: session_reset_keys() in /is/htdocs/37171/www.hunny.de/phpBB2/admin/admin_users.php on line 703
das ist der Bereich aus der users.php
// We remove all stored login keys since the password has been updated
// and change the current one (if applicable)
if ( !empty($passwd_sql) )
{
session_reset_keys($user_id, $user_ip);
}

$message .= $lang['Admin_user_updated'];
}
else
Wer kann mir da weiter helfen ?

Re: Problem im Admin Bereich nach update

Verfasst: 03.07.2007 10:25
von SteveHH
hunny hat geschrieben:Hallo,
ich habe mein Forum auf die neuste Version upgedatet. Läuft auch alles so weit bis auf das ich immer folgende Fehlermeldung bekomme wenn ich im ACP Einstellungen der User ändern möchte:
Fatal error: Call to undefined function: session_reset_keys() in /is/htdocs/37171/www.hunny.de/phpBB2/admin/admin_users.php on line 703
das ist der Bereich aus der users.php
// We remove all stored login keys since the password has been updated
// and change the current one (if applicable)
if ( !empty($passwd_sql) )
{
session_reset_keys($user_id, $user_ip);
}

$message .= $lang['Admin_user_updated'];
}
else
Wer kann mir da weiter helfen ?

Hallo !

Lade mal die /includes/sessions.php neu hoch .. dann sollte das wieder funktionieren.

Greetz,

Steve

P.S.: Wenn Du irgendwelche Mod's eingebaut hast, dann besorg' dir Winmerge und vergleiche deine sessions.php mit der originalen aus dem phpBB-Paket. Dann werden deine Änderungen angezeigt, so das Du sie in die neue sessions.php übernehmen kannst

Verfasst: 03.07.2007 14:44
von hunny
Hallo,
also ich habe die Datei wieder hoch gefahren aber es geht nicht. Dann habe ich die Dateien vergleichen mit dem Winmerge und es sind ja absolute Unterschiede vorhanden nur wie oder was mache ich mit der Erkenntnis?
Grüße hunny

Verfasst: 03.07.2007 14:59
von Dr.Death
Hi,

in Deiner sessions.php scheint folgender Code Block zu fehlen !

Code: Alles auswählen

/**
* Reset all login keys for the specified user
* Called on password changes
*/
function session_reset_keys($user_id, $user_ip)
{
	global $db, $userdata, $board_config;

	$key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? "AND key_id != '" . md5($userdata['session_key']) . "'" : '';

	$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
		WHERE user_id = ' . (int) $user_id . "
			$key_sql";

	if ( !$db->sql_query($sql) )
	{
		message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql);
	}

	$where_sql = 'session_user_id = ' . (int) $user_id;
	$where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <> '" . $userdata['session_id'] . "'" : '';
	$sql = 'DELETE FROM ' . SESSIONS_TABLE . "
		WHERE $where_sql";
	if ( !$db->sql_query($sql) )
	{
		message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql);
	}

	if ( !empty($key_sql) )
	{
		$auto_login_key = dss_rand() . dss_rand();

		$current_time = time();
		
		$sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "
			SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time
			WHERE key_id = '" . md5($userdata['session_key']) . "'";
		
		if ( !$db->sql_query($sql) )
		{
			message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);
		}

		// And now rebuild the cookie
		$sessiondata['userid'] = $user_id;
		$sessiondata['autologinid'] = $auto_login_key;
		$cookiename = $board_config['cookie_name'];
		$cookiepath = $board_config['cookie_path'];
		$cookiedomain = $board_config['cookie_domain'];
		$cookiesecure = $board_config['cookie_secure'];

		setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
		
		$userdata['session_key'] = $auto_login_key;
		unset($sessiondata);
		unset($auto_login_key);
	}
}

Verfasst: 03.07.2007 16:08
von hunny
Hi,
wo genau muss ich das einfügen?

Verfasst: 04.07.2007 14:24
von hunny
Könnte mir bitte jemand sagen wo ich diesen Teil in die Datei einfügen müsste damit mein Forum wieder richtig funzt!
Danke :grin:

Verfasst: 04.07.2007 15:15
von SteveHH
Hallo

Kann ich dir sagen, wenn ich @ home bin .. ich habe das (leider) auch nicht im Kopf ... sonst schau' doch einfach mal bei einer 'neuen' sessions.php, wo genau dieser Block ist.

Greetz,

Steve

Verfasst: 05.07.2007 20:24
von hunny
Hallo,
ich kann das einfach nicht finden. Bist Du vielleicht schon zu Hause? 8)

Verfasst: 05.07.2007 21:05
von Mahony
Hallo

Suche nach

Code: Alles auswählen

//
	// Delete expired auto-login keys
	// If max_autologin_time is not set then keys will never be deleted
	// (same behaviour as old 2.0.x session code)
	//
	if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] > 0)
	{
		$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
			WHERE last_login < ' . (time() - (86400 * (int) $board_config['max_autologin_time']));
		$db->sql_query($sql);
	}

	return true;
}
und füge den Code darunter ein




Grüße: Mahony

Verfasst: 06.07.2007 10:32
von hunny
Super - vielen Dank das hat geklappt! :grin:

Hat von Euch einer für dieses Problem auch eine Lösung?
http://www.phpbb.de/viewtopic.php?t=151395&highlight=
Dann läuft auch alles wieder bei mir!

Danke Euch recht herzlich.Grüße hunny