Wie lautet der Code für wenn User inaktiv?
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Wie lautet der Code für wenn User inaktiv?
Hallo Forum, ich habe mir eine MOD schreiben lassen, mit der User selbst ihr Profil inaktiv schalten können, als Alternative zum Profil löschen. Nun würde ich gerne das Profil so umbauen, dass, wenn ein User inaktiv ist, keine Informationen mehr im Profil sichtbar sind. Dazu brauche ich einen Code, der prüft, ob der User inaktiv ist. IF_user_not_inactive zum Beispiel
Irgendwie so in der Art wird der Code wohl sein, ich komme aber leider nicht drauf, hoffe hier kann mir jemand weiterhelfen, vielen Dank
LG Tim
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5396
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Wie lautet der Code für wenn User inaktiv?
Hallo,
wenn ein Benutzer inaktiv ist, kann das Profil erst gar nicht angezeigt werden.
Das unterbindet das phpBB 3 bereits.
Also wäre es auch nicht nötig, Informationen nicht darzustellen.
Ansonsten wird in den betreffenden Userdaten bei inaktiven Usern der Wert für "user_type" auf "USER_INACTIVE" (= "1") gesetzt, was man an den gewünschten Stellen abfragen kann.
Das wird so z. B. zur Profilansicht in der memberlist.php geprüft:
Damit werden Profile aller ignorierten oder deaktivierten User nicht dargestellt und mit der (sinngemässen) Meldung "Benutzer nicht gefunden" quittiert.
wenn ein Benutzer inaktiv ist, kann das Profil erst gar nicht angezeigt werden.
Das unterbindet das phpBB 3 bereits.
Also wäre es auch nicht nötig, Informationen nicht darzustellen.
Ansonsten wird in den betreffenden Userdaten bei inaktiven Usern der Wert für "user_type" auf "USER_INACTIVE" (= "1") gesetzt, was man an den gewünschten Stellen abfragen kann.
Das wird so z. B. zur Profilansicht in der memberlist.php geprüft:
Code: Alles auswählen
if (!$auth->acl_get('a_user') && $user->data['user_type'] != USER_FOUNDER)
{
if ($member['user_type'] == USER_IGNORE)
{
trigger_error('NO_USER');
}
else if ($member['user_type'] == USER_INACTIVE && $member['user_inactive_reason'] != INACTIVE_PROFILE)
{
trigger_error('NO_USER');
}
}Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Re: Wie lautet der Code für wenn User inaktiv?
Hallo Karsten,
danke für deine Antwort.
Bei der MOD wird der Wert aber nicht auf 1 sondern auf 2 gesetzt, somit ist der User zwar nicht mehr über die Suchfunktion zu finden, aber wenn man bei einem Beitrag von ihm auf die Profilverlinkung klickt kommt man so auch auf das Profil.
LG Tim
danke für deine Antwort.
Bei der MOD wird der Wert aber nicht auf 1 sondern auf 2 gesetzt, somit ist der User zwar nicht mehr über die Suchfunktion zu finden, aber wenn man bei einem Beitrag von ihm auf die Profilverlinkung klickt kommt man so auch auf das Profil.
LG Tim
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5396
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Wie lautet der Code für wenn User inaktiv?
Ah ja. Also ignorierte User!!
Dann füge vor dem Block von mir einfach dieses ein:
Damit hättest Du in der memberlist_view.html den Switch
zur Verfügung, der die gewünschten Inhalte im Profil bei den aktiven Usern einbindet, bei den ignorierten dann folglich nicht.
Dann füge vor dem Block von mir einfach dieses ein:
Code: Alles auswählen
if ($member['user_type'] <> USER_IGNORE)
{
$template->assign_var('S_SHOW_PROFILE', true);
}Code: Alles auswählen
<!-- IF S_SHOW_PROFILE -->
<!-- ENDIF -->Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Re: Wie lautet der Code für wenn User inaktiv?
Funktioniert leider nicht. Profil wird noch genau so angezeigt wie vorher. Cache und Template habe ich natürlich aktualisiert/geleert.
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5396
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Wie lautet der Code für wenn User inaktiv?
Und Du hast den Switch in der Template-Datei auch um den Bereich herum"gelegt", der nur bei nicht ignorierten Usern angezeigt werden soll?
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Re: Wie lautet der Code für wenn User inaktiv?
Ich habe den Switch in der memberlist_view am Anfang und am Ende des Quellcodes gesetzt.
- oxpus
- Ehemaliges Teammitglied
- Beiträge: 5396
- Registriert: 03.02.2003 12:33
- Wohnort: Bad Wildungen
- Kontaktdaten:
Re: Wie lautet der Code für wenn User inaktiv?
Dann müsste die Seite bei ignorierten Usern komplett leer sein. Also zumindest der Teil des Profils.
Versuchs doch mal so:
Obwohl das eigentlich gleich sein müsste, sofern die Konstante in der includes/constants.php nicht geändert wurde.
Versuchs doch mal so:
Code: Alles auswählen
if ($member['user_type'] <> 2)
{
$template->assign_var('S_SHOW_PROFILE', true);
}Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Re: Wie lautet der Code für wenn User inaktiv?
Hallo Karsten,
in der Datei memberlist_profile_view.html habe ich dies gesehen:
Kann man das nicht einfach vor die einzelnen Felder setzen? Oder funktioniert das nicht? LG Tim 
in der Datei memberlist_profile_view.html habe ich dies gesehen:
Code: Alles auswählen
{L_USER_IS_INACTIVE}Re: Wie lautet der Code für wenn User inaktiv?
Variablen mit einem L_ am Anfang sind "Sprach Variablen" und beinhalten nur die "Übersetzung", aber niemals den Status.
