Seite 1 von 1

Benutzertyp abfragen und redirect

Verfasst: 29.09.2007 15:55
von Martin Truckenbrodt
Hallo,
eine phpBB Datei (ohne Template) wird per Link aus einer Email aufgerufen (BEnutzer Aktivierungsemail).
Hier gibt es zwei Versionen:
1. Standard Email ging normale Benutzer
2. Spezial Email ging an Administratoren

Bei der zweiten Version wird der URL &acc_admin=1 angehängt.

acc_admin lasse ich mit

Code: Alles auswählen

		$acc = request_var('acc_admin', '');
		$acc_admin = ($acc) ? true : false;
aufbereiten.

Nun will ich Folgendes:
Wenn $acc_admin = true und der angemeldete Benutzer kein Administrator ist, soll eine/die Login Seite kommen und nach dem erfolgreichen Login soll wieder die ursprüngliche Seite aufgerufen werden.

Wie läßt sich dies realisieren?

Danke und Gruß Martin

Verfasst: 29.09.2007 16:26
von nickvergessen

Code: Alles auswählen

$acc_admin = ($acc) ? (($auth->acl_get('a_')) ? true : false ) : false;
Wenn du das benutzt, können die user nicht mogeln acc wird einfach auf false gestellt, wenn der Benutzer keine Adminrechte hat.

Verfasst: 29.09.2007 18:51
von Martin Truckenbrodt
Hallo,
erst einmal Danke!

Das bingt so aber leider nichts, wenn der Administrator z.B. (noch) nicht eingeloggt ist.

Die Administrstorabfrage ist für mich jetzt klar. Nur wie mache ich das redirect?

Bei der zu moddenden Datei handelt es sich um die ./includes/ucp/ucp_activate.php . Ich muss noch die Werte:

Code: Alles auswählen

		$user_id = request_var('u', 0);
		$key = request_var('k', '');
und $acc_admin mit übergeben.

Oder wirkt der redirect wie ein refresh im Browser?

[edit:]Habe gerade gesehen, dass ich wohl die Funktion login_box verwenden muss.

Gruß Martin

Verfasst: 29.09.2007 21:30
von Martin Truckenbrodt
Hallo,
so funzt es:

Code: Alles auswählen

		$acc = request_var('acc_admin', '');
		$acc_admin = ($acc) ? true : false;

		if ($acc_admin && !$auth->acl_get('a_'))
		{
			$redirect = append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=activate&u=$user_id&k=$key&acc_admin=$acc_admin");
			login_box($redirect,$user->lang['LOGIN_ACTIVATE']);
		}
Gruß Martin