Datum des letzten Besuchs eines Users

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Jessica
Mitglied
Beiträge: 59
Registriert: 05.01.2004 15:45

Datum des letzten Besuchs eines Users

Beitrag von Jessica »

Hallo!

Ich wollte jetzt mal einen Mod einbauen, mit dem das Datum des letzten Besuchs eines Users in seinem Profil angezeigt wird. Habe dazu den Last Visit Mod (1.2.8) von http://mods.db9.dk gefunden.
Mich wundert nur, dass für so ein einfaches Datum so ein großer Aufwand (25 min.) notwendig ist, wo einem das Datum des letzten Besuchs beim nächsten Login ja schon angezeigt wird und dieses ja dann nur zusätzlich im Profil angezeigt werden müsste.

Gibt es da nicht einen einfacheren/kleineren Mod?

Danke schonmal.
Gruß, Jessica
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Nein es gibt keinen kleineren MOD.
Bei dem MOD wird ja letztlich nicht nur der letzte Besuch, sondern auch Dauer etc. angezeigt, daher ist er etwas grösser.

Es gibt zwar ein "user_lastvisit" Feld in der users-Tabelle. Diese speichert jedoch nur den vorletzten Besuch. Das Feld wird dazu genutzt, um beim Einloggen des Users das Datum des vorherigen, letzten Besuches auf dem Index anzuzeigen.
Jessica
Mitglied
Beiträge: 59
Registriert: 05.01.2004 15:45

Beitrag von Jessica »

Hi Acid,

ich habe den Last Visit Mod inzwischen mal eingebaut und er funktioniert auch prima. Allerdings möchte ich das Datum nicht nur im Profil angezeigt haben, sondern auch in der Usergroup unter dem Beitrittsdatum (der Mod, den du letztens geschrieben hattest).
Dazu habe ich einfach die Stellen, die in der usercp_viewprofile.php hinzugefügt wurden, auch in der groupcp.php eingefügt. Nach ein paar Versuchen habe ich es aber nur hinbekommen, dass als Datum immer 'Nie' angezeigt wird (als wenn man nie eingeloggt war), was aber nicht stimmen kann. Daher denke ich mal, dass das Einfügen in die Usergroups wohl doch nicht so einfach ist wie ich dachte.

Ich verlinke hier mal die install des Last Visit Mods und meine groupcp.php (vor meinen Versuchen). Vielleicht kann sich das mal jemand anschauen und mir sagen, wie ich das Datum (ähnlich wie in der memberlist.php oder usercp_viewprofile.php) in der Usergroup einfügen kann.

http://mitglied.lycos.de/jessica87b/las ... nstall.txt
http://mitglied.lycos.de/jessica87b/groupcp_php.txt

Großen Dank schon jetzt!
Gruß, Jessica
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Ich schau´s mir später mal an (ein, zwei Tage eventuell).
Jessica
Mitglied
Beiträge: 59
Registriert: 05.01.2004 15:45

Beitrag von Jessica »

Danke Acid! Kein Problem, wenns etwas länger dauert.

Gruß, Jessica
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Kurze Frage: Sollen die beiden Infos ("letzter Besuch" und "letzter Beitrag") in Extraspalten angezeigt werden (eventuell nur für Administratoren?) und jeweils für Mitglieder, Gruppenmoderator und User, die auf der Warteliste stehen ?
Jessica
Mitglied
Beiträge: 59
Registriert: 05.01.2004 15:45

Beitrag von Jessica »

Also es reicht eigentlich, wenn diese beiden Daten wie schon das Beitrittsdatum in der Spalte des Usernamen (darunter) angezeigt werden. 3 zusätzliche Extra-Spalten mit jeweils dem Datum würden die gesamte Tabelle wohl etwas breit machen, denke ich.
Und wie auch schon beim Beitrittsdatum sollten die anderen beiden nur für Admins sichtbar sein. Außerdem reicht es, wenn diese Daten nur bei normalen Mitgliedern (also Gruppenmods und wartende Mitglieder ausgenommen) angezeigt werden.

So, ich hoffe, dass ich damit alles zu deiner Zufriedenheit beantwortet habe... :grin:

Gruß, Jessica
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Code: Alles auswählen

#
# --------[ DATEI ÖFFNEN ] ---------------------------
#
# /groupcp.php
#
# --------[ FINDE (nur ein Auszug) ] ---------------------------
#
function generate_user_info(

#
# --------[ FINDE in dieser Zeile ] ---------------------------
#
&$from

#
# --------[ DANACH EINFÜGEN ] ---------------------------
#
, &$user_last_visit

#
# --------[ FINDE ] ---------------------------
#
	$from = ( !empty($row['user_from']) ) ? $row['user_from'] : ' ';

#
# --------[ DARUNTER EINFÜGEN ] ---------------------------
#
	$user_last_visit = ( $row['user_lastlogon'] ) ? '<br />'. $lang['User_last_visit'].create_date($board_config['default_dateformat'], $row['user_lastlogon'], $board_config['board_timezone']) : '<br />'. $lang['User_last_visit'].$lang['Never_last_logon'];

#
# --------[ FINDE ] ---------------------------
#
	//
	// Get user information for this group
	//
	$sql = "SELECT u.username, u.user_id, u.user_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, ug.user_pending, ug.user_joined_group

#
# --------[ FINDE in dieser Zeile ] --------------------------
#
, u.user_posts

#
# --------[ DANACH EINFÜGEN ] --------------------------
#
, u.user_lastlogon

#
# --------[ FINDE (nur ein Auszug) ] ---------------------------
#
generate_user_info($group_moderator

#
# --------[ FINDE in dieser Zeile ] ---------------------------
#
$from

#
# --------[ DANACH EINFÜGEN ] ---------------------------
#
, $user_last_visit

#
# --------[ FINDE (nur ein Auszug) ] ---------------------------
#
generate_user_info($group_members[$i]

#
# --------[ FINDE in dieser Zeile ] ---------------------------
#
$from

#
# --------[ DANACH EINFÜGEN ] ---------------------------
#
, $user_last_visit

#
# --------[ FINDE ] ---------------------------
#
				'FROM' => $from,

#
# --------[ DARUNTER EINFÜGEN ] ---------------------------
#
				'USER_LAST_VISIT' => ( $is_moderator || $userdata['user_level'] == ADMIN ) ? $user_last_visit : '',

#
# --------[ FINDE (nur ein Auszug) ] ---------------------------
#
generate_user_info($modgroup_pending_list[$i]

#
# --------[ FINDE in dieser Zeile ] ---------------------------
#
$from

#
# --------[ DANACH EINFÜGEN ] ---------------------------
#
, $user_last_visit


#
# --------[ DATEI ÖFFNEN ] ---------------------------
#
# /templates/xxx/groupcp_info_body.tpl
#
# --------[ FINDE ] ---------------------------
#
{member_row.USER_JOINED_GROUP}

#
# --------[ DANACH EINFÜGEN (vor </span></td>) ] ---------------------------
#
{member_row.USER_LAST_VISIT}




#
# --------[ DATEI ÖFFNEN ] ---------------------------
#
# /language/lang_german/lang_main.php
#
# --------[ FINDE ] ---------------------------
#
//
// Group control panel
//

#
# --------[ DARUNTER EINFÜGEN ] ---------------------------
#
$lang['User_last_visit'] = 'letzter Besuch: ';
Zuletzt geändert von Acid am 21.03.2004 22:31, insgesamt 1-mal geändert.
Jessica
Mitglied
Beiträge: 59
Registriert: 05.01.2004 15:45

Beitrag von Jessica »

Hi Acid,

ich danke dir vielmals dafür. Statt

Code: Alles auswählen

$lang['User_last_visit'] = 'letzter Besuch: ';
müsstest du allerdings

Code: Alles auswählen

$lang['User_last_visit'] = 'letzter Besuch: %s';
eintragen, falls das hier noch jemand sieht und bei sich einbauen möchte. :wink:

Ansonsten fehlt ja nur noch das Datum des letzten Beitrags in der Usergroup. Dann gebe ich erstmal Ruhe... :lol:

Danke nochmal, Jessica
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

hmm.. da wäre es besser, wenn du das %s wieder entfernst und folgende Zeile..

Code: Alles auswählen

   $user_last_visit = ( $row['user_lastlogon'] ) ? '<br />'. sprintf($lang['User_last_visit'], create_date($board_config['default_dateformat'], $row['user_lastlogon'], $board_config['board_timezone'])) : '<br />'. $lang['User_last_visit'].$lang['Never_last_logon'];
..mit dieser ersetzt..

Code: Alles auswählen

   $user_last_visit = ( $row['user_lastlogon'] ) ? '<br />'. $lang['User_last_visit'].create_date($board_config['default_dateformat'], $row['user_lastlogon'], $board_config['board_timezone']) : '<br />'. $lang['User_last_visit'].$lang['Never_last_logon'];
Sonst würde bei Mitgliedern, die eventuell das Board noch nie besucht haben, dann "letzter Besuch: %sNever" stehen. Wenn du keinen User in der Gruppe hast, der das Board noch nie besucht hat, genügt auch deine Änderung. ;)
Antworten

Zurück zu „phpBB 2.0: Mod Support“