diff --git a/copy_this/modules/d3/d3geoip/metadata.php b/copy_this/modules/d3/d3geoip/metadata.php index 326978a..6ade871 100644 --- a/copy_this/modules/d3/d3geoip/metadata.php +++ b/copy_this/modules/d3/d3geoip/metadata.php @@ -15,7 +15,7 @@ $aModule = array( 'en' => '', ), 'thumbnail' => 'picture.png', - 'version' => '3.0.2.1', + 'version' => '3.0.2.2', 'author' => 'D³ Data Development (Inh.: Thomas Dartsch)', 'email' => 'support@shopmodule.com', 'url' => 'http://www.oxidmodule.com/', diff --git a/copy_this/modules/d3/d3geoip/setup/d3geoip_update.php b/copy_this/modules/d3/d3geoip/setup/d3geoip_update.php index 8daea5e..86df8fa 100644 --- a/copy_this/modules/d3/d3geoip/setup/d3geoip_update.php +++ b/copy_this/modules/d3/d3geoip/setup/d3geoip_update.php @@ -18,14 +18,14 @@ class d3geoip_update extends d3install_updatebase { public $sModKey = 'd3_geoip'; public $sModName = 'GeoIP'; - public $sModVersion = '3.0.2.1'; - public $sModRevision = '75'; - public $sBaseConf = 'sw2M1p3STcxMXh0eDhyR1A3YUJDMDVDakZUM2FnakVDOWdwRm9SQzFiMzhqUEtNTTFXK2ZmSlhqd1k2a -DJiSi9QSjRTQUhwOXgrMzVOOVRKRWM1c1FUci9OMUtJR2xxQ0JUTzd3V3FaSEFneGRRL3FOOU1sS09ib -FpDSjBrTUJDQTh6R2pScnZpOXphaUtlZUovQ1UzNlN5di9LeXBIYmlTQzRTRlA0czRBRmVibzZOY1R1V -lNZVUE1R3hTa2drOGx0a09HN3JhMkx1OVJvcnN5OHUvbVhqWUVURVhGanBva29GOUY3amNTcXhsTVdRM -W8vRWJtYW9IY0NqdDBlSEtwOFRJMGQ1OElxeG13bDVySGFub1ovYkkrWEtvSm1HY3RMVXlPd0pJU2dmW -Vk9'; + public $sModVersion = '3.0.2.2'; + public $sModRevision = '81'; + public $sBaseConf = 'G1oR3FtR0ZJMXNwbXNjQ0Q2WnNsdGtmU2FGVCt5NEY3MEozb2hwRnV4b2JPdXljQUFEbDJRSzFadjF6Y +nZWbEVDallzY1I0b0J5Tm9wU1IyakNPbXNkb2ZnU0J0ZzJZUnN0cEtNM3BSbjQ5NGxRTWR5THNkVDcvZ +UNuMklya3ZsUHlNeUxGeE9UYStwY3NIYTE2YVZzOHF1dFpBRTNMZU5CQ2JMTXdYOUFXSEtQRGQ2OWJmZ +VpReFVJWDBPMHQ5d2VpZTFwMXVXV1FyK1JhNVljWVJmaTNKUGV1ZjlnRFNsditKOFc4aTU1d2J1ZHlTT +U8vM0lHaCtkaHhvdGtQa1NaWWZlYklmRUpKcURmYmowVVdZN3JONENSaGdKWXh6WFMwaUlvUVlEQ3ZEW +lVKOGhMaUd4c2s2am5HUnEyWFpUeHQ='; public $sRequirements = ''; public $sBaseValue = ''; diff --git a/setup+doku/Installation.pdf b/setup+doku/Installation.pdf index 014640b..5cec254 100644 Binary files a/setup+doku/Installation.pdf and b/setup+doku/Installation.pdf differ diff --git a/setup+doku/Precheck/d3precheck.php b/setup+doku/Precheck/d3precheck.php index f8b5bae..696dece 100644 --- a/setup+doku/Precheck/d3precheck.php +++ b/setup+doku/Precheck/d3precheck.php @@ -39,11 +39,11 @@ class requConfig { - public $sModName = 'D³ GeoIP'; + public $sModName = 'D³ GeoIP'; public $sModId = 'd3_geoip'; - public $sModVersion = '3.0.2.1'; + public $sModVersion = '3.0.2.2'; /********************** check configuration section ************************/ @@ -75,7 +75,7 @@ class requConfig // benötigt Zend Optimizer (PHP 5.2) bzw. Zend Guard Loader (> PHP 5.2) 'hasZendLoaderOptimizer' => array( - 'blExec' => 1, + 'blExec' => 0, ), // benötigt IonCubeLoader @@ -83,7 +83,12 @@ class requConfig 'blExec' => 0, ), - // benötigt PHP-Extension (kaskadierbar (siehe "Desc1")) + // benötigt Zend Decoder oder IonCubeLoader + 'hasIonCubeOrZendLoader' => array( + 'blExec' => 1, + ), + + // benötigte PHP-Extension (kaskadierbar (siehe "Desc1")) 'hasExtension' => array( array( 'blExec' => 1, @@ -99,13 +104,29 @@ class requConfig ), ), + // benötigte cURL-Version + 'hasMinCurlVersion' => array( + 'blExec' => 0, + 'aParams' => array( + 'version' => '7.26.0', + ), + ), + + // benötigte OpenSSL-Version (Angabe in Versionsformat) + 'hasMinOpenSSLVersion' => array( + 'blExec' => 0, + 'aParams' => array( + 'version' => '1.0.1.5', + ), + ), + // minimal benötigte Shopversion (editionsgetrennt), wird (sofern möglich) Remote aktualisiert 'hasMinShopVersion' => array( 'blExec' => 1, 'aParams' => array( - 'PE' => '4.8.0', - 'CE' => '4.8.0', - 'EE' => '5.1.0' + 'PE' => '4.9.0', + 'CE' => '4.9.0', + 'EE' => '5.2.0' ), ), @@ -113,9 +134,9 @@ class requConfig 'hasMaxShopVersion' => array( 'blExec' => 1, 'aParams' => array( - 'PE' => '4.9.7', - 'CE' => '4.9.7', - 'EE' => '5.2.7' + 'PE' => '4.10.3', + 'CE' => '4.10.3', + 'EE' => '5.3.3' ), ), @@ -182,7 +203,7 @@ date_default_timezone_set('Europe/Berlin'); */ class requCheck { - public $sVersion = '4.7.1'; + public $sVersion = '4.10.2'; protected $_db = false; @@ -827,6 +848,9 @@ class requLayout width: 400px; z-index: 2500; } + .squ_desc li { + line-height: normal; + } .squ_desc:hover div, .squ_desc div:hover { display: block; @@ -1363,6 +1387,32 @@ class requTranslations '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. 'Bei Fragen kontaktieren Sie uns bitte über '. 'support@shopmodule.com.
', + 'hasMinCurlVersion' => 'mindestens cURL Version %1$s', + 'hasMinCurlVersion_DESC' => '
Das Modul benötigt cURL ab der Version %1$s.
'. + '
cURL ist in '. + 'passender Version installiert.
'. + '
cURL ist nicht oder in einer '. + 'älteren Version installiert. Fragen Sie Ihren Serverprovider nach einer passenden '. + 'cURL-Version.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMinOpenSSLVersion' => 'mindestens OpenSSL Version %1$s', + 'hasMinOpenSSLVersion_DESC' => '
Das Modul benötigt OpenSSL ab der Version %1$s.
'. + '
OpenSSL ist in '. + 'passender Version installiert.
'. + '
OpenSSL ist nicht oder in '. + 'einer älteren Version installiert. Fragen Sie Ihren Serverprovider nach einer passenden '. + 'OpenSSL-Version.
'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', 'hasMinShopVersion' => 'mindestens Shop Version %1$s', 'hasMinShopVersion_DESC' => '
Das Modul ist ab Shopversion %1$s freigegeben.
'. '
Die Shopsoftware ist in '. @@ -1437,9 +1487,10 @@ class requTranslations '
Bei Fragen kontaktieren Sie uns bitte über '. 'support@shopmodule.com.
', 'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) oder Zend Guard Loader (PHP 5.3, 5.4, 5.5, 5.6) '. - 'installiert', + 'installiert (auf passendes Zend-Installationspaket achten!)', 'hasZendLoaderOptimizer_DESC' => '
Das Modul erfordert (je nach PHP-Version) den Zend Optimizer '. - 'bzw. den Zend Guard Loader.
'. + 'bzw. den Zend Guard Loader. Achten Sie darauf, ein für den verfügbaren Decoder '. + 'erstelltes Installationspaket zu verwenden.
'. '
Der passende Decoder ist '. 'auf Ihrem Server installiert.
'. '
Der passende Decoder ist '. @@ -1454,8 +1505,9 @@ class requTranslations '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. 'Bei Fragen kontaktieren Sie uns bitte über '. 'support@shopmodule.com.
', - 'hasIonCubeLoader' => 'ionCube Loader installiert', - 'hasIonCubeLoader_DESC' => '
Das Modul erfordert den ionCube Loader.
'. + 'hasIonCubeLoader' => 'ionCube Loader installiert (auf passendes ionCube-Installationspaket achten!)', + 'hasIonCubeLoader_DESC' => '
Das Modul erfordert den ionCube Loader. Achten Sie darauf, ein '. + 'für den verfügbaren Decoder erstelltes Installationspaket zu verwenden.
'. '
Der passende Decoder ist '. 'auf Ihrem Server installiert.
'. '
Das Modul kann ohne den '. @@ -1467,8 +1519,28 @@ class requTranslations '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. 'Bei Fragen kontaktieren Sie uns bitte über '. 'support@shopmodule.com.
', - 'RemoteVersionDiff' => ' (Remotescript hat abweichende Version, Ergebnis mglw.'. - 'nicht sicher)', + 'hasIonCubeOrZendLoader' => 'ionCube Loader oder Zend Optimizer / Guard Loader installiert '. + '(%1$s)', + 'hasIonCubeOrZendLoader_DESC' => '
Das Modul erfordert den ionCube Loader oder den Zend '. + 'Optimizer / Guard Loader. Achten Sie darauf, ein für die verfügbaren Decoder erstelltes '. + 'Installationspaket zu verwenden (%1$s).
'. + '
Ein passender Decoder ist '. + 'auf Ihrem Server installiert.
'. + '
Ein passender Decoder ist '. + 'auf Ihrem Server installiert. Es ist jedoch ein Abbruchgrund festgestellt worden, der zu Fehlern '. + 'führen kann. Details entnehmen Sie bitte den folgenden Hinweisen.
'. + '
Das Modul kann ohne einen '. + 'passenden Decoder nicht ausgeführt werden. Fragen Sie Ihren Serverprovider nach der '. + 'Installation des ionCube Loaders oder des Zend Optimizers / Guard Loaders.
'. + '%2$s'. + '
Über den [+]-Button können Sie Ergebnisse zu den getesteten Verzeichnissen '. + 'abrufen. Je nach Servereinstellung können die Ergebnisse abweichen. Nur die rot markierten '. + 'Verzeichnisse erfordern eine Anpassung.
'. + '
Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '. + 'Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'RemoteVersionDiff' => ' (Remotescript hat abweichende Version oder ist nicht '. + 'prüfbar, Ergebnis mglw. nicht sicher)', 'globalSuccess' => 'Die technische Prüfung war erfolgreich. Sie können das Modul '. 'installieren.*

', 'globalNotSuccess' => 'Die technische Prüfung war nicht erfolgreich. Bitte kontrollieren '. @@ -1485,8 +1557,20 @@ class requTranslations 'unableDeleteFile' => 'Datei konnte nicht gelöscht werden. Bitte löschen Sie diese '. 'manuell.', 'goodBye' => 'Auf Wiedersehen.', - 'unableExecuteDirectoryIterator' => 'Es können nicht alle Unterverzeichnisse auf weitere Prüfungen '. + 'unableExecuteDirectoryIterator' => 'Es können nicht alle Unterverzeichnisse auf weitere Prüfungen '. 'kontrolliert werden. (%1$s)', + 'availableDecoder' => 'verfügbar: %1$s - auf passendes Installationspaket achten!', + 'noDecoderAvailable' => 'kein verwendbarer Decoder verfügbar', + 'availableDecoder_hasZendLoaderOptimizer' => 'Zend Guard Loader / Optimizer', + 'notAvailableDecoder_hasZendLoaderOptimizer' => '
  • Der Zend Guard Loader / Optimizer ist nicht '. + 'installiert.
  • ', + 'decoderIssue_hasZendLoaderOptimizer' => '
  • Der Zend-Decoder ist '. + 'auf Ihrem Server installiert. Es ist jedoch eine zusätzliche Erweiterungen (Zend OPcache) '. + 'installiert, die im Zusammenspiel mit dem Zend-Decoder Fehler verursachen kann.
  • ', + 'availableDecoder_hasIonCubeLoader' => 'ionCube Loader', + 'notAvailableDecoder_hasIonCubeLoader' => '
  • Der ionCube Loader ist nicht installiert.
  • ', + 'decoderIssue_hasIonCubeLoader' => '
  • Es wurde ein nicht definierter Abbruchgrund bei der '. + 'Verwendung des ionCube-Decoders festgestellt.
  • ', ), 'en' => array( 'RequCheck' => 'Requirement check', @@ -1504,7 +1588,7 @@ class requTranslations 'the actived PHP version. Ask your server provider for for the adaption of your PHP installation or '. 'contact us for another module version.
    '. '
    The [+] button show details for all tested directories. Depending on the server settings, '. - 'the results may vary. Only the red marked directories require adaptation.
    '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. 'If you have any questions, please contact us at '. 'support@shopmodule.com.
    ', @@ -1516,7 +1600,7 @@ class requTranslations 'the actived PHP version. Ask your server provider for for the adaption of your PHP installation or '. 'contact us for another module version.'. '
    The [+] button show details for all tested directories. Depending on the server settings, '. - 'the results may vary. Only the red marked directories require adaptation.
    '. + 'the results may vary. Only the red marked directories requires adaptation.'. '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. 'If you have any questions, please contact us at '. 'support@shopmodule.com.
    ', @@ -1528,7 +1612,7 @@ class requTranslations 'the actived PHP version. Ask your server provider for for the adaption of your PHP installation or '. 'contact us for another module version.'. '
    The [+] button show details for all tested directories. Depending on the server settings, '. - 'the results may vary. Only the red marked directories require adaptation.
    '. + 'the results may vary. Only the red marked directories requires adaptation.'. '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. 'If you have any questions, please contact us at '. 'support@shopmodule.com.
    ', @@ -1539,14 +1623,36 @@ class requTranslations '
    The module can not be executed '. 'without the %1$s extension. Ask your server provider for installing this extension.
    '. '
    The [+] button show details for all tested directories. Depending on the server settings, '. - 'the results may vary. Only the red marked directories require adaptation.
    '. + 'the results may vary. Only the red marked directories requires adaptation.'. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMinCurlVersion' => 'at least cURL version %1$s', + 'hasMinCurlVersion_DESC' => '
    The module requires at least cURL version %1$s.
    '. + '
    cURL is available '. + 'in a compatible version.
    '. + '
    cURL is not installed or '. + 'installed in an older version. Ask your server provider for an appropriate version.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'hasMinOpenSSLVersion' => 'at least OpenSSL version %1$s', + 'hasMinOpenSSLVersion_DESC' => '
    The module requires at least OpenSSL version %1$s.
    '. + '
    OpenSSL is availabe '. + 'in a compatible version.
    '. + '
    OpenSSL is not installed or '. + 'installed in an older version. Ask your server provider for an appropriate version.
    '. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. 'If you have any questions, please contact us at '. 'support@shopmodule.com.
    ', 'hasMinShopVersion' => 'at least shop version %1$s', 'hasMinShopVersion_DESC' => '
    The module is released to shop version %1$s
    '. '
    The shop software is installed '. - 'in a suitable version.
    '. + 'in a compatible version.'. '
    We can not guarantee, '. 'that this module works properly in your shop version. Please ask for a matching module version.
    '. '
    If you have any questions, please contact us at '. @@ -1554,7 +1660,7 @@ class requTranslations 'hasMaxShopVersion' => 'not more than shop version %1$s', 'hasMaxShopVersion_DESC' => '
    The module is released to shop version %1$s
    '. '
    The shop software is installed '. - 'in a suitable version.
    '. + 'in a compatible version.
    '. '
    We can not guarantee, '. 'that this module works properly in your shop version. Please ask for a matching module version.
    '. '
    If you have any questions, please contact us at '. @@ -1563,9 +1669,9 @@ class requTranslations 'hasMinModCfgVersion_DESC' => '
    The module requires additional software "%2$s" at least '. 'in version %3$s
    '. '
    The software is installed '. - 'in a suitable version.
    '. + 'in a compatible version.
    '. '
    The additional software is '. - 'be installed or in wrong version available. Please install the additional software before '. + 'not installed or in wrong version available. Please install the additional software before '. 'proceeding this installation.
    '. '
    If you have any questions, please contact us at '. 'support@shopmodule.com.
    ', @@ -1573,7 +1679,7 @@ class requTranslations 'hasMaxModCfgVersion_DESC' => '
    The module requires additional software "%2$s" not more than '. 'in version %3$s
    '. '
    The software is installed '. - 'in a suitable version.
    '. + 'in a compatible version.'. '
    The additional software is '. 'be installed or in wrong version available. Please install the additional software before '. 'proceeding this installation.
    '. @@ -1583,7 +1689,7 @@ class requTranslations 'requireNewLicence_DESC' => '
    This test tries to determine whether you need a new licence key '. 'for the use of this module
    '. '
    You have stored a license key '. - 'for this module, which is probably also suitable for the new module version.
    '. + 'for this module, which is probably also compatible for the new module version.'. '
    You need likely a new license '. 'key for this module. Do you have already one, run the installation and then apply the license '. 'key in the admin panel of your shop. Otherwise, you can purchase it in our shop '. @@ -1610,7 +1716,8 @@ class requTranslations 'in your shop edition. Please ask for a module version for your shop edition.
    '. '
    If you have any questions, please contact us at '. 'support@shopmodule.com.
    ', - 'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) or Zend Guard Loader (PHP 5.3, 5.4, 5.5, 5.6) installed', + 'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) or Zend Guard Loader (PHP 5.3, 5.4, 5.5, 5.6) '. + 'installed (pay attention to the compatible Zend installation package!)', 'hasZendLoaderOptimizer_DESC' => '
    The module requires (depending on the PHP version) the Zend Guard Optimizer '. 'or the Zend Guard Loader.
    '. '
    The appropriate decoder is '. @@ -1621,23 +1728,40 @@ class requTranslations '
    The decoder isn\'t '. 'installed on your server. The module can\'t installed or executed. Please contact your server provider.
    '. '
    The [+] button show details for all tested directories. Depending on the server settings, '. - 'the results may vary. Only the red marked directories require adaptation.
    '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. 'If you have any questions, please contact us at '. 'support@shopmodule.com.
    ', - 'hasIonCubeLoader' => 'ionCube loader installed', + 'hasIonCubeLoader' => 'ionCube Loader installed (pay attention to the compatible ionCube installation package!)', 'hasIonCubeLoader_DESC' => '
    The module requires the ionCube Loader.
    '. '
    The appropriate decoder is '. 'installed on your server.
    '. '
    The decoder isn\'t '. 'installed on your server. The module can\'t installed or executed. Please contact your server provider.
    '. '
    The [+] button show details for all tested directories. Depending on the server settings, '. - 'the results may vary. Only the red marked directories require adaptation.
    '. + 'the results may vary. Only the red marked directories requires adaptation.'. '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. 'If you have any questions, please contact us at '. 'support@shopmodule.com.
    ', - 'RemoteVersionDiff' => ' (Remote script has different version, result may not '. - 'be safe)', + 'hasIonCubeOrZendLoader' => 'ionCube Loader or Zend Optimizer / Guard Loader installed '. + '(%1$s)', + 'hasIonCubeOrZendLoader_DESC' => '
    The module requires the ionCube Loader or the Zend '. + 'Optimizer / Guard Loader. Pay attention to use a compatible installation package (%1$s).
    '. + '
    One of the appropriate '. + 'decoders is installed on your server.
    '. + '
    One of the appropriate '. + 'decoder is installed on your server. An undefined abort reason has been found, which can cause '. + 'to errors. For details, please refer to the following notes.
    '. + '
    None of the decoders is '. + 'installed on your server. The module can\'t installed or executed. Please contact your server provider.
    '. + '%2$s'. + '
    The [+] button show details for all tested directories. Depending on the server settings, '. + 'the results may vary. Only the red marked directories requires adaptation.
    '. + '
    Details about your server installation you can see by clicking on the button "show PHPinfo". '. + 'If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'RemoteVersionDiff' => ' (Remote script has different version or isn\'t '. + 'callable, result may not be safe)', 'globalSuccess' => 'The technical test was successful. Your server is ready for installing '. 'the module.*

    ', 'globalNotSuccess' => 'The technical test wasn\'t successfull. Please check the red or orange marked '. @@ -1653,6 +1777,18 @@ class requTranslations 'unableDeleteFile' => 'Unable to delete file. Please delete it manually.', 'goodBye' => 'Good Bye.', 'unableExecuteDirectoryIterator' => 'Unable to check subdirectories for further checks. (%1$s)', + 'availableDecoder' => 'available: %1$s - pay attention to the compatible installation package!', + 'noDecoderAvailable' => 'no usable decoder available', + 'availableDecoder_hasZendLoaderOptimizer' => 'Zend Guard Loader / Optimizer', + 'notAvailableDecoder_hasZendLoaderOptimizer' => '
  • Zend Guard Loader / Optimizer isn\'t '. + 'available.
  • ', + 'decoderIssue_hasZendLoaderOptimizer' => '
  • The Zend decoder is '. + 'installed on your server. There is an additional installed extension (Zend OPcache), '. + 'which can cause errors in combination with the decoder.
  • ', + 'availableDecoder_hasIonCubeLoader' => 'ionCube Loader', + 'notAvailableDecoder_hasIonCubeLoader' => '
  • ionCube Loader isn\'t available.
  • ', + 'decoderIssue_hasIonCubeLoader' => '
  • An undefined abort reason has been found when using the '. + 'ionCube decoder.
  • ', ), ); } @@ -1898,7 +2034,7 @@ class requTests */ public function hasMinPhpVersion(&$aConfiguration) { - $aResult[$this->getBasePath()] = false; + $aResult = array($this->getBasePath() => false); if (version_compare(phpversion(), $aConfiguration['aParams']['version'], '>=')) { $aResult[$this->getBasePath()] = true; @@ -1916,7 +2052,7 @@ class requTests */ public function hasFromToPhpVersion(&$aConfiguration) { - $aResult[$this->getBasePath()] = false; + $aResult = array($this->getBasePath() => false); if ((version_compare(phpversion(), $aConfiguration['aParams']['from'], '>=')) && (version_compare(phpversion(), $aConfiguration['aParams']['to'], '<')) @@ -1936,7 +2072,7 @@ class requTests */ public function hasMaxPhpVersion(&$aConfiguration) { - $aResult[$this->getBasePath()] = false; + $aResult = array($this->getBasePath() => false); if (version_compare(phpversion(), $aConfiguration['aParams']['version'], '<=')) { $aResult[$this->getBasePath()] = true; @@ -1954,7 +2090,7 @@ class requTests */ public function hasExtension(&$aConfiguration) { - $aResult[$this->getBasePath()] = false; + $aResult = array($this->getBasePath() => false); if (extension_loaded($aConfiguration['aParams']['type'])) { $aResult[$this->getBasePath()] = true; @@ -1965,6 +2101,69 @@ class requTests return $aResult; } + /** + * @param $aConfiguration + * @return array + */ + public function hasMinCurlVersion(&$aConfiguration) + { + $aCurlVersion = curl_version(); + $aResult = array( + $this->getBasePath() => version_compare($aCurlVersion['version'], $aConfiguration['aParams']['version'], '>=') + ); + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * @return array + */ + public function hasMinOpenSSLVersion(&$aConfiguration) + { + $aResult = array( + $this->getBasePath() => version_compare($this->get_openssl_version_number(true), $aConfiguration['aParams']['version'], '>=') + ); + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param bool $patch_as_number + * @param null $openssl_version_number + * @return bool|string + */ + protected function get_openssl_version_number($patch_as_number=false,$openssl_version_number=null) { + if (is_null($openssl_version_number)) $openssl_version_number = OPENSSL_VERSION_NUMBER; + $openssl_numeric_identifier = str_pad((string)dechex($openssl_version_number),8,'0',STR_PAD_LEFT); + + $openssl_version_parsed = array(); + $preg = '/(?[[:xdigit:]])(?[[:xdigit:]][[:xdigit:]])(?[[:xdigit:]][[:xdigit:]])'; + $preg.= '(?[[:xdigit:]][[:xdigit:]])(?[[:xdigit:]])/'; + preg_match_all($preg, $openssl_numeric_identifier, $openssl_version_parsed); + $openssl_version = false; + if (!empty($openssl_version_parsed)) { + $alphabet = array(1=>'a',2=>'b',3=>'c',4=>'d',5=>'e',6=>'f',7=>'g',8=>'h',9=>'i',10=>'j',11=>'k', + 12=>'l',13=>'m',14=>'n',15=>'o',16=>'p',17=>'q',18=>'r',19=>'s',20=>'t',21=>'u', + 22=>'v',23=>'w',24=>'x',25=>'y',26=>'z'); + $openssl_version = intval($openssl_version_parsed['major'][0]).'.'; + $openssl_version.= intval($openssl_version_parsed['minor'][0]).'.'; + $openssl_version.= intval($openssl_version_parsed['fix'][0]); + $patchlevel_dec = hexdec($openssl_version_parsed['patch'][0]); + if (!$patch_as_number && array_key_exists($patchlevel_dec, $alphabet)) { + $openssl_version.= $alphabet[$patchlevel_dec]; // ideal for text comparison + } + else { + $openssl_version.= '.'.$patchlevel_dec; // ideal for version_compare + } + } + return $openssl_version; + } + /** * @param $aConfiguration * @@ -2222,7 +2421,7 @@ class requTests /** * @return array */ - public function hasZendLoaderOptimizer() + public function hasZendLoaderOptimizer(&$aConfiguration, $blCheckBasePathOnly = false) { $aResult = array($this->getBasePath() => false); @@ -2244,7 +2443,9 @@ class requTests } } - $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__)); + if ($blCheckBasePathOnly == false) { + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__)); + } return $aResult; } @@ -2252,7 +2453,7 @@ class requTests /** * @return array */ - public function hasIonCubeLoader() + public function hasIonCubeLoader(&$aConfiguration, $blCheckBasePathOnly = false) { $aResult = array($this->getBasePath() => false); @@ -2260,7 +2461,59 @@ class requTests $aResult[$this->getBasePath()] = true; } - $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__)); + if ($blCheckBasePathOnly == false) { + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__)); + } + + return $aResult; + } + + /** + * @return array + */ + public function hasIonCubeOrZendLoader(&$aConfiguration) + { + $oLayout = $this->getBase()->oLayout; + + $aDecoderTexts = array(); + $aDecoderErrorTexts = array(); + foreach (array('hasZendLoaderOptimizer', 'hasIonCubeLoader') as $sDecoderCheck) { + $aReturn = call_user_func_array(array($this, $sDecoderCheck), array($aConfiguration, true)); + if ($aReturn[$this->getBasePath()]) { + $aDecoderTexts[$sDecoderCheck] = $oLayout->translate('availableDecoder_'.$sDecoderCheck); + } elseif ($aReturn[$this->getBasePath()] === null) { + $aDecoderErrorTexts[$sDecoderCheck] = $oLayout->translate('decoderIssue_'.$sDecoderCheck); + } else { + $aDecoderErrorTexts[$sDecoderCheck] = $oLayout->translate('notAvailableDecoder_'.$sDecoderCheck); + } + } + + $sDecoderText = count($aDecoderTexts) ? + sprintf($oLayout->translate('availableDecoder'), implode(' + ', $aDecoderTexts)) : + $oLayout->translate('noDecoderAvailable'); + $aConfiguration['aParams'][1] = $sDecoderText; + + $sDecoderErrorText = count($aDecoderErrorTexts) ? + '
      '.implode('', $aDecoderErrorTexts).'
    ' : + ''; + $aConfiguration['aParams'][2] = $sDecoderErrorText; + + $aZendLoaderResults = $this->hasZendLoaderOptimizer($aConfiguration); + $aIonCubeLoaderResults = $this->hasIonCubeLoader($aConfiguration); + + $aResult = array(); + foreach (array_keys($aZendLoaderResults) as $sPath) { + // transfer meta data + if (strstr($sPath, '@@')) { + $aResult[$sPath] = $aZendLoaderResults[$sPath]; + } elseif ($aIonCubeLoaderResults[$sPath] || $aZendLoaderResults[$sPath]) { + $aResult[$sPath] = true; + } elseif ($aIonCubeLoaderResults[$sPath] === null || $aZendLoaderResults[$sPath] === null) { + $aResult[$sPath] = null; + } else { + $aResult[$sPath] = false; + } + } return $aResult; } diff --git a/setup+doku/changelog.txt b/setup+doku/changelog.txt index d9f51d3..ffabda2 100644 --- a/setup+doku/changelog.txt +++ b/setup+doku/changelog.txt @@ -1,3 +1,7 @@ +=> 3.0.2.2 +- Fehler bei der "Abfragegenerierung während des Sprachwechsels" behoben (#6133) +- Strict Standard Messages korrigiert (#5772) + => 3.0.2.1 - Sprachumschalter wird sofort bei erstem Shopaufruf umgesetzt diff --git a/sources/GeoIP-Installation.docx b/sources/GeoIP-Installation.docx index d1ccf4e..7506ea9 100644 Binary files a/sources/GeoIP-Installation.docx and b/sources/GeoIP-Installation.docx differ