Seite 1 von 2
Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 14:18
von Walter91
Ich habe mir ein kleines Programm geschrieben auf das nur die Gruppen:
Administratoren, Moderatoren und Registrierte Benutzer Zugriff haben sollen.
Gäste, Bots und Kürzlich registrierte Benutzer usw. sollen keinen Zugriff haben !
Aus der phpbb-Wiki habe ich das mit den folgenden Code für Administratoren getestet. (funktioniert)
Kann jemand helfen wie ich das für die gewünschten Gruppen ändern muss ?
Code: Alles auswählen
// Prüfen ob Admin
if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
{
login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS']);
}
// Wenn kein Admin
if (!$auth->acl_get('a_'))
{
trigger_error('NO_ADMIN');
}
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 14:35
von Crizzo
Hi,
für Moderator-Rechte gilt:
Dem zu Folge: if Admin or Mod:
Code: Alles auswählen
if ($auth->acl_get('a_') || $auth->acl_getf_global('m_'))
{
}
und ob es ein registrierter Nutzer ist:
Code: Alles auswählen
if ($user->data['user_id'] == ANONYMOUS)
{
// Code, wenn Benutzer nicht angemeldet ist
}
else
{
// Code, wenn Benutzer angemeldet ist
}
Siehe:
https://wiki.phpbb.com/Deutsch:Vorlage_ ... euen_Seite
https://wiki.phpbb.com/Tutorial.Permissions
Grüße
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 14:51
von Walter91
@BlackHawk87
Danke für deine schnelle Antwort. Ist aber noch nicht ganz was ich suche.
Ich hatte das auch schon so probiert:
Code: Alles auswählen
if ($user->data['user_id'] == ANONYMOUS)
{
// Code, wenn Benutzer nicht angemeldet ist
}
else
{
// Code, wenn Benutzer angemeldet ist
}
Damit erwinge ich zwar den Login, aber
Kürzlich Registrierte Benutzer sehen das immer noch !
Wie kann ich diese Gruppe rausschmeißen ?
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 14:58
von Crizzo
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 19:25
von Walter91
Funktioniert leider immer noch nicht.
- Habe den Code in die /includes/functions.php eingefügt wie im Beitrag beschrieben.
- In meine php: include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
- Im Template: <!-- IF GROUP_ID == 2 AND S_USER_LOGGED_IN -->
(2 für Gruppe registrierte Benutzer)
- Template-Cache geleert
Gruppe kürzlich registrierte hat aber immer noch Zugriff.
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 19:49
von Crizzo
Das ist auch kein Wunder.
Die "kürzlich registrierte Benutzer"-Gruppe ist ein Zusatz! D.h. die Nutzer sind parallel auch noch in der "Registrierten"-Gruppe. D.h. du musst in deiner Abfrage sicher stellen, dass die Benutzer
nicht in der "kürzlich registrierte Benutzer"-Gruppe sind.
Grüße
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 19:58
von Walter91
@BlackHawk87
Ich weis das die erst mal in beiden Gruppen sind. Ich finde nur die Lösung nicht.
Ich habe das in meinem Testforum so eingestellt, dass Benutzer die mindestens einen Beitrag geschrieben haben automatisch aus der Gruppe
Kürzlich registrierte entfernt werden. Geht ja wunderbar im Adminbereich einzustellen.
Gibt es nicht eine einfache Lösung um zum Beispiel den folgenden Code um die Gruppe Kürzlich registrierte zu erweitern? Mit diesem Code hält man ja Gäste und Bots sehr gut raus.
Code: Alles auswählen
if ($user->data['user_id'] == ANONYMOUS || $user->data['is_bot'] )
{
login_box('', $user->lang['LOGIN']);
}
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 20:58
von BNa
Wenn Deine Newly Registrered Users schon mit 1nem Post aus der Gruppe ausscheiden, kannst Du es so machen:
Code: Alles auswählen
if (($user->data['user_id'] == ANONYMOUS) || $user->data['is_bot'] || ($user->data['user_posts'] == 0))
{
login_box('', $user->lang['LOGIN']);
}
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 21:20
von Walter91
@BNa
Habe es gerade getestet.
Super, das geht
Danke euch allen für Eure schnelle Hilfe !
Wenn ich noch was fragen darf.
Was muss ich anstatt von "login_box" einsetzen, damit eine Meldung erscheint:
"Du hast keine ausreichenden Rechte diesen Bereich zu betreten"
Re: Zugriff nur für registrierte Benutzer
Verfasst: 02.02.2013 21:42
von BNa
Finde
Dahinter füge ein
Code: Alles auswählen
trigger_error ('Du hast keine ausreichenden Rechte diesen Bereich zu betreten.');