wie der Titel schon sagt, möchte ich überprüfen ob ein bestimmter User (Kunde - nicht Backend / Admin) gerade im Shop eingeloggt ist. Es geht darum Emails aus einem Plugin per Cronjob zu verschicken. Wenn der User gerade eingeloggt ist soll keine Mail an ihn versendet werden. Versucht habe ich es mit:
Shopware()->Modules()->Admin()->sCheckUser();
Damit komme ich an dieser stelle nicht weiter… ich bräuchte eher sowas wie:
Shopware()->Modules()->Admin()->sCheckUser();
Eine andere Überlegung war das “lastlogin” feld aus der Tabele s_user abzufragen und mit zeitlichem Versatz zu arbeite, das ist mir aber eigentlich zu ungenau. Jemand einen Tip / Hinweis Idee?
Danke für den Hinweis, da wird auch mit dem Timestamp gearbeitet allerdings aus der Tabell: “s_statistics_currentusers”.
Hier die (für meine Zwecke angepasste) Abfrage falls noch mal jemand vor dem Problem steht:
$loggedInUsers = Shopware()->Container()->get('db')->fetchAll("
SELECT
userID,
remoteaddr
FROM s_statistics_currentusers
WHERE userID != 0
AND time > DATE_SUB(NOW(), INTERVAL 5 MINUTE)
GROUP BY userID
");