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..0c1861d 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,14 @@ } }, "require": { - "php": ">=5.6", + "php": "5.6 - 7.0", "ext-ionCube-Loader": "*", - "oxid-esales/oxideshop-ce": "6.0.x", - "d3/modcfg": ">=5.1.0.0" + "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 2f5eb30..f749f62 100644 --- a/docs/Precheck/d3precheck.php +++ b/docs/Precheck/d3precheck.php @@ -1,1242 +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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 \ 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 d32d43e..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,121 +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 e48633c..5a01c98 100644 --- a/docs/Precheck/modules/d3/contenttabs/Setup/d3precheckinfolder.php +++ b/docs/Precheck/modules/d3/contenttabs/Setup/d3precheckinfolder.php @@ -1,122 +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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 -e++j94mWx915l5YFx38= \ 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 0e7c2df..5a01c98 100644 --- a/docs/Precheck/modules/d3/contenttabs/d3precheckinfolder.php +++ b/docs/Precheck/modules/d3/contenttabs/d3precheckinfolder.php @@ -1,121 +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/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 3fa141c..0e14fd5 100644 --- a/src/Application/Controller/Admin/contentTabList.php +++ b/src/Application/Controller/Admin/contentTabList.php @@ -1,145 +1,147 @@ -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+cPxD4MZ4Izhu6wvpF4Zf54VcJ1IYsDA07SySO9Lx/l2OlLu+BiX6lsnncTBDEbHL4hUjuzMO2 -+tsEsiusC9y72rgG5zzwBovLnLQxmFhMM/3/E/4PWBvaSGwIOh+6OJ6Jh/97fyw/ZTKW14lofzNH -ewQoQPW1YuUfJbvwXMLWjmSTKVP9u7KDmKgYItNEwdMGbwopcjy3kjJ7AsIlEDou7qTDa7uCxHdH -I9eoK+DMYO787v3mgcqfNgM9lsKRxCfs3LgXy/VKG62t9M4L1kXUgTzPHEJ3isc/qH6Lp5jjsEnC -i/5XwXB/gElZHKlCYMf/vviI5PAbwkuMiaLjIdJ82jK1kWEGe1vt1jhYDsjvKwrv07xoVy6WsZzv -fRIeB/pvCLxr2TgcVdj6qKiih9shGuiHFkGVVClkkywGUesnOsye9kZkndLIPa1LZClp+ZbGjodI -WfFc1nuuszzE3TWuYl2a8gebAJ4k9E7RQw/VlNVsIkepQSXIvqeaOBO4eIofxj7pwuUyJSNsTe8R -i8Tp2R7OvIOF5u+bQdwlarfFI8T2uLRJCMS+cIvM6DLcNOdBY3zQXkiUrszO8VhNXDgxrfOLlU/+ -vYvI+oDn6ZwIHYM6DzhO72jp2/pF8p12StjcjItGrThkBPdwpvlK6/jCsMaJdCuq2G0ruMUlL9Jx -t0bGN7KcfKzSTfjokZGk9LgWBJV8qQI3LCFsdMkBhkLVr7Fu7co9lKzDFtid5ghn5Ry2wAfU5K6z -0pFDliafKWvYvFuCfGJvl7PAmIOzl7RXBobjtcpeXaRmkyVIklAASYWUoTfmQ+X0CdTBgujxOvi9 -SlbzlQy/XHKetFK6xu2CUm6D6tvbEA++LLvHRaRgpHTZ03gJXQMJQ9aZ5+MdeHP1Sb/lgVws03c/ -UetHdlSGHCVZHVBc/Uo++igLdgPsGiamhENPfNry1JSuB9AhM/Ov0c24n+uIrAoLWQPNdjRTvuLr -w2z1H/vWD186kX1sk00uHFWnrrF7gLMp0GsPSP/8TXCdVjNguJjZu4VgeINnSN2DATVewlXin/vz -VLnCoER72kLCJtpH7h5jJPwzCShL/+bSruUk0Tw5vKCoXqZm3GDRzGH1eTCHOwP3gOR94afKTvQp -Voni7+aQDVV2UpIfvPnqaiQwy4uoWUmCYMbpwxw6a3OiBECk5g2UqTSV2SvXu7CcXVTSciSS4NO+ -Cci2zQOoZ7Yd6c1ofIp3nbcURGcMGHuWyePE0Z7+klNaiAx/smFY6JHScyLHwiy+i19Lpg8Eu09Q -zDsN2iJJEbrJGEe7nmpODdhiqlgPWke54gagYKYOun1pot+8EFUmZHlXNa6FYA+3NAPt50pYDuIq -vCninEPqCQuh3a0UEOA3iSNLkdxRiwKpuglDzEMkgfFq+iYMoCFx3O0wCsgyM7l2Z6IhzfUzS9In -fzO6+Dy+5xtrHE3UbAK2n1UptifFY569Z7Zh6WaK/I7+2IOgs/0hVKdeCnDMllBnSUOluwEevqSV -4UeU0g6ThudttF8f2Kfrk02171LlnicVZzwlAaP1OOpxIRoS8MT2wpJ6TFKYMT//wQ1FZdzuGMpI -RfcwdXsC88n2Fx8V9NBbUM8n6jn5ioPVbEYpRji7Evpc1Ahy7z84M+oxEv5KYL9V0G1j7taxOHbD -debEEUGLvhYVhvFy8x+m4l1pHV/6JYllhGSsalnulS/0itLMRgf1a1Kc9Bq3PBojfB/tPzqsxikh -yb3+D4Sm0snVTgkVDVoCyME3wdlILShsA9tAzYwDXyxun1yA5WE6V+/m5BNMty/DXWf9D2xXPvd+ -nJQI0HTodLvnCXkMG9RCodb+ZEfZWXvYaCy+jM2Qx9cGv31tv6SA54ogQCZorytdO9VcUVzI6y7o -HzJZ+Kaprrl+4EXUwPE9Q43K8mCZdEX7ZQXhEJxgJTtjGk5ASb627YMaZNEbUkkCo6vjUv7BZgFK -TJj1gitsotH2/P0EWm+/jw7k3jNw/pgGx9MWHxwsKjaleHixyr7iu+aeR9pqE8zY/sFciO4S13+s -yuB7OobXsbOg+3aSgpd3SKqu2sj+uxTJn0LwPECpX+Rdp/L2gNuVjF2lRFkcPr2dmxWHgXH/Zqui -y+umqlaj7tnfnj0dbK1SxREuAKpFNwkmfSv26z8C1ShG3CNJXW+g7S2OGnai4bvZ1gSpFqtI0WXS -zePn4l0cd0dSqmAGNvgp3NsAD67ewAAsh/vwotg/f6RvgyvFzk1R494mofS3dmE9p5kmLrRWTZr/ -gFc7Qgj0K/uh/XPFAgGY93we3OT5H6EdteBc3XyU0WXx1lR5bzpzV9SaDAcRoAF7NO4MgQwlcnkR -oPgZx1BxAq0rTwY3S6/eje2wQn4txCK86TSSav5Ebpv8EPN/B0MejhMCL0kIcCwAUI8ZshzN9dKf -6RRhcm3mhl27zWuVnkh4mk6zjv7aKiS56erfjLtgPZ2MGNCBpXHeHZz84UMziRAP9aprUTwTDkmj -qHCrkHLHjAWZr3/GcdmC/JgS5V+pjJYSvTWjJ+O8ebO2fcxqFvlgO5FBASfDaWLIoO5CZY0mQ4l/ -xeL2zRHu6XV9KX5HuyKx9gOkGMPGl4fLeSLDWmPEnxApLHTvqB49xCtVGYWT49doH30Fu5ppWv7e -ppLVJ79+m/Dow7LhIqgVWrOLMT3zZS/H+BvbFlQWFQH3zKZWs13VvXVRdIr/4Rer9bu9QQpqKbe8 -xa6JozjiZnLgc4SpJ9pvDEfG1XWODw2yYQhrnVKCAP9194pouPgd9qu2dIG5ebQUebkPTsTXwOmx -6PGrMfBqLUvEFYxxtuUBrR8DwSOsiPFxgirmXf0cKcfsLzhR/D70uFDbKt2dc9BOhXRIMwkjuNBi -pgPQ/5riSvO2i46/K3e6GqB2HpJC90jRRS7CDhCH2sUS0TkeBi/qEyGAaOPdVjlbR4lfuAl/YMim -AdpFexcJ2RKWsvaO7ebxnAru1PgBjWTDXlEFTc+ENuJobN2AAV4ZHOx4k90jMoSATSx3/cowXJAB -2csu5MnRtcQjZ2CVACFe8aGDJ2d7LbPohqeBobLBRfAwffQF8hku46p0ZJ4MsJv3qhxolObqLwX1 -vakOwgOd3YE28Rk+MRK7xwQwen3CUFWbEqdUzt3YxAgVvVtdC5FHhj/fsg6I7+b7G+GIedL9u8/c -9118Ab0U7HkAtmNI91aHgxXk06Xb7B7M3HG7YvaTaDk9DTwknaPwE0jMwxpNaE7j8GUENT7kwELN -Oa+WQgnGZkbcElSN8amwM88PMq12O0AdVHeOZlY3meoeZsVSJUyTzG4YkvvY9iw9jYXvYrv5Rx90 -/1MHYea2ZFDUovishHw2kRc3I7p7Ff7oKKFrguRuD3GNBx+EQbA38e3/AVINUR7vYPEIgLXXcOwH -MHD8YpWAUYB9lVdWgzXgtvXTNFJjBH4tUYn72L+FZDUN7ITjYsCWYYvNo+MuBVVE0kLstEmDQF7F -yYWgHTSFetovFgkamwQWoZLwYvR5Kk13fqoiX2OiziqXPwTzswgc3qFYsfSYEHUu2ICkYZ0n1QzL -4T3mnfs9axhG6Od1hYgwu6B29DJU1/jdk74WOIrTBQ4+p43WFrJjIZ9vU9MdDUBvxSlq72ZVgD2r -dnV380LR7fXuDtJTRo1sgYQEzU8tiXjYK6sjIuXxGErj418W7wBfQosJPXBOVoUwaYqREShGG7a4 -qQC3O28ovLv4s1elrCdDplNCAVUX25YqLOqQOxTmhtMpWD533/zK9Ukhoqq0esPq227SCdmfMm6k -c2lgya8RELxH98h+2CAimrigwGby0f8urdBlCVW2zkgvxRGMDAx3weRdp0O7n9gN5ZjHhCGHerlI -foD9iYTlsUDr43sxORSGfi2AHx4rkOOM8jqEizEVe7CQAx+iQ4Y03Jh+BvPRFS7G8wkqSV7yVmqd -GOrS68yIEnFZ9siu7tH9MCh/2Ia5DrlhiicTA386uLqTdlwNsDAriyb+oc5PuQSvmltPv0jI8KpM -4tzqnB7KTW0w9GZ+n0GAzdD5mwAX0F1g0QetIrXhThuIzOWRxvHkQY9Nn624tWow4yaMs2LPnKfE -zze6dQ89D1Lq/qEEQ9RPopJqOUja0j8DfGCG5NwM7tkp0R7F3JSJ5Gy5O6jVV0HJDt+o9thb0b1j -X2mtArN/ZgDU5xumgMbvD/On33b03fSzJ8vTy7WmbJFSXhZile84wIxTctm6yQixn40FdkqDvYyk -BfGwtvk1OlULFkMmV9VAdNd1StBSSFn63NGTXvix5k7E8sIxtcrjMt8u+elcZObzwkvLZiMYG6XZ -Bz4bxFM+Ufy6udGSwPjns6A/PFR8ppIxH19/zabsU1IzLl2z2lGWl89nwnLpCbPoqop2ucs2G+Nl -jLiK5kkIPeLUYF7ddNlzOKKLYLtCOhfDUGKMMF2zWRjBkuE8Ob4jGtEZicQjYXll1hUruwPTEc0Q -n9ILkcCG0j37O6tJuFTVDUHeoCoNxgui7/qUaTqA8xD0b5hpnuqWV997vPL1lEQc2C+9fYmDUudn -WuKbJbbcKvZKYh5ThIZ7q9gi50mU4KvH+vEccMcRqTgF+dD0WSndWR+Kxz0Ekk3aOXHdoms2Ai+J -DHrpMYz5DeAvqCqmK5oY5vGd205fEyZOwNYoKLZS18UNDZ7dQ06gy9azlnUIsrrYv+pG+5dROj3p -U6AG6SgU1mjGy139plChXnGqLh7iTBVObykNlw1k4eQxHgxHwz5WiPeklwUyqQNUWysjbI8x3ls0 -ZzzwTxqX+f4F5G2jLQVn2V/q95sWY+KXb8EZKeJeLFi7P0Q0i/ByQARAgpP1pNISyp/0lvO9pfXI -wMcBlHbzf0OHyWNyJz2VKlin+msRvCRRgAQJZcZ4Slc+GQkgd4qSG2xf8jS4DuU80+WYwW1eSxg4 -cFZTOvWjvgnFiCEV2FHY2bJrUsZ/zx4Zvt8rL+lZWqjEE/70Ml2RupeL5OrWe0ivu67KzzxInXOp -Rt14z80sca6VPhrf7ue/l27mc77+8jUcYey9snocTnWzIJI2N+nvvJycKVDbBphaHNoH8hPylXRV -6z8CUdbRKc5G8uLj2n/kwSj9xNhTXUTNeraLSe3y+RNB/4PpX3l8r1xH0xWZ/yPT94d4MnEZ0MXA -7z7HJIDuyzm3xJXWtWToiVhITPZoga3XxPDIXL8DhPktUiostjUyQ9s16of1r3AT9sMfPgr5Lr2q -WLgY9qrOWQm9r3h5PByJvZeKgGVHGeOLXuEFaKejN246iGbk/6wuJ5hOlOe3KwIpGae5wsZAu8tm -woLR/0ZmEDhxu1A1moNOuoiag/QVRYIXRyfWm6LLpUkIB0CKlFRSEGFYbRImYuehHFN8QkBR9nAk -cSFIno5tgP8xr7Ue1vAQMU7mkLN+cf00ELgE7NdZrxf9Gl2G3ujf0MmAxNGnZypgTH98kX+zOfJN -YSesAvsoUUVa8Isj494PDnklZBB5Y42KfxMut+D7eO/trx0PVmzQiXJ9tZi3UkbTnqTLcrfikwEM -/GNVwww1qvR4BUOIBXfryvW9c49cvGWq2j+wwgLIoanKdKI7Wn1zzS0bAsblKTvtRByUisW8kAqu -byxm7dJDkjN0U4CcHn13DwxhbbEm1NgtySrkNhzd3F3HGzjg3CefklGSIf3dJXCkFkTSHBRcv00a -Zri7glIqEiGCP4t5M+qTJoWONNTtDPiBOpeXZ5spXqfuxdnxk70Hoz0LqEqOGXyavkAMDXZxeONQ -PVDtIxVKv+6VVsdE8Cef5YTfjHBpDUCOg0NtW/9J5Fx4qp5rUALH9RmC8E2l6hTgksQW5wozLoPf -DN5HEAKNrAps2ZRLIL1sLbVAiwXvBSJ4Q/aqpBJ2UHnEZcYMsU2Z0RXd6vQDeDMdP1ARQKvmNfaM -cBbgUp8sW1IBzIMIYFF59t22jnrrBBzLg9cbtWUDieiQvC6wRHY8TV25Z9CPIusEUjbH6UybIb1m -DDaHNyr/dk9GfWLdjY6o4XD2s+Tysq7P+SRHgYJZdwZKmlMsq6aJve8KdGLryVHFGZUoahcqbqzq -KYupvrA+d4iGx9A6u50KpdGVvXe18+ty+B1p72Ws0m6DASHeG/7xAI+x0LwxyN94s++FzhUPTk6Q -rvZulTR+JbbE295uhnKO1d9+W6lfbaqfrGqc5J+VVHNJ2vU93VWjPY8uycNcnUcMw8OS5cHlsaw3 -z64N9HfT93yqMYCllorf0b6KlBh8NtidIEaV8WHp74ectbWPISpdcnlCojobZ2fRPYchkN9HEAjo -z6SkTijRVIonaaFJyitffcDno5blCvrsqmbXMNFZnPq9RHkpKUe/biz4XEzBS5khnyW+rytYJbxd -rKb/kqnpUVd+NFJFOa3nxjrnGSWvgn2yRBeGbI/LppxirhfVUF4h7NRHf/llqk3ImFaO47cHfTeQ -KJE8C4ZbEzrbbqdsXIlieB8oMV7ihhc1W7R55ueqs39qUOPybWPV23BZujtn1amm8w/YKihn7CBl -jlHaIqSWI0uB6t1nQo+xeDPXbjrz7//SQ1PsCMvjgRS9O8tv47s7VpT8rH6JvduSdTmb/W4m59rh -van5eIA/rgYI6850Vb9EVQURa/2q8KcIRYOWFttlC6/aEjOtyz21h29s3uig6nQUn5jc9a48Hsj3 -b+uvbKUIrljmvA/5v++22nwzHTgNIiML0HWNIvToPh0nP8kYCiunEyhml/v0+QC1+YcIKHPrUbjF -DbbYkHC2wxAbn84jOcD/IgsXLjNVCn5kuVunHvOk1rj3oRqzpnf/+jDJPTVkT4JaLXSllr1x+rg5 -ydilGSHNORaDVNEHpPOHdgo6yX/byfCGfaBWH9KX0r+XCKUK0VWiHci5JIDZh/Yp2r8SFscEKDzF -IraAbJeMOieDLIVsRrzWU0aL3mu94Q4mc7BX7OWMpAAYxRnRJzIDiHT4SLkgDAQWY69bET31PBmB -jCRtja4AN9MnC8wobBQeDhHZT3kNu3twO+Fo2N2HgFFFBeOjM9CCLQf9Z1NTUbnhc5MwDHZbMZBN -aIOnXV3Ybk5RdxMn1lPjMuSc9VVpp8MhTcXwuk5O7dWRGaIByy/mw7RgObQPXYSUZj0qZ0OBu/AN -B4eTTT9ezAFUbRzOwZJNrx1aQdtjaof/bXNs9jyRLaqP51q6QtK7pQeeuPQCJPRWK5Djo3/5mUGT -v+uCfyFdtJksbi0vNSzA54JPLUN9P4dsh8etlqGQwZUqnKMZYYPP8Uh6bI+tbwc97cnBdj1qjD06 -GsTOugoN/R/j7ewURhIzN9cC51UrmY7Fk5bgXceKUSNi1s2k7umOM7eGAPJAUL5/YzpqZEP7PYkv -gUijX+PIxbt+S3/AbEn+wX/CIzgJKKcUVwHiQsNCHa7lGwL8gyAynTL3GusLw2FxKOoQCXOB8Bku -OITEP7GL7XtvhOiEZfkPXYm13OmoErptlE0HhylUZ6fKkn13fcIZ3ZCtJsfOMntAZVfdMiBEdjzL -t2UTi9Hv3z7Cuc95VGIqnzaWQcX6w3ThSwg8alRpaFLdH0Tp+qeKMkWFiXkUobe/hLB5l0Fn3zYI -Qn+nb2L1y/ytKWirNW3qnWxtElJjL75jpUDpz6qbZDDe0BN7JRenqHXlPJGs5XRUSucfwwMDdnus -3wo29jPUiMnwL7QNuOn2emHCoAxwtymx0C7reBLLRdbAS9f1W6PCwS62v1b+HvCz1Uw/Lt1qJ2DY -ikYlqx/Ycvok2eZ6WsFEw4NREQmU+7+oNXP9yewxQ7iqQA44gEGJ7V0e5L7AsUstJGdSjl1ZRdV2 -3D80PPtDiGFjdymoJO7P4WMtiB6YUr7KFbSACRqhiaFesx5j/WVYoPKNBlYFS+qdcuR9h/C576U8 -u8IXw95EhSGq9W7km8NDEVMouKOEHUEBo8E4xeknei8lS/yhna0Te1iHV1yncN5lQqXuOpkcwTxr -HBarX254B8fM0+wTj/U2xBifMUezz5J0Ft0XXwM2GUk9LCDzkUWHB3YjrdxyaYkB84DS5treTnZL -2j1Y3dZstgbYfatNUgJC6E+hatJwD++a4XFlCLECZisXzioAX1ad7C1T4OY8DvtedwiVpN5567Jh -+X4nMG6B75Dr30ffv54KdmZpW1mnWLz4Vsp+xOQWx3kT4o2FRpL9u2PsZg2uDy082KL9Tu0IXd6h -KJPEruqNSNzxnIneKp/uUmpS9KnJc5WEhjROjt+J61a82Kc1i1k2mkECQs9bCeBIDoi10zQl142v -8wy8CBmSWvMalzhQliDuxNxfyLJ+TL0u3CQjjqSaa3RQh+eAvUo8EdzyPuUCN1YU/MXZcvuBzuko -KwNr6BMkzN/XBjUjLLk/CGMzU5/QgjhQFVP8e9p480O0zSj8RC4GdPC2rUtxludSAKvtoxuG404Y -c5dNbOSB9vgLyLEAN6Ro9GIbqVx+LYWdd51V3nC2pdcMxNUJDtqaiJWhHPyWJb25pV/C25j9fJK4 -Y91/SAH9+k0jf61oELfK0ysnopOdndq/g1JNgNpxJ6I+cY9k82yeDSSq/l73lQkEkYTAUgC48VVX -+XU/Wh7mdwPXWXnchuv9UmVNYIDU4otncxLL4XnfJH9og+vzjQP/1tnZW0UmEpx/rRBOOA3FGYAR -y7FPkm38AhaBcn36qP+UkJhRWJssoT7LB4x5Cv3L22Q0HThROscmxhMp+P8C0bq2/eNIc9vcu9kS -FI0uTVuWRo/V3tticcxxBl18lugw3Hmzb4KLyeDONQbEslXUoKTsSalqFKPubUhxOQoVr88Gx8Er -Whtd6HaNGkXZFfgbKk5zIDgTkGk/ivgp63VzHsewibjHZkzFOgHRxbq4vWCtPpJ892cK51HVx7JX -WbWomXkJ39lKnMcoorDAp4coqzpg4sNmnMgH4QV/qWbCUex5UYcCIX7XD9vsdp27cK9m6qs3Z83N -I1kw8M3hPY94BVeObNpN8rFA1UI0wefhOju5PRPgeauxBGBudm6a+13n89Srx2Ndu9CdXdnW7chd -jNMy/B/L2J0gmoyO2DldVHXJhIjmzvAIGZtE9NFSOPyjqZPxuoXUR7PCSUeBCoNgNvlvWxFQY4zw -DfPoIazGwfIT6X71T/oHmdlvW9mJZp/qwoyObBvtI+xjBJLf1GtwVimhoqfuQ9NJffryzJX3HqNr -WCfjiYl9ckUKhm1ueHV45e93n0nHZP4k2KwyqICILUWd+Pd7XB/ez8Jyb9sRChINwHV+nAQ58o9n -duWa+JdnkEiSOhdBZUrW3KO+rsQ5EH0Qkna0RmeDSyEssiHDYfEND/kLTIxwv5gCvBnJ6HQV2jHO -ruvWFJQVtFNm37nF8QURurZ8i6MJvt/bU5ELscf4aDBauLfkDf9BgtssDEZWMi4cnukmo92ZhcrJ -+f06DMcgvxxizJ356a1OqN1x+J6PJNyzDzLV8P5uNbR3Th9Ohgo5VK8JeDF9AbBm6qfxgxumcHgc -bpNR+CUgvryAHlXkZVfhaojd+4wb0wn2S2/p2M0U1d+WgfWuNKeYpIOooFMqmxRjHMBr1izePemD -TI/zDfylm7hFxkZ5pQBoXg1jW9+jlTs5qWm21oACLjLrIktCYTTxwTEyj3hxgfTpjNkSmLsVfcl+ -/78XEFAXlcbhYyS1iTAHLtdnExzszu62uWB/MtzLZymUOddrMnsQaQo4Cx1OefXSzC2kIVDOAH9c -W2QH1a2DUKEjfu8A+ka+ma7X11Xx32F/yURGOQdbzfWp+/6HjSwxQeQJStVRNQjZkXMF4awNHolI -pfeW1uGMW+SYQNkCdI72yy4Orn8Y7KU0NAlrtxqskFcsVLJAwW00QVHzzvPszREI55Gqa+8m6RA+ -r7WcoDq1zoHZiLxMkVFZ5yzfnoZuCdZQ5bqePAo99zgPMeKAuoqafJEnB3i1TVfK0lRfL2qgNuZ5 -R6jEKHD1lbI+ySR9bH99kM/Gz3943vupL5UQpbrOUxUv9T5hUCyOY9NFmfaSgIfl2HugVm5xHpK6 -CFpIwou6L1MdyPG82r2mGDstN1jib4qbBfnN5dYH1TwPaE/6hc9UL4hoUY9q177O6V80PeTS5Sdt -O1lRizkZMu6o7341sFUOEEKmpvKr5miLHK+4+IolXDwtGWi6LENy8wCKLRbvOYkaA8PfEmIHp18v -mq4uED7MMxtDBQZWB07EpzvymZVYYkGK1cYMctC4ithnn0gGg4/+JvUbbMm/zo8YXTwaYKCdZLqf -xH40UQGb3dYcREpQl+xVGfDmaYf5z++OiQ13luyIflShVFr643MTN5ZblFmA9XNOMDbo5aGCoX6E -vv4TTYDP8/qz6yD8cxu0Nl5TMLAGYAKgz87XP6SLKqn4SAjaCWrKrgpa3T36QethmFqHlKGKpbfB -0isyy/KEiTfDCpjWH5Wzhm0F9zTTqa6m8yEzTphUnLfSdhW3OMFYMaHCrkcySuej6ajQ9o/7h6cl -bRmbe/yDxLrgoVA+grIMnDYybjJUjAp2kdDbRRaAgLGbii78TdWqLhXxkl2OOfNbNvjTUcrAm4Qm -jHaLycsRP5OFy+yfNuIqMcHMED26zfajMuKNQXP/RQhyx2nNKglKlJghnEGTX7xJerUYkfeHSkBD -1CNdb0vfsDqwQYSS3EQvUAlUjqB2JgtX+UVIZ+8Ngx2rzZgy0Hm/epamqbN/pE65m6roilk+cKCX -kG== \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Controller/Admin/contentTabs.php b/src/Application/Controller/Admin/contentTabs.php index 5e22de2..e19e478 100644 --- a/src/Application/Controller/Admin/contentTabs.php +++ b/src/Application/Controller/Admin/contentTabs.php @@ -1,218 +1,229 @@ -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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 -ZkvNSEchjYaqjPu= \ No newline at end of file +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 +krtllGUxkR7R9r5v \ No newline at end of file diff --git a/src/Application/Controller/Admin/settings.php b/src/Application/Controller/Admin/settings.php index 489bd2a..2118eae 100644 --- a/src/Application/Controller/Admin/settings.php +++ b/src/Application/Controller/Admin/settings.php @@ -1,30 +1,32 @@ -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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 -BFHZfZzbfU2zOsw4v0W6lVbcAR0= \ No newline at end of file +HR+cPpG6bvOxwslPmhS2jGZykICwPuvzOj+QTCoH5fIRuwYI0cdVsxFTE0SjOEB9i3KtB5WKsOQd +KUa7hpGoWnEVKTKs/tPwVr8ZePchrN09f7cYhv4V1Fy0vR13cZvdT2PM1uKoS9F5zq7xcd7bhMFZ +RKsVElf22iIWN+J2yrVE6SzBu2ddz/u0VJ3fKvIeUw13b/l0maTzpAfmdSK2EVEmWdxnoTSiv5l/ +lDl+fe8c0OYBYILZBNOTG92pft+iPv/KftiOA1GLe6RxC7Ps1j+k/YPT0ImXQzH0IliXpcx+z0SS +gB1BOVyVxR6ZRaecsVNYHIm+lbK9xkUGBdvpGqf8G03RR0gw3uXPDZTfH53+f87JoyPTKx0753GO +JSGW4Wv0uTmQVofIidwBGuU8x/dlKiK3AE/s6b0OmiG7ifd9P0Rm2p9MTHxgqKNmsFoBvJr32bjd +UN+ncRNIKmmv+UpxQk1REOcgIcAd+XKV2+WkGhsj5Q5vxtmo4X4haT4x/LIWYcrA75yYKWryB28x +9TJnq9wyRS2coW4H2m/yvpxLx2FzVzPygM30VVx00gSsZQ7h/HYLuMTNMwoz+obwRQ04XQkCd6np +76Uv3Ehu4APxfu3i2Q3WhjMv39MTTgDeLPx1m3uPPyPLISHKm51gnGDzi8TEY+/DjoYqnnsaHAxM +J/qqXkHRwDVuN0nz5/s1ZW3g5oo36U4fgtG13FORx2LzBy4mcDC29L94ZjngaXRjdEYLKrz2WGPB +DGl1tjSWRbuz0j4wsJH3yev9Xu1bMZqEc+R9R6Sujmf2RmboqgL8DeKmJM/hziVcNjR5QGSflXyU +S+nk0pEudqLzJijU50nJo/MfAGgXLz/uJ1naJygTft7kz7d6AWHj5Y33Od9s7tZExH/l/sx/gPAf +exUYEgBnwnRMLFpil7YJUEFm9R2pV6lCWoSBeWxdNvtiCYC0gLreZ+O2q+Bpp7LdG4GY49s9o9jk +IiwEd9hxl0ujOGorMd//6SiHSxhZxumh+6/Y8zzJHSGNFnIUXW7EHbvZLzpuB+Vdcc2yI4CgOFQu +RE7r2s1NXEd0hbskqd/aymo9B4jYWGpzTG/QTcTlaTTwyIoPBy6IsO42IF8aVlZ87tjfMUqEkiUO +7UyhxU0bPhTaEmaH7fVeSCP4lCG2+3aUh/ReNNoumXZwfpvKr0gNqU0Tp233GbzlixQHz2TkOhCU +P6kMuqnJGN+sXejaMPLM/bT80sftR6KYFSknHXz+83GsZ+LNqVpxai6w3aEP8WBTr4UaA+5HGFJ2 +5yddlPTeM5Q1E9KawU/KYJ9a9Oq2973UxGnEqZjUOhGlAbLGV6cW6o5z7/+8ADJrh/2P3s4jQjxd +6cZrLwnGdi6iTXwI3S0aj0HztdwjbzshVifm6fe+6AksjbpssiH8T9S3ehIIS9GJKrt+QRKaxKeA +GyFFDHZdUMCzpUI+rDYUsmtUtL9B6col5MU621NGLjqQuvNmWC9NH5LTthekiGnx4sxgqNuWt8hS +3YiP2L/TPdHvXJW8JtEhPU8iVtSPQiJjHD4akebWLwgfxiIc8l9VV2CEo/a0IZ+mLU14ZaIXkwEP +0mhNNsYx4GYqllJNfIrtSlitEKC9GT1Ch0XU2+JP6oVnJGOJ2tLRgBkDbNfn8fBarvgLFqtjkrgK +2kA08Fe1k1/cCTtOI5uv/vzqIrg03EmpCb6P1Z4nf2MihaJsLvsFd5/v8YPSYxPjL8tVhJqUn104 +6UaC7drSXkH6YV1+0nV4xciWpqgTj/5oYX+/ev7gYPQ7mDxvb6EvXgIducY+DjLE1ONUPyQNgV6k +KCPETn9V55aAVRAx1GOryMWKKXYEOO31nj73YgVlMROWvqJDIKRAketuRKIXKwIO6T6IeP6E2KEO +Kf44vgQECHAGGLxlmvlfro9LgAxivGZD0zqsH5VddavMxh9R7FBUhyrnEMj4HuPJkEozMJqU4hSI +rY6/rUdJz9vnMDZRL+5cJFbuS8TIfbB/p5pSV7l4uGi+mwuEvjpIrGMUVXyRsynIKz61QtoV7PGZ +Gvuzd4HpeRc2k4mEGJyUk96FDHu= \ No newline at end of file diff --git a/src/Application/Controller/Admin/support.php b/src/Application/Controller/Admin/support.php index 803a733..44ca706 100644 --- a/src/Application/Controller/Admin/support.php +++ b/src/Application/Controller/Admin/support.php @@ -1,28 +1,30 @@ -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+cPo8noGwG6Z8XROTSBPCkxbqI4k0eU2U/9gsuYzocmOQHLgP6OYdoCccSkRSo6cxXmBw0nDv1 -8rBxilpIKf+IZMJtJf4V8o3ulUxS58ZYm8FCyNhh61UOY0iIAqQHfeIblxZUumh4k58nEtGP/Tx8 -z9hFPeij/VxDHgeQzbOEdeAkTd51RR+l2Zh5pWO83XIerCmq55gMmBrUabmMKBP7fbiH/Ykpr/UZ -NRuMegaWr8HM2qodOAjkoruqODMz5/o6piPpr41WjoLX5GReNgdVMKJamvnf6kvAzQEoRoMpnRDv -AknzTUHdfvCPj37zWcAe4J6r6YE4IXXfNHChz/mOsj+u5C3k3ndSzHeYXr/jJWA4YoyXFrXIOicH -i4ce3W8wVHVshKVP0RuD7xLPZ7DEPe8DI8cUtt3Nxncr2JaikmsUvIxfKKhEoug/OINQ/U9cIJ98 -6vdZQ3Hvu9suUubwVKEOe52UspqMWPVY0VXrkueMs5UTaUcG3itDqR7xcjmTCTLZE28tEsmIazup -YJOPndDWNbaHYOUiew3WKO+1LWsGloljL+LJDPU+N4FoWRzEZk7/9DaoRNk+jEcA8A0pQ5eE74Wg -dNJ4s7b+OUsgEbcMQMnCA8RWJaqRe2ydREdns+viLaZguHH6P/yN/UuIHLG5tEF0ZCd2jEKOx/nz -2adTtubUa9jebtZmNc4B9uXGYbJxTQyT65di3VmE5Lc+5skAWsnTI+fyN5awqvpOlvHM6A8SkYBs -12EMm6zue2Lo5ihbNPQ1/KxKEqmuhQH6KJ5zlfSlp/iSyFZQIh4uWw9iz+W2KittEUDySbDTYY3j -Vz7DlIoWRdCvLSL4YJ978RzDUS0UkF+XkULz/niBpNf+sfiklXRhcGrCfr9VzO8dUWDEV+RBapyE -l5NLoiaAyH7/kt3BJFdyMMwRipMoVz+kRa4NWML3AjFkCtmCFxx3krIeeWMOt2OLS+oVKqyLad0e -hSIL8ciXa6bIeLDMMN/kxax9Sn9wWSgdsL1I4ZhxHEAXiXf0G2HEEfVjEPGYAFHIFxIysGWsR4RQ -qYDzLtsY7VcRexzZ9An92hv1JCNrb79lV5gXt2FR7l2KWUfSvui35BXKK7U79E+VXu6t+fyG0RcR -ttNPGSQGKh4zzh6/vKBHW62bAy45IcabPAQQcLrvVsvc8FsUJNSlq1n6/mK9+Ct115iHq4s3o44X -8tWpBFHvE5Cs0WmdjUOKKsepAr9ObLi8AuiIxjszxlN5+dHycT3TcvQOG4KhWUgQdGRFWCAzlSY4 -eXI9kbLuRsXxAJwYoSHrTFv9lKAUB9HXlrx562EXgDvexLB4DZiMXzlg8kSxDqBVZ6BbC6s9pL8S -elYfqoGlkJAof9ISmTa/X2WxDannloG7MMFuQ0AWvpbzbpL9z6NQlphkGFUR5037Y3HNmU6iC8M8 -WwcyB0yeifDw0B8C6b6ttraGnbMK0COjkd25aUCkYjen39k6UDVa4N36L8uwVg2+eDFcXw3SpciS -SXMD+AkvLqrB34dmPma7N1fKm9CsbvMfhyQana9+3MQvMWtRFQBGmVLslBYacxFRROshBpHvQlIL -TK9jxwBC4tZG6EKr5fprKNiFKYz1ky+hUXdzhKoGuCtPkezs8kgqDM4DQcSWGXNGDJHjPboKiZzm -itkuA89WxeATXosITY1WhdxOWszA3vwgtFAvusbyEW2oa9squxf9bBeFEMBD46kzEb095DmMDWU1 -+1020gD7pAfi41NQLefVF+jNsXJ4WDP+zjJBCX70gazdRq2WNvcFD00UHnehR7xQo8/k9PmFV6Js -94kJ0+ZlpFCdjKmaGKkdW08Y0JwXApKVGG== \ No newline at end of file +HR+cPspQGiX09BVl7MhNwo5XtXt6MWVccA/PtAQumZ1XbC7as9e3zxOij/rBbGu8VpjLuFV1oDRv +ntCaz8+mgui63+uqhMCELh8YpW8wNdMv2DDMQTfOWsimhp8o8mtsieOKi6iohh7Ic6xJiFj/qFUT +GsFOBIu2XjSxmNa45eSnyTguV6Tio7987LWT5CWt18vp1tInHCil8A6N0e5nES6qAOZl8XseaA8X +GdWx18RiNovxcl+CrpQdO5nVNVyt7bTcOgHg51MWPlimTdO6twx+9bq1B15bIFzpa8k7CpkubnpO +L4m2gQ5qCnvBb3bzRT8HvClgW1q2ptGtiGRv48B6jkJDEoM0nFSJaY9ksZLSzCxwiVZntwYKAbUX +AGCs8IbHHGG0iSYotYn8UPW7hRN6NWA6ZHjbe6p2ciYRyg6WZ5aTEMNNkrdDdXyhxX3398V9G8O2 +vAodEp83rIBs+UoKL5sfv2OVGus6YuNSHHmey1jnCAPM+YD/bovGGSiXFrFOrcbz6+lzcUZ55Whv +NAE2yIXLbwFKz1h2zORanjvmKK9jXFGtVzIxf+ehK9VxVFB7nZrnqoCecPeVTs1kFkE7HJzEppe1 +s08nnj0m4YJ8ycvqh/VfoqC8TfPivaJi8EDWEqtMin3FU30xjT6+vJVVrNlr2IQxyoheHQJFkbWv +70/BCm48MrQ6yi1hhrkr8W0qGRllsY5uSBRmX4pLhbcgJRXc6VOO0ToOMHr2mjvd54jNfh97HVnr +jGT32nou//mpGhNRIIF9zHTXEA3yKlvANyZCQR11fXxpQO/p8PtSqj3KWP6m7j2K7ZRRVnWDdVjQ +1dGLEbGz7fh7H7XDSZYELNvpufWl4lx+ttIoBpHn9n6UtExycaQyXrUUX/w0QRcMZny3U8mQFjKq +wfQjETnUPzEyy5LG7pDvAIrw81qSMhO8qK5MZroYGglja8wqc0n1JvIW6UslxOcWHpTyzsQcYjdd +Bkh70tX8uiIoaA5voxBbjFLL/soD2iUyqZsqMmsvbVqNHeO/8gGQzoTEa9zH+1jAVGG+seOaeaCf +dqVoodPt/6Eu9h47NQPhe/LBppxin+ebqP/qBTyWQ7ST0KLov/IepkFJ+gbiuqG1ha8PfNafUw6N +qOniZp+B64dsddf3gDitsph7pCUnIT9W3KkAKofV5qYxVW/jishhpHyKwwUG4+hcY4WqmlS3ISny +yMRz2WW0i2d6hFiVVn7hvzK4zldSGjN5exOeD2n+7pbtTVxa4FSdLC5L+Q3Z2fUM8lNobAF4Vq1S +JwSMv3dF9yWQ/iGkxxVX6xp53bUQKmF3LSOr/GdnNuTpRUE7l6OCNoETgIoNuNXMRNo/Q9yuEhtP +RindoJ4IWnuEstNL39x0fNMvkGSY/vuwM2yjtLltU6ab5FMdSDBL8kDj67fsXggsAwNehOC3G8n0 +0RP4RdDZJgXDxvFe5yIU5dnxjC2OyrqAd8qlvMCeA31X19qJBJ+ytAdS6BY9AARtDSvK3SGExeTd +J+Z52q5VxK0Q7PPqZk1xq+gzKxQg8KZdQqsi67X/td0DH1toMAdxhAfLC4QDuK9TBD0OQ8FobmG8 +Gpi7Q8bF9jGF901YrQ0gVD6AiKlmlVFtKPKJ8JgT3f2Y1F0rT4m3IMEwAnk+kIhl5LXYIaMVsoAa +903sXY75B/cNC62lN+0vBVNtRZu9XloCFMUqNvO3jMIgWH1jKHv05PJ5h4+UW71Eo4CddSHmN9np +B1aGjqIkPsMxEITKEh5qcsmS1McOhIROL2hodPbbkdUH43zfgHbfWh13Uobyt/1Lp43Y2gl7Y2KR +4Gm/mKJnkJybjx+jzS80x7vZczlDfbHijnr83jXWic9lcCJ4+2lXCj5bAikmzwXsNWgN6WT866xW ++3HYPuvzvl2eNb5RGG== \ No newline at end of file diff --git a/src/Application/Model/contentTabs.php b/src/Application/Model/contentTabs.php index cc3de37..1d41dd8 100644 --- a/src/Application/Model/contentTabs.php +++ b/src/Application/Model/contentTabs.php @@ -1,282 +1,286 @@ -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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 -jMbFRpa= \ 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); }