User-bearbeiten im Profil

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Die Ursache des Problems liegt in der pagestart.php im Admin Ordner:

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));
}
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:

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;

}
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.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Ahoi gn#36,

danke für Deine ausführliche Antwort! Leider muss ich zugeben, dass mich die Realisierung Deiner Lösungsansätze technisch überfordert. :oops:

Wäre es vielleicht einfacher, auf das Nachladen der Frames (also auf den Umweg über die admin/index.php) überhaupt zu verzichten und nach der Eingabe des Passworts für das ACP gleich zur admin_users.php weiterzuleiten? Das wäre im Prinzip nicht wirklich schlimm, weil man das Benutzerprofil ja mittels target="_blank" aufrufen kann, sodass man den Navigationsframe nicht unbedingt benötigt.

Gute Nacht!
Wolfgang
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ich denke schon, dass das einfacher wäre. Wenn ich demnächst mal wieder ein wenig Zeit habe beschäftige ich mich evtl. mal genauer mit der Geschichte.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
color
Mitglied
Beiträge: 65
Registriert: 07.06.2004 13:19

Beitrag von color »

gn#36 ich habe das nicht so ganz verstanden? war das für mich oder für IPB_Flüchtling
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Sorry, das sollte an IPB_Flüchtling gehen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

@gn#36:

Das wäre sehr nett - mir ist das nämlich zu hoch. Vielleicht könnte man in der admin/pagestart.php an dieser Stelle ansetzen:

Code: Alles auswählen

if (!$userdata['session_admin']) 
{ 
   redirect(append_sid("login.$phpEx?redirect=admin/index.$phpEx&admin=1", true)); 
}
Hier könnte man eventuell noch eine weitere IF-Abfrage einbauen:

IF QUERY_STRING enthält 'admin_users.php?mode=edit'
{
redirect(append_sid("login.$phpEx?redirect=QUERY_STRING"));
}
ELSE
{
redirect(append_sid("login.$phpEx?redirect=admin/index.$phpEx&admin=1", true));
}

Oder so ähnlich. Wobei ich leider nicht weiß, ob die vordefinierte Variable QUERY_STRING hierzu überhaupt geeignet ist und wie man sie in das Redirect einbauen könnte.

LG, Wolfgang
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“