Hallo Contao-Community,
Ich habe ein Problem mit der Umsetzung einer seitenspezifischen Abfrage mittels den Referer- und Path-Tags.
Szenario ist folgendes:
Nach einem automatischen Logout aufgrund von Inaktivität gelangt der User erst auf eine Seite mit CountDown, welche nach Ablauf des Zählers auf die Loginseite weiterleitet. Basierend darauf, ob der User vorher auf der Weiterleitungsseite war oder nicht, soll auf der Loginseite ein entsprechende Mitteilung ausgegeben werden.
Lösungsansatz also eigentlich ja ziemlich einfach..
PHP-Code:
$referrer = $this->replaceInsertTags('{{env::referer}}');
$checker = $this->replaceInsertTags('{{env::path}}') . 'weiterleitung.html';
if ($referrer == $checker ) {
echo 'Sie wurden aufgrund von Inaktivität automatisch abgemeldet.';
}
Diese Abfrage wirft jedoch immer false, da die Zeichenlänge trotz exakt gleichem Ausgabelink nicht identisch ist.
PHP-Code:
$referrer Ausgabe: https://backend.PLATZHALTER.de/weiterleitung.html (String: 288)
$checker Ausgabe: https://backend.PLATZHALTER.de/weiterleitung.html (String: 53)
Also gehe ich davon aus, dass der eigentliche Link erst später generiert wird. Schließlich übergibt der $referrer (im Gegensatz zu den anderen env::Tags) folgende Zeichenfolge/Abfrage:
PHP-Code:
<esi:include src="/_fragment?_hash=0UfQPpU3s08qZfel5s3gytoF7XNSvxMWx%2FsvB%2FB%2Fvz0%3D&_path=insertTag%3D%257B%257Benv%253A%253Areferer%257D%257D%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.controller.insert_tags%253ArenderAction&clientCache=0&pageId=42&request=login.html" />
Liegt der Unterschied darin, dass das Referer-Tag erst die Information der zuletztbesuchten Seite beim Client abfragen muss, bevor ein entsprechender Link generiert werden kann?
Letztlich habe ich das Problem zwar einfach mit der contao-unabhängigen PHP-Abfrage gelöst, würde aber trotzdem gerne wissen, ob es die Möglichkeit einer contao-internen Lösung für diesen Ansatz gibt. Hierfür sollte ja schließlich auch der entsprechende env::referer-Tag gedacht sein? Oder habe ich einen Denkfehler?
Beste Grüße,
Claudio