Seite 1 von 1

User sollen nur Leserechte auf eigenes Profil haben

Verfasst: 27.05.2007 23:55
von whiterussian
In unserem Vereins-Forum soll nur der Administrator neue User eröffnen/verwalten können.

Aus diesem Grund die Frage: Wie kann ich es erreichen, dass User ihr eigenes Profil nur einsehen, nicht aber editieren können?

Verfasst: 28.05.2007 00:18
von Michael Zacher
Hallo,

mir fällt da auf die schnelle nur etwas radikales ein.

Code: Alles auswählen

### ÖFFNE 

profile.php

### FINDE

else if ( $mode == 'editprofile' || $mode == 'register' )
	{
		if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
		{
			redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
		}

### ERSETZE MIT

else if ( $mode == 'register' )
Allerdings können dann auch nur noch Admins ihr Profil über den Administrationsbereich ändern.
Alle Einstellungen, die während der Registration gemacht werden, bleiben für immer bestehen - es sei denn ein Admin macht sich daran zu schaffen.

EDIT: Nimm lieber Miriam's Code. ;)

Verfasst: 28.05.2007 00:20
von Miriam
Finde in der includes/usercp_register.php

Code: Alles auswählen

if ($mode == 'register' && ($userdata['session_logged_in'] || $username == $userdata['username']))
{
	message_die(GENERAL_MESSAGE, $lang['Username_taken'], '', __LINE__, __FILE__);
}
DAVOR füge ein:

Code: Alles auswählen

if ($mode == 'editprofile' && $userdata['user_level'] != ADMIN)
{
	message_die(GENERAL_MESSAGE, 'Es ist nicht gestattet, das eigene Profil zu editieren.', '','','');
}
Vllt solltest Du dann auch noch den Button Profil aus dem Header nehmen... Oder den dahinter stehenden Link ändern.

Verfasst: 28.05.2007 00:35
von whiterussian
Vielen Dank für die raschen Tips schon mal!

@Miriam:
das ist nicht genau, was ich möchte. Ziel der Aktion ist es, dass der User sein Profil ansehen kann, aber nicht verändern. Evt. wäre es eine Möglichkeit die Ansicht zu bekommen, die man sieht, wenn man in der Benutzerliste das Profil eines anderen Users ansieht. Ginge das irgendwie?

Verfasst: 28.05.2007 00:44
von Miriam
Genau das macht die von mir Codeänderung möglich.
Der User kann sein eigenes Profil, genauso wie das aller anderen User anschauen. Aber nicht editieren.
Gehe mal als User in Dein Forum und checke das in der Mitgliederliste ab. Oder bei den Postings durch klicken auf den dortigen Profil-Button.

Verfasst: 28.05.2007 01:04
von whiterussian
ach so...

folgende kleine Erweiterung wäre jetzt das Tüpfelchen auf dem i: Ein klick auf "Profil" (overall_header) soll ebenfalls auf die Profilansicht wie von der Mitgliederliste führen. Geht das irgendwie?

Verfasst: 28.05.2007 01:12
von Miriam
Miriam hat geschrieben:...Vllt solltest Du dann auch noch den Button Profil aus dem Header nehmen... Oder den dahinter stehenden Link ändern.
Was hältst Du von der Idee, selber mal ein bisschen zu überlegen....?

Letzte Änderung:
Finde in der includes/page_header.php

Code: Alles auswählen

'U_PROFILE' => append_sid('profile.'.$phpEx.'?mode=editprofile'),
tausche aus gegen:

Code: Alles auswählen

'U_PROFILE' => append_sid('profile.'.$phpEx.'?mode=viewprofile&u='.$userdata['user_id']),

Verfasst: 28.05.2007 14:11
von whiterussian
Miriam hat geschrieben:Was hältst Du von der Idee, selber mal ein bisschen zu überlegen....?
Nun, ja, würde ich gerne tun, wenn ich 1. mehr Ahnung vom Programmieren und 2. mehr Ahnung von der Struktur von phpBB hätte...

@deine Solution:
funktioniert perfekt, vielen herzliichen Dank!!!