Das Modul benötigt die Zusatzsoftware "%2$s" höchstens '.
@@ -1204,7 +1449,7 @@ class requTranslations
'
Bei Fragen wenden Sie sich bitte an
'.
+ '',
'requireNewLicence' => 'bisheriger Lizenzschlüssel kann verwendet werden',
'requireNewLicence_DESC' => 'Diese Prüfung versucht zu ermitteln, ob Sie für den '.
@@ -1230,7 +1475,7 @@ class requTranslations
'Connector nicht ausgeführt werden. Bitte laden Sie sich diesen kostenfrei aus unserem Shop '.
'unter
www.oxidmodule.com/'.
'connector/ und installieren diesen vorab.
'.
- ''.
'Ü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".'.
- '
',
+ 'Details zu Ihrer Serverinstallation sehen Sie durch Klick auf den Button "PHPInfo anzeigen". '.
+ 'Bei Fragen kontaktieren Sie uns bitte über
'.
+ 'support@shopmodule.com.
',
+ '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 '.
- 'Sie die rot '.
- 'markierten Bedingungen.
',
+ 'Sie die rot oder orange markierten Bedingungen.
',
'deleteFile1' => 'Löschen Sie diese Datei nach der Verwendung bitte unbedingt wieder von '.
'Ihrem Server! Klicken Sie hier, um diese Datei zu löschen.',
@@ -1284,6 +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 '.
+ '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',
@@ -1291,116 +1578,193 @@ class requTranslations
'case only checks can executed succesfully.',
'RequSucc' => 'condition is fulfilled',
'RequNotSucc' => 'condition isn\'t fulfilled',
- 'RequUnknown' => 'condition isn\'t checkable',
+ 'RequUnknown' => 'condition unclear, see notes in help text',
'RequNotCheckable' => 'condition isn\'t checkable',
'hasMinPhpVersion' => 'at least PHP version %1$s',
- 'hasMinPhpVersion_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ 'hasMinPhpVersion_DESC' => '
The module requires a PHP version at least %1$s
'.
+ '
The appropriate version of PHP '.
+ 'is activated on your server.
'.
+ '
The module can not be executed within '.
+ '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 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.
',
'hasMaxPhpVersion' => 'not more than PHP version %1$s',
- 'hasMaxPhpVersion_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ 'hasMaxPhpVersion_DESC' => '
The module requires a PHP version not more than %1$s
'.
+ '
The appropriate version of PHP '.
+ 'is activated on your server.
'.
+ '
The module can not be executed within '.
+ '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 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.
',
'hasFromToPhpVersion' => 'server use PHP version between %1$s and %2$s',
- 'hasFromToPhpVersion_DESC'=> '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ 'hasFromToPhpVersion_DESC'=> '
The module requires a PHP version between %1$s and %2$s
'.
+ '
The appropriate version of PHP '.
+ 'is activated on your server.
'.
+ '
The module can not be executed within '.
+ '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 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.
',
'hasExtension' => '%1$s extension is available',
- 'hasExtension_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ 'hasExtension_DESC' => '
The module requires the %1$s server extension.
'.
+ '
The %1$s server extension is '.
+ 'available on your server.
'.
+ '
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 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' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ 'hasMinShopVersion_DESC' => '
The module is released to shop version %1$s
'.
+ '
The shop software is installed '.
+ 'in a compatible version.
'.
+ '
We can not guarantee, '.
+ 'that this module works properly in your shop version. Please ask for a matching module version.
'.
+ '
',
'hasMaxShopVersion' => 'not more than shop version %1$s',
- 'hasMaxShopVersion_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
- 'hasMinModCfgVersion' => '%2$s (ModCfg item "%1$s") has at least version %3$s',
- 'hasMinModCfgVersion_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
- 'hasMaxModCfgVersion' => '%2$s (ModCfg item "%1$s") has not more than version %3$s',
- 'hasMaxModCfgVersion_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ 'hasMaxShopVersion_DESC' => '
The module is released to shop version %1$s
'.
+ '
The shop software is installed '.
+ 'in a compatible version.
'.
+ '
We can not guarantee, '.
+ 'that this module works properly in your shop version. Please ask for a matching module version.
'.
+ '
',
+ 'hasMinModCfgVersion' => '%2$s (ModCfg item "%1$s") at least in version %3$s',
+ 'hasMinModCfgVersion_DESC' => '
The module requires additional software "%2$s" at least '.
+ 'in version %3$s
'.
+ '
The software is installed '.
+ 'in a compatible version.
'.
+ '
The additional software is '.
+ 'not installed or in wrong version available. Please install the additional software before '.
+ 'proceeding this installation.
'.
+ '
',
+ 'hasMaxModCfgVersion' => '%2$s (ModCfg item "%1$s") not more than in version %3$s',
+ 'hasMaxModCfgVersion_DESC' => '
The module requires additional software "%2$s" not more than '.
+ 'in version %3$s
'.
+ '
The software is installed '.
+ 'in a compatible version.
'.
+ '
The additional software is '.
+ 'be installed or in wrong version available. Please install the additional software before '.
+ 'proceeding this installation.
'.
+ '
',
'requireNewLicence' => 'former licence key can be used',
- 'requireNewLicence_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ '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 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 '.
+ '
oxidmodule.com or also create a '.
+ 'free trial license key in the admin panel of your shop.
'.
+ '
',
'hasModCfg' => '
Module '.
'Connector installed',
- 'hasModCfg_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ 'hasModCfg_DESC' => '
The module requires necessarily the D3 Module Connector.
'.
+ '
The Module Connector is '.
+ 'installed.
'.
+ '
The module can not be executed '.
+ 'without the Module Connector. Please download this free of charge from our shop '.
+ '
www.oxidmodule.com/'.
+ 'connector/ and install it beforehand.
'.
+ '
',
'isShopEdition' => 'shop edition is %1$s',
- 'isShopEdition_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. 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_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
- 'hasIonCubeLoader' => 'ionCube loader installed',
- 'hasonCubeLoader_DESC' => '
requirement check result
'.
- '
This requirement is '.
- 'fulfilled.
'.
- '
This requirement isn\'t '.
- 'fulfilled. The module can\'t installed or executed.
'.
- '
The [+] button show details for all tested directories. If you have any questions, please '.
- 'contact us at support@shopmodule.com.
',
+ 'isShopEdition_DESC' => '
The module requires one of these shop editions: %1$s
'.
+ '
The shop is installed '.
+ 'in the appropriate edition.
'.
+ '
The module can not be executed '.
+ 'in your shop edition. Please ask for a module version for your shop edition.
'.
+ '
',
+ '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 '.
+ 'installed on your server.
'.
+ '
The decoder is '.
+ 'installed on your server. There is an additional installed extension (Zend OPcache), '.
+ 'which can cause errors in combination with the decoder.
'.
+ '
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 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 (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 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.
',
+ '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 marked '.
+ 'globalNotSuccess' => 'The technical test wasn\'t successfull. Please check the red or orange marked '.
'conditions.
',
'deleteFile1' => 'Please delete this file after use on your server! Click
here, to delete this file.',
@@ -1412,6 +1776,19 @@ class requTranslations
'toggleswitch' => 'click for details',
'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.',
),
);
}
@@ -1657,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;
@@ -1675,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'], '<'))
@@ -1695,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;
@@ -1713,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;
@@ -1724,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
*
@@ -1734,8 +2174,8 @@ class requTests
if ($this->getDb()) {
$sField = 'oxversion';
$sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 ORDER BY oxversion ASC LIMIT 1";
- $rResult = mysql_query($sSelect, $this->getDb());
- $oResult = mysql_fetch_object($rResult);
+ $rResult = mysqli_query($this->getDb(), $sSelect);
+ $oResult = mysqli_fetch_object($rResult);
$oEditionResult = $this->_getShopEdition();
$sEdition = strtoupper($oEditionResult->oxedition);
@@ -1770,8 +2210,8 @@ class requTests
if ($this->getDb()) {
$sField = 'oxversion';
$sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 ORDER BY oxversion DESC LIMIT 1";
- $rResult = mysql_query($sSelect, $this->getDb());
- $oResult = mysql_fetch_object($rResult);
+ $rResult = mysqli_query($this->getDb(), $sSelect);
+ $oResult = mysqli_fetch_object($rResult);
$oEditionResult = $this->_getShopEdition();
$sEdition = strtoupper($oEditionResult->oxedition);
@@ -1833,8 +2273,8 @@ class requTests
if ($this->getDb()) {
$sField = 'oxedition';
$sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 LIMIT 1";
- $rResult = mysql_query($sSelect, $this->getDb());
- $oResult = mysql_fetch_object($rResult);
+ $rResult = mysqli_query($this->getDb(), $sSelect);
+ $oResult = mysqli_fetch_object($rResult);
return $oResult;
}
@@ -1850,11 +2290,11 @@ class requTests
if ($this->getDb()) {
$sModId = 'd3modcfg_lib';
$sSelect = "SELECT 1 as result FROM d3_cfg_mod WHERE oxmodid = '" . $sModId . "' LIMIT 1";
- $rResult = mysql_query($sSelect, $this->getDb());
- if (is_resource($rResult)) {
- $oResult = mysql_fetch_object($rResult);
+ $rResult = mysqli_query($this->getDb(), $sSelect);
+ if (is_object($rResult)) {
+ $oResult = mysqli_fetch_object($rResult);
- if ($oResult->result) {
+ if ((bool) $oResult->result == true) {
return true;
}
}
@@ -1879,14 +2319,15 @@ class requTests
oxversion != 'basic'
ORDER BY oxversion ASC LIMIT 1";
- $rResult = mysql_query($sSelect, $this->getDb());
- $aResult = mysql_fetch_assoc($rResult);
+ $rResult = mysqli_query($this->getDb(), $sSelect);
+ $oResult = mysqli_fetch_object($rResult);
+ $blReturn = (bool)$oResult->result;
- if (!(int)$aResult['result']) {
+ if (false == $blReturn) {
$this->setGlobalResult(false);
}
- return (int)$aResult['result'];
+ return $blReturn;
}
$this->setGlobalResult(false);
@@ -1909,14 +2350,15 @@ class requTests
oxversion != 'basic'
ORDER BY oxversion ASC LIMIT 1";
- $rResult = mysql_query($sSelect, $this->getDb());
- $aResult = mysql_fetch_assoc($rResult);
+ $rResult = mysqli_query($this->getDb(), $sSelect);
+ $oResult = mysqli_fetch_object($rResult);
+ $blResult = (bool)$oResult->result;
- if (!(int)$aResult['result']) {
+ if (false == $blResult) {
$this->setGlobalResult(false);
}
- return (int)$aResult['result'];
+ return $blResult;
}
$this->setGlobalResult(false);
@@ -1938,17 +2380,16 @@ class requTests
oxmodid = '" . $this->oConfig->sModId . "'
ORDER BY oxversion ASC LIMIT 1";
- $rResult = mysql_query($sSelect, $this->getDb());
- $aResult = mysql_fetch_assoc($rResult);
+ $rResult = mysqli_query($this->getDb(), $sSelect);
+ $oResult = mysqli_fetch_object($rResult);
- if (isset($aResult)
- && is_array($aResult)
- && count($aResult)
- && isset($aResult['oxversion'])
- && $aConfiguration['aParams']['checkVersion']
+ if (isset($oResult)
+ && is_object($oResult)
+ && isset($oResult->oxversion)
+ && isset($aConfiguration['aParams']['checkVersion'])
) {
$sInstalledVersion = $this->_getConvertedVersion(
- $aResult['oxversion'],
+ $oResult->oxversion,
$aConfiguration['aParams']['remainingDigits']
);
$sNewVersion = $this->_getConvertedVersion(
@@ -1980,23 +2421,31 @@ class requTests
/**
* @return array
*/
- public function hasZendLoaderOptimizer()
+ public function hasZendLoaderOptimizer(&$aConfiguration, $blCheckBasePathOnly = false)
{
$aResult = array($this->getBasePath() => false);
- if ((version_compare(phpversion(), '5.2.0', '>=') &&
- version_compare(phpversion(), '5.2.900', '<') &&
- function_exists('zend_optimizer_version')
- ) || (
- version_compare(phpversion(), '5.3.0', '>=') &&
- version_compare(phpversion(), '5.6.900', '<') &&
- function_exists('zend_loader_version')
- )
- ) {
- $aResult[$this->getBasePath()] = true;
+ if ((version_compare(phpversion(), '5.2.0', '>=')
+ && version_compare(phpversion(), '5.2.900', '<')
+ && function_exists('zend_optimizer_version')
+ ) || (
+ version_compare(phpversion(), '5.3.0', '>=')
+ && version_compare(phpversion(), '5.6.900', '<')
+ && function_exists('zend_loader_version')
+ )) {
+ if (function_exists('opcache_get_status')
+ && ($aOpCacheStatus = opcache_get_status())
+ && $aOpCacheStatus['opcache_enabled']
+ ) {
+ $aResult[$this->getBasePath()] = null;
+ } else {
+ $aResult[$this->getBasePath()] = true;
+ }
}
- $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__));
+ if ($blCheckBasePathOnly == false) {
+ $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__));
+ }
return $aResult;
}
@@ -2004,7 +2453,7 @@ class requTests
/**
* @return array
*/
- public function hasIonCubeLoader()
+ public function hasIonCubeLoader(&$aConfiguration, $blCheckBasePathOnly = false)
{
$aResult = array($this->getBasePath() => false);
@@ -2012,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;
}
@@ -2056,9 +2557,10 @@ class requTransformation
$sSelect = "SELECT oxversion as result ".
"FROM d3_cfg_mod ".
"WHERE oxmodid = 'd3modcfg_lib' LIMIT 1";
- $rResult = mysql_query($sSelect, $this->oCheck->getDb());
- if (is_resource($rResult)) {
- $oResult = mysql_fetch_object($rResult);
+ $rResult = mysqli_query($this->oCheck->getDb(), $sSelect);
+
+ if (is_object($rResult)) {
+ $oResult = mysqli_fetch_object($rResult);
if ($oResult->result) {
$sCheckVersion = $oResult->result;
}
@@ -2104,4 +2606,4 @@ if (isset($_REQUEST['fnc']) && $_REQUEST['fnc']) {
$oRequCheck->{$_REQUEST['fnc']}();
} else {
$oRequCheck->startCheck();
-}
\ No newline at end of file
+}
diff --git a/setup+doku/changelog.txt b/setup+doku/changelog.txt
index b1e8647..dca5570 100644
--- a/setup+doku/changelog.txt
+++ b/setup+doku/changelog.txt
@@ -1,3 +1,12 @@
+=> 2.1.0.0
+- Datenbank-Tabelle auf InnoDb geändert
+- Tabellenindizes für optimierte Abfragen ergänzt
+- Löschabfragen wegen mglw. hoher Datenbanklast begrenzt
+- Besuchereinträge wurden um Seitendetails ergänzt
+- Auswertung im Backend lässt sich zwischen bisheriger und neuer Gruppierung umschalten
+- Auswertung im Frontend entfernt (#6828)
+- fehlerhafte Übersetzung korrigiert (#6827)
+
=> 2.0.1.1
- Precheck für PHP 5.5 und 5.6 angepasst