diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3f36c32..bc55b45 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+- 4.0.3.0
+
+ - behält die Umleitungsverhinderung während der aktuellen Session auch ohne weitere Parameter bei
+
+---
+
- 4.0.2.0
- Parameter hinzugefügt, um ungewollte URL-Weiterleitungen zu verhindern
diff --git a/src/Application/Model/d3geoip.php b/src/Application/Model/d3geoip.php
index d5a0934..a53ad9f 100644
--- a/src/Application/Model/d3geoip.php
+++ b/src/Application/Model/d3geoip.php
@@ -33,6 +33,9 @@ use OxidEsales\Eshop\Core\Registry;
class d3geoip extends BaseModel
{
+ const SKIPURL_REQUEST_PARAM = 'forceUrl';
+ const SKIPURL_SESSION_PARAM = 'd3geoipForceUrl';
+
protected $_sClassName = 'd3geoip';
private $_sModId = 'd3_geoip';
public $oCountry;
@@ -443,9 +446,13 @@ class d3geoip extends BaseModel
startProfile(__METHOD__);
+ if (Registry::getRequest()->getRequestEscapedParameter(self::SKIPURL_REQUEST_PARAM)) {
+ Registry::getSession()->setVariable(self::SKIPURL_SESSION_PARAM, true);
+ }
+
$oCountry = $this->getUserLocationCountryObject();
- if (false == (bool) Registry::getRequest()->getRequestEscapedParameter('forceUrl')
+ if ($this->dontSkipUrlRedirect()
&& false == $this->isAdmin()
&& Registry::getUtils()->isSearchEngine() === false
&& $oCountry->getId()
@@ -470,6 +477,17 @@ class d3geoip extends BaseModel
stopProfile(__METHOD__);
}
+ /**
+ * @return bool
+ */
+ protected function dontSkipUrlRedirect()
+ {
+ return false === (
+ Registry::getRequest()->getRequestEscapedParameter(self::SKIPURL_REQUEST_PARAM) ||
+ Registry::getSession()->getVariable(self::SKIPURL_SESSION_PARAM)
+ );
+ }
+
/**
* get all shop urls
*
diff --git a/src/Application/views/admin/de/d3_geoip_lang.php b/src/Application/views/admin/de/d3_geoip_lang.php
index 107a8b2..b78999e 100644
--- a/src/Application/views/admin/de/d3_geoip_lang.php
+++ b/src/Application/views/admin/de/d3_geoip_lang.php
@@ -14,12 +14,14 @@
* @link http://www.oxidmodule.com
*/
-$sLangName = 'Deutsch';
-$iLangNr = 0;
+use D3\GeoIp\Application\Model\d3geoip;
+
+$sLangName = 'Deutsch';
+$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
-$aLang = array(
+$aLang = [
'charset' => 'UTF-8',
'd3mxgeoip' => " GeoIP",
'd3mxgeoip_settings' => 'Einstellungen',
@@ -58,7 +60,7 @@ $aLang = array(
'D3_GEOIP_SELURL_DESC' => 'Sobald im URL-Feld eine Eingabe vorhanden ist, wird bei '.
'passenden Kunden versucht, zur hinterlegten URL zu wechseln. Möchten Sie den Mandanten, die Währung und / '.
'oder die Sprache einstellen, entfernen Sie die URL.
Aktivieren / deaktivieren Sie den URL-Wechsel '.
- 'zusätzlich in den Modul-Grundeinstellungen.
Mit dem URL-Parameter "forceUrl=1" können Sie ungewollte URL-'.
+ 'zusätzlich in den Modul-Grundeinstellungen.
Mit dem URL-Parameter "' . d3geoip::SKIPURL_REQUEST_PARAM . '=1" können Sie ungewollte URL-' .
'Weiterleitungen unterbinden.',
'D3_GEOIP_METADATA_TITLE' => 'D³ GeoIP Vorauswahl',
@@ -69,4 +71,4 @@ $aLang = array(
'Laden Sie bitte die aktuellen CSV-Daten des Anbieters Maxmind. In "setup+doku/importCSVtoMySQL" des Modulpaketes finden Sie weitere Informationen und die erforderlichen Datenbank-Befehle, um die nötigen Daten zu generieren.'.PHP_EOL.PHP_EOL.
'Alternativ finden Sie die erforderlichen Daten im Installationspaket des Moduls unter "setup+doku/geoip-data_*". '.PHP_EOL.PHP_EOL.
'Führen Sie die SQL-Datei(en) bitte in Ihrer Datenbank aus.',
-);
+];
diff --git a/src/Setup/d3geoip_update.php b/src/Setup/d3geoip_update.php
index aabb084..5cc9c94 100644
--- a/src/Setup/d3geoip_update.php
+++ b/src/Setup/d3geoip_update.php
@@ -31,15 +31,15 @@ class d3geoip_update extends d3install_updatebase
{
public $sModKey = 'd3_geoip';
public $sModName = 'GeoIP';
- public $sModVersion = '4.0.2.0';
- public $sModRevision = '4020';
+ public $sModVersion = '4.0.3.0';
+ public $sModRevision = '4030';
public $sBaseConf = '--------------------------------------------------------------------------------
-Idvv2==N0IxdktTWFExSTZnejNxbzR0dzQ4Y3lnYzArVWZISEZKNWRoaXBwMTRxNjFlQmpHSFZObk8za
-2QrUGRuT3U1T3Nua090WThJak1jVFFxdGc1K0QxMFl6WDB3VUhzakVFM3hPYXc4RjBIWTVtZVR4YlBRe
-TdZOWZpNWdpajR1NWFzdjc3aVN6YkZra1A2NHQ5ZWVXS0lsWG5tVU1xcG9GaWRpOU5MVDRjZDZUNXVFd
-lVzUXlZYnlheHl6Qy9sNWFRdWdDQUFXM21NRUdnR0V1amkvVmpwaGxWZ1FIaU51M1pUaTdzMk9IeFNjb
-kpZVEp5ZWxzUGlJUWZFbkdpbVBWZHN4ZStNcW1QWWwrV21ESTFpQlA1TWRCVG9BOEFqSHRMcXBsZHdjM
-1loSHpoN1BZSjk2MUR0a0hIWlJYWUlCbnY=
+IcVv2==WXpWc0RKWEJENXNFcURUa1JKeXF6bnZFbVgzWm9FaDJ5OTBLdytmbitEMWFBRXBhbXpyVkw3V
+0MrSlRyWU5JaDczWFN0OVpzTXhqN2hpZHl0S3ByeHArT0hmbmtpaW1RVDM5cU94SjJtcnNaTG9sMkVWe
+G1SZWpqRlhHUC9OSDRZWTFNdG9LNEJDUHBKMkp5UU9ZS3k2NkRxTXFsOWlUSll1dDhKNHFxelJqWStmS
+ktRMkExb2x2SkRSVm50TE93M2lBZ0tvemFscGpNZ1NrN0FST0t4d3B0R21UQmJIMlp5ZnFkeE1WQzlDN
+2Y0clFQWVFTUVdiaGhGb1JjbVR2RXdzNWxGSDYrZFlvTmRwdENzMkk0aExXbDVXN0dwNXRieE10U05hT
+UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
--------------------------------------------------------------------------------';
public $sRequirements = '';
public $sBaseValue = '';
diff --git a/src/metadata.php b/src/metadata.php
index 8985eac..7c576c3 100644
--- a/src/metadata.php
+++ b/src/metadata.php
@@ -30,7 +30,7 @@ $aModule = [
'en' => '',
],
'thumbnail' => 'picture.png',
- 'version' => '4.0.2.0',
+ 'version' => '4.0.3.0',
'author' => 'D³ Data Development (Inh.: Thomas Dartsch)',
'email' => 'support@shopmodule.com',
'url' => 'http://www.oxidmodule.com/',