Verfasst: 13.11.2006 20:52
Die Ursache des Problems liegt in der pagestart.php im Admin Ordner:
Der Redirect unterscheidet nicht nach Adminbereich. Andererseits wird aber im Index das Frameset erstellt. Vielleicht wäre es eine Idee, den Redirect weiterhin auf den Index zu leiten, aber dem Index dann eine Info mitzugeben, dass er gleich eine bestimmte Seite aufrufen soll, statt seinen Standardframe für die rechte Seite zu laden. Dann müsste man den Redirect noch in die admin_users.php packen (damit andere Dateien nicht davon betroffen sind) und wäre das Problem los.
In der Index.php ist nicht mal viel Code anzupassen:
Da muss nur eine IF Abfrage rein ob best. Daten über Get od. POST mitübermittelt wurden, dann der Redirect und fertig. Vielleicht ist es sogar noch besser auf den Index mit speziellen Parametern zu verlinken so dass die Frames auf jeden Fall erstellt werden, denn sonst würde man die ja im "als Admin eingelloggten" Zustand nicht angezeigt bekommen.
Code: Alles auswählen
if (!$userdata['session_logged_in'])
{
redirect(append_sid("login.$phpEx?redirect=admin/index.$phpEx", true));
}
else if ($userdata['user_level'] != ADMIN)
{
message_die(GENERAL_MESSAGE, $lang['Not_admin']);
}
if ($HTTP_GET_VARS['sid'] != $userdata['session_id'])
{
redirect("index.$phpEx?sid=" . $userdata['session_id']);
}
if (!$userdata['session_admin'])
{
redirect(append_sid("login.$phpEx?redirect=admin/index.$phpEx&admin=1", true));
}
In der Index.php ist nicht mal viel Code anzupassen:
Code: Alles auswählen
else
{
//
// Generate frameset
//
$template->set_filenames(array(
"body" => "admin/index_frameset.tpl")
);
$template->assign_vars(array(
"S_FRAME_NAV" => append_sid("index.$phpEx?pane=left"),
"S_FRAME_MAIN" => append_sid("index.$phpEx?pane=right"))
);
header ("Expires: " . gmdate("D, d M Y H:i:s", time()) . " GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
$template->pparse("body");
$db->sql_close();
exit;
}