Startseite
  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] Login Datum

Eingetragen von Broerello (64)
am 09.03.2010 - 12:36 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo zusammen,

ich würde gerne den Usern meiner Seite anzeigen, wann sie sich zuletzt eingeloggt haben.
$user->login liefert mir das Datum und mit format_date() kann ich's formatiert anzeigen.
Soweit so gut.
Lieber wäre mir aber eine Anzeige wie 'Letzter Besuch vor 3 Tagen'.

Wäre schön, wenn mir jemand einen Hinweis geben könnte.

Grüße, Broerello

‹ Fehler beim Import der Oberflächenübersetzung - Bitte gehen Sie zur Fehlerseite Eigenartige User-Registrierungen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi $user->login sollte eine

Eingetragen von Kars-T (1352)
am 09.03.2010 - 12:46 Uhr

Hi

$user->login sollte eine timestamp sein.
Die kannst du einfach in dieser Funktion verwenden und ausgeben.

http://api.drupal.org/api/function/format_date/6

Viele Grüße,

Kars-T
|

  • Anmelden oder Registrieren um Kommentare zu schreiben

TimeAgo

Eingetragen von Broerello (64)
am 09.03.2010 - 14:14 Uhr

Die Ausgabe des Login Datums mit format_date ist soweit kein Problem.
Lieber würde ich aber ausgeben, wie lange es her ist, daß der User sich zuletzt angemeldet hat. (Timeago)
Sowas 'Letzer Besuch vor drei Tagen'

Hat Drupal eine Funktion, die das berechnen kann?

Sonst müßte ich wohl das Login Datum vom aktuellen Datum abziehen und nach Tagen umrechnen. Wär natürlich schön, wenn's einfacher ginge...

Grüße, Broerello

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ach so, ich hatte dich so

Eingetragen von Kars-T (1352)
am 09.03.2010 - 14:28 Uhr

Ach so, ich hatte dich so verstanden das es garnicht geht :)

In Google oder hier im Center einfach in der Art wie "Time ago PHP" eingeben. Wird dir bestimmt eine Menge Source geben. Das ist eine beliebte PHP Aufgabe.

Viele Grüße,

Kars-T
|

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hab's jetzt

Eingetragen von Broerello (64)
am 12.03.2010 - 01:19 Uhr

Drupal hat die passende Funktion.
Mit
http://api.drupal.org/api/function/format_interval/6
kann man das sehr schön lösen: Timestamps subtrahieren und mit dieser Funktion ausgeben.

Für meine Anzeige 'Letzter Besuch vor 3 Tagen' war aber noch mehr zu tun.
Da $user->login jedesmal aktualisiert wird, wenn sich ein User einloggt, ist es für diese Anzeige ungeeignet.
Hab mir dann ein Minimodul gebaut, das den Zeitpunkt des letzten Login als $user->last_login_display im User Objekt sichert.
Mit format_interval($user->login - $user->last_login_display, 1) bekomme ich dann den formatierten und lokalisierten Zeitraum zwischen letztem und aktuellen Login.

Cheers, Broerello

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Broerello, genau das

Eingetragen von stef1234 (127)
am 22.05.2011 - 16:24 Uhr

Hallo Broerello,

genau das was du beschreibst brauche ich auch. Genauer gesagt die Ausgabe des letzten Logins. Kannst du mir netterweise dein Mini Modul zukommen lassen bzw. hier den Code posten?
Das wäre super nett :)

Danke,

viele Grüße Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

LastLogin

Eingetragen von Broerello (64)
am 25.05.2011 - 00:29 Uhr

Klar,

ich hab's mal angehangen.
Wie oben schon angedeutet, sichert das Modul den Zeitpunkt des (vor)letzten Einloggens eines Users als timestamp im User Objekt.
Es ist also möglich, dem aktuell angemeldeten User auszugeben, wann er sich vorher das letzte mal angemeldet hat.

$user->last_login_display liefert diesen timestamp. Je nachdem, wo Du das ausgeben willst, musst Du noch ein global $user; davor setzen.
Zur formatierten Ausgabe kannst Du format_date() benutzen. Zum Beispiel so in der Art:

<?php
print $user->last_login_display ? t('Last visit') . ': ' . format_date($user->last_login_display) : t('First visit');
?>

Ich wollte ja den Zeitraum angeben, à la "Ihr letzter Besuch liegt drei Tage zurück". Dazu eignet sich format_interval():

<?php
print format_interval($user->login - $user->last_login_display, 1);
?>

Bei mir funktioniert das einwandfrei, dennoch: Benutzung auf eigene Gefahr.
Wenn Du das Modul deaktivierst, solltest Du danach noch Deinstallieren, sonst bleiben Einträge in der Datenbank zurück.

Hoffe das bringt Dir was und viel Spaß damit.

Grüße, Broerello

AnhangGröße
lastlogin.zip 1012 Bytes
  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke

Eingetragen von stef1234 (127)
am 01.06.2011 - 16:12 Uhr

Hallo Broerello,

vielen Dank für das Modul + der tollen Erklärung.
Damit werde ich es mal probieren :)

DANKE!

Viele Grüße Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Gelöst:Marinelli 3, Admin-Layer
  • Modul für Absatznummern / Randnummern
  • Upload - Optionen ausblenden
  • Wie SQL_BIG_SELECTS=1 setzen?
  • Absichern Von Drupal- und Serverinstallation
  • Danland: Standard-Startseite formatieren
  • Views Accordion - Header Elemente nebeneinander
  • Heartbeat und Facebook Style Status
  • [gelöst] Drupal7.10 Fehlermeldungen ohne Site-Änderungen
  • Blockregionen per CCK Feld ausblenden
  • [erledigt] drupal 7 - read more ausblenden
  • Drupal7 für eine Produktvergleich Seite
Weiter

Neue Kommentare

  • Danke! Da hätte ich aber auch
    vor 12 Minuten 3 Sekunden
  • Frank, könntest du mir bitte
    vor 1 Stunde 24 Minuten
  • Du mußt die page.tpl.php
    vor 2 Stunden 44 Minuten
  • Dann mußt Du eben ein bißchen
    vor 2 Stunden 46 Minuten
  • Hallo und Danke für Eure
    vor 2 Stunden 47 Minuten
  • Ok... ich habe mir die
    vor 4 Stunden 43 Minuten
  • Dafür ist das Modul "Overlay"
    vor 7 Stunden 9 Minuten
  • sorry, der 2te Link war
    vor 7 Stunden 11 Minuten
  • screenshots
    vor 7 Stunden 13 Minuten
  • Danke!
    vor 10 Stunden 40 Minuten

Statistik

Beiträge im Forum: 173968
Registrierte User: 15481

Neue User:

  • drupal4normi
  • Neoskop
  • habicht09

» Alle User anzeigen

User nach Punkten sortiert:
stBorchert5516
quiptime4713
Tobias Bähr3874
wla3807
md3777
bv3700
Thoor3678
Alexander Langer3282
dereine2635
Exterior2571
» User nach Punkten
Zur Zeit sind 6 User und 38 Gäste online.

Benutzer online

  • drupal4normi
  • Lufdablom
  • chrischnian
  • ab2211
  • kahta
  • vucibatina

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's
  • Bücherecke

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed Drupal Podcast
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association