Seite 1 von 1
Gäste & nicht angemeldete User auf Loginseite
Verfasst: Do 15.Okt, 2009 10:15
von Diggi
Gäste & nicht angemeldete User auf Loginseite
Mein Board: phpBB 3.05
Hallo zusammen..
Ich möchte das sich für Gäste & nicht angemeldete User nur die Loginseite öffnet.
Für dauerhaft angemeldete User soll sich wie gewohnt die Indexseite, oder eine entsprechende
andere durch Direktlink öffnen.
Wie lässt sich das lösen? Bzw. in welchen Dateien müsste ich was machen?
Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: Do 15.Okt, 2009 14:13
von oxpus
Man könnte das direkt in der Session-Verarbeitung einbauen:
Öffne die Datei includes/sessions.php und finde die Zeilen
Code: Alles auswählen
$this->data['is_registered'] = ($this->data['user_id'] != ANONYMOUS && ($this->data['user_type'] == USER_NORMAL || $this->data['user_type'] == USER_FOUNDER)) ? true : false;
$this->data['is_bot'] = (!$this->data['is_registered'] && $this->data['user_id'] != ANONYMOUS) ? true : false;
$this->data['user_lang'] = basename($this->data['user_lang']);
Danach direkt dieses eintragen sollte reichen:
Code: Alles auswählen
if (!$this->data['is_registered'])
{
login_box(request_var('redirect', "index.$phpEx"));
}
Bzw. muss auch noch nach den Zeilen
Code: Alles auswählen
$this->data['is_registered'] = (!$bot && $this->data['user_id'] != ANONYMOUS && ($this->data['user_type'] == USER_NORMAL || $this->data['user_type'] == USER_FOUNDER)) ? true : false;
$this->data['is_bot'] = ($bot) ? true : false;
der gleiche Code eingefügt werden, im Falle, dass die Session eines angemeldeten Users erstellt werden muss (z. B. Autologin nach einem Session_Ablauf).
Ist aber alles ungetestet. Kann auch genau so gut nicht funktionieren!
Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: Do 15.Okt, 2009 16:32
von Diggi
Hallo Oxpus,
es hat auf Anhieb funktioniert!
Ich bedanke mich ganz lieb für Deine schnelle Hilfe!

Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: Do 15.Okt, 2009 17:47
von oxpus
Keine Ursache.
Kleinigkeiten werden auch immer sofort erledigt, nur Wundern dauern manchmal etwas länger...
Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: Fr 06.Nov, 2009 09:32
von Diggi
Hallo Oxpus,
der Code scheint, wie ich nun feststellte, nicht so zu arbeiten wie ich es mir vorstellte.
User die nicht eingelogt sind landen zwar wie gewollt auf der Loginseite, aber es ist nun nicht
mehr möglich neue User zu registrieren.
Der Registrierungsknopf oder –Link ist zwar vorhanden aber beim draufklicken lande ich
immer auf der Loginseite, auf der nur das Einloggen möglich ist aber nicht eine
Neuregistrierung.
Lässt sich der Code irgendwie abändern oder kann ich diesen Code, bzw. die Funktion
die ich damit bezwecken wollte erst einmal vergessen?
Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: Fr 06.Nov, 2009 11:58
von oxpus
Ah ja, klar, geht so nicht.
Ersetze dann mal in der includes/session.php die Blöcke
Code: Alles auswählen
if (!$this->data['is_registered'])
{
login_box(request_var('redirect', "index.$phpEx"));
}
durch
Code: Alles auswählen
if (!$this->data['is_registered'])
{
$mode = request_var('mode', '');
if ($mode != 'register')
{
login_box(request_var('redirect', "index.$phpEx"));
}
}
Dann sollte dieses ausgenommen werden, wenn man sich registrieren will.
Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: Fr 06.Nov, 2009 12:45
von Diggi
Hallo Oxpus,
ja, der neue Code scheint zu funktionieren bzw. doch nicht!?!
1.)
Okay, ich komme nun auch auf die Registrierungsseite, kann dort auch Registrierungen
erfolgreich vornehmen.
2.)
Kann es sein das dieser Code irgendwie für den Fehler im
„Bestätigungscode ist nicht sichtbar“ Thema verantwortlich ist?
http://www.oxpus.de/viewtopic.php?f=93&t=9629
Jedenfalls wenn die original sessions.php läuft, dann gibt es kein Problem
mit der Sichtbarkeit der Bestätigungscode-Grafik.
Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: Fr 06.Nov, 2009 14:09
von oxpus
Dann machen wir jetzt mal Nägeln mit Köppen:
In meiner zuvor genannten Änderung die Zeile
ersetzen durch
Code: Alles auswählen
if (!in_array($mode, array('register', 'confirm', 'resend_act', 'sendpassword', 'terms', 'privacy')))
Damit wird dann alles berücksichtigt, was ein nicht angemeldeter User mit dem Anmeldeformular machen könnte.
Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: Fr 06.Nov, 2009 16:51
von Diggi
Auch an dieser Stelle, ein großes Dankeschön für deine schnelle Hilfe!
Re: Gäste & nicht angemeldete User auf Loginseite
Verfasst: So 08.Nov, 2009 17:25
von oxpus
Keine Ursache.
Ich hatte da ursprünglich nicht um die eine Ecke mehr gedacht, daher auch die Fehler...