diff --git a/changelog.md b/changelog.md index 5ae08c6..a0a335a 100644 --- a/changelog.md +++ b/changelog.md @@ -1,13 +1,16 @@ # Changelog All notable changes to this project will be documented in this file. +## 4.0.0.1 (2018-03-01) +- Exception im Admin unter /Content Tabs/Tabverwaltung/Stamm/ -## 4.0.0.0 (2017-12-22) -- Unreleased +## 4.0.0.0 (2018-03-01) - Kompatibilität und Support ab Oxid 6.0.0 - Integration eines eigenen Admin-Bereich "D³ Content Tabs" - Titel und Langtexte der Tabs werden in einer eigenen Tabelle gespeichert - Langtexte haben eine "Aktiv" - Option erhalten, welche im Frontend zusätzlich geprüft wird - Altlasten und unnötige Dateien entfernt +- Umstellung auf Namespaces - Grundinstallation via Composer ## 3.2.0.1 (2016-12-19) diff --git a/composer.json b/composer.json index dab7c50..0456287 100644 --- a/composer.json +++ b/composer.json @@ -7,13 +7,14 @@ "modules", "eShop", "d3", - "tabs" + "tabs", + "details" ], "authors": [ { "name": "D3 Data Development (Inh. Thomas Dartsch)", "email": "info@shopmodule.com", - "homepage": "http://www.oxidmodule.com", + "homepage": "http://www.d3data.de", "role": "Owner" } ], @@ -24,9 +25,6 @@ "license": [ "proprietary" ], - "suggest": { - "oxid-projects/statistics-module": "allows the graphical evaluation of statistics" - }, "extra": { "oxideshop": { "source-directory": "/src", @@ -34,9 +32,13 @@ } }, "require": { - "php": ">=5.6", - "ext-ionCube-Loader": "*", - "oxid-esales/oxideshop-ce": "6.0.x", - "d3/modcfg": ">=5.1.0.0" + "php": "7.1 - 7.2", + "oxid-esales/oxideshop-metapackage-ce": "~6.0.1", + "d3/modcfg": "~5.1" + }, + "autoload": { + "psr-4": { + "D3\\Contenttabs\\": "../../../source/modules/d3/contenttabs" + } } } diff --git a/docs/Precheck/d3precheck.php b/docs/Precheck/d3precheck.php index 3279d26..f749f62 100644 --- a/docs/Precheck/d3precheck.php +++ b/docs/Precheck/d3precheck.php @@ -1,1214 +1,2609 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -61s80TjfV8csftDvGexGdaW7D2LHDg3/0PY4lG== \ No newline at end of file + + * @link http://www.oxidmodule.com + */ + +/** + * Alle Anforderungen sind über $this->_aCheck konfigurierbar. Manche Anforderungen haben dazu noch weitergehende + * Informationen. Die Struktur dieser Requirementbeschreibungen: + * + * array( + * 'blExec' => 1, // obligatorisch: 0 = keine Prüfung, 1 = Püfung wird ausgeführt + * 'aParams' => array(...), // optional, Inhalt ist von jeweiliger Prüfung abhängig + * ) + * + * "Desc1": Diese Struktur kann allein eine Bedingung beschreiben. Wenn mehrere dieser Bedingungen + * nötig sind (z.B. bei unterschiedlichen Bibliotheksanforderungen), kann diese Struktur als + * Arrayelemente auch mehrfach genannt werden (kaskadierbar). Grundsätzlich sind alle Requirements + * kaskadierbar, jedoch ergibt dies nicht bei allen Sinn. :) Eine Kaskadierung sieht so aus: + * + * array( + * array( + * 'blExec' => 1, + * ... + * ), + * array( + * 'blExec' => 1, + * ... + * ) + * ) + * + * Unbedingt zu vermeiden sind Änderungen in der Scriptlogik, da diese bei Updates nur schwer zu übernehmen sind. + */ + +class requConfig +{ + public $sModName = 'D³ Content Tabs'; + + public $sModId = 'd3contenttabs'; + + public $sModVersion = '4.0.0.1'; + + /********************** check configuration section ************************/ + + public $aCheck = array( + // kleinste erlaubte PHP-Version + 'hasMinPhpVersion' => array( + 'blExec' => 0, + 'aParams' => array( + 'version' => '5.6.0' + ) + ), + + // größte erlaubte PHP-Version + 'hasMaxPhpVersion' => array( + 'blExec' => 0, + 'aParams' => array( + 'version' => '7.1.200' + ) + ), + + // PHP-Version zwischen 'from' und 'to' + 'hasFromToPhpVersion' => array( + 'blExec' => 1, + 'aParams' => array( + 'from' => '5.6.0', + 'to' => '7.2.900', + ) + ), + + // benötigt Zend Optimizer (PHP 5.2) bzw. Zend Guard Loader (> PHP 5.2) + 'hasZendLoaderOptimizer' => array( + 'blExec' => 0, + ), + + // benötigt IonCubeLoader + 'hasIonCubeLoader' => array( + 'blExec' => 1, + ), + + // benötigt Zend Decoder oder IonCubeLoader + 'hasIonCubeOrZendLoader' => array( + 'blExec' => 0, + ), + + // benötigte PHP-Extension (kaskadierbar (siehe "Desc1")) + 'hasExtension' => array( + array( + 'blExec' => 0, + 'aParams' => array( + 'type' => 'curl', + ), + ), + array( + 'blExec' => 0, + 'aParams' => array( + 'type' => 'soap' + ), + ), + ), + + // 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' => '6.0.0', + 'CE' => '6.0.0', + 'EE' => '6.0.0' + ), + ), + + // maximal verwendbare Shopversion (editionsgetrennt), wird (sofern möglich) Remote aktualisiert + 'hasMaxShopVersion' => array( + 'blExec' => 0, + 'aParams' => array( + 'PE' => '6.0.0', + 'CE' => '6.0.0', + 'EE' => '6.0.0' + ), + ), + + // verfügbar für diese Shopeditionen, wird (sofern möglich) Remote aktualisiert + 'isShopEdition' => array( + 'blExec' => 1, + 'aParams' => array( + array( + 'PE', + 'EE', + 'CE', + ), + ), + ), + + // benötigt Modul-Connector + 'hasModCfg' => array( + 'blExec' => 1 + ), + + // benötigt mindestens diese Erweiterungen / Version lt. d3_cfg_mod (kaskadierbar (siehe "Desc1")) + 'hasMinModCfgVersion' => array( + array( + 'blExec' => 1, + 'aParams' => array( + 'id' => 'd3modcfg_lib', + 'name' => 'Modul-Connector', + 'version' => '5.1.0.0', + ), + ), + ), + + // verwendbar bis zu diesen Erweiterungen / Version lt. d3_cfg_mod (kaskadierbar (siehe "Desc1")) + 'hasMaxModCfgVersion' => array( + array( + 'blExec' => 0, + 'aParams' => array( + 'id' => 'd3modcfg_lib', + 'name' => 'Modul-Connector', + 'version' => '5.1.0.0', + ), + ), + ), + + // benötigt neuen Lizenzschlüssel + 'requireNewLicence' => array( + array( + 'blExec' => 1, + 'aParams' => array( + 'checkVersion' => true, // soll Versionsnummer des installierten Moduls gegengeprüft werden? + 'remainingDigits' => 2, // zu prüfende Stellen für neue Lizenz + ), + ), + ), + ); +} + +/********* don't change content from here **********************/ + +date_default_timezone_set('Europe/Berlin'); + +/** + * Class requcheck + */ +class requCheck +{ + public $sVersion = '4.10.2'; + + protected $_db = false; + + public $dbHost; + + public $dbUser; + + public $dbPwd; + + public $dbName; + + /** @var requConfig */ + public $oConfig; + + /** @var requLayout */ + public $oLayout; + + protected $_sInFolderFileName = 'd3precheckinfolder.php'; + + public $sVersionTag = '@@version@@'; + + /********************** functional section ************************/ + + public $blGlobalResult = true; + + /** + * + */ + public function __construct() + { + $this->oConfig = new requConfig(); + $this->oLayout = new requLayout($this, $this->oConfig); + $this->oRemote = new requRemote(); + } + + /** + * @param string $sName + * @param array $aArguments + */ + public function __call ($sName, $aArguments) + { + $this->oLayout->{$sName}($aArguments); + } + + public function startCheck() + { + $this->oLayout->getHTMLHeader(); + + $oCheckTransformation = new requTransformation($this); + $this->oConfig->aCheck = $oCheckTransformation->transformCheckList($this->oConfig->aCheck); + + $this->_runThroughChecks($this->oConfig->aCheck); + + $this->oLayout->getHTMLFooter(); + } + + /** + * traversable requirement check + * + * @param $aCheckList + * @param string $sForceCheckType + */ + protected function _runThroughChecks($aCheckList, $sForceCheckType = '') + { + foreach ($aCheckList as $sCheckType => $aConf) { + if (array_key_exists('blExec', $aConf)) { + if ($aConf['blExec']) { + if (strlen($sForceCheckType)) { + $sCheckType = $sForceCheckType; + } + $this->displayCheck($sCheckType, $aConf); + } + } else { + $this->_runThroughChecks($aConf, $sCheckType); + } + } + } + + /** + * @param $sMethodName + * @param null $aArguments + * + * @return array + */ + public function checkInSubDirs($sMethodName, $aArguments = null) + { + $sFolder = '.'; + + $aCheckScripts = $this->_walkThroughDirs($sFolder); + $aReturn = $this->_checkScripts($aCheckScripts, $sMethodName, $aArguments); + + return $aReturn; + } + + /** + * @param $sFolder + * + * @return array + */ + protected function _walkThroughDirs($sFolder) + { + $aIgnoreDirItems = array('.', '..'); + $aCheckScripts = array(); + + try { + /** @var SplFileInfo $oFileInfo */ + $oIterator = new RecursiveDirectoryIterator($sFolder); + + foreach ($oIterator as $oFileInfo) { + if (in_array($oFileInfo->getFileName(), $aIgnoreDirItems)) { + continue; + } + if ($oFileInfo->isDir()) { + $aCheckScripts = array_merge($aCheckScripts, $this->_walkThroughDirs($oFileInfo->getRealPath())); + } elseif ($oFileInfo->isFile()) { + if (strtolower($oFileInfo->getFilename()) == $this->_sInFolderFileName) { + $aCheckScripts[] = str_replace('\\', '/', $oFileInfo->getRealPath()); + } + } + } + } catch (UnexpectedValueException $oEx) { + sprintf($this->oLayout->translate('unableExecuteDirectoryIterator'), $oEx->getMessage()); + $this->addMessage( + sprintf($this->oLayout->translate('unableExecuteDirectoryIterator'), $oEx->getMessage()) + ); + } + + return $aCheckScripts; + } + + public function addMessage($sMessage) + { + $this->aMessages[md5($sMessage)] = $sMessage; + } + + public function getMessages() + { + return $this->aMessages; + } + + /** + * @param $aScriptList + * @param $sMethodName + * @param $aArguments + * + * @return array + */ + protected function _checkScripts($aScriptList, $sMethodName, $aArguments) + { + $aReturn = array(); + + foreach ($aScriptList as $sScriptPath) { + $sUrl = $this->_getFolderCheckUrl( + $sScriptPath, + $sMethodName, + $aArguments + ); + + $sVersionUrl = $this->_getFolderCheckUrl( + $sScriptPath, + 'getVersion', + array() + ); + + $sContent = serialize(null); + $sVersion = serialize(null); + + if ($this->_hasCurl()) { + $sContent = $this->_getContentByCurl($sUrl); + $sVersion = $this->_getContentByCurl($sVersionUrl); + } elseif ($this->_hasAllowUrlFopen()) { + $sContent = file_get_contents($sUrl); + $sVersion = file_get_contents($sVersionUrl); + } + + $sBasePath = $this->getBasePath($sScriptPath); + $aReturn[$sBasePath] = unserialize($sContent); + $aReturn[$this->sVersionTag][$sBasePath] = unserialize($sVersion); + } + + return $aReturn; + } + + /** + * @return bool + */ + protected function _hasCurl() + { + if (extension_loaded('curl') && function_exists('curl_init')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + protected function _hasAllowUrlFopen() + { + if (ini_get('allow_url_fopen')) { + return true; + } + + return false; + } + + /** + * @param $sUrl + * + * @return bool|mixed + */ + protected function _getContentByCurl($sUrl) + { + $iTimeOut = 5; + $ch = curl_init(); + $sCurl_URL = preg_replace('@^((http|https)://)@', '', $sUrl); + + curl_setopt($ch, CURLOPT_URL, $sCurl_URL); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $iTimeOut); + curl_setopt($ch, CURLOPT_TIMEOUT, $iTimeOut); + curl_setopt($ch, CURLOPT_POST, 0); + $sContent = curl_exec($ch); + curl_close($ch); + + if (false == $sContent || + strstr(strtolower($sContent), strtolower('Request Entity Too Large')) || + strstr(strtolower($sContent), strtolower('not allow request data with POST requests')) + ) { + return false; + } + + return $sContent; + } + + /** + * @param $sScriptPath + * @param $sMethodName + * @param $aArguments + * + * @return string + */ + protected function _getFolderCheckUrl($sScriptPath, $sMethodName, $aArguments) + { + $sBaseDir = str_replace( + array(basename($_SERVER['SCRIPT_FILENAME']), '\\'), + array('', '/'), + realpath($_SERVER['SCRIPT_FILENAME']) + ); + $sUrlAdd = str_replace($sBaseDir, '', $sScriptPath); + $sBaseUrl = 'http://' . $_SERVER['HTTP_HOST'] . str_replace( + basename($_SERVER['SCRIPT_NAME']), + '', + $_SERVER['SCRIPT_NAME'] + ); + + $sUrl = $sBaseUrl . $sUrlAdd . '?fnc=' . $sMethodName . '¶ms=' . urlencode(serialize($aArguments)); + + return $sUrl; + } + + /** + * @param null $sFolder + * + * @return mixed + */ + public function getBasePath($sFolder = null) + { + if (!$sFolder) { + $sFolder = $_SERVER['SCRIPT_FILENAME']; + } + + $sScriptFileName = str_replace('\\', '/', realpath($_SERVER['SCRIPT_FILENAME'])); + $sSearch = substr(str_replace(basename($sScriptFileName), '', $sScriptFileName), 0, -1); + + $sFolder = str_replace('\\', '/', realpath($sFolder)); + + return str_replace(array(basename($sFolder), $sSearch), '', $sFolder); + } + + /** + * @return string + */ + public function getVersion() + { + return $this->sVersion; + } + + /** + * @param $mResult + * + * @return bool + */ + protected function _hasFalseInResult($mResult) + { + if (is_array($mResult)) { + foreach ($mResult as $blResult) { + if (false === $blResult) { + $this->blGlobalResult = false; + + return true; + } + } + + return false; + } + + if (false === $mResult) { + $this->blGlobalResult = false; + + return true; + } + + return false; + } + + /** + * @param $mResult + * + * @return bool + */ + protected function _hasNullInResult($mResult) + { + if (is_array($mResult)) { + foreach ($mResult as $blResult) { + if ($blResult === null) { + $this->blGlobalResult = false; + + return true; + } + } + + return false; + } + + if ($mResult === null) { + $this->blGlobalResult = false; + return true; + } + + return false; + } + + /** + * @param $mResult + * + * @return bool + */ + protected function _hasNoticeInResult($mResult) + { + if (is_array($mResult)) { + foreach ($mResult as $blResult) { + if ($blResult === 'notice') { + return true; + } + } + + return false; + } + + if ($mResult === 'notice') { + return true; + } + + return false; + } + + /********************** conversion function section ************************/ + + /** + * @param $mParam + */ + public function aTos(&$mParam) + { + if (is_array($mParam)) { + $mParam = implode($this->oLayout->translate('or'), $mParam); + } + } + + /** + * @return string + */ + public function getLang() + { + if (isset($_REQUEST['lang'])) { + return strtolower($_REQUEST['lang']); + } + + return 'de'; + } + + /** + * @return bool|resource + */ + public function getDb() + { + if (!$this->_db) { + if (file_exists('config.inc.php')) { + require_once('config.inc.php'); + ini_set('error_reporting', E_ALL^E_NOTICE); + $this->_db = mysqli_connect($this->dbHost, $this->dbUser, $this->dbPwd, $this->dbName); + } + } + + return $this->_db; + } + + /** + * @param $version + * @param int $iUnsetPart + * + * @return string + */ + public function versionToInt($version, $iUnsetPart = 0) + { + $match = explode('.', $version); + + return sprintf( + '%d%03d%03d%03d', + $this->_getVersionDigit($match[0], $iUnsetPart), + $this->_getVersionDigit($match[1], $iUnsetPart), + $this->_getVersionDigit($match[2], $iUnsetPart), + $this->_getVersionDigit($match[3], $iUnsetPart) + ); + } + + /** + * @param $sMatch + * @param $iUnsetPart + * + * @return int + */ + protected function _getVersionDigit($sMatch, $iUnsetPart) + { + return intval($sMatch !== null ? $sMatch : $iUnsetPart); + } + + /********************** layout function section ************************/ + + public function deleteme() + { + $sFolder = '.'; + + $this->_checkDelFilesInDir($sFolder); + $this->_delFile($_SERVER['SCRIPT_FILENAME']); + + if (is_file($_SERVER['SCRIPT_FILENAME'])) { + exit($this->oLayout->translate('unableDeleteFile')); + } else { + exit($this->oLayout->translate('goodBye')); + } + } + + /** + * @param $sFolder + */ + protected function _checkDelFilesInDir($sFolder) + { + $aIgnoreDirItems = array('.', '..'); + + /** @var SplFileInfo $oFileInfo */ + foreach (new RecursiveDirectoryIterator($sFolder) as $oFileInfo) { + if (!in_array($oFileInfo->getFileName(), $aIgnoreDirItems) && $oFileInfo->isDir()) { + $this->_checkDelFilesInDir($oFileInfo->getRealPath()); + } elseif ($oFileInfo->isFile()) { + if (strtolower($oFileInfo->getFilename()) == $this->_sInFolderFileName) { + $this->_delFile(str_replace('\\', '/', $oFileInfo->getRealPath())); + } + } + } + } + + /** + * @param $sPath + */ + protected function _delFile($sPath) + { + unlink($sPath); + } + + /** + * @param $sCheckType + * @param $aConfiguration + */ + public function displayCheck($sCheckType, &$aConfiguration) + { + $sGenCheckType = preg_replace("@(\_[0-9]$)@", "", $sCheckType); + $oTests = new requTests($this, $this->oConfig, $this->getDb(), $this->oRemote); + if (method_exists($oTests, $sGenCheckType)) { + $this->_checkResult($oTests, $sGenCheckType, $sCheckType, $aConfiguration); + } else { + $this->oLayout->getUncheckableItem($sCheckType, $aConfiguration); + $this->blGlobalResult = false; + } + } + + /** + * @param $oTests + * @param $sGenCheckType + * @param $sCheckType + * @param $aConfiguration + */ + protected function _checkResult($oTests, $sGenCheckType, $sCheckType, $aConfiguration) + { + $mResult = $oTests->{$sGenCheckType}($aConfiguration); + $sElementId = (md5($sGenCheckType . serialize($aConfiguration))); + + if ($this->_hasNoticeInResult($mResult)) { + $this->oLayout->getUnknownItem($mResult, $sElementId, $sCheckType, $aConfiguration); + } elseif ($this->_hasNullInResult($mResult)) { + $this->oLayout->getUnknownItem($mResult, $sElementId, $sCheckType, $aConfiguration); + } elseif ($this->_hasFalseInResult($mResult)) { + $this->oLayout->getNoSuccessItem($mResult, $sElementId, $sCheckType, $aConfiguration); + } else { + $this->oLayout->getSuccessItem($mResult, $sElementId, $sCheckType, $aConfiguration); + } + } + + public function showinfo() + { + phpinfo(); + } +} + +/** + * Class requLayout + */ +class requLayout +{ + public $oBase; + public $oConfig; + + /** + * @param requCheck $oBase + * @param requConfig $oConfig + */ + public function __construct(requCheck $oBase, requConfig $oConfig) + { + $this->oBase = $oBase; + $this->oConfig = $oConfig; + } + + public function getHTMLHeader() + { + $sScriptName = $_SERVER['SCRIPT_NAME']; + $sTranslRequCheck = $this->translate('RequCheck'); + $sModName = $this->oConfig->sModName; + $sModVersion = $this->oConfig->sModVersion; + + echo <<< EOT + + + + + $sTranslRequCheck "$sModName" $sModVersion + + + + + + +
+ + + + + + +
+EOT; + echo "

" . $this->translate('RequCheck') . ' "' . $this->oConfig->sModName . ' ' . $sModVersion . '"

'; + echo '

' . $this->translate('ExecNotice') . '

' . PHP_EOL; + + return; + } + + public function getHTMLFooter() + { + $sScriptName = $_SERVER['SCRIPT_NAME']; + $sTranslShopPhpInfo = $this->translate('showPhpInfo'); + $sTranslDependent = $this->translate('dependentoffurther'); + + if (count($this->oBase->getMessages())) { + echo ''; + } + + if ($this->oBase->blGlobalResult) { + echo '

' . $this->translate('globalSuccess') . '' . + $this->translate('deleteFile1') . $sScriptName . $this->translate('deleteFile2') . '

'; + } else { + echo '

' . $this->translate('globalNotSuccess') . '' . + $this->translate('deleteFile1') . $sScriptName . $this->translate('deleteFile2') . '

'; + } + + echo <<< EOT + $sTranslDependent
+

+ + + $sTranslShopPhpInfo + + +

+ + + +EOT; + + return; + } + + /** + * @param $aResult + * + * @return bool + */ + protected function hasRemoteVersionDiff($aResult) + { + $blDiff = false; + + if (is_array($aResult) + && isset($aResult[$this->oBase->sVersionTag]) + && is_array($aResult[$this->oBase->sVersionTag]) + ) { + foreach ($aResult[$this->oBase->sVersionTag] as $sRemoteVersion) { + if (version_compare($sRemoteVersion, $this->oBase->getVersion(), '!=')) { + $blDiff = true; + } + } + } + + return $blDiff; + } + + /** + * @param $aResult + * @param $sElementId + * @param $sCheckType + * @param $aConfiguration + */ + public function getNoSuccessItem($aResult, $sElementId, $sCheckType, $aConfiguration) + { + $sText = ''; + $sDesc = ''; + if ($this->hasRemoteVersionDiff($aResult)) { + $sText = '!'; + $sDesc = strip_tags($this->translate('RemoteVersionDiff')); + } + + echo '
'.$sText.'
' . + $this->_addToggleScript($aResult, $sElementId) . + $this->translate($sCheckType, $aConfiguration) . + $this->_addDescBox($sCheckType.'_DESC', $aConfiguration) . + '
' . PHP_EOL; + + $this->getSubDirItems($aResult, $sElementId); + } + + /** + * @param $aResult + * @param $sElementId + * @param $sCheckType + * @param $aConfiguration + */ + public function getSuccessItem($aResult, $sElementId, $sCheckType, $aConfiguration) + { + $sText = ''; + $sDesc = ''; + if ($this->hasRemoteVersionDiff($aResult)) { + $sText = '!'; + $sDesc = strip_tags($this->translate('RemoteVersionDiff')); + } + + echo '
'.$sText.'
' . + $this->_addToggleScript($aResult, $sElementId) . + $this->translate($sCheckType, $aConfiguration) . + $this->_addDescBox($sCheckType.'_DESC', $aConfiguration) . + '
' . PHP_EOL; + + $this->getSubDirItems($aResult, $sElementId); + } + + /** + * @param $aResult + * @param $sElementId + * @param $sCheckType + * @param $aConfiguration + */ + public function getUnknownItem($aResult, $sElementId, $sCheckType, $aConfiguration) + { + $sText = ''; + $sDesc = ''; + if ($this->hasRemoteVersionDiff($aResult)) { + $sText = '!'; + $sDesc = strip_tags($this->translate('RemoteVersionDiff')); + } + + echo '
'.$sText.'
' . + $this->_addToggleScript($aResult, $sElementId) . + $this->translate($sCheckType, $aConfiguration) . + $this->_addDescBox($sCheckType.'_DESC', $aConfiguration) . + '
' . PHP_EOL; + + $this->getSubDirItems($aResult, $sElementId); + } + + /** + * @param $sCheckType + * @param $aConfiguration + */ + public function getUncheckableItem($sCheckType, $aConfiguration) + { + echo '
' . + $this->translate($sCheckType, $aConfiguration) . ' (' . $this->translate('RequNotCheckable') . ')' . + $this->_addDescBox($sCheckType.'_DESC', $aConfiguration) . + '
' . PHP_EOL; + } + + /** + * @param $aResult + * @param $sElementId + */ + public function getSubDirItems($aResult, $sElementId) + { + if (is_array($aResult) && count($aResult)) { + echo '' . PHP_EOL; + } + } + + /** + * @param $aResult + * @param $sElementId + * + * @return string + */ + protected function _addToggleScript($aResult, $sElementId) + { + if (is_array($aResult) && count($aResult)) { + $sScript = "
+
"; + } else { + $sScript = ""; + } + + return $sScript; + } + + /** + * @param $sTextIdent + * @param $aConfiguration + * + * @return string + */ + protected function _addDescBox($sTextIdent, $aConfiguration) + { + $sContent = "
?". + "
". + "
".$this->translate($sTextIdent, $aConfiguration)."
". + "
"; + + return $sContent; + } + + /** + * @param $sIdent + * @param array $aConfiguration + * + * @return mixed|string + */ + public function translate($sIdent, $aConfiguration = array()) + { + $sGenIdent = preg_replace("@(\_[0-9]$)@", "", $sIdent); + $oTranslations = new requTranslations(); + $aTransl = $oTranslations->getTranslations(); + + if (isset($aConfiguration['aParams']) && is_array($aConfiguration['aParams'])) { + array_walk($aConfiguration['aParams'], array($this->oBase, 'aTos'), $sIdent); + } + + if (isset($aTransl[$this->oBase->getLang()][$sGenIdent]) + && ($sTranslation = $aTransl[$this->oBase->getLang()][$sGenIdent]) + ) { + if (isset($aConfiguration['aParams'])) { + return vsprintf($sTranslation, $aConfiguration['aParams']); + } else { + return $sTranslation; + } + } else { + return $sGenIdent; + } + } + + public function getPngButton() + { + $sImg = "iVBORw0KGgoAAAANSUhEUgAABDgAAAAWCAYAAAAl+SzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAB". + "MpJREFUeNrs3Y1O4zgUhuFY4hbb2ZthRjtczOz0Ght7cZwfQ5u2E4K0a55XiNDUXyWcT+ZwfGyHw+HQvZI6AACAT+J0OgW9AAAAtn". + "A8Hh/JWYSnbkxuvAYeeg0AAAAAAPynuJevOB6P+ZKe6sYvLy96DgAA7M7z87NOAAAAm7iVq8gxRs5p5CTH03Tz758/uzAUc7x+Hy4". + "pf71ex9fDj2leyxLG1vnNELpmdJPqo21a7afy+/MIj/AIj7zVhS/seWPD4zoAAIAtxJhW44+cy/jx/ftw/2kRxDEQSd0Uraah/RKV". + "lLfK+/kDS0T7eieGZnTdA33QfeF+CpFHeIRHeORSF1Lw3I0Nd3UAAACbEhwprscfadnma05wpL7v8v0Sh4QiLimREqWEt7mSmK9xn". + "LlrSBe6fdq02k9D1oxHeIRHeORCFz13Y8NtHQAAwNYER+zX44+q3Zzg6GOcbw6haqhmXG5MvuQPiw3q9mrTaj/xCI/wCI9c13juxo". + "Y/0wEAANxNcPTxbvzxLsHRd7mEo8y+pJIFCWEupy2XMTcSxjKQUMqSl1mb/79urzbN9hOP8AiP8MgV3Zf2vLHhIR0AAMBWcr5iNf6". + "o4owlwdGPCY68hiUsZbRh2DGsWkz7/mUaVl83oxu3R/xwm1b7KfEIj/AIj1zRDfc9d2PDTR0AAMA2hgqOtfijWqOybDKaExzj6pVp". + "zWyYG04zdGn5vByohVC924ou7NSm3X7iER7hER55r/P3w9jw6NgAAADwp+SCjPX442oFR5URWeaY5pKPsmNpmI+SnctN5zKRVnR7t". + "Wm1nwKP8AiP8MiKznM3NqzrAAAANic4zuf1+ONaBce576dQZAhMplPepvWzYdn6vSoBCUNJSCkPaUS3V5tm+4lHeIRHeORS97U9b2". + "x4RAcAALA5wZEPRVmJP1K4ckxsPJ/H9SzjOvpuEc11INP805gtWQ6Ka0gXdmrTaD8NGTMe4REe4ZFrOs/d2HBLBwAAsJHzuV+PP6q". + "JlKqCI3ZdvaZliVGm3MiYKZm3EJuvXera0aW0T5tG+2kKYHmER3iER2pdU8/Pc/+0sQEAAGALec/Q9fjjSgVH358v/zFZJNXy6ukY". + "uFQqREZBK7q0U5tm+4lHeIRHeOSqLnnuxoa7YwMAAMAWzvF8M/64THDEOB+xEsYIJlV7d5R1tdNGHsMnlvW2I63opirrj7Zptp86H". + "uERHuGRS92X9ryx4cGxAQAAYBv5mNi1+OP6HhzDMbEVad5JrKoxrdbfzlFa155urzYt9lPgER7hER658bt47saGVR0AAMA28ikqj8". + "QfVQVH3705ceU1KEm5qmM+0y7N8crwOqY5a5Ja0sWd2jTaTykmHuERHuGRS52/H8aGuzoAAIBtxCGIWok/riU4Yl8EZVOwEpSUG9X". + "62XmRS1w+oV5z24RurzaN9tO0QR6P8AiP8MgbnedubLitAwAA2EqfExo34o+LBMevX7+6b9/+KkFItYZlmI0tP1XBS3UE3LhNeju6". + "vdq02k8dj/AIj/DIhW48W8NzNzbcHBsAAAC2MGypsRJ//P7n9/J/yOFwGO6fTie9BgAAPgvrVAAAwFZuzpgcj8fh+jQGHGm6AQAAs". + "DcmUgAAwFYezFeEfwUYAAoCUXB0RZrTAAAAAElFTkSuQmCC"; + header("Content-type: image/png"); + echo base64_decode($sImg); + exit; + } + + public function getPngLogo() + { + $sImg = "iVBORw0KGgoAAAANSUhEUgAAADMAAAA0CAYAAAAnpACSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAE". + "IxJREFUeNq8Wgl4VNXZfu+dLZkkk5BA9kACYQlB2aIga6myuIEtFX+kLW1BJVT/akVrRds+rVqRX2lLRSsal5/nUaCgtmhi8BeaUh". + "Al7EYTIWyGQPZlMsnM3Lnn/865dzJ3biaLVnsfDpk59yzf++3fOSMxxvANPlZqUdQs1FRqXmq+Ac7NpbaI2jxqQ6nZqDVR+z9qr1H". + "71DxB+nfBPHYYSHUCK8fATl+HUZtK7Wpqo1SGeZ0BQCEYFolQETSrhDJ6d4rax9Q+pFa18SQ8HX6aHAcszUUS9T3U0IU1710ASqid". + "dwNuBciMARbSDjcQtDQnnnj7HNYuGvY1gqHnW9RWBBi+f7kT+LwVKG8AjlDj38+0AR1EiJ1kk0XEZFAbO4gQJwOj44F0+m6TsYvWK". + "KKWQOQUvVwFPHCAxNBlZDs1psk30wXsv4XWi8VvqefXXwcYWg6FRPy8racBzsXjjQxtXim4sra5bKCG6X3QCLOR4lxBwGakS1g+Ch". + "hORN5FcttWpSumpCunZADEH5L2iATa71bAaUUW9XzxVcEs4yCq2zD9qaMML1QQXQGdaMmwYW8PM41RQxwvmgu0+yU8Qap7uUMbN59". + "UykUKXF4P0J5hgD4gi5qTjuW6DQkDHehDfMNvLnbgvp/vV7GdpKEGdA5aTMRiAIAQDj6HJHR7rgyHBc+T/a16jaQzNFbYB0FDXa0H". + "C0a+QSrrD82J1qj3G73NQJ6buTT+eppdf+cehuauCCCCLDeDkcwAWM8xjA+T8JcKxp3FKu4oFGLUOZJEpyJNIqKfpP4F/kBI9bLIW". + "UxIErPLvozNFLb5sOmRgwwbj6kaMbIUrjJMJzIIRooAUOpNzwzdAcMX+hfvlFC6UEaCQ8K0N4FGrzbVQuM+InuZNBjruOcLzpL7Ab". + "LSr2LT0lIVG8tpBZnpxDOtwfgX4X2snz5z4y8swaYRfWM2+fhkaS/3gotyqE/RVGnrAgHkz6daQ0D6A8Mlsvm24gDerSYgNhaZiP4". + "avvq4giFCgkdJzZa+MAv442zCQxby9hmgK4C7c+MxZCBgZtJam24tVvBmlS4RhoERaH6nRhpvkg4FKfipKXrj32nPjy+p+NsZ9d4W". + "L16noPvTu/OBuSSt/z1BaUCNoPN2c7phfhJoqbLfk1qVconwEUw3DEm3L1Xq3W0x9Ix0TDLnHTpwzZ5W5MsYP1gCqTSsxN5jFK+KT". + "gbweiW1ChXzhksoXmh7lkx11Vvz8fxsCsaXOsVKI/sD84t3z6pYu5fkaZdCXJUkLSbQd56aWCQz5ZLJ57Juwn3csFV9jaDDCeoEfX". + "+owIbceGmT3qseqmOri44oWjam8vmWoMt4iYJk/Pb5WPdpi/h+vC8wszwKHrpzt08zRE4Ql4LEwqL39httGJckD8in8yleUhs7sfV". + "sG8MFN0PJ2QB2nAp0A/RrXmzrU+VK2YOTrWlXJEmr7y2w4C0ac90wGQ8UWPmwe1+pCCg/GmvZnO7EOovmPZ19gSn8w2E/LraomlRU". + "g6fSmc0lMi1NRopTmjCAeB+UFN80YfQgiUeGoSvzLXMrm9nsxw76sOWYQvmbirxEy3i3j5Vtr1Jqbx1lXbBhtq3wd9Nsi2JteIfmP". + "Per/b53HCKuWZafa2dYuduLD74XtYHo2UKdDeY4c2t1K9s2qsgj7E8I3Kw11AZFEYdXRlOKIZEp4tzsHT4Rdny6vrtINdq8DA76nE". + "BjaygtSaIi4Hu5FhSfU9FFBs6Xeusm+xKyka1PH/LjUJ2KN25w8PlLlhd3bR8WL2Goy4qV4yxxtxd72/laL893pNK0R4/Vq6t/VOL". + "F0Ysqdi6OwndyLb+i/t+ZwXxw127vnBdIMkJXI5kAETwxRcZHy5x8Y/L+8NyyywdKNZBNEfm2kTJON6nYVulHTryMKekyTjWrpGYS". + "8pOtKK9jcJPX4uBHJkhYP8M2nta4Z8Nh/4r9NQG8OM+BeIf0Z+qjZAluPceglBJ5LV62nIeIHxZ3IaDncwUZRMtSJ1dBXn74g2AyP". + "H72Re5LHtS2q707bNLtFRNstGnUe/RtAe96eJ8PWS4Z01IlJJIEslwWzsEMPWequ39P16Wq5gAmJVuQ6LTgIAFqpkienyhhIsWRZW". + "Oskzv87FD28x1IiqHsOd+GkYNkwYxOkmJFYwDnyda2fKrgXLMalkJxs65cGUMZtHw9fS0J2sxtB2oDqG0OaFLpLcOhtaani9WOBrs". + "mEEH5SZoRE5ApRNiHfHOeBA6mdOTpOVH/omGbHz/Q9Wqak+HaDF5sSeRAJMTSmLdPKeWLcq3/s+E6x5of7PTg4fqApgnBPCyo7rJJ". + "9fkQkvLm4z48OSuqkIORdYBPFx33adT2E6XzNS92LLhgLXmnd6sV7D6naA6k3IsrX2xHXlE7xtDfJX/zTP/7aeWVtddEbeK2aJd5c". + "cZQ5w5QUAzgRL1wZe9clWKBhTNS1uOZVU9tJC2ARgzUtNZrn/hBWrWQawOnLLexk2FnpU+P9KrWVL0xHSB9jqINsuPlcP9O72Ta6I". + "GrHXz28rLzCmW8ZOjkEWrIS23/xIuFW9txsFYpXJpnX9alcAdBCkBuKI8YMzpRrFeV5ZIwhNRMeB/VkD2YswlVDX0moLXNCg5fFgy". + "5lq805RSpV1eXakozQh5MW4QhJ0HmBsonng9iibNrHo6e5E4S+4l6xRDhma4aDH85Is4xttwx3i4pKhMSaupUcdktInGHhazYaWEh". + "5jHdylUWYm7QWQXfiX6GDy8KrZjFt5q274ISmsQMC+iDxV/i2NQ0UTy9T3Pag2AoNqDdKzbJqyHCLrUEQioRlC6BO3rJL9IVeuzbK". + "rzYd8GHzFgJmXGCEVHcEfkUfT+oBimo4RIS/dDX1hi274Koz/K5Axj+aYMSLo1IyRZNLEgT/uKk8e2JOiVY3ow7SfrPWITii/ClkA". + "pZtXHKt4dZyVMBu075hI3fMsqeQK6X1C8oDUOKFFbMRfBMNKShQ0xwceoyq5uVUKTv45mcIsB8ZOzjbjR4znW+lajmQUAyJQYEMI3". + "AUHfxmvfdAU5ffLQMa7SkxQyiodFDYDyqyWP1TxN/39wpbIY7R8R+wYmQ+phIxEhESZJTEHnW+CrZKWvSJuY3dhhUwpjpUN+0DMGI". + "E7F2SbzxikyABaU66bNGJZwRPQrSCBWqTm9rl+CIg+9gc3sD4VxgekWJUJYbbZMQL7JoLQ8KPpfd3bXu0MpGv67v4SUCp2/BCB6ks". + "WtyqlW84XbmJ5A6eXNLT3t1G5HCj6UkYwkSQdXoq0870pA5GCWaK7MaiFCHsO4Jg0klXJonazKudY4MftONLhflXNccqfUb0iCdEi". + "L427kOpMeJYHuwneyCM2bEIC2UT820pdPcubsqO00luYEh3bWP2rPaoC82jSMqB+PmXuVMAzOkMSaVI0/GOWrXLLjZCGZ6lk2YTks". + "Xw1kuGWbkHmcbw9oZMVydVq/bx30f6bWdZwxM0EhgZleQO7/YpIiz25DxM5PNs8jaRovEOwThPv5/3XDOpUAf0Z+4Oz5VFEgvw7Cd". + "iHYNQsbjqgiI32+I1Dz4UeBcPT0Gs7MdfMyr1w53YA595mVEdVNASJWeG3dUdA7gnEANxa4wV60iMVqg6+CSqbwy2TpLGxDpiEjrv". + "zpD6Pwhs29QNOv/1t5q0nmeoAU0I3GRY1g3LwF3XhXLpbL4klv1pMVS8kiAp2TYxHYFGfZC8oDLNvyjLfycofusTYrgBGAoxTU3nq". + "w5plYO5vDkdLsehCTzyZwYzA147BBbjxgjDpzH8BsLfD5miBX/PTMOIxKtGE2fx6fakRpneYberW/wqJeaPAGUVXfiDIWBRfkxmDb". + "UMZyEt+mON5vQyYshrviqGgIhzEENnTWHqZehwCKveGWKoO0MB1PGCXGS3/fwRU14eEuLt5BbFnrZ404kWTPs55aMc4LaOPrcoo8r". + "XfxGY+WDM1y42OrDsYteECjUk/smIHzfNa8dcaP0kw5DVduLvZj/Gg2aNGdOjlDjUr7oZ8mxFszKtqOkwoNgmDZG7/GpNsRoLqPRD". + "GZLeTsWXxnbvPGA+4nPyYhvGBklJMklQCUvPr7QiaM1XRgcQw6EjGXr7ckjaNr9JVWdhT/ZWq/t91VvImhabJSM8WnCBMqs+sHR2n". + "uuiXu85AQVdxZTZUa6MGuYgxP4qtn4+fPI2/XYdqwdflKNFkocm1u9WDIhFh2Ur2TGyGij6Gwho+FG/8xNSYXkhje9Wu7Gqh31+jF". + "vX1Ge9X3MQPZ3x4w4Ks/lYl6dBouz12dmRz3u4pt7TekIcW1iukB+JOKC5BaPX/B2B7RaovGmPCc2Lx7CjYnfnUzmHpxaweEa79Sf". + "72rEP6o6Q0cprD+6+5Aa0baiIE4cQRlPZ87EOeR/fndczMxXPmwVV1lBjsmkBukihcN8vYWv91RupN1jKY7MaqE0o5pc9p7TnaRuX". + "uw82aHZRlCVVaPn6hFA+pYKacyEoVEYM0QwusR81PTcfTPjZ76yv8WwicaV1TvqqG6hOtvSvxZwT+4iPa5u8uOzOj/aOgIhB8TVSt". + "bT9+50KZzT3QeO/YmMnFXhVBe3ij/xGGM+neGlkbK2uBG/L2nQ6lvzxVAk8RuPXoMMUAz1u3lymJs1EGrsY4aBkhR+tyOCG9VWOdH". + "YuzqLskspjzsx88F5gKZd//C1gxDH3XBADVV0YOFltKqGru/CxhjuMSVT9A5O6C7F1fCC0Fh4ITzCh0V+vRX9VyoH8mAQSKRbgJJY". + "u/yHjd9NoRw9SDALJ5gZozALVw9jqmGu9LqBm3I/4x1ON1NgcJyGdflDdK2aOQh5yfb3j9d61/d3pfHsD69y4Z7rEvkhsYGDhvMAY". + "3ltrtG736H3iyUjk4xSCkoNxvMIA1hfAFdkReGZRcnCxr1KeKSIBOYUqdt31t+cjGtyozUJhXE/Aje7uWzipvlkxaiW5kOTsLXR82". + "SGCOfZxnuFWbyEeKS6wbeTHyoO5LLpLdLHNcWFw5Cf6dAlFEG/zX2RiOhxCYWBXVIhHAgv6fb8LBtpLutTlXW+x/nhiBLAgMDw5+n". + "4KPnRsp/lYPrIGHHvFvn2DF/t2m+gjVxwOuWGx9fmYmyK49mqOt8veiO4v0uWx0iU979LElo+fZAmIfVrJraPGorvN2loNPbdNxx5". + "KY4n/3nac3dfxA7kxugZCoJLX1qWgUdvTtESTkWNcIJi0vkw2zGU0oz19GbmrEXRwPxgWiL23puDnCT7w6WfuX/Z7y3Ql/i5Cc+vC". + "mta/Mt+vOUCdp9s1wKaBaHAJvXyK4w+k0jDxIBWoU7KceLF72diYmb0Xu61XtjftC070U6GLyMlzhqGe3Sy/d/6VdMqX4A9V/xJO/". + "60pwF7PneD+fXfYMkSvvTDdBA0dSKp1E9IGsunJCIuSv7liwean+QXWLQfvikw4oiZ2l2kCetP13vx+qEWvHygUTvQ0AnrBiYhdDF". + "rVCk9/0uItWJpQYIAcUV6NI/qfxTS+FdTJT+rs1m+eTDBx6ar353tXnXpR2c94O3QeQ9qWv3ooBjVTIkmJ8ZG4FxUzbqiLUgmABMy". + "ojBleAymZDsxJNZayu9wqO3+bfHl1iQq5PgtwX8ajPFJ039IN4faWP36Llb/WaOs5yc+PcNt1a/6+I94PuBnCF8HAf8vwADS7GaT0". + "D4fMwAAAABJRU5ErkJggg=="; + header("Content-type: image/png"); + echo base64_decode($sImg); + exit; + } + + public function getGifBg() + { + $sImg = "R0lGODlhCgAyANUAANHo+pfK85rM8/X6/vb6/v///5jL85bJ8+Hv/KbS9dzt+87m+qTR9fH4/er1/b7e+MTh+P3+/63V9u/3/". + "dfq+rnc97fa96DP9Nns+53N9LLY9tTp+sHg+Mzl+cfi+OPx/Pv9/7DX9p/O9Oz2/bTZ9uXy/KLQ9Pj7/ujz/bzd9/7+//r8//P5/s". + "nj+ZvM897u+6nT9avU9qvU9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAKADIAAAb". + "FwINwSAwYj0iDcskUOJ9Ql3RKzVivWJF2y714v2CTeExmmM/ohHrNhrnf8Jh8PpdJ7vh8aM/va/6AgSSDhIUWh4iJFYuMjSmPkJEP". + "k5SVHJeYmRCbnJ0en6ChLaOkpR2nqKkLq6ytAK+wsRuztLUUt7i5GLu8vQq/wMEvw8TFCMfIyR/LzM0lz9DRKNPU1Q7X2Nkj29zdE". + "9/g4Q3j5OUs5+jpA+vs7QTv8PEn8/T1K/f4+SD7/P0R/wADqhhIsGCBgwgTBgEAOw=="; + header("Content-type: image/Gif"); + echo base64_decode($sImg); + exit; + } + + public function getGifDe() + { + $sImg = "R0lGODlhEgANAIQZAAAAABAFBhEGBhIGBhQHBxUHCCYNDZQqH5QrI9c4M+M4M9w9M+g/MuNDM/BFM99tI+t3H+CyDerIB+zIB". + "uzKBurLCPfcAPfgAPjlAP///////////////////////////ywAAAAAEgANAAAFVaARCGRpmoExAGzrvsBAwHRLFHVdIEfv/8ADou". + "EoGo9IR2PBaDqfUMYioahar1hF4gHper9gyKOCKZvPaExFcmm73/CLZGKp2+94yyRCmfj/gIAUESEAOw=="; + header("Content-type: image/Gif"); + echo base64_decode($sImg); + exit; + } + + public function getGifEn() + { + $sImg = "R0lGODlhEgANAOfRANzd6P9LQP7//93e6ba32v8HB/J4ef//+/85Of8fFVddwP8aFq+13P8aFPr////f3f8XE/n//62s3fQuL". + "AIDj6ys3uHZ5P8uLOjp793f6dbX6uvBxsyasurCx/9fXcadtS88r+Da5EZHr+Hi7A0NlUVGqcjR9MKaunh5x/8REQAAkv9IP/9BPn". + "h6wi4/td3c5uLl7P8PD7vO9aGSw7bM9uDh6UpLsf8hFv/f3PPx9/Dx9DFCuMDE4cHF4/sAANPU3ufp8JSDvuVocf8ODvz8+/xRTPQ". + "gG+PM0ZSWzs/R476+4ujp8v8/PurO0uPZ3//u5fQCAOPj6nFxxf8UE8rM4P/w5YGM18PH4/79/ExUuP3//4CAxqmo3KaZxv7+/Rcs". + "tO3v89XW6fS8waOj2snM7Nra7Ccon+no9v03OFJZvuK2xBEipP89Ov8dE+be4u3u8/w3OOVocv8sKv8EBOjo9+/u+Kap15SFvgwRl". + "ba327uXteHh7tvc5yo3q9XX5SQ4uU5MrtjW5qaVxvDS2f8DA+Tj6vr6/j1FtVlgvL+euvHw9v+rqe7u+XKJ1ebn7p2x7CUmnvb2+d". + "PW8P8cEc/P4efn8/38/5Ws66mYx/ccGNfY5vh0d927zSUlov96ev88OgAAjmmA09rb5v+xsPF5eMnR8i0upuuAgvEyLx0rq97f6cu". + "nwEBIuO/Aw/9/fuTm6vn5+vTEyM7P5rq63BESlf+Fgv8fF8SWsOfp7+2rrvX1+La23RgmqLe43PPV2vdydhcnqIWQ2BEgoube4wAS". + "n82atOHj6uTT2f97etKjuf9dWsSduZyb08fJ4fn5+/z8/f+ZAP///////////////////////////////////////////////////". + "/////////////////////////////////////////////////////////////////////////////////////////////////////". + "///////////////////////////////////ywAAAAAEgANAAAI/gB/YHCkig+AAVGGuSmUAYCoEbpgGXsFY8kWM7T6JEI14QMIEpB". + "aVNIBRBOSOtEqmAK27EabYqk6jYl2hpksKnjSmIgmqdEqWw2ShSITrZQCFXb8IDpkRdGBCLGmpBDj4ECOYKyyXHFyyoCQX8hceShQ". + "QFktT5viGCDV5AgUaHDjypXrI9exIgHYwEHA5MIcQnJYIEDzKcCKVi+63BE0CMeTUTGGLKrywBemIDMCJVnz5ZIWATI4LYCghoaAa". + "I/+EGNAqQQXQ4xQuDiRYBKHHVLoWJIAaFaNZkSU2KAgTI+RTLd4gRKxC0uZPQPAvAnTiwCPEB02WOiRh4CGZ15wAgUEADs="; + header("Content-type: image/Gif"); + echo base64_decode($sImg); + exit; + } +} + +/** + * Class requTranslations + */ +class requTranslations +{ + /** + * @return array + */ + public function getTranslations() + { + return array( + 'de' => array( + 'RequCheck' => 'Mindestanforderungsprüfung', + 'ExecNotice' => 'Führen Sie diese Prüfung immer aus dem Stammverzeichnis '. + 'Ihres Shops aus. Nur dann können die Prüfungen erfolgreich durchgeführt werden.', + 'RequSucc' => 'Bedingung erfüllt', + 'RequNotSucc' => 'Bedingung nicht erfüllt', + 'RequUnknown' => 'Bedingung unklar, siehe Hinweise im Hilfetext', + 'RequNotCheckable' => 'Bedingung nicht prüfbar', + 'hasMinPhpVersion' => 'mindestens PHP Version %1$s', + 'hasMinPhpVersion_DESC' => '
Das Modul erfordert eine PHP-Version die nicht kleiner ist '. + 'als %1$s.
'. + '
Die passende PHP-Version '. + 'ist auf Ihrem Server aktiv.
'. + '
Das Modul kann in '. + 'PHP-Versionen kleiner als %1$s nicht ausgeführt werden. Fragen Sie Ihren Serverprovider '. + 'nach der Anpassung der PHP-Installation oder kontaktieren Sie uns für eine alternative '. + 'Modulversion.
'. + '
Ü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.
', + 'hasMaxPhpVersion' => 'maximal PHP Version %1$s', + 'hasMaxPhpVersion_DESC' => '
Das Modul erfordert eine PHP-Version die nicht höher ist '. + 'als %1$s.
'. + '
Die passende PHP-Version '. + 'ist auf Ihrem Server aktiv.
'. + '
Das Modul kann in '. + 'PHP-Versionen höher als %1$s nicht ausgeführt werden. Fragen Sie Ihren Serverprovider '. + 'nach der Anpassung der PHP-Installation oder kontaktieren Sie uns für eine alternative '. + 'Modulversion.
'. + '
Ü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.
', + 'hasFromToPhpVersion' => 'Server verwendet PHP Version zwischen %1$s und %2$s', + 'hasFromToPhpVersion_DESC' => '
Das Modul erfordert eine PHP-Version zwischen %1$s und %2$s.
'. + '
Die passende PHP-Version '. + 'ist auf Ihrem Server aktiv.
'. + '
Das Modul kann '. + 'außerhalb der PHP-Versionen nicht ausgeführt werden. Fragen Sie Ihren Serverprovider '. + 'nach der Anpassung der PHP-Installation oder kontaktieren Sie uns für eine alternative '. + 'Modulversion.
'. + '
Ü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.
', + 'hasExtension' => '%1$s-Erweiterung verfügbar', + 'hasExtension_DESC' => '
Das Modul erfordert die %1$s-Servererweiterung.
'. + '
Die %1$s-Erweiterung ist '. + 'auf Ihrem Server vorhanden.
'. + '
Das Modul kann ohne die '. + '%1$s-Erweiterung nicht ausgeführt werden. Fragen Sie bei Ihrem Serverprovider nach der '. + 'Installation dieser Erweiterung.
'. + '
Ü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.
', + '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 '. + 'passender Version installiert.
'. + '
Das Modul kann in dieser '. + 'Version der Shopsoftware nicht installiert werden. Fragen Sie nach einer früheren '. + 'Modulversion, die für Ihre Shopversion getestet wurde.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMaxShopVersion' => 'maximal Shop Version %1$s', + 'hasMaxShopVersion_DESC' => '
Das Modul ist bis zur Shopversion %1$s freigegeben.
'. + '
Die Shopsoftware ist in '. + 'passender Version installiert.
'. + '
Wir können nicht '. + 'garantieren, dass das Modul in Ihrer Shopversion funktioniert. Fragen Sie nach einer aktuelleren '. + 'Modulversion, die für Ihren Shop passt.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMinModCfgVersion' => '%2$s (ModCfg-Eintrag "%1$s") mindestens in Version %3$s', + 'hasMinModCfgVersion_DESC' => '
Das Modul benötigt die Zusatzsoftware "%2$s" mindestens in '. + 'Version %3$s
'. + '
Die Software ist in '. + 'passender Version installiert.
'. + '
Die Zusatzsoftware ist '. + 'möglicherweise gar nicht oder in falscher Version installiert. Bitte installieren Sie die '. + 'Zusatzsoftware, bevor Sie diese Installation fortsetzen.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'hasMaxModCfgVersion' => '%2$s (ModCfg-Eintrag "%1$s") maximal in Version %3$s', + 'hasMaxModCfgVersion_DESC' => '
Das Modul benötigt die Zusatzsoftware "%2$s" höchstens '. + 'in Version %3$s
'. + '
Die Software ist in '. + 'passender Version installiert.
'. + '
Die Zusatzsoftware ist '. + 'möglicherweise gar nicht oder in falscher Version installiert. Bitte installieren Sie die '. + 'Zusatzsoftware, bevor Sie diese Installation fortsetzen.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'requireNewLicence' => 'bisheriger Lizenzschlüssel kann verwendet werden', + 'requireNewLicence_DESC' => '
Diese Prüfung versucht zu ermitteln, ob Sie für den '. + 'Einsatz dieses Moduls einen aktuellen Lizenzschlüssel benötigen:
'. + '
Sie haben für dieses '. + 'Modul einen Lizenzschlüssel hinterlegt, der wahrscheinlich auch für die neue '. + 'Modulversion geeignet ist.
'. + '
Sie benötigen '. + 'für dieses Modul wahrscheinlich einen neuen Lizenzschlüssel. Haben Sie diesen schon '. + 'vorliegen, führen Sie die Installation aus und tragen den Lizenzschlüssel dann im '. + 'Adminbereich Ihres Shops ein. Ansonsten können Sie den Lizenzschlüssel in unserem Shop '. + 'www.oxidmodule.com erwerben oder '. + 'sich ebenfalls im Adminbereich Ihres Shops einen kostenfreien Test-Lizenzschlüssel '. + 'erstellen.
'. + '
Für Details wenden Sie sich bitte an '. + 'buchhaltung@shopmodule.com.
', + 'hasModCfg' => 'Modul-'. + 'Connector installiert', + 'hasModCfg_DESC' => '
Das Modul erfordert zwingend den D3 Modul-Connector.
'. + '
Der Modul-Connector ist '. + 'installiert.
'. + '
Das Modul kann ohne den Modul-'. + 'Connector nicht ausgeführt werden. Bitte laden Sie sich diesen kostenfrei aus unserem Shop '. + 'unter www.oxidmodule.com/'. + 'connector/ und installieren diesen vorab.
'. + '
Bei Fragen kontaktieren Sie uns bitte über '. + 'support@shopmodule.com.
', + 'isShopEdition' => 'ist Shopedition %1$s', + 'isShopEdition_DESC' => '
Das Modul erfordert eine dieser Shopeditionen: %1$s
'. + '
Der Shop ist in der '. + 'passenden Edition installiert.
'. + '
Das Modul kann in Ihrer '. + 'Shopedition nicht ausgeführt werden. Bitte fragen Sie nach einer Modulversion für Ihre '. + 'Shopedition.
'. + '
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 (auf passendes Zend-Installationspaket achten!)', + 'hasZendLoaderOptimizer_DESC' => '
Das Modul erfordert (je nach PHP-Version) den Zend Optimizer '. + '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 '. + 'auf Ihrem Server installiert. Es ist eine zusätzliche Erweiterungen (Zend OPcache) installiert, '. + 'die im Zusammenspiel mit dem Decoder Fehler verursachen kann.
'. + '
Das Modul kann ohne den '. + 'passenden Decoder nicht ausgeführt werden. Fragen Sie Ihren Serverprovider nach der '. + 'Installation des passenden Zend-Decoders.
'. + '
Ü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.
', + '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 '. + 'passenden Decoder nicht ausgeführt werden. Fragen Sie Ihren Serverprovider nach der '. + 'Installation des ionCube Loaders.
'. + '
Ü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.
', + '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 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.', + 'showPhpInfo' => 'PHPinfo anzeigen', + 'dependentoffurther' => '* abhängig von ungeprüften Voraussetzungen', + 'oneandonedescription' => '** geprüft wurde das Ausführungsverzeichnis, '. + 'providerabhängig müssen Unterverzeichnisse separat geprüft werden (z.B. bei 1&1)', + 'or' => ' oder ', + 'toggleswitch' => 'Klick für Details zur Prüfung', + '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', + 'ExecNotice' => 'Execute this check script in the root directory of your shop. In this '. + 'case only checks can executed succesfully.', + 'RequSucc' => 'condition is fulfilled', + 'RequNotSucc' => 'condition isn\'t fulfilled', + 'RequUnknown' => 'condition unclear, see notes in help text', + 'RequNotCheckable' => 'condition isn\'t checkable', + 'hasMinPhpVersion' => 'at least PHP version %1$s', + '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' => '
    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'=> '
    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' => '
    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' => '
    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.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + '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 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 '. + 'support@shopmodule.com.
    ', + '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.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + '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.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'requireNewLicence' => 'former licence key can be used', + '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.
    '. + '
    If you have any questions, please contact us at '. + 'buchhaltung@shopmodule.com.
    ', + 'hasModCfg' => 'Module '. + 'Connector installed', + '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.
    '. + '
    If you have any questions, please contact us at '. + 'support@shopmodule.com.
    ', + 'isShopEdition' => 'shop edition is %1$s', + '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.
    '. + '
    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 (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 or orange marked '. + 'conditions.

    ', + 'deleteFile1' => 'Please delete this file after use on your server! Click here, to delete this file.', + 'showPhpInfo' => 'show PHPinfo', + 'dependentoffurther' => '* dependent of further unchecked conditions', + 'oneandonedescription' => '** this check use execution directory only, provider dependend '. + 'subdirectories have to check separately (e.g. at 1&1)', + 'or' => ' or ', + '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.
  • ', + ), + ); + } +} + +/** + * Class requRemote + */ +class requRemote +{ + public $blUseRemote = true; + + public $oModuleData; + + /** + * @param $sModId + * @param $sModVersion + * @param $sShopEdition + * + * @return bool|array + */ + public function getShopEdition($sModId, $sModVersion, $sShopEdition) + { + $sUrl = "moduleversion/"; + $sUrl .= 'modid/' . urlencode($sModId) . '/'; + $sUrl .= 'forcemodversion/' . urlencode($sModVersion) . '/'; + $sUrl .= 'edition/' . urlencode($sShopEdition) . '/'; + + /** @var stdClass $oModuleData */ + $oModuleData = $this->_getRemoteServerData($sUrl); + + if ($oModuleData->status == 'OK' && isset($oModuleData->moduleversion->compatible_release)) { + return explode(',', $oModuleData->moduleversion->compatible_release->shopedition); + } + + return false; + } + + /** + * @param $sModId + * @param $sModVersion + * @param $sShopEdition + * + * @return bool|string + */ + public function getMinShopVersion($sModId, $sModVersion, $sShopEdition) + { + $sUrl = "moduleversion/"; + $sUrl .= 'modid/' . urlencode($sModId) . '/'; + $sUrl .= 'forcemodversion/' . urlencode($sModVersion) . '/'; + $sUrl .= 'edition/' . urlencode($sShopEdition) . '/'; + + /** @var stdClass $oModuleData */ + $oModuleData = $this->_getRemoteServerData($sUrl); + + if ($oModuleData->status == 'OK' && isset($oModuleData->moduleversion->compatible_release)) { + return $this->shortenVersion($oModuleData->moduleversion->compatible_release->fromshopversion); + } + + return false; + } + + /** + * @param $sModId + * @param $sModVersion + * @param $sShopEdition + * + * @return bool|string + */ + public function getMaxShopVersion($sModId, $sModVersion, $sShopEdition) + { + $sUrl = "moduleversion/"; + $sUrl .= 'modid/' . urlencode($sModId) . '/'; + $sUrl .= 'forcemodversion/' . urlencode($sModVersion) . '/'; + $sUrl .= 'edition/' . urlencode($sShopEdition) . '/'; + + /** @var stdClass $oModuleData */ + $oModuleData = $this->_getRemoteServerData($sUrl); + + if ($oModuleData->status == 'OK' && isset($oModuleData->moduleversion->compatible_release)) { + return $this->shortenVersion($oModuleData->moduleversion->compatible_release->toshopversion); + } + + return false; + } + + /** + * @param $sUrl + * + * @return stdClass + */ + protected function _getRemoteServerData($sUrl) + { + if (isset($this->oModuleData[$sUrl])) { + return $this->oModuleData[$sUrl]; + } + + $oFailureData = new stdClass(); + $oFailureData->status = 'NOK'; + + if (false === $this->blUseRemote) { + return $oFailureData; + } + $sHost = "http://update.oxidmodule.com"; + $sData = $this->curlConnect($sHost . '/serialized/' . $sUrl); + $oData = unserialize($sData); + + if (false == $oData) { + return $oFailureData; + } + $this->oModuleData[$sUrl] = $oData; + + return $this->oModuleData[$sUrl]; + } + + /** + * @param $sFilePath + * + * @return string + */ + public function curlConnect($sFilePath) + { + $sContent = ''; + + if (($ch = $this->_hasCurl())) { + $sCurl_URL = preg_replace('@^((http|https)://)@', '', $sFilePath); + curl_setopt($ch, CURLOPT_URL, $sCurl_URL); + if ($_SERVER['HTTP_USER_AGENT']) { + curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); + } + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_TIMEOUT, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); + curl_setopt($ch, CURLOPT_POST, 0); + $sContent = curl_exec($ch); + } + + return $sContent; + } + + /** + * @return null|resource + */ + protected function _hasCurl() + { + if (extension_loaded('curl') + && function_exists('curl_init') + && function_exists('curl_exec') + ) { + return curl_init(); + } + + return null; + } + + /** + * @param $sVersion + * + * @return string + */ + public function shortenVersion($sVersion) + { + $aVersion = explode('.', $sVersion); + + unset($aVersion[3]); + + return implode('.', $aVersion); + } +} + +/** + * Class requTests + * contains test functions + */ +class requTests +{ + public $oBase; + public $oDb; + public $oConfig; + public $blGlobalResult = false; + + /** + * @param requCheck $oCheckInstance + * @param requConfig $oConfig + * @param $oDb + * @param requRemote $oRemote + */ + public function __construct(requCheck $oCheckInstance, requConfig $oConfig, $oDb, requRemote $oRemote) + { + $this->oBase = $oCheckInstance; + $this->oConfig = $oConfig; + $this->oDb = $oDb; + $this->oRemote = $oRemote; + } + + /** + * @return requCheck + */ + public function getBase() + { + return $this->oBase; + } + + public function getDb() + { + return $this->oDb; + } + + /** + * @return string + */ + public function getBasePath() + { + return $this->getBase()->getBasePath(); + } + + /** + * @param bool $blResult + */ + public function setGlobalResult($blResult) + { + $this->getBase()->blGlobalResult = $blResult; + } + + /** + * @param $sMethodName + * @param null $aArguments + * + * @return array + */ + public function checkInSubDirs($sMethodName, $aArguments = null) + { + return $this->getBase()->checkInSubDirs($sMethodName, $aArguments); + } + + /** + * @param $aConfiguration + * + * @return array + */ + public function hasMinPhpVersion(&$aConfiguration) + { + $aResult = array($this->getBasePath() => false); + + if (version_compare(phpversion(), $aConfiguration['aParams']['version'], '>=')) { + $aResult[$this->getBasePath()] = true; + } + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * + * @return array + */ + public function hasFromToPhpVersion(&$aConfiguration) + { + $aResult = array($this->getBasePath() => false); + + if ((version_compare(phpversion(), $aConfiguration['aParams']['from'], '>=')) && + (version_compare(phpversion(), $aConfiguration['aParams']['to'], '<')) + ) { + $aResult[$this->getBasePath()] = true; + } + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * + * @return array + */ + public function hasMaxPhpVersion(&$aConfiguration) + { + $aResult = array($this->getBasePath() => false); + + if (version_compare(phpversion(), $aConfiguration['aParams']['version'], '<=')) { + $aResult[$this->getBasePath()] = true; + } + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + return $aResult; + } + + /** + * @param $aConfiguration + * + * @return array + */ + public function hasExtension(&$aConfiguration) + { + $aResult = array($this->getBasePath() => false); + + if (extension_loaded($aConfiguration['aParams']['type'])) { + $aResult[$this->getBasePath()] = true; + } + + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__, $aConfiguration['aParams'])); + + 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 + * + * @return bool + */ + public function hasMinShopVersion(&$aConfiguration) + { + if ($this->getDb()) { + $sField = 'oxversion'; + $sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 ORDER BY oxversion ASC LIMIT 1"; + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + + $oEditionResult = $this->_getShopEdition(); + $sEdition = strtoupper($oEditionResult->oxedition); + + $mMinRemoteVersion = $this->oRemote->getMinShopVersion( + $this->oConfig->sModId, + $this->oConfig->sModVersion, + $sEdition + ); + + if ($mMinRemoteVersion) { + $aConfiguration['aParams'] = array('version' => $mMinRemoteVersion); + } else { + $aConfiguration['aParams'] = array('version' => $aConfiguration['aParams'][$sEdition]); + } + + if (version_compare($oResult->oxversion, $aConfiguration['aParams']['version'], '>=')) { + return true; + } + } + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool + */ + public function hasMaxShopVersion(&$aConfiguration) + { + if ($this->getDb()) { + $sField = 'oxversion'; + $sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 ORDER BY oxversion DESC LIMIT 1"; + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + + $oEditionResult = $this->_getShopEdition(); + $sEdition = strtoupper($oEditionResult->oxedition); + + $mMaxRemoteVersion = $this->oRemote->getMaxShopVersion( + $this->oConfig->sModId, + $this->oConfig->sModVersion, + $sEdition + ); + + if ($mMaxRemoteVersion) { + $aConfiguration['aParams'] = array('version' => $mMaxRemoteVersion); + } else { + $aConfiguration['aParams'] = array('version' => $aConfiguration['aParams'][$sEdition]); + } + + if (version_compare($oResult->oxversion, $aConfiguration['aParams']['version'], '<=')) { + return true; + } + } + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool + */ + public function isShopEdition(&$aConfiguration) + { + if ($this->getDb()) { + $oResult = $this->_getShopEdition(); + + $mRemoteShopEditions = $this->oRemote->getShopEdition( + $this->oConfig->sModId, + $this->oConfig->sModVersion, + $oResult->oxedition + ); + + if (is_array($mRemoteShopEditions)) { + $aConfiguration['aParams'][0] = $mRemoteShopEditions; + } + + if (in_array(strtoupper($oResult->oxedition), $aConfiguration['aParams'][0])) { + $aConfiguration['aParams'][0] = strtoupper($oResult->oxedition); + return true; + } + } + + return false; + } + + /** + * @return bool|object|stdClass + */ + protected function _getShopEdition() + { + if ($this->getDb()) { + $sField = 'oxedition'; + $sSelect = "SELECT " . $sField . " FROM oxshops WHERE 1 LIMIT 1"; + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + + return $oResult; + } + + return false; + } + + /** + * @return bool + */ + public function hasModCfg() + { + if ($this->getDb()) { + $sModId = 'd3modcfg_lib'; + $sSelect = "SELECT 1 as result FROM d3_cfg_mod WHERE oxmodid = '" . $sModId . "' LIMIT 1"; + $rResult = mysqli_query($this->getDb(), $sSelect); + if (is_object($rResult)) { + $oResult = mysqli_fetch_object($rResult); + + if ((bool) $oResult->result == true) { + return true; + } + } + } + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool|int + */ + public function hasMinModCfgVersion(&$aConfiguration) + { + if ($this->getDb()) { + $sSelect = "SELECT IF ". + "(INET_ATON(oxversion) >= INET_ATON('" . $aConfiguration['aParams']['version'] . "'), 1, 0) AS result ". + "FROM d3_cfg_mod ". + "WHERE + oxmodid = '" . $aConfiguration['aParams']['id'] . "' AND + oxversion != 'basic' + ORDER BY oxversion ASC LIMIT 1"; + + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + $blReturn = (bool)$oResult->result; + + if (false == $blReturn) { + $this->setGlobalResult(false); + } + + return $blReturn; + } + + $this->setGlobalResult(false); + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool|int + */ + public function hasMaxModCfgVersion(&$aConfiguration) + { + if ($this->getDb()) { + $sSelect = "SELECT + IF (INET_ATON(oxversion) <= INET_ATON('" . $aConfiguration['aParams']['version'] . "'), 1, 0) AS result + FROM d3_cfg_mod WHERE + oxmodid = '" . $aConfiguration['aParams']['id'] . "' AND + oxversion != 'basic' + ORDER BY oxversion ASC LIMIT 1"; + + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + $blResult = (bool)$oResult->result; + + if (false == $blResult) { + $this->setGlobalResult(false); + } + + return $blResult; + } + + $this->setGlobalResult(false); + + return false; + } + + /** + * @param $aConfiguration + * + * @return bool + */ + public function requireNewLicence(&$aConfiguration) + { + if ($this->getDb()) { + $sSelect = "SELECT + oxversion as oxversion + FROM d3_cfg_mod WHERE + oxmodid = '" . $this->oConfig->sModId . "' + ORDER BY oxversion ASC LIMIT 1"; + + $rResult = mysqli_query($this->getDb(), $sSelect); + $oResult = mysqli_fetch_object($rResult); + + if (isset($oResult) + && is_object($oResult) + && isset($oResult->oxversion) + && isset($aConfiguration['aParams']['checkVersion']) + ) { + $sInstalledVersion = $this->_getConvertedVersion( + $oResult->oxversion, + $aConfiguration['aParams']['remainingDigits'] + ); + $sNewVersion = $this->_getConvertedVersion( + $this->oConfig->sModVersion, + $aConfiguration['aParams']['remainingDigits'] + ); + if (version_compare($sInstalledVersion, $sNewVersion, '>=')) { + return true; + } + } + } + + return 'notice'; + } + + /** + * cut not used version digits + * @param string $sVersion + * @param int $iRemainingDigits + * + * @return string + */ + protected function _getConvertedVersion($sVersion, $iRemainingDigits) + { + $aInstalledVersion = explode('.', $sVersion); + return implode('.', array_slice($aInstalledVersion, 0, $iRemainingDigits)); + } + + /** + * @return array + */ + 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') + )) { + if (function_exists('opcache_get_status') + && ($aOpCacheStatus = opcache_get_status()) + && $aOpCacheStatus['opcache_enabled'] + ) { + $aResult[$this->getBasePath()] = null; + } else { + $aResult[$this->getBasePath()] = true; + } + } + + if ($blCheckBasePathOnly == false) { + $aResult = array_merge($aResult, $this->checkInSubDirs(__FUNCTION__)); + } + + return $aResult; + } + + /** + * @return array + */ + public function hasIonCubeLoader(&$aConfiguration, $blCheckBasePathOnly = false) + { + $aResult = array($this->getBasePath() => false); + + if (function_exists('ioncube_loader_version')) { + $aResult[$this->getBasePath()] = true; + } + + 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; + } +} + +/** + * Class requTransformation + */ +class requTransformation +{ + public $oCheck; + + /** + * @param requCheck $oCheck + */ + public function __construct(requCheck $oCheck) + { + $this->oCheck = $oCheck; + } + + /** + * @param $aCheckList + */ + public function transformCheckList($aCheckList) + { + $this->_removeDeprecatedLibs($aCheckList['hasMinModCfgVersion']); + $this->_removeDeprecatedLibs($aCheckList['hasMaxModCfgVersion']); + + return $aCheckList; + } + + /** + * @param array $aCheck + */ + protected function _removeDeprecatedLibs(&$aCheck) + { + $blDelOldLibs = false; + $sCheckVersion = 0; + + if (is_array($aCheck)) { + $sSelect = "SELECT oxversion as result ". + "FROM d3_cfg_mod ". + "WHERE oxmodid = 'd3modcfg_lib' LIMIT 1"; + $rResult = mysqli_query($this->oCheck->getDb(), $sSelect); + + if (is_object($rResult)) { + $oResult = mysqli_fetch_object($rResult); + if ($oResult->result) { + $sCheckVersion = $oResult->result; + } + } + + foreach ($aCheck as $aModCfgCheck) { + if (isset($aModCfgCheck['aParams']['id']) && + strtolower($aModCfgCheck['aParams']['id']) == 'd3modcfg_lib' && + version_compare($sCheckVersion, '4.0.0.0', '>=') + ) { + $blDelOldLibs = true; + } + } + + reset($aCheck); + + if ($blDelOldLibs) { + $aOldLibs = array('d3install_lib', 'd3log_lib', 'd3clrtmp_lib'); + foreach ($aCheck as $sKey => $aModCfgCheck) { + if (isset($aModCfgCheck['aParams']['id']) && + in_array(strtolower($aModCfgCheck['aParams']['id']), $aOldLibs) + ) { + unset($aCheck[$sKey]); + } + } + } + } + } +} + +/** + * @param $mVar + */ +function dumpvar($mVar) +{ + echo "
    ";
    +    print_r($mVar);
    +    echo "
    "; +} + +$oRequCheck = new requcheck; +if (isset($_REQUEST['fnc']) && $_REQUEST['fnc']) { + $oRequCheck->{$_REQUEST['fnc']}(); +} else { + $oRequCheck->startCheck(); +} diff --git a/docs/Precheck/modules/d3/contenttabs/Application/Controller/Admin/d3precheckinfolder.php b/docs/Precheck/modules/d3/contenttabs/Application/Controller/Admin/d3precheckinfolder.php index a4681f8..5a01c98 100644 --- a/docs/Precheck/modules/d3/contenttabs/Application/Controller/Admin/d3precheckinfolder.php +++ b/docs/Precheck/modules/d3/contenttabs/Application/Controller/Admin/d3precheckinfolder.php @@ -1,114 +1,198 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link http://www.oxidmodule.com + */ + +date_default_timezone_set('Europe/Berlin'); + +/** + * Class d3PreCheckInFolder + */ +class d3PreCheckInFolder +{ + public $sVersion = '4.10.2'; + + /** + * @return string + */ + public function getVersion() + { + return $this->sVersion; + } + + /** + * @return bool + */ + public function hasMinPhpVersion() + { + $aArgs = func_get_args(); + + if (version_compare(phpversion(), $aArgs[0]['version'], '>=')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasMaxPhpVersion() + { + $aArgs = func_get_args(); + + if (version_compare(phpversion(), $aArgs[0]['version'], '<=')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasFromToPhpVersion() + { + $aArgs = func_get_args(); + + if ((version_compare(phpversion(), $aArgs[0]['from'], '>=')) && (version_compare( + phpversion(), + $aArgs[0]['to'], + '<' + )) + ) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasZendLoaderOptimizer() + { + 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'] + ) { + return null; + } else { + return true; + } + } + + return false; + } + + /** + * @return bool + */ + public function hasIonCubeLoader() + { + if (function_exists('ioncube_loader_version')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasExtension() + { + $aArgs = func_get_args(); + + if (extension_loaded($aArgs[0]['type'])) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasMinCurlVersion() + { + $aArgs = func_get_args(); + + $aCurlVersion = curl_version(); + return version_compare($aCurlVersion['version'], $aArgs[0]['version'], '>='); + } + + /** + * @return bool + */ + public function hasMinOpenSSLVersion() + { + $aArgs = func_get_args(); + return version_compare($this->get_openssl_version_number(true), $aArgs[0]['version'], '>='); + } + + /** + * @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 $mVar + */ +function dumpvar($mVar) +{ + echo "
    ";
    +    print_r($mVar);
    +    echo "
    "; +} + +if (!isset($_SERVER['REMOTE_ADDR']) || !isset($_SERVER['HTTP_USER_AGENT'])) { + $oPreCheck = new d3PreCheckInFolder(); + if (isset($_GET['fnc']) && $_GET['fnc']) { + $aParams = isset($_GET['params']) ? unserialize(stripslashes(urldecode($_GET['params']))) : array(); + echo serialize(call_user_func(array($oPreCheck, $_GET['fnc']), $aParams)); + } +} \ No newline at end of file diff --git a/docs/Precheck/modules/d3/contenttabs/Setup/d3precheckinfolder.php b/docs/Precheck/modules/d3/contenttabs/Setup/d3precheckinfolder.php index f40197d..5a01c98 100644 --- a/docs/Precheck/modules/d3/contenttabs/Setup/d3precheckinfolder.php +++ b/docs/Precheck/modules/d3/contenttabs/Setup/d3precheckinfolder.php @@ -1,115 +1,198 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link http://www.oxidmodule.com + */ + +date_default_timezone_set('Europe/Berlin'); + +/** + * Class d3PreCheckInFolder + */ +class d3PreCheckInFolder +{ + public $sVersion = '4.10.2'; + + /** + * @return string + */ + public function getVersion() + { + return $this->sVersion; + } + + /** + * @return bool + */ + public function hasMinPhpVersion() + { + $aArgs = func_get_args(); + + if (version_compare(phpversion(), $aArgs[0]['version'], '>=')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasMaxPhpVersion() + { + $aArgs = func_get_args(); + + if (version_compare(phpversion(), $aArgs[0]['version'], '<=')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasFromToPhpVersion() + { + $aArgs = func_get_args(); + + if ((version_compare(phpversion(), $aArgs[0]['from'], '>=')) && (version_compare( + phpversion(), + $aArgs[0]['to'], + '<' + )) + ) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasZendLoaderOptimizer() + { + 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'] + ) { + return null; + } else { + return true; + } + } + + return false; + } + + /** + * @return bool + */ + public function hasIonCubeLoader() + { + if (function_exists('ioncube_loader_version')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasExtension() + { + $aArgs = func_get_args(); + + if (extension_loaded($aArgs[0]['type'])) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasMinCurlVersion() + { + $aArgs = func_get_args(); + + $aCurlVersion = curl_version(); + return version_compare($aCurlVersion['version'], $aArgs[0]['version'], '>='); + } + + /** + * @return bool + */ + public function hasMinOpenSSLVersion() + { + $aArgs = func_get_args(); + return version_compare($this->get_openssl_version_number(true), $aArgs[0]['version'], '>='); + } + + /** + * @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 $mVar + */ +function dumpvar($mVar) +{ + echo "
    ";
    +    print_r($mVar);
    +    echo "
    "; +} + +if (!isset($_SERVER['REMOTE_ADDR']) || !isset($_SERVER['HTTP_USER_AGENT'])) { + $oPreCheck = new d3PreCheckInFolder(); + if (isset($_GET['fnc']) && $_GET['fnc']) { + $aParams = isset($_GET['params']) ? unserialize(stripslashes(urldecode($_GET['params']))) : array(); + echo serialize(call_user_func(array($oPreCheck, $_GET['fnc']), $aParams)); + } +} \ No newline at end of file diff --git a/docs/Precheck/modules/d3/contenttabs/d3precheckinfolder.php b/docs/Precheck/modules/d3/contenttabs/d3precheckinfolder.php index 3faee5b..5a01c98 100644 --- a/docs/Precheck/modules/d3/contenttabs/d3precheckinfolder.php +++ b/docs/Precheck/modules/d3/contenttabs/d3precheckinfolder.php @@ -1,115 +1,198 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -QrK1tjwZBjLNmm== \ No newline at end of file + + * @link http://www.oxidmodule.com + */ + +date_default_timezone_set('Europe/Berlin'); + +/** + * Class d3PreCheckInFolder + */ +class d3PreCheckInFolder +{ + public $sVersion = '4.10.2'; + + /** + * @return string + */ + public function getVersion() + { + return $this->sVersion; + } + + /** + * @return bool + */ + public function hasMinPhpVersion() + { + $aArgs = func_get_args(); + + if (version_compare(phpversion(), $aArgs[0]['version'], '>=')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasMaxPhpVersion() + { + $aArgs = func_get_args(); + + if (version_compare(phpversion(), $aArgs[0]['version'], '<=')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasFromToPhpVersion() + { + $aArgs = func_get_args(); + + if ((version_compare(phpversion(), $aArgs[0]['from'], '>=')) && (version_compare( + phpversion(), + $aArgs[0]['to'], + '<' + )) + ) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasZendLoaderOptimizer() + { + 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'] + ) { + return null; + } else { + return true; + } + } + + return false; + } + + /** + * @return bool + */ + public function hasIonCubeLoader() + { + if (function_exists('ioncube_loader_version')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasExtension() + { + $aArgs = func_get_args(); + + if (extension_loaded($aArgs[0]['type'])) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function hasMinCurlVersion() + { + $aArgs = func_get_args(); + + $aCurlVersion = curl_version(); + return version_compare($aCurlVersion['version'], $aArgs[0]['version'], '>='); + } + + /** + * @return bool + */ + public function hasMinOpenSSLVersion() + { + $aArgs = func_get_args(); + return version_compare($this->get_openssl_version_number(true), $aArgs[0]['version'], '>='); + } + + /** + * @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 $mVar + */ +function dumpvar($mVar) +{ + echo "
    ";
    +    print_r($mVar);
    +    echo "
    "; +} + +if (!isset($_SERVER['REMOTE_ADDR']) || !isset($_SERVER['HTTP_USER_AGENT'])) { + $oPreCheck = new d3PreCheckInFolder(); + if (isset($_GET['fnc']) && $_GET['fnc']) { + $aParams = isset($_GET['params']) ? unserialize(stripslashes(urldecode($_GET['params']))) : array(); + echo serialize(call_user_func(array($oPreCheck, $_GET['fnc']), $aParams)); + } +} \ No newline at end of file diff --git a/docs/contentTabs_Installation.pdf b/docs/contentTabs_Installation.pdf index edc0035..a1f7d0d 100644 Binary files a/docs/contentTabs_Installation.pdf and b/docs/contentTabs_Installation.pdf differ diff --git a/src/Application/Controller/Admin/contentTabList.php b/src/Application/Controller/Admin/contentTabList.php index c0c1460..cef531e 100644 --- a/src/Application/Controller/Admin/contentTabList.php +++ b/src/Application/Controller/Admin/contentTabList.php @@ -1,154 +1,158 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 +BQbcQSYRjw7DV4nf \ No newline at end of file diff --git a/src/Application/Controller/Admin/contentTabs.php b/src/Application/Controller/Admin/contentTabs.php index 028301c..4580dbe 100644 --- a/src/Application/Controller/Admin/contentTabs.php +++ b/src/Application/Controller/Admin/contentTabs.php @@ -1,232 +1,242 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Controller/Admin/settings.php b/src/Application/Controller/Admin/settings.php index c5291db..872a600 100644 --- a/src/Application/Controller/Admin/settings.php +++ b/src/Application/Controller/Admin/settings.php @@ -1,23 +1,24 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -HR+cP+TZk56Som1cMTOjSg/zvnUtOjv5s1aOy+TceZCnVHhh+SycDcQt8r0JmJFDu2DGI00PQuhK -2Uz3M7xNia0IsLIfoy5gnk4PonzOBpyqNQGxono1UJtbHjuTuaNT/+ogrmfgBrSYniJJMYjd9K2n -mjp8M1uJqULBAjLMqEBI5vOXjL7VUF/v+kKjLg/YmAYwhrwsfB2YtfmCvE0lqh/oZ7XVYbGp9rrU -3DO0df1mbWQY+raHuWjpdY7mmlhgjOEqwE2nu/Mcc//wu/MJwukzEJXdlfQdSTMUmsA7KXHiZtGZ -QEHm8VyJOA+z2EAO7ZwFSepfsR0pOU2M1vJiqdYoFSs6exWf92tklb/88uGaKlZNeiCfKpIRHW2i -692XY2XObAl94h7wporYlYGNnRT5NwYCDdqFSdxQlMZshCA38FOhpyCMdx3+AdxjGDgTtSPkDy4+ -RdkzedPhjZQwDZO6BPjguXPBd5ca/R1bXjy9gcKVJSHPZ+0NUfQcv7+hD2jdPw0i98O7SBjW1Tk4 -3pNdT7SwK+t05MwaDeMxQT7ptRa+bDweai2IeMY0b8Kd1j7Xekg5JIGAqFqRPsjQcE2yLOOj7d7i -fzEsOAQMhF2eDxUWYh2Mqs5KQjzrSM0RcmwDPTEeN1zY/y6GDQ6G5+iD/fm7HSs82gdXKAz6lLNr -Iu8Pu6vsoPAN4bnlifak3rWStWTwfhGUeMWqd046KlgzYAgwVpsgN0TpiJyGEhWPr+R+WeQz1/nl -Yd5cTLA7n4AQsaHXd18JB0qjy/J0VykqTOBKgfD6Gim6rDvsB7uOFwwYB9kFEDAtkw2yjwAC+JiV -X167DGe9xDV8zI4TgeXWd0vSqslmjpUowSc99FYvVwbbmKAUAAv92tk7b257dO6neCUsSoe7lk5B -rXI7dLZSYeypmdms+6jb9YUDzgRqmY8mns2Q9Mx6/nln8RU5CtGS1/UueJfr5/heiTW5fqwwu/To -K8ZfLZJ/CLhAEWbTkoprnpjzy61gv+vDnG3t0m5LTONgqeZ0bMBTxTDnuaWGOZBEuwIbFnfTLjq7 -REp91FDr/F1VPuwupJ/XjGXNaNlqZ5LW3lxmgbzGZd/HTWAHdyINhOiFh4oN7S5vIOaFlbHeu/0/ -226SSk2zQmNAoTsPMkGke/iAlq33XQQ7pMsjN4oPH20UZuukv2C6wxNaWutbCNsqYRMHGJUaOrQ5 -SYRCdfxnvz7yPLe2Ra7wPiqr5HPKBEPYh/UaC1WOdXnq2BjVKEIVDGDl81ERapBabqZIBv283icK -JBgIq3C97Hi18J9hMtJ3R277PQ/V4attnefww2KYSWNTJHvslwKeDslICIINESln8D20MD9cGPO9 -b3R2xWMN2W+DYt0jtypzIyYB3QCAK/p6x7m2LjkMCb21zq/EpM6Ud87tnX/EKarQ1VVqCdll3AvD -fRogx2G= \ No newline at end of file +HR+cPnSwr8cW0IsklOr1ghBAOKZtaytUNMJo++Xi3BYhtSsLJo3T5zT/qN7aUoHzZEi6bXi6rb1B +CAyQ0zQNBjxbNXyeG+NBFXhfKD2qYUOHyqnygfpxKcctfQ+IAnFWFLMgBifEjY3upY9IPm7XvejH +8mJcFcgmANBxjcgF2rs73xdf/eWFjdr9gal6a7uH7LOq8RWAAlfy/4OpwlLaDfaf+6WkcDh0DtuC +It8F9ChphsBGVq0uNnQgXHBbmEKnqFkC8Whj1IZc3KMhH5HebcITtX2fKK+4PpepA3hDqO9uW9CI +PYsnQCDyvSy/zItnWeYWCxED0eFDf2dy+koe+PpzkY+WKMqzKv0XMRl0q6z6IFT4Zk9WJ725gZ6r +pOzB/RDm6iOsncj7mO94e7nRRhp0EK87qoWBRDcBA39ZmM6I0dN8t0da5YIiloXn2ksao6rwHR/t +pPoaIAR4y+3mOR6cgIn1ikIzW23dZDEF5O2rdKq2SIGtusboEgo7xpqJx6gtkgQrXYykjk5fB/YX +dqzHRi6d6s25ahSv3K/K4rtgubfxtWVjpDx6kEQ8CtOxbDryY9ry7K6SKVdkJsCiFf9FZ10FFwN1 +jbNf3S2TYHxTepRDR/3YekEMJTMxy+SB7h+iOBET4jRUhLLlavXM2Nvs9v+QaygG4s47AD0ShFGp +dMKwVCc6k6SWm9eYS6rTSv2jKU8i/dFNCGtpIsW2hOLHbFN+FY28jbg9Qup1l0TtRpK4rxx9tdlS +zKijWKYc1Rum+b40+hHHk+HNaDV7FqZohqIvLBQW2Lnud/nvTGHJl121UPAQ9P0rz1gWOh4B2QbU +h5Lj59drQeWzLQWwJu+CQsiTWJ17cOfXHUzqgJ0/MT6VduYHhPS/Cbnx9WfvcdUemwS+s53Skx2d +WcerRuvxBeIBBv7wf4GBszFQ5QHn4LhI9i7hQWVU+M1VkL72XWfHYiWVsMznkztM4OZK76W1xmLe +Sq2c3eRHFz77Ld6rbOVrypBhQtlHjbFdBU+pj0sijUhxDDNmVp7wXR6hloQulobtC8iatNJ42d5r +UywU2vJMo7YOeqhtnlk9jdH+gkjXRezR/T11uML10BWnMLmlXAMMQwqMt/M/d0Ca1pLbG5yQAsH8 +wllY/P4xGoSQo5yYfbhCSP1VYTZnLkoKPaczv1wTwqWUAYGAjJvHIX6hKjRfnq4ZQ/JQ2tYvk4Jz +lAogLVTeR4Y4pZzv1Y+EGshU8B/L4v6H1qce979xtn1+Ib8hqb7bUpsmquoaVThx91f0J1kqF/NG +5y5KznYrGGQ/rN8KDPdtehpGZgHK2EJJTxAw9KRrhtmx5kEWVxHPIFJbEsc3lXaJ/bqbc5iVj6DO +9dMu0bxwupCqm1vMD4QqFLNUWcte0Hkop7zmiv/ge13DhMP9dRlgcfbq+9tnT/JfQVSR/eWxonO5 +2+wVlkmb+957Sq+ERTmDZdUEYAYkOEoQAnjiQ3qZGvnIz3QneyEztm== \ No newline at end of file diff --git a/src/Application/Controller/Admin/support.php b/src/Application/Controller/Admin/support.php index 7872313..4ea331d 100644 --- a/src/Application/Controller/Admin/support.php +++ b/src/Application/Controller/Admin/support.php @@ -1,19 +1,21 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -HR+cPnXZCpgVoeSzPjUc6LGwkg8tTFNfi3bZcSj3c7ZwpaP3uz80INMZzzaObTufRbBdBK1F/3i2 -7CKqLd5vkT85EJIGMsKwZZJLGaWwlXUq1X7ITq69DXR5gm/ofZrVRUv284sim0JiPjzQz6qSdmCd -49+HQJJwi0qVq4I2whL4mmoXNqaUrPo+JtAdzb53rejVZ+JwaqvyH6BArRXDlfk9La92e34szQdG -WV0q4gcAMMWwqnSUsN5uhojWjyJf2+XuoZDOwFNrffl/+kFra+kBlJauPxwMlccKsTEcHDaEWRMC -8sZbS2p/M245ynHJmOKxg+1847x0PcIFESRITq78rwQu5PeelA2NaM8pRf6vmZdbYNN+xqq1ZbZb -xDjwD3Yuf7izjW69/wKTecKq6IMwFvJ/8pMpBQ8Z+wWiMZ8JXPKvemxMHDwBsZWwHctjDdbu5r+H -iO5dl/KZV0rSq8MyIpy8nH5teA1b3sUTt0lsu/eNqfvNnKD3iqR9OrpN2GM8SGwnL2uBTcZwJL0d -gQZr21qdPcC+akwN33ZEEioVC6LbbymfU5a66gCKch5O5uHGd/MGjIThOMrg4yQR1k0NsjeHVIY5 -mvRnqu9uv9NWu5tEIrjWg5bD9MlU1ddQ/86MKf8abNdaMFzfMnzvpJY2wSzkmsFJ9nvWjKvXNSG6 -5ZwooyuF/fr18odfiSrQBvoMd7dbNDZFiVrISjGxFPaZshe28cPQvF/MB9D786d5Kf9DSFfj/j+f -/O7ODyo4+VZbKG2eMzCs/loVYwQeX8dYs/2sMhHFvl7ItW6iIRsxYrCkXC2J4U+Lf4qVFRfI6qY4 -zIcVMCb9nVnJmiTNgp3xURsZfl0tHH2TgmRU0YunBfREToIfegYywgH6Ks9JExumxedFe/pYp+iT -n2/eIhprhAzjO+UL3rYxtsf4sRvIeQFta3l1n7CevM48SlB4Plw5XKH9rAg9ktFaZFvboWidfpYJ -4eXF2hOOZuLX1lNGQv38tL3/RS7pm/Cs6UavAF5fYckw2dLnv5RMegtZX5nM0HmRmgUZAw+SKHhi -sNERdPVoiPi8C/yGPdWt/S45cDyCotjaSlWl6WmqrOB1tj9gmGUXp/c+vxUrg51Psrp3C3R3wdsU -d2E5LnqIjhPbzMJNavB93gfmBaShmUOVPH1BtIpOQmh3JwBSfLfI1nm= \ No newline at end of file +HR+cPnDWzsPkoCj9TzPYHIqOqI7C/nxwdPoOzSaAZ8pAMQdpPgZ4mSThHhePkjN0NM5daqYexV2A +0hoSHR56sy/lPu/6EAtQcbuxG1HRZtDAHeia4S5ue2Omyz7PVsdflzRdbuSOU79qB3lypdIYhq+X +XqSUaYZXIY0Jw8UkrfuicnTcUFo9BnwqsGE1q0hFHBjEXpMEGJiCOcZZiQDDr9Rn5ewM+JBxZMpx +TkmhUeU83DC4oSxzGBafTs7pbXzbvYmHnLWI8A4evWr5gqHKQ9PadTuGgL5FpsjaPiosEqyV05/v +4kOjiNrrYBK4HjWXm3JlpIX106pWZ9TkfxyApIDThAXMzjcfAu65pXeAdba4HXl78PL8jOJWEUAH +TLbjmr1vNekylhA75/Btf1z7p9cgmXCx7EKb3zUuVKE8zl3LRoQTnETLr9MTP4G2p2o7qTWst/1A +vmpqmx2CPQzsdUXwYLF6lTgKUcVshiMM7MHxwX/svSmS3lBGj7VGvnFfnt8HWO3B30YECFEaiUpl +u1KxDGqelYF4/fJzxqnR+9z4GSJJ1fN5obxveUrqGKUoVg5lT8fUayx9N2dhRXqNaab7c+dllaCj +o1A8t/x2fRB9ZCbuxPByoeqRrQQvnetTA35hla2D4uNMqNlN7/zGQOhE7FiIhMZO7o8BASYP5tWe +/CPq8pOdKq2B2+Sbzpb5/6vYinNGBYfOsOolOuSA1VxS2DWEcaQlYerFMvFgu4HR1cd/dasDBWlB +NpFRasYkTEZbHw/OANp9zWfjJAtkEn6Icog6qOW7ez7ke9yQzIuvih87CTlipBxjy8idqex+a5V/ +1KiUiEtSAQnEj2t1DO6xoXsauV1fm4SKWEp8Ce05G9UnMQQLpp6ouDQ8fooMnwDL24/zBPajgO86 +V5pX9ryqjA8lSDSzaHdZgvCSgUEnmDoAWgVpDxBn2ddlM6mFF+mndGd8S4Bazj0dfFXAuX/n4/sQ +lzOK7TSm6293djwuoUKDzHlOb1OeUsG8snWj10KYziHDTt5nWC4k9OQgr1bvswM9QKa2icsGz7a2 +EBPGL+RiSTubzTQ9Xc+wxZ2o1gXrntb4TZSaEInJs40LHpOEUGi446zpka33QM3h01nODl2YQhBx +OIybOzmmYRxvhRh9157ccnGq9/nD8NrfP52L/10YbbKw5do2U9cnvN+b4X+pc+AslOoOZYJ1WoW5 +4psLFIOmClfD8RhHUGftkqj6DEwtec9x7G== \ No newline at end of file diff --git a/src/Application/Model/contentTabs.php b/src/Application/Model/contentTabs.php index 115c7f0..8484ecf 100644 --- a/src/Application/Model/contentTabs.php +++ b/src/Application/Model/contentTabs.php @@ -1,272 +1,277 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/translations/de/d3_contenttabs_lang.php b/src/Application/translations/de/d3_contenttabs_lang.php index 4b94ddd..fed6967 100644 --- a/src/Application/translations/de/d3_contenttabs_lang.php +++ b/src/Application/translations/de/d3_contenttabs_lang.php @@ -5,7 +5,7 @@ $sLangName = "Deutsch"; // RESOURCE IDENTITFIER = STRING // ------------------------------- $aLang = array( - 'charset' => 'ISO-8859-15', + 'charset' => 'UTF-8', //Navigation 'D3_CONTENTTABS_TITLE_1' => 'Beschreibung', 'D3_CONTENTTABS_TITLE_X' => 'Tab', diff --git a/src/Application/views/admin/de/d3_contenttabs_lang.php b/src/Application/views/admin/de/d3_contenttabs_lang.php index bfc984d..69ed9ed 100644 --- a/src/Application/views/admin/de/d3_contenttabs_lang.php +++ b/src/Application/views/admin/de/d3_contenttabs_lang.php @@ -5,7 +5,7 @@ $sLangName = "Deutsch"; // RESOURCE IDENTITFIER = STRING // ------------------------------- $aLang = array( - 'charset' => 'UTF8', + 'charset' => 'UTF-8', // Navigation 'd3mxContentTabs' => ' Content Tabs', 'd3mxContentTabs_settings' => 'Tabverwaltung', diff --git a/src/Application/views/admin/tpl/contentTabList.tpl b/src/Application/views/admin/tpl/contentTabList.tpl index 4f7405b..12175c1 100644 --- a/src/Application/views/admin/tpl/contentTabList.tpl +++ b/src/Application/views/admin/tpl/contentTabList.tpl @@ -49,7 +49,7 @@
    - [{if $cattree}] @@ -74,9 +74,9 @@ [{/if}] [{if $pwrsearchfields}] - [{foreach from=$pwrsearchfields key=field item=desc}] - [{assign var="ident" value=GENERAL_ARTICLE_$desc}] + [{assign var="ident" value="GENERAL_ARTICLE_$desc"}] [{assign var="ident" value=$ident|oxupper}] [{/foreach}] @@ -91,13 +91,13 @@
    [{if $languages}] - [{foreach from=$languages item=lang}] [{/foreach}] [{/if}] - +
    @@ -109,7 +109,7 @@ [{block name="content_tab_list_sorting"}] [{oxmultilang ident="GENERAL_ACTIVTITLE"}] [{oxmultilang ident="GENERAL_ARTNUM"}] -  [{assign var="ident" value=GENERAL_ARTICLE_$pwrsearchfld}][{assign var="ident" value=$ident|oxupper}][{oxmultilang ident=$ident}] +  [{assign var="ident" value="GENERAL_ARTICLE_$pwrsearchfld"}][{assign var="ident" value=$ident|oxupper}][{oxmultilang ident=$ident}] [{oxmultilang ident="GENERAL_SHORTDESC"}] [{/block}] @@ -125,7 +125,7 @@ [{if $listitem->blacklist == 1}] [{assign var="listclass" value=listitem3}] [{else}] - [{assign var="listclass" value=listitem$blWhite}] + [{assign var="listclass" value="listitem$blWhite"}] [{/if}] [{if $listitem->oxarticles__oxid->value == $oxid}] [{assign var="listclass" value=listitem4}] diff --git a/src/Application/views/admin/tpl/contentTabs.tpl b/src/Application/views/admin/tpl/contentTabs.tpl index 77693d0..17cbbe3 100644 --- a/src/Application/views/admin/tpl/contentTabs.tpl +++ b/src/Application/views/admin/tpl/contentTabs.tpl @@ -58,7 +58,7 @@ [{/if}]
    - +
    -
    [{oxmultilang ident="D3_CONTENT_TABS_ARTICLE_SELECTED_ARTICLE_TO_EDIT"}]: @@ -71,7 +71,7 @@ ([{$edit->oxarticles__oxartnum->value}]) + [{if !$posslang}] [{oxmultilang ident="D3_CONTENT_TABS_ARTICLE_GENERAL_LANGUAGE"}] [{foreach from=$languages item=lang}] @@ -89,15 +89,16 @@ [{oxmultilang ident="D3_CONTENT_TABS_ARTICLE_VARIANTSELECT"}] -
    -
    +
    [{oxmultilang ident="D3_CONTENT_TABS_ARTICLE_MAIN_ACTIVE"}] [{oxinputhelp ident="D3_CONTENT_TABS_ARTICLE_MAIN_ACTIVE_HELP"}]
    -
    +
    -
    -
    @@ -171,10 +172,9 @@ [{/foreach}] [{/block}] [{else}] -
    -
    [{/if}] @@ -199,9 +199,6 @@
    - [{oxstyle include=$oViewConf->getModuleUrl('d3modcfg_lib', 'out/admin/src/d3_mod_cfg.css')}] - [{oxstyle include=$oViewConf->getModuleUrl('d3modcfg_lib', 'out/admin/src/font-awesome.min.css')}] - [{oxstyle}] [{/if}] [{else}]
    @@ -209,4 +206,4 @@
    [{/if}] -[{include file="bottomitem.tpl"}] +[{include file="d3_cfg_mod_inc.tpl"}] diff --git a/src/IntelliSenseHelper.php b/src/IntelliSenseHelper.php new file mode 100644 index 0000000..be23cf1 --- /dev/null +++ b/src/IntelliSenseHelper.php @@ -0,0 +1,11 @@ +aOldTabDbFields @@ -454,6 +466,10 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= return false; } + /** + * @return bool + * @throws DatabaseConnectionException + */ public function deleteOldContentTabDatabaseFields() { // show message, migrate?! @@ -480,6 +496,10 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= return $this->_confirmMessage($sTranslation); } + /** + * @return bool + * @throws DatabaseConnectionException + */ public function needToMigrateArticleDataToContenttabsTable() { // Prüfung existieren die alten Felder noch und sind diese gefüllt? @@ -547,9 +567,10 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= /** * @param string $sKey - * @param bool $blNotEmpty + * @param bool $blNotEmpty * * @return false|string + * @throws DatabaseConnectionException */ public function existOldTabDatabaseFieldSql($sKey, $blNotEmpty = false) { @@ -577,6 +598,11 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= } } + /** + * @return bool + * @throws DatabaseConnectionException + * @throws DatabaseErrorException + */ public function migrateArticleDataToContenttabsTable() { if (false == is_array($this->aMigrateContents) && empty($this->aMigrateContents)) { @@ -713,6 +739,10 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= /** * @return bool true, if table is missing + * @return bool + * @throws DatabaseConnectionException + * @throws DatabaseErrorException + * @throws DBALException */ public function existContentTabTable() { @@ -721,6 +751,10 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= /** * @return bool + * @throws DBALException + * @throws DatabaseConnectionException + * @throws DatabaseErrorException + * @throws ConnectionException */ public function addContentTabTable() { @@ -741,23 +775,37 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= /**********************************************************************/ /** * @return bool + * @throws DBALException + * @throws DatabaseConnectionException + * @throws DatabaseErrorException + * @throws d3ParameterNotFoundException + * @throws d3ShopCompatibilityAdapterException + * @throws d3_cfg_mod_exception + * @throws StandardException */ public function hasUnregisteredFiles() { - return $this->_hasUnregisteredFiles($this->sModKey, array('d3FileRegister')); + return $this->_hasUnregisteredFiles($this->sModKey, array('blocks', 'd3FileRegister')); } /** * @return bool + * @throws DBALException + * @throws DatabaseConnectionException + * @throws DatabaseErrorException + * @throws StandardException + * @throws d3ShopCompatibilityAdapterException + * @throws d3_cfg_mod_exception */ public function showUnregisteredFiles() { - return $this->_showUnregisteredFiles($this->sModKey, array('d3FileRegister')); + return $this->_showUnregisteredFiles($this->sModKey, array('blocks', 'd3FileRegister')); } /** * @return bool + * @throws ConnectionException */ public function hasContentTabViewTables() { @@ -766,6 +814,10 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= /** * @return bool + * @throws ConnectionException + * @throws DBALException + * @throws DatabaseConnectionException + * @throws DatabaseErrorException */ public function registerContentTabViewTables() { @@ -775,6 +827,9 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= /** * @return bool + * @throws DBALException + * @throws DatabaseConnectionException + * @throws DatabaseErrorException */ public function needToRegisterContentTabViewTable() { @@ -783,6 +838,10 @@ FhBOHFrekJtY0krNHlSWFJsblN5TFFEejVmMWg2Y3pNbU1tZHVuK21mWDl6M2pBPT0= /** * @return bool + * @throws ConnectionException + * @throws DBALException + * @throws DatabaseConnectionException + * @throws DatabaseErrorException */ public function registerContentTabViewTable() { diff --git a/src/menu.xml b/src/menu.xml index a819aca..f287638 100644 --- a/src/menu.xml +++ b/src/menu.xml @@ -1,12 +1,11 @@ - + - - + + - - + diff --git a/src/metadata.php b/src/metadata.php index c9e5a7a..cf9d2d6 100644 --- a/src/metadata.php +++ b/src/metadata.php @@ -11,12 +11,14 @@ * @link http://www.oxidmodule.com */ +use OxidEsales\Eshop\Application as OxidApplication; + /** * Metadata version */ -$sMetadataVersion = '1.1'; +$sMetadataVersion = '2.0'; -$sD3Logo = (class_exists(d3\modcfg\Application\Model\d3utils::class) ? d3\modcfg\Application\Model\d3utils::getInstance()->getD3Logo() : 'D³'); +$sD3Logo = (class_exists(D3\ModCfg\Application\Model\d3utils::class) ? D3\ModCfg\Application\Model\d3utils::getInstance()->getD3Logo() : 'D³'); /** * Module information @@ -32,23 +34,19 @@ $aModule = array( 'en' => '', ), 'thumbnail' => 'picture.png', - 'version' => '4.0.0.0', + 'version' => '4.0.0.1', 'author' => 'D³ Data Development (Inh.: Thomas Dartsch)', 'url' => 'http://www.shopmodule.com', 'email' => 'support@shopmodule.com', 'extend' => array( - 'oxwarticledetails' => 'd3/contenttabs/modules/Application/Component/Widget/d3_oxwarticledetails_contenttabs', - 'oxarticle' => 'd3/contenttabs/modules/Application/Model/d3_oxarticle_longtexts', + OxidApplication\Component\Widget\ArticleDetails::class => \D3\Contenttabs\Modules\Application\Component\Widget\d3_oxwarticledetails_contenttabs::class, + OxidApplication\Model\Article::class => \D3\Contenttabs\Modules\Application\Model\d3_oxarticle_longtexts::class, ), - 'files' => array( - // Admin - \d3\contenttabs\Application\Controller\Admin\settings::class => 'd3/contenttabs/Application/Controller/Admin/settings.php', - \d3\contenttabs\Application\Controller\Admin\support::class => 'd3/contenttabs/Application/Controller/Admin/support.php', - \d3\contenttabs\Application\Controller\Admin\contentTabList::class => 'd3/contenttabs/Application/Controller/Admin/contentTabList.php', - \d3\contenttabs\Application\Controller\Admin\contentTabs::class => 'd3/contenttabs/Application/Controller/Admin/contentTabs.php', - // - \d3\contenttabs\Application\Model\contentTabs::class => 'd3/contenttabs/Application/Model/contentTabs.php', - \d3\contenttabs\Setup\setupWizard::class => 'd3/contenttabs/Setup/setupWizard.php', + 'controllers' => array( + 'd3contenttabs_settings' => \D3\Contenttabs\Application\Controller\Admin\settings::class, + 'd3contenttabs_support' => \D3\Contenttabs\Application\Controller\Admin\support::class, + 'd3contenttabs_tablist' => \D3\Contenttabs\Application\Controller\Admin\contentTabList::class, + 'd3contenttabs_tabs' => \D3\Contenttabs\Application\Controller\Admin\contentTabs::class, ), 'templates' => array( // Admin @@ -59,7 +57,7 @@ $aModule = array( 'd3contenttabs_tab1.tpl' => 'd3/contenttabs/Application/views/tpl/d3contenttabs_tab1.tpl', ), 'events' => array( - 'onActivate' => \d3\modcfg\Application\Model\Install\d3install::class . '::checkUpdateStart', + 'onActivate' => \D3\ModCfg\Application\Model\Install\d3install::class . '::checkUpdateStart', ), 'blocks' => array( // azure / flow blocks @@ -71,12 +69,20 @@ $aModule = array( ), 'settings' => array(), 'd3FileRegister' => array( - 'd3/contenttabs/metadata.php', + 'd3/contenttabs/Modules/Application/Component/Widget/d3_oxwarticledetails_contenttabs.php', + 'd3/contenttabs/Modules/Application/Model/d3_oxarticle_longtexts.php', 'd3/contenttabs/Application/views/admin/de/d3_contenttabs_lang.php', 'd3/contenttabs/Application/translations/de/d3_contenttabs_lang.php', - 'd3/contenttabs/Application/views/blocks/details_tabs_longdescription.tpl', + 'd3/contenttabs/Application/Controller/Admin/contentTabs.php', + 'd3/contenttabs/Application/Controller/Admin/support.php', + 'd3/contenttabs/Application/Controller/Admin/contentTabList.php', + 'd3/contenttabs/Application/Controller/Admin/settings.php', + 'd3/contenttabs/Application/Model/contentTabs.php', + 'd3/contenttabs/metadata.php', + 'd3/contenttabs/Setup/setupWizard.php', + 'd3/contenttabs/IntelliSenseHelper.php', ), 'd3SetupClasses' => array( - \d3\contenttabs\Setup\setupWizard::class, + \D3\Contenttabs\Setup\setupWizard::class, ), ); diff --git a/src/modules/Application/Component/Widget/d3_oxwarticledetails_contenttabs.php b/src/modules/Application/Component/Widget/d3_oxwarticledetails_contenttabs.php index 7059c3e..81059de 100644 --- a/src/modules/Application/Component/Widget/d3_oxwarticledetails_contenttabs.php +++ b/src/modules/Application/Component/Widget/d3_oxwarticledetails_contenttabs.php @@ -1,8 +1,13 @@ getProduct(); - return oxNew(d3\contenttabs\Application\Model\contentTabs::class, $oArticle)->getTabs(); + return oxNew(TabsModel::class, $oArticle)->getTabs(); } } diff --git a/src/modules/Application/Model/d3_oxarticle_longtexts.php b/src/modules/Application/Model/d3_oxarticle_longtexts.php index 34957c9..6092703 100644 --- a/src/modules/Application/Model/d3_oxarticle_longtexts.php +++ b/src/modules/Application/Model/d3_oxarticle_longtexts.php @@ -1,5 +1,9 @@ deleteAllLongtexts($sOXID); + oxNew(TabsModel::class, $this)->deleteAllLongtexts($sOXID); return parent::delete($sOXID); }