add 7.1.0.0 sourceGuardian PHP 8
Dieser Commit ist enthalten in:
Ursprung
988cfb837b
Commit
6cd13a07d0
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
@ -18,7 +18,6 @@
|
||||
namespace D3\ModCfg\Application\Controller\Admin\Configuration;
|
||||
|
||||
use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main;
|
||||
use D3\ModCfg\Application\Controller\Admin\Install\d3_mod_install;
|
||||
use D3\ModCfg\Application\Model\Constants;
|
||||
use D3\ModCfg\Application\Model\d3utils;
|
||||
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
|
||||
@ -70,7 +69,6 @@ class d3mod_status extends d3_cfg_mod_main
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->addTplParam('sInstallModId', false);
|
||||
$this->addTplParam('blGetRemoteUpdateStatus', false);
|
||||
$this->addTplParam('sErrorMLMsg', false);
|
||||
|
||||
@ -345,27 +343,6 @@ class d3mod_status extends d3_cfg_mod_main
|
||||
return false;
|
||||
}
|
||||
|
||||
public function installMod()
|
||||
{
|
||||
$sLibId = Registry::get(Request::class)->getRequestEscapedParameter('modid');
|
||||
$this->addTplParam('sInstallModId', $sLibId);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getInstallModiFrameLink()
|
||||
{
|
||||
$aParams = [
|
||||
'cl' => d3_mod_install::class,
|
||||
'modid' => Registry::get(Request::class)->getRequestEscapedParameter('modid'),
|
||||
'shp' => Registry::getConfig()->getShopId(),
|
||||
];
|
||||
$sURL = Registry::get(d3utils::class)->getAdminClassUrl($aParams);
|
||||
|
||||
return $sURL;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
@ -441,64 +418,6 @@ class d3mod_status extends d3_cfg_mod_main
|
||||
return $this->oInstall->blConnectError;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws DBALException
|
||||
* @throws DatabaseConnectionException
|
||||
* @throws DatabaseErrorException
|
||||
* @throws StandardException
|
||||
* @throws d3ShopCompatibilityAdapterException
|
||||
* @throws d3_cfg_mod_exception
|
||||
*/
|
||||
public function filedownload()
|
||||
{
|
||||
$sDownloadUrl = $this->_getDownloadUrl();
|
||||
|
||||
/** @var d3filesystem $oFS */
|
||||
$oFS = oxNew(d3filesystem::class);
|
||||
// default timeout (1 sec.) isn't enough for downloading module zip files via curl
|
||||
$oFS->setCurlTimeOut(25);
|
||||
|
||||
if (! Registry::get(d3utils::class)->hasDemoshopMode() &&
|
||||
$sDownloadUrl &&
|
||||
$oFS->checkAvailability($sDownloadUrl)
|
||||
) {
|
||||
$oFS->startDirectDownload($sDownloadUrl);
|
||||
} else {
|
||||
$this->addTplParam('sErrorMLMsg', 'D3_CFG_LIB_DOWNLOAD_UNAVAILABLE');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return false|string
|
||||
* @throws ContainerExceptionInterface
|
||||
* @throws DBALException
|
||||
* @throws DatabaseConnectionException
|
||||
* @throws DatabaseErrorException
|
||||
* @throws DatabaseException
|
||||
* @throws NotFoundExceptionInterface
|
||||
* @throws StandardException
|
||||
* @throws d3ShopCompatibilityAdapterException
|
||||
* @throws d3_cfg_mod_exception
|
||||
*/
|
||||
protected function _getDownloadUrl()
|
||||
{
|
||||
$aLibInfo = $this->getRemoteModuleData(Registry::get(Request::class)->getRequestEscapedParameter('modid'), true);
|
||||
|
||||
if ($aLibInfo &&
|
||||
is_array($aLibInfo) &&
|
||||
$aLibInfo['availableversion'] &&
|
||||
is_array($aLibInfo['availableversion'])
|
||||
) {
|
||||
if ($aLibInfo['availableversion'][$this->getPhpVersionDownloadField(true)]) {
|
||||
return $aLibInfo['availableversion'][$this->getPhpVersionDownloadField(true)];
|
||||
} elseif ($aLibInfo['availableversion'][$this->getPhpVersionDownloadField(false)]) {
|
||||
return $aLibInfo['availableversion'][$this->getPhpVersionDownloadField(false)];
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@ -567,15 +486,6 @@ class d3mod_status extends d3_cfg_mod_main
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $blForceIonCube
|
||||
* @return bool|string
|
||||
*/
|
||||
public function getPhpVersionDownloadField($blForceIonCube = false)
|
||||
{
|
||||
return d3install::getInstance()->getPhpVersionDownloadField($blForceIonCube);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $sStatus
|
||||
* @param d3_cfg_mod|bool $oSet
|
||||
|
@ -1,27 +0,0 @@
|
||||
<?php
|
||||
|
||||
// finalize show install info
|
||||
// rollBack in case of aborted install
|
||||
|
||||
/**
|
||||
* This Software is the property of Data Development and is protected
|
||||
* by copyright law - it is NOT Freeware.
|
||||
*
|
||||
* Any unauthorized use of this software without a valid license
|
||||
* is a violation of the license agreement and will be prosecuted by
|
||||
* civil and criminal law.
|
||||
*
|
||||
* https://www.d3data.de
|
||||
*
|
||||
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||
* @link http://www.oxidmodule.com
|
||||
*/
|
||||
|
||||
namespace D3\ModCfg\Application\Controller\Admin\Install;
|
||||
|
||||
use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main;
|
||||
|
||||
class d3_mod_install extends d3_cfg_mod_main
|
||||
{
|
||||
}
|
@ -25,6 +25,7 @@ use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
|
||||
use D3\ModCfg\Application\Model\d3database;
|
||||
use D3\ModCfg\Application\Model\d3filesystem;
|
||||
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
|
||||
use DateTime;
|
||||
use Doctrine\DBAL\Exception as DBALException;
|
||||
use OxidEsales\Eshop\Application\Model\Shop;
|
||||
use OxidEsales\Eshop\Core\Email;
|
||||
@ -61,7 +62,7 @@ class d3_cfg_log_main extends d3_cfg_mod_main
|
||||
parent::init();
|
||||
$this->oLog = oxNew(d3log::class);
|
||||
|
||||
$this->addTplParam('deftime', date('Y-m-d H:i:s', strtotime('-1 week')));
|
||||
$this->addTplParam('deftime', (new DateTime('1 week ago'))->format('Y-m-d H:i:s'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -21,6 +21,7 @@ use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main;
|
||||
use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
|
||||
use D3\ModCfg\Application\Model\Constants;
|
||||
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
|
||||
use D3\ModCfg\Application\Model\FileSizeFormatter;
|
||||
use D3\ModCfg\Application\Model\Install\d3install;
|
||||
use D3\ModCfg\Application\Model\d3utils;
|
||||
use D3\ModCfg\Application\Model\Maintenance\d3clrtmp;
|
||||
@ -171,9 +172,9 @@ class d3cleartmp extends d3_cfg_mod_main
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getTmpSize()
|
||||
public function getTmpSize(): string
|
||||
{
|
||||
return $this->_getFileSystemHandler()->formatBytes($this->oFS->dirsize($this->getTmpPath()));
|
||||
return (oxNew(FileSizeFormatter::class))->format($this->oFS->dirsize($this->getTmpPath()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -27,14 +27,6 @@ class d3_cfg_mod_ extends AdminController
|
||||
protected $_hasListItems = false;
|
||||
protected $_sListItemFrameRelation = '40%,*';
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return parent::render();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
|
@ -234,11 +234,6 @@ class d3_cfg_mod_licence extends AdminDetailsController
|
||||
return $this->oNewestData[$sPart];
|
||||
}
|
||||
|
||||
public function installMod()
|
||||
{
|
||||
$this->addTplParam('sInstallModId', Registry::get(Request::class)->getRequestEscapedParameter('modid'));
|
||||
}
|
||||
|
||||
/**
|
||||
* request newsletter form
|
||||
*/
|
||||
@ -452,35 +447,6 @@ class d3_cfg_mod_licence extends AdminDetailsController
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws DBALException
|
||||
* @throws DatabaseConnectionException
|
||||
* @throws DatabaseErrorException
|
||||
* @throws StandardException
|
||||
* @throws d3ShopCompatibilityAdapterException
|
||||
* @throws d3_cfg_mod_exception
|
||||
*/
|
||||
public function filedownload()
|
||||
{
|
||||
if (! Registry::get(d3utils::class)->hasDemoshopMode()) {
|
||||
$this->checkUpdate();
|
||||
|
||||
/** @var d3filesystem $oFS */
|
||||
$oFS = oxNew(d3filesystem::class);
|
||||
if (strtolower(Registry::get(Request::class)->getRequestEscapedParameter('type')) == 'newest') {
|
||||
if ($this->getNewestModuleData($this->getPhpVersionDownloadField(true)) && $this->getInstallClass()) {
|
||||
$oFS->startDirectDownload($this->getNewestModuleData($this->getPhpVersionDownloadField(true)));
|
||||
} elseif ($this->getNewestModuleData($this->getPhpVersionDownloadField()) && $this->getInstallClass()) {
|
||||
$oFS->startDirectDownload($this->getNewestModuleData($this->getPhpVersionDownloadField()));
|
||||
}
|
||||
} elseif ($this->getUpdateData($this->getPhpVersionDownloadField(true)) && $this->getInstallClass()) {
|
||||
$oFS->startDirectDownload($this->getUpdateData($this->getPhpVersionDownloadField(true)));
|
||||
} elseif ($this->getUpdateData($this->getPhpVersionDownloadField()) && $this->getInstallClass()) {
|
||||
$oFS->startDirectDownload($this->getUpdateData($this->getPhpVersionDownloadField()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@ -608,15 +574,6 @@ class d3_cfg_mod_licence extends AdminDetailsController
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $blForceIonCube
|
||||
* @return bool|string
|
||||
*/
|
||||
public function getPhpVersionDownloadField($blForceIonCube = false)
|
||||
{
|
||||
return d3install::getInstance()->getPhpVersionDownloadField($blForceIonCube);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
|
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
@ -17,6 +17,8 @@
|
||||
|
||||
namespace D3\ModCfg\Application\Model\Encoding;
|
||||
|
||||
use JsonException;
|
||||
|
||||
class d3decoder
|
||||
{
|
||||
public const DEC_DEFAULT = 'default';
|
||||
@ -30,169 +32,174 @@ class d3decoder
|
||||
public const DEC_UUENC = 'uuencode';
|
||||
public const DEC_QUOTED = 'quoted';
|
||||
|
||||
protected $_aDecodingMethods = [
|
||||
'default' => 'decodeDefault',
|
||||
'json' => 'decodeJson',
|
||||
'utf-8' => 'decodeUtf8',
|
||||
'gzip' => 'decodeGZip',
|
||||
'serialize' => 'decodeSerialize',
|
||||
'rawurl' => 'decodeRawUrl',
|
||||
'url' => 'decodeUrl',
|
||||
'base64' => 'decodeBase64',
|
||||
'uuencode' => 'decodeUUEncode',
|
||||
'quoted' => 'decodeQuotedPrintable',
|
||||
];
|
||||
|
||||
/**
|
||||
* @param string $_sDecodingType
|
||||
*/
|
||||
public function __construct(protected $_sDecodingType)
|
||||
public function __construct(protected string $_sDecodingType = self::DEC_DEFAULT)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDecodingType()
|
||||
public function getDecodingType(): string
|
||||
{
|
||||
return $this->_sDecodingType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return mixed
|
||||
* @throws JsonException
|
||||
*/
|
||||
public function getDecodingMethodName()
|
||||
public function decode(?string $encodedValue): mixed
|
||||
{
|
||||
$sType = strtolower($this->getDecodingType());
|
||||
|
||||
if (is_array($this->_aDecodingMethods)
|
||||
&& count($this->_aDecodingMethods)
|
||||
&& isset($this->_aDecodingMethods[$sType])
|
||||
) {
|
||||
return $this->_aDecodingMethods[strtolower($this->getDecodingType())];
|
||||
}
|
||||
|
||||
return $this->_aDecodingMethods['default'];
|
||||
return match (strtolower($this->getDecodingType())) {
|
||||
self::DEC_JSON => $this->decodeJson($encodedValue),
|
||||
self::DEC_UTF8 => $this->decodeUtf8($encodedValue),
|
||||
self::DEC_GZIP => $this->decodeGZip($encodedValue),
|
||||
self::DEC_SERIALIZE => $this->decodeSerialize($encodedValue),
|
||||
self::DEC_RAWURL => $this->decodeRawUrl($encodedValue),
|
||||
self::DEC_URL => $this->decodeUrl($encodedValue),
|
||||
self::DEC_BASE64 => $this->decodeBase64($encodedValue),
|
||||
self::DEC_UUENC => $this->decodeUUEncode($encodedValue),
|
||||
self::DEC_QUOTED => $this->decodeQuotedPrintable($encodedValue),
|
||||
default => $this->decodeDefault($encodedValue)
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
* @return mixed
|
||||
*/
|
||||
public function decode($mValue)
|
||||
public function decodeDefault(?string $encodedValue): mixed
|
||||
{
|
||||
$mRet = call_user_func([$this, $this->getDecodingMethodName()], $mValue);
|
||||
|
||||
return $mRet;
|
||||
return unserialize(
|
||||
rawurldecode(
|
||||
base64_decode($encodedValue ?? '')
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
* @return mixed
|
||||
* @throws JsonException
|
||||
*/
|
||||
public function decodeDefault($mValue)
|
||||
public function decodeJson(?string $encodedValue): mixed
|
||||
{
|
||||
return unserialize(rawurldecode(base64_decode($mValue)));
|
||||
return json_decode(
|
||||
html_entity_decode($encodedValue ?? '', ENT_QUOTES),
|
||||
null,
|
||||
512,
|
||||
JSON_THROW_ON_ERROR
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
* @return mixed
|
||||
*/
|
||||
public function decodeJson($mValue)
|
||||
public function decodeUtf8(?string $encodedValue): mixed
|
||||
{
|
||||
$mValue = html_entity_decode($mValue, ENT_QUOTES);
|
||||
return json_decode($mValue, null, 512, JSON_THROW_ON_ERROR);
|
||||
return unserialize(
|
||||
utf8_decode(
|
||||
html_entity_decode($encodedValue ?? '', ENT_QUOTES)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
* @return mixed
|
||||
*/
|
||||
public function decodeUtf8($mValue)
|
||||
public function decodeSerialize(?string $encodedValue): mixed
|
||||
{
|
||||
$mValue = html_entity_decode($mValue, ENT_QUOTES);
|
||||
return unserialize(utf8_decode($mValue));
|
||||
return unserialize(
|
||||
html_entity_decode($encodedValue ?? '', ENT_QUOTES)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
* @return mixed
|
||||
*/
|
||||
public function decodeSerialize($mValue)
|
||||
public function decodeUrl(?string $encodedValue): mixed
|
||||
{
|
||||
$mValue = html_entity_decode($mValue, ENT_QUOTES);
|
||||
return unserialize($mValue);
|
||||
return unserialize(
|
||||
urldecode($encodedValue ?? '')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
* @return mixed
|
||||
*/
|
||||
public function decodeUrl($mValue)
|
||||
public function decodeRawUrl(?string $encodedValue): mixed
|
||||
{
|
||||
return unserialize(urldecode($mValue));
|
||||
return unserialize(
|
||||
rawurldecode($encodedValue ?? '')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function decodeRawUrl($mValue)
|
||||
public function decodeBase64(?string $encodedValue): mixed
|
||||
{
|
||||
return unserialize(rawurldecode($mValue));
|
||||
return unserialize(
|
||||
base64_decode($encodedValue ?? '')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
* @return mixed
|
||||
*/
|
||||
public function decodeBase64($mValue)
|
||||
public function decodeGZip(?string $encodedValue): mixed
|
||||
{
|
||||
return unserialize(base64_decode($mValue));
|
||||
return unserialize(
|
||||
gzdecode(
|
||||
html_entity_decode($encodedValue ?? '', ENT_QUOTES)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string|null
|
||||
* @return mixed
|
||||
*/
|
||||
public function decodeGZip($mValue)
|
||||
public function decodeUUEncode(?string $encodedValue): mixed
|
||||
{
|
||||
if (false == $mValue || $mValue == '') {
|
||||
return null;
|
||||
}
|
||||
$mValue = html_entity_decode($mValue, ENT_QUOTES);
|
||||
return unserialize(gzdecode($mValue));
|
||||
return unserialize(
|
||||
convert_uudecode(
|
||||
html_entity_decode($encodedValue ?? '', ENT_QUOTES)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param string|null $encodedValue
|
||||
*
|
||||
* @return string
|
||||
* @return mixed
|
||||
*/
|
||||
public function decodeUUEncode($mValue)
|
||||
public function decodeQuotedPrintable(?string $encodedValue): mixed
|
||||
{
|
||||
$mValue = html_entity_decode($mValue, ENT_QUOTES);
|
||||
return unserialize(convert_uudecode($mValue));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function decodeQuotedPrintable($mValue)
|
||||
{
|
||||
$mValue = html_entity_decode($mValue, ENT_QUOTES);
|
||||
return unserialize(quoted_printable_decode($mValue));
|
||||
return unserialize(
|
||||
quoted_printable_decode(
|
||||
html_entity_decode($encodedValue ?? '', ENT_QUOTES)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,8 @@
|
||||
|
||||
namespace D3\ModCfg\Application\Model\Encoding;
|
||||
|
||||
use JsonException;
|
||||
|
||||
class d3encoder
|
||||
{
|
||||
public const ENC_DEFAULT = 'default';
|
||||
@ -30,160 +32,177 @@ class d3encoder
|
||||
public const ENC_UUENC = 'uuencode';
|
||||
public const ENC_QUOTED = 'quoted';
|
||||
|
||||
protected $_aEncodingMethods = [
|
||||
'default' => 'encodeDefault',
|
||||
'json' => 'encodeJson',
|
||||
'utf-8' => 'encodeUtf8',
|
||||
'gzip' => 'encodeGZip',
|
||||
'serialize' => 'encodeSerialize',
|
||||
'rawurl' => 'encodeRawUrl',
|
||||
'url' => 'encodeUrl',
|
||||
'base64' => 'encodeBase64',
|
||||
'uuencode' => 'encodeUUEncode',
|
||||
'quoted' => 'encodeQuotedPrintable',
|
||||
];
|
||||
|
||||
/**
|
||||
* @param string $_sEncodingType
|
||||
*/
|
||||
public function __construct(protected $_sEncodingType)
|
||||
public function __construct(protected string $_sEncodingType = self::ENC_DEFAULT)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getEncodingType()
|
||||
public function getEncodingType(): string
|
||||
{
|
||||
return $this->_sEncodingType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
* @throws JsonException
|
||||
*/
|
||||
public function getEncodingMethodName()
|
||||
public function encode( mixed $decodedValue): string
|
||||
{
|
||||
$sType = strtolower($this->getEncodingType());
|
||||
|
||||
if (is_array($this->_aEncodingMethods)
|
||||
&& count($this->_aEncodingMethods)
|
||||
&& isset($this->_aEncodingMethods[$sType])
|
||||
) {
|
||||
return $this->_aEncodingMethods[strtolower($this->getEncodingType())];
|
||||
}
|
||||
|
||||
return $this->_aEncodingMethods['default'];
|
||||
return match (strtolower($this->getEncodingType())) {
|
||||
self::ENC_JSON => $this->encodeJson($decodedValue),
|
||||
self::ENC_UTF8 => $this->encodeUtf8($decodedValue),
|
||||
self::ENC_GZIP => $this->encodeGZip($decodedValue),
|
||||
self::ENC_SERIALIZE => $this->encodeSerialize($decodedValue),
|
||||
self::ENC_RAWURL => $this->encodeRawUrl($decodedValue),
|
||||
self::ENC_URL => $this->encodeUrl($decodedValue),
|
||||
self::ENC_BASE64 => $this->encodeBase64($decodedValue),
|
||||
self::ENC_UUENC => $this->encodeUUEncode($decodedValue),
|
||||
self::ENC_QUOTED => $this->encodeQuotedPrintable($decodedValue),
|
||||
default => $this->encodeDefault($decodedValue)
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encode($mValue)
|
||||
public function encodeDefault( mixed $decodedValue): string
|
||||
{
|
||||
$mRet = call_user_func([$this, $this->getEncodingMethodName()], $mValue);
|
||||
|
||||
return $mRet;
|
||||
return base64_encode(
|
||||
rawurlencode(
|
||||
serialize(
|
||||
$decodedValue
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
* @throws JsonException
|
||||
*/
|
||||
public function encodeDefault($mValue)
|
||||
public function encodeJson( mixed $decodedValue): string
|
||||
{
|
||||
return base64_encode(rawurlencode(serialize($mValue)));
|
||||
return json_encode($decodedValue, JSON_THROW_ON_ERROR);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeJson($mValue)
|
||||
public function encodeUtf8( mixed $decodedValue): string
|
||||
{
|
||||
return json_encode($mValue, JSON_THROW_ON_ERROR);
|
||||
return utf8_encode(
|
||||
serialize(
|
||||
$decodedValue
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeUtf8($mValue)
|
||||
public function encodeSerialize( mixed $decodedValue): string
|
||||
{
|
||||
return utf8_encode(serialize($mValue));
|
||||
return serialize(
|
||||
$decodedValue
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeSerialize($mValue)
|
||||
public function encodeUrl( mixed $decodedValue): string
|
||||
{
|
||||
return serialize($mValue);
|
||||
return urlencode(
|
||||
serialize(
|
||||
$decodedValue
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeUrl($mValue)
|
||||
public function encodeRawUrl( mixed $decodedValue): string
|
||||
{
|
||||
return urlencode(serialize($mValue));
|
||||
return rawurlencode(
|
||||
serialize(
|
||||
$decodedValue
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeRawUrl($mValue)
|
||||
public function encodeBase64( mixed $decodedValue): string
|
||||
{
|
||||
return rawurlencode(serialize($mValue));
|
||||
return base64_encode(
|
||||
serialize(
|
||||
$decodedValue
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeBase64($mValue)
|
||||
public function encodeGZip( mixed $decodedValue): string
|
||||
{
|
||||
return base64_encode(serialize($mValue));
|
||||
return gzencode(
|
||||
serialize(
|
||||
$decodedValue
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeGZip($mValue)
|
||||
public function encodeUUEncode( mixed $decodedValue): string
|
||||
{
|
||||
return gzencode(serialize($mValue));
|
||||
return convert_uuencode(
|
||||
serialize(
|
||||
$decodedValue
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
* @param mixed $decodedValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeUUEncode($mValue)
|
||||
public function encodeQuotedPrintable( mixed $decodedValue): string
|
||||
{
|
||||
return convert_uuencode(serialize($mValue));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encodeQuotedPrintable($mValue)
|
||||
{
|
||||
return quoted_printable_encode(serialize($mValue));
|
||||
return quoted_printable_encode(
|
||||
serialize(
|
||||
$decodedValue
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,8 @@
|
||||
|
||||
namespace D3\ModCfg\Application\Model\Exception;
|
||||
|
||||
use DateTimeImmutable;
|
||||
|
||||
/**
|
||||
* handle d3_cfg_mod specific exceptions
|
||||
*/
|
||||
@ -27,9 +29,8 @@ class d3_cfg_mod_exception extends d3modprofile_exception
|
||||
*/
|
||||
public function getString()
|
||||
{
|
||||
$sStr = self::class . " (time: " . date(
|
||||
'Y-m-d H:i:s'
|
||||
) . "): [{$this->code}]: {$this->message} ";
|
||||
$sStr = self::class . " (time: " . (new DateTimeImmutable())->format('Y-m-d H:i:s')
|
||||
. "): [{$this->code}]: {$this->message} ";
|
||||
|
||||
if ($this->getCompareData()) {
|
||||
$sStr .= "(".$this->getCompareData().") ";
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
namespace D3\ModCfg\Application\Model\Exception;
|
||||
|
||||
use DateTimeImmutable;
|
||||
use Exception;
|
||||
use OxidEsales\Eshop\Core\Exception\StandardException;
|
||||
use OxidEsales\Eshop\Core\Registry;
|
||||
@ -33,9 +34,8 @@ class d3modprofile_exception extends StandardException
|
||||
*/
|
||||
public function getString()
|
||||
{
|
||||
return self::class . " (time: " . date(
|
||||
'Y-m-d H:i:s'
|
||||
) . "): [{$this->code}]: {$this->message} - Faulty ModProfile: " . $this->getModCfgId();
|
||||
return self::class . " (time: " . (new DateTimeImmutable())->format('Y-m-d H:i:s')
|
||||
. "): [{$this->code}]: {$this->message} - Faulty ModProfile: " . $this->getModCfgId();
|
||||
//." \n Stack Trace: {$this->getTraceAsString()}\n\n";
|
||||
}
|
||||
|
||||
|
2
Application/Model/FileSizeFormatter.php
Normale Datei
2
Application/Model/FileSizeFormatter.php
Normale Datei
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
@ -17,9 +17,10 @@
|
||||
|
||||
namespace D3\ModCfg\Application\Model\Log;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\LoggerTrait;
|
||||
|
||||
class d3NullLogger implements d3LogInterface
|
||||
class d3NullLogger implements d3LogInterface, LoggerInterface
|
||||
{
|
||||
use LoggerTrait;
|
||||
|
||||
|
@ -24,6 +24,7 @@ use D3\ModCfg\Application\Model\Parametercontainer\Registry as D3ModCfgRegistry;
|
||||
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
|
||||
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
|
||||
use D3\ModCfg\Modules\Application\Controller\d3_oxshopcontrol_modcfg_extension;
|
||||
use DateTimeImmutable;
|
||||
use Doctrine\DBAL\Connection;
|
||||
use Doctrine\DBAL\Driver\Exception as DBALDriverException;
|
||||
use Doctrine\DBAL\Query\QueryBuilder;
|
||||
@ -44,9 +45,10 @@ use OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProviderInte
|
||||
use OxidEsales\EshopCommunity\Internal\Framework\Database\QueryBuilderFactoryInterface;
|
||||
use Psr\Container\ContainerExceptionInterface;
|
||||
use Psr\Container\NotFoundExceptionInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\LoggerTrait;
|
||||
|
||||
class d3log extends BaseModel implements d3LogInterface
|
||||
class d3log extends BaseModel implements d3LogInterface, LoggerInterface
|
||||
{
|
||||
use LoggerTrait;
|
||||
|
||||
@ -419,7 +421,7 @@ class d3log extends BaseModel implements d3LogInterface
|
||||
'oxshopid' => Registry::getConfig()->getShopId(),
|
||||
'oxsessid' => $sSessID,
|
||||
'oxlogtype' => strtolower($this->getErrorModeName($iLogType)),
|
||||
'oxtime' => date('Y-m-d H:i:s'),
|
||||
'oxtime' => (new DateTimeImmutable())->format('Y-m-d H:i:s'),
|
||||
'oxmodid' => $sModID,
|
||||
'oxprofileid' => $this->d3getProfileId() ?: 'none',
|
||||
'oxclass' => $sClass,
|
||||
@ -1043,7 +1045,9 @@ class d3log extends BaseModel implements d3LogInterface
|
||||
$db = ContainerFactory::getInstance()->getContainer()->get(ConnectionProviderInterface::class)->get();
|
||||
|
||||
$sWhere = $this->getLogSet()->getValue('sLog_messagetimestamp' . $iSlot) ? "oxtime > " . $db->quote(
|
||||
date('Y-m-d H:i:s', $this->getLogSet()->getValue('sLog_messagetimestamp' . $iSlot))
|
||||
(new DateTimeImmutable())
|
||||
->setTimestamp($this->getLogSet()->getValue('sLog_messagetimestamp' . $iSlot))
|
||||
->format('Y-m-d H:i:s')
|
||||
) . " " : '1 ';
|
||||
|
||||
$aLevelFilter = [];
|
||||
@ -1578,7 +1582,7 @@ class d3log extends BaseModel implements d3LogInterface
|
||||
|
||||
$sTime = Registry::get(Request::class)->getRequestEscapedParameter('export_oxtime');
|
||||
if ($sTime) {
|
||||
$aWhere['oxtime'] = date('Y-m-d H:i:s', strtotime($sTime));
|
||||
$aWhere['oxtime'] = (new DateTimeImmutable($sTime))->format('Y-m-d H:i:s');
|
||||
Registry::getConfig()->getActiveView()->addTplParam('oxtime', $sTime);
|
||||
}
|
||||
|
||||
|
@ -488,10 +488,6 @@ class d3clrtmp extends Base
|
||||
if (false == is_object($this->_d3GetSet()) || false == $this->_d3GetSet()->getValue('blClrTmp_showcleartmpoptions')) {
|
||||
$this->_getFileSystemHandler()->setDevMode(false);
|
||||
|
||||
if ($this->_iLimit) {
|
||||
$this->_getFileSystemHandler()->setLimit($this->_iLimit, $this->_iLimitTimeStamp);
|
||||
}
|
||||
|
||||
if (is_object($this->_d3GetSet()) && $this->_d3GetSet()->getValue('blClrTmp_nofolderremove')) {
|
||||
$blRecursive = false;
|
||||
}
|
||||
|
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
2
Application/Model/download.php
Normale Datei
2
Application/Model/download.php
Normale Datei
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
@ -818,83 +818,10 @@ return [
|
||||
'D3_INSTALL_ROLLBACK4' => 'Die bisherige Installation wird rückgängig gemacht, um einen neuen Versuch (manuell) zu starten',
|
||||
'D3_INSTALL_SETUPSTEPS_INITROLLBACK' => 'Installation rückgängig machen',
|
||||
'D3_INSTALL_ROLLBACKCANCEL' => 'Installation abbrechen',
|
||||
'D3_INSTALL_SETUPSTEPS_ROLLBACK_COPYFILES' => 'Dateien zurücksetzen',
|
||||
'D3_INSTALL_SETUPSTEPS_ROLLBACK_END' => 'Zurücksetzen beendet',
|
||||
'D3_INSTALL_PROTOKOLL_SUCCESSFULL' => 'erfolgreich',
|
||||
'D3_INSTALL_FINISH' => 'Installation fertigstellen',
|
||||
'D3_INSTALL_PROTOKOLL_NOTSUCCESSFULL' => 'Fehler',
|
||||
'D3_INSTALL_FTPINFO_DISABLED' => 'Bricht die Installation wegen mangelnder Rechte ab, versuchen Sie den Transfer über ein FTP-Konto.<br>Konfigurieren Sie die Einstellungen unter [D3 Module] -> [Systemeinstellungen] -> [Bibliothekseinstellungen] -> [Installationsautomatik].',
|
||||
'D3_INSTALL_FTPINFO_ENABLED' => 'Sie verwenden den FTP-Modus. Dateioperationen benötigen dadurch deutlich mehr Zeit.<br>Konfigurieren Sie die Einstellungen unter [D3 Module] -> [Systemeinstellungen] -> [Bibliothekseinstellungen] -> [Installationsautomatik].',
|
||||
'D3_INSTALL_FTPINFO_CONFIG' => 'Aktivieren Sie den FTP-Modus, wenn Bibliotheksupdates wegen mangelnder Rechte nicht ausgeführt werden können. Beachten Sie bitte, dass Dateioperationen dadurch deutlich mehr Zeit benötigen. Bevorzugen Sie nach Möglichkeit die Installation ohne FTP-Modus.',
|
||||
|
||||
'D3_INSTALL_PROTOKOLLITEM_ACR' => 'Wiederherstellen: System aktualisieren',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ACT' => 'System aktualisiert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RMR' => 'Wiederherstellen: Modulmetadaten aktualisieren',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RMM' => 'Modulmetadaten aktualisieren',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ARC' => 'Fehler beim Archiv laden',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ARG' => 'Archiv laden',
|
||||
'D3_INSTALL_PROTOKOLLITEM_BFE' => 'kann Datei nicht archivieren',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CDE' => 'kann Verzeichnis nicht erstellen',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFD' => 'kann Verzeichnis nicht erstellen',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFE' => 'keine Dateien zu kopieren, Archiv leer?',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFR' => 'Dateien wurden überschrieben, Sicherungskopien wurden angelegt',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFG' => 'Dateien wurden kopiert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFM' => 'Dateiberechtigungen konnten nicht geändert werden',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFN' => 'Datei konnte nicht kopiert werden',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CLE' => 'TMP-Ordner konnte nicht geleert werden, bitte selbst leeren',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CLT' => 'TMP-Ordner geleert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CNE' => 'cURL-Anfrage ist nicht ausführbar',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DNC' => 'Verzeichnis kann nicht erstellt werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DNC_E' => 'Kann folgendes Verzeichnis nicht erstellen: <b>%s</b>, bitte legen Sie dies selbst an. Möglicherweise hat das Script, die Gruppe oder der Besitzer nicht genug Rechte. Dies kann zu weiteren Fehlern führen.<br>Weitere Informationen dazu erhalten Sie unter <a href="https://faq.d3data.de/">https://faq.d3data.de/</a>',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DND' => 'Verzeichnis kann nicht gelöscht werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DNM_E' => 'Kann Schreibrechte für folgendes Verzeichnis nicht setzen: <b>%s</b>, stellen Sie dies bitte selbst ein. Möglicherweise hat das Script, die Gruppe oder der Besitzer nicht genug Rechte. Dies kann zu weiteren Fehlern führen.<br>Weitere Informationen dazu erhalten Sie unter <a href="https://faq.d3data.de/">https://faq.d3data.de/</a>',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DNO' => 'Verzeichnis kann nicht gelesen werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FCF' => 'Element kann nicht kopiert werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FCG' => 'Gruppenzuordnung kann nicht geändert werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FCM' => 'Berechtigungen können nicht gesetzt werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FCO' => 'Owner kann nicht geändert werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FGG' => 'Gruppenzuordnung kann nicht ermittelt werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FGO' => 'Owner kann nicht ermittelt werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FNC' => 'Datei kann nicht geöffnet oder erstellt werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FND' => 'Datei kann nicht gelöscht werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FNP' => 'Dateizugriffsrechte können nicht gelesen werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FNR' => 'Datei kann nicht gelesen werden oder ist leer: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FNW' => 'Datei kann nicht beschrieben werden oder kein Inhalt vorhanden.',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FXS' => 'Datei existiert nicht: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RAG' => 'Modularchiv gesichert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RFE' => 'Wiederherstellen: keine Dateien für Restore gefunden',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RFG' => 'Wiederherstellen: Dateien wurden zurückkopiert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RMG' => 'Module registriert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RMI' => 'Modul registriert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ROG' => 'oxutils-Modul registriert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RUG' => 'Wiederherstellen: oxutils-Modul zurückgeschrieben',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RUE' => 'Wiederherstellen: oxutils-Modul konnten nicht zurückgeschrieben werden, Sicherung liegt vor',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RRE' => 'Wiederherstellen: Moduleinträge konnten nicht zurückgeschrieben werden, Sicherung liegt vor',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RRG' => 'Wiederherstellen: Moduleinträge zurückgeschrieben',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SNE' => 'Systembefehl kann nicht ausgeführt werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SQE' => 'Datenbankeintrag gesetzt',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SQL' => 'Datenbankeinträge gesetzt',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SQR' => 'Wiederherstellen: Datenbank nicht wiederherstellbar, bitte ggf. eigene Sicherung wiederherstellen',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SVG' => 'Benutzereingaben gespeichert',
|
||||
'D3_INSTALL_PROTOKOLLITEM_XAN' => 'Archiv entpacken, kein Archiv gefunden',
|
||||
'D3_INSTALL_PROTOKOLLITEM_XAO' => 'Archiv entpackt',
|
||||
'D3_INSTALL_PROTOKOLLITEM_XAS' => 'Archiv entpackt',
|
||||
'D3_INSTALL_PROTOKOLLITEM_XNP' => 'XML kann nicht gelesen werden',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ZNF' => 'Größe der gepackten Datei kann nicht ermittelt werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ZNN' => 'Name der gepackten Datei kann nicht ermittelt werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ZNO' => 'gepackte Datei %s kann nicht geöffnet werden: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ZNR' => 'gepackte Datei kann nicht gelesen werden: %s',
|
||||
'D3_INSTALL_PROTOKOLL_SUCCESS' => 'Installation wurde erfolgreich durchgeführt',
|
||||
'D3_INSTALL_PROTOKOLL_ERROR' => 'Während der Installation sind Fehler auftreten',
|
||||
'D3_INSTALL_PROTOKOLL_DETAILS' => ' - Klick für Details',
|
||||
|
||||
'D3_INSTALL_CFG_FORCEFTP' => 'FTP-Verbindung zum Kopieren von Dateien verwenden',
|
||||
'D3_INSTALL_CFG_FORCEFTP_HELP' => 'Die zu verwendende FTP-Verbindung muss über ausreichend Berechtigungen zum Löschen und Anlegen von Dateien verfügen.',
|
||||
'D3_INSTALL_CFG_FTPSERVER' => 'FTP-Servername',
|
||||
'D3_INSTALL_CFG_FTPPORT' => 'FTP-Port (optional)',
|
||||
'D3_INSTALL_CFG_FTPPATH' => 'Pfad zum Shoprootverzeichnis',
|
||||
'D3_INSTALL_CFG_FTPUSER' => 'FTP-Benutzername',
|
||||
'D3_INSTALL_CFG_FTPPASS' => 'FTP-Passwort (nur, wenn benötigt)',
|
||||
'D3_INSTALL_CFG_SAVE' => 'speichern',
|
||||
|
||||
'D3_UPDATE_AVAILABLE_VERSION' => '<span style="margin: 10px;"><img src="https://logos.oxidmodule.com/d3logo.svg" alt="(D3)" style="height:1em;width:1em"> <a href="%1$s" target="modupdate">Neue Modulversion für "%2$s" (Version %3$s) verfügbar.</a></span>',
|
||||
|
@ -817,83 +817,10 @@ return [
|
||||
'D3_INSTALL_ROLLBACK4' => 'The previous installation is undone to start a new attempt (manually)',
|
||||
'D3_INSTALL_SETUPSTEPS_INITROLLBACK' => 'Undo installation',
|
||||
'D3_INSTALL_ROLLBACKCANCEL' => 'cancel installation',
|
||||
'D3_INSTALL_SETUPSTEPS_ROLLBACK_COPYFILES' => 'reset files',
|
||||
'D3_INSTALL_SETUPSTEPS_ROLLBACK_END' => 'rollback finished',
|
||||
'D3_INSTALL_PROTOKOLL_SUCCESSFULL' => 'successfull',
|
||||
'D3_INSTALL_FINISH' => 'finish installation',
|
||||
'D3_INSTALL_PROTOKOLL_NOTSUCCESSFULL' => 'error',
|
||||
'D3_INSTALL_FTPINFO_DISABLED' => 'If the installation is aborted due to a lack of rights, try the transfer via an FTP account. <br> Configure the settings in [D3 Modules] -> [System Settings] -> [Library Settings] -> [Installation Automation].',
|
||||
'D3_INSTALL_FTPINFO_ENABLED' => 'You are using FTP mode. This will take much more time for file operations. <br> Configure the settings in [D3 Modules] -> [System Settings] -> [Library Settings] -> [Installation Setup].',
|
||||
'D3_INSTALL_FTPINFO_CONFIG' => 'Enable FTP mode if library updates can not be performed due to lack of rights. Please note that file operations will take much longer. If possible, prefer the installation without FTP mode.',
|
||||
|
||||
'D3_INSTALL_PROTOKOLLITEM_ACR' => 'rollback: system refreshed',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ACT' => 'system refreshed',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RMR' => 'rollback: module meta informations refreshed',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RMM' => 'module meta informations refreshed',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ARC' => 'error while downloading the archive',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ARG' => 'archive downloaded',
|
||||
'D3_INSTALL_PROTOKOLLITEM_BFE' => 'unable to archive file',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CDE' => 'unable to create directory',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFD' => 'unable to create directory',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFE' => 'no files to copy, is archive possible empty?',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFR' => 'files were overwritten, backup coies were created',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFG' => 'files were copied',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFM' => 'file permissions couldn\'t changed',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CFN' => 'file couldn\'t copied',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CLE' => 'TMP folder couldn\'t cleared, please clear it manually',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CLT' => 'clear TMP folder',
|
||||
'D3_INSTALL_PROTOKOLLITEM_CNE' => 'Curl request isn\'t executable',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DNC' => 'directory couldn\'t created: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DNC_E' => 'Could not create dir <b>%s</b>, please create it manually.<br>For further informations see <a href="https://faq.d3data.de/">https://faq.d3data.de/</a>',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DND' => 'directory couldn\'t deleted: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DNM_E' => 'Unable to set write permissions for <b>%s</b>, please configure it manually.<br>For further informations see <a href="https://faq.d3data.de/">https://faq.d3data.de/</a>',
|
||||
'D3_INSTALL_PROTOKOLLITEM_DNO' => 'unable to read directory: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FCF' => 'unable to copy element: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FCG' => 'Group assignment can not be changed: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FCM' => 'Permissions can not be set: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FCO' => 'Owner can not be set: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FGG' => 'Group assignment can not be determined: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FGO' => 'Owner can not be determined: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FNC' => 'File can not be opened or created: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FND' => 'File can not be deleted: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FNP' => 'File access rights can not be read: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FNR' => 'File can not be read: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FNW' => 'File can not be written or no content exists.',
|
||||
'D3_INSTALL_PROTOKOLLITEM_FXS' => 'file doesn\'t exist: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RAG' => 'module archive saved',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RFE' => 'Restore: no files found for restore',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RFG' => 'Restore: Files have been copied back',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RMG' => 'Modules registered',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RMI' => 'Module registered',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ROG' => 'oxutils module registered',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RUG' => 'Restore: Restored oxutils module',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RUE' => 'Restore: oxutils module could not be restored, backup exists',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RRE' => 'Restore: Module entries could not be restored, backup exists',
|
||||
'D3_INSTALL_PROTOKOLLITEM_RRG' => 'Restore: Module entries restored',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SNE' => 'System command can not be executed: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SQE' => 'Database entry set',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SQL' => 'Database entries set',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SQR' => 'Restore: Database not recoverable, please restore your own backup if necessary',
|
||||
'D3_INSTALL_PROTOKOLLITEM_SVG' => 'User input saved',
|
||||
'D3_INSTALL_PROTOKOLLITEM_XAN' => 'Unzip archive, no archive found',
|
||||
'D3_INSTALL_PROTOKOLLITEM_XAO' => 'archive extracted',
|
||||
'D3_INSTALL_PROTOKOLLITEM_XAS' => 'archive extracted',
|
||||
'D3_INSTALL_PROTOKOLLITEM_XNP' => 'unable to read XML',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ZNF' => 'The size of the packed file can not be determined: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ZNN' => 'The name of the packed file can not be determined: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ZNO' => 'Can not open packed file %s: %s',
|
||||
'D3_INSTALL_PROTOKOLLITEM_ZNR' => 'packed file can not be read: %s',
|
||||
'D3_INSTALL_PROTOKOLL_SUCCESS' => 'installation will successfully finished',
|
||||
'D3_INSTALL_PROTOKOLL_ERROR' => 'There are errors during installation',
|
||||
'D3_INSTALL_PROTOKOLL_DETAILS' => ' - click for details',
|
||||
|
||||
'D3_INSTALL_CFG_FORCEFTP' => 'Use FTP connection to copy files',
|
||||
'D3_INSTALL_CFG_FORCEFTP_HELP' => 'The FTP connection to use must have sufficient permissions to delete and create files.',
|
||||
'D3_INSTALL_CFG_FTPSERVER' => 'FTP server name',
|
||||
'D3_INSTALL_CFG_FTPPORT' => 'FTP port (optional)',
|
||||
'D3_INSTALL_CFG_FTPPATH' => 'Path to the shoproot directory',
|
||||
'D3_INSTALL_CFG_FTPUSER' => 'FTP user name',
|
||||
'D3_INSTALL_CFG_FTPPASS' => 'FTP password (only if needed)',
|
||||
'D3_INSTALL_CFG_SAVE' => 'save',
|
||||
|
||||
'D3_UPDATE_AVAILABLE_VERSION' => '<span style="margin: 10px;"><img src="https://logos.oxidmodule.com/d3logo.svg" alt="(D3)" style="height:1em;width:1em"> <a href="%1$s" target="modupdate">New module version for "%2$s" (version %3$s) available.</a></span>',
|
||||
|
@ -150,4 +150,10 @@ services:
|
||||
- '@D3\ModCfg\Application\Model\Configuration\d3_cfg_mod_licencecheck.args.modcfg'
|
||||
D3\ModCfg\Application\Model\Configuration\d3_cfg_mod_licencecheck.args.modcfg:
|
||||
synthetic: true
|
||||
shared: true
|
||||
shared: true
|
||||
|
||||
D3\ModCfg\Application\Model\download:
|
||||
class: 'D3\ModCfg\Application\Model\download'
|
||||
factory: 'oxNew'
|
||||
arguments:
|
||||
- 'D3\ModCfg\Application\Model\download'
|
@ -56,26 +56,24 @@ services:
|
||||
- 'getSession'
|
||||
shared: true
|
||||
|
||||
# deprecated
|
||||
d3ox.modcfg.OxidEsales\EshopCommunity\Internal\Container\ContainerFactory:
|
||||
class: 'OxidEsales\EshopCommunity\Internal\Container\ContainerFactory'
|
||||
factory: ['OxidEsales\EshopCommunity\Internal\Container\ContainerFactory', 'getInstance']
|
||||
shared: true;
|
||||
shared: true
|
||||
|
||||
# deprecated
|
||||
d3ox.modcfg.OxDiContainer:
|
||||
class: 'ProjectServiceContainer'
|
||||
factory: ['@d3ox.modcfg.OxidEsales\EshopCommunity\Internal\Container\ContainerFactory', 'getContainer']
|
||||
shared: true;
|
||||
shared: true
|
||||
|
||||
d3ox.modcfg.OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProviderInterface:
|
||||
class: 'OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProviderInterface'
|
||||
factory: ['@d3ox.modcfg.OxDiContainer', 'get']
|
||||
shared: true;
|
||||
arguments:
|
||||
- 'OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProviderInterface'
|
||||
class: OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProvider
|
||||
shared: true
|
||||
|
||||
d3ox.modcfg.OxidEsales\EshopCommunity\Internal\Framework\Database\QueryBuilderFactoryInterface:
|
||||
class: 'OxidEsales\EshopCommunity\Internal\Framework\Database\QueryBuilderFactoryInterface'
|
||||
factory: ['@d3ox.modcfg.OxDiContainer', 'get']
|
||||
shared: true;
|
||||
class: OxidEsales\EshopCommunity\Internal\Framework\Database\QueryBuilderFactory
|
||||
shared: true
|
||||
arguments:
|
||||
- 'OxidEsales\EshopCommunity\Internal\Framework\Database\QueryBuilderFactoryInterface'
|
||||
- '@d3ox.modcfg.OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProviderInterface'
|
@ -19,9 +19,12 @@ services:
|
||||
d3ox.modcfg.OxDbConnection:
|
||||
class: 'Doctrine\DBAL\Connection'
|
||||
factory: ['@d3ox.modcfg.OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProviderInterface', 'get']
|
||||
shared: true;
|
||||
shared: true
|
||||
|
||||
d3ox.modcfg.OxDbQueryBuilder:
|
||||
class: 'Doctrine\DBAL\Query\QueryBuilder'
|
||||
factory: ['@d3ox.modcfg.OxidEsales\EshopCommunity\Internal\Framework\Database\QueryBuilderFactoryInterface', 'create']
|
||||
shared: false;
|
||||
shared: false
|
||||
|
||||
Symfony\Component\Filesystem\Filesystem:
|
||||
class: 'Symfony\Component\Filesystem\Filesystem'
|
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
@ -2,51 +2,13 @@
|
||||
|
||||
## Requirements
|
||||
|
||||
Both unit and acceptance tests require OXID Testing Library installed.
|
||||
See https://github.com/OXID-eSales/testing_library
|
||||
Please install the packages listed in the composer.json in "require-dev". Unfortunately Composer does not provide an automatic installation.
|
||||
|
||||
### Configuration
|
||||
|
||||
Please install the packages listed in the composer.json in "require-dev". Unfortunately Composer does not provide an automatic installation.
|
||||
|
||||
Here is an example of Testing Library configuration file `oxideshop/test_config.yml`
|
||||
|
||||
```
|
||||
# This file is auto-generated during the composer install
|
||||
mandatory_parameters:
|
||||
shop_path: /var/www/oxideshop/source
|
||||
shop_tests_path: /var/www/oxideshop/tests
|
||||
partial_module_paths: d3/modcfg
|
||||
optional_parameters:
|
||||
shop_url: null
|
||||
shop_serial: ''
|
||||
enable_varnish: false
|
||||
is_subshop: false
|
||||
install_shop: false
|
||||
remote_server_dir: null
|
||||
shop_setup_path: null
|
||||
restore_shop_after_tests_suite: false
|
||||
test_database_name: null
|
||||
restore_after_acceptance_tests: false
|
||||
restore_after_unit_tests: false
|
||||
tmp_path: /tmp/oxid_test_library/
|
||||
database_restoration_class: DatabaseRestorer
|
||||
activate_all_modules: false
|
||||
run_tests_for_shop: false
|
||||
run_tests_for_modules: true
|
||||
screen_shots_path: null
|
||||
screen_shots_url: null
|
||||
browser_name: firefox
|
||||
selenium_server_ip: 127.0.0.1
|
||||
selenium_server_port: '4444'
|
||||
additional_test_paths: null
|
||||
```
|
||||
Make sure the module has been activated
|
||||
Configure the error reporting to `error_reporting(E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED);` in the `config.inc.php` due some deprecation issues in original OXID code
|
||||
|
||||
## Unit Tests
|
||||
|
||||
To execute unit tests run the following:
|
||||
|
||||
```
|
||||
cd /var/www/oxideshop/
|
||||
vendor/bin/runtests
|
||||
```
|
||||
commands are described in composer.json scripts section
|
||||
|
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
@ -1,2 +1,2 @@
|
||||
<?php ?><?php /** This Software is the property of D³ Data Development and is protected by copyright law - it is NOT Freeware. Any unauthorized use of this software without a valid license key is a violation of the license agreement and will be prosecuted by civil and criminal law. Inhaber: Thomas Dartsch Alle Rechte vorbehalten @package Modul-Connector @version 7.0.1.0 SourceGuardian (19.04.2024) @author Daniel Seifert support@shopmodule.com @copyright (C) 2024, D3 Data Development @see https://www.d3data.de */ ?><?php
|
||||
if(!function_exists('sg_load')){$__v=phpversion();$__x=explode('.',$__v);$__v2=$__x[0].'.'.(int)$__x[1];$__u=strtolower(substr(php_uname(),0,3));$__ts=(@constant('PHP_ZTS') || @constant('ZEND_THREAD_SAFE')?'ts':'');$__f=$__f0='ixed.'.$__v2.$__ts.'.'.$__u;$__ff=$__ff0='ixed.'.$__v2.'.'.(int)$__x[2].$__ts.'.'.$__u;$__ed=@ini_get('extension_dir');$__e=$__e0=@realpath($__ed);$__dl=function_exists('dl') && function_exists('file_exists') && @ini_get('enable_dl') && !@ini_get('safe_mode');if($__dl && $__e && version_compare($__v,'5.2.5','<') && function_exists('getcwd') && function_exists('dirname')){$__d=$__d0=getcwd();if(@$__d[1]==':') {$__d=str_replace('\\','/',substr($__d,2));$__e=str_replace('\\','/',substr($__e,2));}$__e.=($__h=str_repeat('/..',substr_count($__e,'/')));$__f='/ixed/'.$__f0;$__ff='/ixed/'.$__ff0;while(!file_exists($__e.$__d.$__ff) && !file_exists($__e.$__d.$__f) && strlen($__d)>1){$__d=dirname($__d);}if(file_exists($__e.$__d.$__ff)) dl($__h.$__d.$__ff); else if(file_exists($__e.$__d.$__f)) dl($__h.$__d.$__f);}if(!function_exists('sg_load') && $__dl && $__e0){if(file_exists($__e0.'/'.$__ff0)) dl($__ff0); else if(file_exists($__e0.'/'.$__f0)) dl($__f0);}if(!function_exists('sg_load')){$__ixedurl='https://www.sourceguardian.com/loaders/download.php?php_v='.urlencode($__v).'&php_ts='.($__ts?'1':'0').'&php_is='.@constant('PHP_INT_SIZE').'&os_s='.urlencode(php_uname('s')).'&os_r='.urlencode(php_uname('r')).'&os_m='.urlencode(php_uname('m'));$__sapi=php_sapi_name();if(!$__e0) $__e0=$__ed;if(function_exists('php_ini_loaded_file')) $__ini=php_ini_loaded_file(); else $__ini='php.ini';if((substr($__sapi,0,3)=='cgi')||($__sapi=='cli')||($__sapi=='embed')){$__msg="\nPHP script '".__FILE__."' is protected by SourceGuardian and requires a SourceGuardian loader '".$__f0."' to be installed.\n\n1) Download the required loader '".$__f0."' from the SourceGuardian site: ".$__ixedurl."\n2) Install the loader to ";if(isset($__d0)){$__msg.=$__d0.DIRECTORY_SEPARATOR.'ixed';}else{$__msg.=$__e0;if(!$__dl){$__msg.="\n3) Edit ".$__ini." and add 'extension=".$__f0."' directive";}}$__msg.="\n\n";}else{$__msg="<html><body>PHP script '".__FILE__."' is protected by <a href=\"https://www.sourceguardian.com/\">SourceGuardian</a> and requires a SourceGuardian loader '".$__f0."' to be installed.<br><br>1) <a href=\"".$__ixedurl."\" target=\"_blank\">Click here</a> to download the required '".$__f0."' loader from the SourceGuardian site<br>2) Install the loader to ";if(isset($__d0)){$__msg.=$__d0.DIRECTORY_SEPARATOR.'ixed';}else{$__msg.=$__e0;if(!$__dl){$__msg.="<br>3) Edit ".$__ini." and add 'extension=".$__f0."' directive<br>4) Restart the web server";}}$__msg.="</body></html>";}die($__msg);exit();}}return sg_load('7A3737B335210FA1AAQAAAAhAAAABKgAAACABAAAAAAAAAD/AEupxFnL419C+ibRfYqzjZj88kLwROj9pW0B17rFUF4pUBtqAhi8zqWuCGYyavhydnLYHId7b2wJNfs5fOenL7okzaV2zaY0ln48HhFgNScqt5JLB51KCIZ9KzRMSeBR/sOQKHywIdB676vtE1uSk3+6vHdpgH2FhNsvd+YOyw37tRsZaRUyM8UwcM+uTuOqTXqy9e4hBRawMPOjnWTKZNpyxIC9nMjyCAAAAJABAACcalFVa0vayQ+ZpTsDTdHoEVV9IH5IcKh6LjPpUyByV56ux5UFIkaELy/8p4DDz0oxEFU2Hed3HspI/7bfDsxhf/Y6BHmudQQftpg7MutzAVrdKLWcxbysn90u9QZuQjQIIekXCs5a3zfYaGETZg262gb18UYKp/WQzAWwVtuvCWz6wG2AqaIddF8uzRmHP8DtniLU+4sWiSsfj3g7Z7FmBu5Pf3hCOqLg6hODuUoerp7f91DLCfv/W+Kra2WjHF8LIR3scxNJn38m4UkOmMfmCrY5qlrBg8ltXXfvfWXDwm78M/S6gdOG/7zX8//+J4/S663J2jr5Kuu7noP7V6JBusrsoUpuLgkzGMEa7eOQR0fi4TpF2TL8yHhLYrDytX5RyBpbSi/IylIxUhvO4o8Pr4PQsgTNhIKhbyQTGyAYT6mwjtcDfWsuyhu1HlcKKFXLhsv16pbaG9rYvhlZlLqqtJVZaLhjqTT86qlFsXv0B9N/7CPlknqPdgyeVZoGCjAF1wMHRfTQjPxRAsiBby7DUQAAAIgBAAARERIOV2uMB2Mhpqaol1zikV7K32cjQiuQHVS2te2oU/8QVUwk7StXMqfPAtuecvfl+vQ1x81UVLheuZb0HPN25jwVne1F4/qkMb03/YzuOTovMWUO3UdQ0uoTd4ZaZ+4ZmZKpUKs0gu9czPbM0PccVI+vZdpkQ6jWxcEC9iHlRN1OyQtfnJGHCo9cD/p8AW4c7Ds4iCl7tNRdMFmq4lzbHPiKUDa+c8UimPAeFt8lLo67eOobOcCLBQG9owKC72ZEfcrMDsLloX9WauNtr9nZlHbwzlziAEj3/zA9TUYsIyA+NiJpfS356oWABXD0loNXVSmjtUCrG7CZvTpvaBqP3N86W8LsqUgXbgq+07piyVwD9udZJVYIqmElM9AIGJ6j+QwOvq2h6XVcRdUCHEBqVQ4FuwrZv4EEpX5JxR6OgqNhaAvB/Xi3z8gYsRYP2TKpHC17QwnwVJwv5C+gnGorEmtaqGgpeNyADcsaJxbgSwU+pTW4GWXaCa+V4cmV2TnHuhNH85iOTVIAAACIAQAAQgLqPt0LhP/+PZ1lGkz+hP3FGC4Qh+F5tNdzdCNmntl/HwQELVV5YF3+jrOXG472L8QhNf2yL6EnQOHQP/1YgSfGRFcpQZmwrZfpfGUKPoAp5DeQrKVhJ78EZChx+OVtrFZIHO3N5ZLZzRpBtAJxqAyVqPwn2oUlwMLFF4qsNINTxIqSv/Av/uIqITS2ZcWYJ7DxZtiiOgK4VS7P9w4B3rJfaAv2toL5J9OqkRhICzZyy96wawqsg9lQnw9cy2OSk9fHTwDvTWDikenWid6TFsmMhO1CgIrNwde3/8a3GnOaeT4ebh1l6qJ2EAKk7Nnli3BRqNNrbuc+UudQlcMTjW1uDA7kvKsNU+VAs2D8vGLCyOAPKKImF121jLxmne50zy2r8vUF8cFrAccxhBxNBJmnC+6FdpDsR7dMYPeY1avLFv1SYg/MW8JTbipdNuXsDHlm/1j2IQFlFxnFzTTIVnEuTu6lm226ma0xSrKZn4Xx8TXVXRgaznd8RpjN8DWy2pskn9x38fMAAAAA');
|
||||
<?php ?><?php /** This Software is the property of D³ Data Development and is protected by copyright law - it is NOT Freeware. Any unauthorized use of this software without a valid license key is a violation of the license agreement and will be prosecuted by civil and criminal law. Inhaber: Thomas Dartsch Alle Rechte vorbehalten @package Modul-Connector @version 7.1.0.0 SourceGuardian (26.06.2024) @author Daniel Seifert support@shopmodule.com @copyright (C) 2024, D3 Data Development @see https://www.d3data.de */ ?><?php
|
||||
if(!function_exists('sg_load')){$__v=phpversion();$__x=explode('.',$__v);$__v2=$__x[0].'.'.(int)$__x[1];$__u=strtolower(substr(php_uname(),0,3));$__ts=(@constant('PHP_ZTS') || @constant('ZEND_THREAD_SAFE')?'ts':'');$__f=$__f0='ixed.'.$__v2.$__ts.'.'.$__u;$__ff=$__ff0='ixed.'.$__v2.'.'.(int)$__x[2].$__ts.'.'.$__u;$__ed=@ini_get('extension_dir');$__e=$__e0=@realpath($__ed);$__dl=function_exists('dl') && function_exists('file_exists') && @ini_get('enable_dl') && !@ini_get('safe_mode');if($__dl && $__e && version_compare($__v,'5.2.5','<') && function_exists('getcwd') && function_exists('dirname')){$__d=$__d0=getcwd();if(@$__d[1]==':') {$__d=str_replace('\\','/',substr($__d,2));$__e=str_replace('\\','/',substr($__e,2));}$__e.=($__h=str_repeat('/..',substr_count($__e,'/')));$__f='/ixed/'.$__f0;$__ff='/ixed/'.$__ff0;while(!file_exists($__e.$__d.$__ff) && !file_exists($__e.$__d.$__f) && strlen($__d)>1){$__d=dirname($__d);}if(file_exists($__e.$__d.$__ff)) dl($__h.$__d.$__ff); else if(file_exists($__e.$__d.$__f)) dl($__h.$__d.$__f);}if(!function_exists('sg_load') && $__dl && $__e0){if(file_exists($__e0.'/'.$__ff0)) dl($__ff0); else if(file_exists($__e0.'/'.$__f0)) dl($__f0);}if(!function_exists('sg_load')){$__ixedurl='https://www.sourceguardian.com/loaders/download.php?php_v='.urlencode($__v).'&php_ts='.($__ts?'1':'0').'&php_is='.@constant('PHP_INT_SIZE').'&os_s='.urlencode(php_uname('s')).'&os_r='.urlencode(php_uname('r')).'&os_m='.urlencode(php_uname('m'));$__sapi=php_sapi_name();if(!$__e0) $__e0=$__ed;if(function_exists('php_ini_loaded_file')) $__ini=php_ini_loaded_file(); else $__ini='php.ini';if((substr($__sapi,0,3)=='cgi')||($__sapi=='cli')||($__sapi=='embed')){$__msg="\nPHP script '".__FILE__."' is protected by SourceGuardian and requires a SourceGuardian loader '".$__f0."' to be installed.\n\n1) Download the required loader '".$__f0."' from the SourceGuardian site: ".$__ixedurl."\n2) Install the loader to ";if(isset($__d0)){$__msg.=$__d0.DIRECTORY_SEPARATOR.'ixed';}else{$__msg.=$__e0;if(!$__dl){$__msg.="\n3) Edit ".$__ini." and add 'extension=".$__f0."' directive";}}$__msg.="\n\n";}else{$__msg="<html><body>PHP script '".__FILE__."' is protected by <a href=\"https://www.sourceguardian.com/\">SourceGuardian</a> and requires a SourceGuardian loader '".$__f0."' to be installed.<br><br>1) <a href=\"".$__ixedurl."\" target=\"_blank\">Click here</a> to download the required '".$__f0."' loader from the SourceGuardian site<br>2) Install the loader to ";if(isset($__d0)){$__msg.=$__d0.DIRECTORY_SEPARATOR.'ixed';}else{$__msg.=$__e0;if(!$__dl){$__msg.="<br>3) Edit ".$__ini." and add 'extension=".$__f0."' directive<br>4) Restart the web server";}}$__msg.="</body></html>";}die($__msg);exit();}}return sg_load('7A3737B34D210F71AAQAAAAhAAAABKgAAACABAAAAAAAAAD/xoq58c1zxqa5YSFCj2oEQWkkCd2JIoabVKxx7VX1a1t9RrWML11Ytpl/+VHOBc1CQyiksRBxuLFxxZXgyIFN1/hs32foo6doC23l+aXudKYDv1TemItSSk/J+bZMMafeVSOr9kibM2fhTph36e9vC+0rk/LNUEx0dCoJwFAEYBFNC9axx8bFuezLG4nu4GJb5PFlZCprA1QJF7tOnvf7oPh/WXgF/DGbCAAAAJABAADJVHCIImcG4E9SKdoNLMZlzcxT7Q2/VpfLK+phS8/CSVfrM6CbylwlKUWGUKwE+ovFfzH34ID4iCPYYzOZCw4NCIBqfOoIewB1SuBA1ymtdWhWOube9BmoyHYkkKYkL2cy6JJ6xqHZ1Txv7PNB7Ael46LrbpDGtoGYHTDnK51gpEj97uZ65phjWocO1xoJJxGt0tE3DW7qPG6IcgO8meffSZ/cVPnXTsgA2RLpD1KNa/oOF+xfzr68OEtHEFqYFZbnPf1PA3BrBcc2z5735aXUA1HmOBNjhDKV+fkZWhOmum6yVidOUXB1Vwc/1d/RPe5lUlyiuR2RwTW33cpYuK9qbmLrbTW8WPl+1InYMBcpi1LJd8r0hc45rUvEilIPD2CTmDoh/vhBi/fCFhDvyfkJrSrH54OctMomKSs6AthxmdKNvoAPEZm4xHIzjBrULdFCiFAQpluMf5/dNVJB1uZM6s0jfuvxdJVDaBSUM8eCouuMLN4hcNO4zYouLUl6UcOm8P2q/v3LQZZ7tJR9Mg5lUQAAAIgBAAANhnZArhIUtgnoosiOi2pt5EeOKcD7qPUoA/CeUgfBSxrCpNYdhYupFBzUHnesqCwaqJu3ROtLGNRiSXov/ijR0qY4a+W15PnZ1TgTaMnk21ZcU1/mA2PMM+v9kso90A1SaC9DSZ+3w4+KTvXedkWkhb6Bfei2TlC952NaJIIaCTJTcPFMsQSDSVJZhhixKq8u0yZTDPCAu8lck/ynmpwbidZ/zqHXvN+EVMNHumVtLiFXPcu4SOrT5rK82t1Y2iqGSPZdQDtHMKinjI/Q4SgGquZREQ1nKCAcZhV1n85x5EeazPga5J1VQ8A1BRJM3Ykn9Jv9mFA34qKFr/vQ8X94cBLiGE8+N+sG8tCc0NRluM0OGKeM/KXRjGCNx0lhhyS8F4GBtz0LDYDWpKZq9t8TbcHMMyvB16KguDZX37vMWuQNYX659iVrnlfbt0muy5+vUZY7aWeu38Fg5AL3IzKWM44k10+0xDN+M9nnV/MGzUp5kMPPyJr10wxUqFBIvbv8jYtKbkz0yVIAAACIAQAAZbFYTe5Jtdy/btWsu2MOWy2ukWjAUMAe/YUZMw5NUA1J9YM525RdMhGUk4Ad7Vp4TrMui24tnWrEXiTvzJh0bOZZslbL81KmGdhL2VBcjwiXXf38Y2MtQdLQRjJKfUPPtvXMGv9KeFDoDzrm9iE4JJEQL2TOnHQfU/9gCRUAbECUNwjgsP7jqksN4co/1IhjuiiwZVjqmUDJ3hABeVEal4CA8ZUW1myH/94xXynwELkaEI7N4JSNiboz/eRURmBILjVFexiX9M5OKtUJLdk88+qDxTJ13WzBYaWSnFawBYds9uGRKyyH9asUd+L5UHkYnSNWDFnXM9sFWb3KXAE8yxgvMBbjiBlKifVMMQOf6HOTY2T0PPUEQWe581CGT2FyoN0c5bfQWqS66tSS9iM0s3Gus8bpB8OVtR4//8uxJvYd+ub5oghnT921GBkmgzIXxfr/Dr81EI44ZmQf+CiAistogu7rLtEfhkXqSRkBOP8hA8T+8IElAdsHVWWNd9mfoGOp9i5y4JcAAAAA');
|
||||
|
@ -1,2 +1,2 @@
|
||||
<?php ?><?php /** This Software is the property of D³ Data Development and is protected by copyright law - it is NOT Freeware. Any unauthorized use of this software without a valid license key is a violation of the license agreement and will be prosecuted by civil and criminal law. Inhaber: Thomas Dartsch Alle Rechte vorbehalten @package Modul-Connector @version 7.0.1.0 SourceGuardian (19.04.2024) @author Daniel Seifert support@shopmodule.com @copyright (C) 2024, D3 Data Development @see https://www.d3data.de */ ?><?php
|
||||
if(!function_exists('sg_load')){$__v=phpversion();$__x=explode('.',$__v);$__v2=$__x[0].'.'.(int)$__x[1];$__u=strtolower(substr(php_uname(),0,3));$__ts=(@constant('PHP_ZTS') || @constant('ZEND_THREAD_SAFE')?'ts':'');$__f=$__f0='ixed.'.$__v2.$__ts.'.'.$__u;$__ff=$__ff0='ixed.'.$__v2.'.'.(int)$__x[2].$__ts.'.'.$__u;$__ed=@ini_get('extension_dir');$__e=$__e0=@realpath($__ed);$__dl=function_exists('dl') && function_exists('file_exists') && @ini_get('enable_dl') && !@ini_get('safe_mode');if($__dl && $__e && version_compare($__v,'5.2.5','<') && function_exists('getcwd') && function_exists('dirname')){$__d=$__d0=getcwd();if(@$__d[1]==':') {$__d=str_replace('\\','/',substr($__d,2));$__e=str_replace('\\','/',substr($__e,2));}$__e.=($__h=str_repeat('/..',substr_count($__e,'/')));$__f='/ixed/'.$__f0;$__ff='/ixed/'.$__ff0;while(!file_exists($__e.$__d.$__ff) && !file_exists($__e.$__d.$__f) && strlen($__d)>1){$__d=dirname($__d);}if(file_exists($__e.$__d.$__ff)) dl($__h.$__d.$__ff); else if(file_exists($__e.$__d.$__f)) dl($__h.$__d.$__f);}if(!function_exists('sg_load') && $__dl && $__e0){if(file_exists($__e0.'/'.$__ff0)) dl($__ff0); else if(file_exists($__e0.'/'.$__f0)) dl($__f0);}if(!function_exists('sg_load')){$__ixedurl='https://www.sourceguardian.com/loaders/download.php?php_v='.urlencode($__v).'&php_ts='.($__ts?'1':'0').'&php_is='.@constant('PHP_INT_SIZE').'&os_s='.urlencode(php_uname('s')).'&os_r='.urlencode(php_uname('r')).'&os_m='.urlencode(php_uname('m'));$__sapi=php_sapi_name();if(!$__e0) $__e0=$__ed;if(function_exists('php_ini_loaded_file')) $__ini=php_ini_loaded_file(); else $__ini='php.ini';if((substr($__sapi,0,3)=='cgi')||($__sapi=='cli')||($__sapi=='embed')){$__msg="\nPHP script '".__FILE__."' is protected by SourceGuardian and requires a SourceGuardian loader '".$__f0."' to be installed.\n\n1) Download the required loader '".$__f0."' from the SourceGuardian site: ".$__ixedurl."\n2) Install the loader to ";if(isset($__d0)){$__msg.=$__d0.DIRECTORY_SEPARATOR.'ixed';}else{$__msg.=$__e0;if(!$__dl){$__msg.="\n3) Edit ".$__ini." and add 'extension=".$__f0."' directive";}}$__msg.="\n\n";}else{$__msg="<html><body>PHP script '".__FILE__."' is protected by <a href=\"https://www.sourceguardian.com/\">SourceGuardian</a> and requires a SourceGuardian loader '".$__f0."' to be installed.<br><br>1) <a href=\"".$__ixedurl."\" target=\"_blank\">Click here</a> to download the required '".$__f0."' loader from the SourceGuardian site<br>2) Install the loader to ";if(isset($__d0)){$__msg.=$__d0.DIRECTORY_SEPARATOR.'ixed';}else{$__msg.=$__e0;if(!$__dl){$__msg.="<br>3) Edit ".$__ini." and add 'extension=".$__f0."' directive<br>4) Restart the web server";}}$__msg.="</body></html>";}die($__msg);exit();}}return sg_load('7A3737B335210FA1AAQAAAAhAAAABKgAAACABAAAAAAAAAD/AEupxFnL419C+ibRfYqzjZj88kLwROj9pW0B17rFUF4pUBtqAhi8zqWuCGYyavhydnLYHId7b2wJNfs5fOenL7okzaV2zaY0ln48HhFgNScqt5JLB51KCIZ9KzRMSeBR/sOQKHywIdB676vtE1uSk3+6vHdpgH2FhNsvd+YOyw37tRsZaRUyM8UwcM+uTuOqTXqy9e4hBRawMPOjnWTKZNpyxIC9nMjyCAAAAOAAAABpbEDcmQaqvJ718r4Aa37gOtZo5PQG4XkGhxgJfiGDiM+fmukSxbyztRlMFDZQuTL+xj83ALq9EEfsy/gaTE82jdztG/T1Pz6mjHPOsvtsRrzPlZrf3VIyjnCDIaVlNJjSoYU+I23JFhWB0z1i0slp0D9UaHIXEtdCGtY5n5jfdFgWW7mMKDFAsHG36IVY/2yjF1fEEBH7AgwXydrMeI3M9rQdSFL9qlQ0NHjzM6GPOD0nwl6U85TK1qTcVMqW1T/NQS14yk0J5MVWucbHWoGTB0bSRg3BY0EaxAeFnsTzlFEAAADYAAAA7lD+YR9+qsPrJNcQIBrvdNOT/fjxGMFQHdeMHbwjrrg7Wxyvxiq7Fr0loFVVQ+wPnaAgeIYRfbmNnmKQX+eqraHsfL90QXVgGggn86wElsSKsfcHuOzW2BpxePfgCK0fxVPZXtfM4cJKAgBbGq71er0rXrR4xq0KeLQuVYYId4AsWbzOc4muaZmqqcEXBlc8eWpRQiNOvUZtpvGbIjyhMdgzpQivRcqPiFrsRA339h8UKzvG0UVbPFDuizUOvkL2074LbLoAeTef9Kh/ws+KdZM9HTpbUex9UgAAANgAAABS+aEA7YUiq7o1ImNI80IKlaDxFd/POLmxzmLbCpcEDs1DXVFDy+5eQtZckIRcaodjVxb+4ZxDLll+8eSMXUN2Tokj1c9poGnA6Bctlf+8VYN6skHvK09gnoCcmBmILl01Jg0Wwgpf3YAWt+/9tg5C18B9l9T3YnBLTttVHub14ZvO9fd8okvUpD2d2/XkI6CErq4UEYOtzykvK1ECn3WF4REzr3vZLIuFbqjvVLCvgvEXsJh8Iym5fVa7TBEv1n64O7kByIJG5bM0hjaqH/mYEIOqA3CQ0BYAAAAA');
|
||||
<?php ?><?php /** This Software is the property of D³ Data Development and is protected by copyright law - it is NOT Freeware. Any unauthorized use of this software without a valid license key is a violation of the license agreement and will be prosecuted by civil and criminal law. Inhaber: Thomas Dartsch Alle Rechte vorbehalten @package Modul-Connector @version 7.1.0.0 SourceGuardian (26.06.2024) @author Daniel Seifert support@shopmodule.com @copyright (C) 2024, D3 Data Development @see https://www.d3data.de */ ?><?php
|
||||
if(!function_exists('sg_load')){$__v=phpversion();$__x=explode('.',$__v);$__v2=$__x[0].'.'.(int)$__x[1];$__u=strtolower(substr(php_uname(),0,3));$__ts=(@constant('PHP_ZTS') || @constant('ZEND_THREAD_SAFE')?'ts':'');$__f=$__f0='ixed.'.$__v2.$__ts.'.'.$__u;$__ff=$__ff0='ixed.'.$__v2.'.'.(int)$__x[2].$__ts.'.'.$__u;$__ed=@ini_get('extension_dir');$__e=$__e0=@realpath($__ed);$__dl=function_exists('dl') && function_exists('file_exists') && @ini_get('enable_dl') && !@ini_get('safe_mode');if($__dl && $__e && version_compare($__v,'5.2.5','<') && function_exists('getcwd') && function_exists('dirname')){$__d=$__d0=getcwd();if(@$__d[1]==':') {$__d=str_replace('\\','/',substr($__d,2));$__e=str_replace('\\','/',substr($__e,2));}$__e.=($__h=str_repeat('/..',substr_count($__e,'/')));$__f='/ixed/'.$__f0;$__ff='/ixed/'.$__ff0;while(!file_exists($__e.$__d.$__ff) && !file_exists($__e.$__d.$__f) && strlen($__d)>1){$__d=dirname($__d);}if(file_exists($__e.$__d.$__ff)) dl($__h.$__d.$__ff); else if(file_exists($__e.$__d.$__f)) dl($__h.$__d.$__f);}if(!function_exists('sg_load') && $__dl && $__e0){if(file_exists($__e0.'/'.$__ff0)) dl($__ff0); else if(file_exists($__e0.'/'.$__f0)) dl($__f0);}if(!function_exists('sg_load')){$__ixedurl='https://www.sourceguardian.com/loaders/download.php?php_v='.urlencode($__v).'&php_ts='.($__ts?'1':'0').'&php_is='.@constant('PHP_INT_SIZE').'&os_s='.urlencode(php_uname('s')).'&os_r='.urlencode(php_uname('r')).'&os_m='.urlencode(php_uname('m'));$__sapi=php_sapi_name();if(!$__e0) $__e0=$__ed;if(function_exists('php_ini_loaded_file')) $__ini=php_ini_loaded_file(); else $__ini='php.ini';if((substr($__sapi,0,3)=='cgi')||($__sapi=='cli')||($__sapi=='embed')){$__msg="\nPHP script '".__FILE__."' is protected by SourceGuardian and requires a SourceGuardian loader '".$__f0."' to be installed.\n\n1) Download the required loader '".$__f0."' from the SourceGuardian site: ".$__ixedurl."\n2) Install the loader to ";if(isset($__d0)){$__msg.=$__d0.DIRECTORY_SEPARATOR.'ixed';}else{$__msg.=$__e0;if(!$__dl){$__msg.="\n3) Edit ".$__ini." and add 'extension=".$__f0."' directive";}}$__msg.="\n\n";}else{$__msg="<html><body>PHP script '".__FILE__."' is protected by <a href=\"https://www.sourceguardian.com/\">SourceGuardian</a> and requires a SourceGuardian loader '".$__f0."' to be installed.<br><br>1) <a href=\"".$__ixedurl."\" target=\"_blank\">Click here</a> to download the required '".$__f0."' loader from the SourceGuardian site<br>2) Install the loader to ";if(isset($__d0)){$__msg.=$__d0.DIRECTORY_SEPARATOR.'ixed';}else{$__msg.=$__e0;if(!$__dl){$__msg.="<br>3) Edit ".$__ini." and add 'extension=".$__f0."' directive<br>4) Restart the web server";}}$__msg.="</body></html>";}die($__msg);exit();}}return sg_load('7A3737B34D210F71AAQAAAAhAAAABKgAAACABAAAAAAAAAD/xoq58c1zxqa5YSFCj2oEQWkkCd2JIoabVKxx7VX1a1t9RrWML11Ytpl/+VHOBc1CQyiksRBxuLFxxZXgyIFN1/hs32foo6doC23l+aXudKYDv1TemItSSk/J+bZMMafeVSOr9kibM2fhTph36e9vC+0rk/LNUEx0dCoJwFAEYBFNC9axx8bFuezLG4nu4GJb5PFlZCprA1QJF7tOnvf7oPh/WXgF/DGbCAAAAOAAAABpbEDcmQaqvJ718r4Aa37gOtZo5PQG4XkGhxgJfiGDiM+fmukSxbyztRlMFDZQuTL+xj83ALq9EEfsy/gaTE82jdztG/T1Pz6mjHPOsvtsRrzPlZrf3VIyjnCDIaVlNJjSoYU+I23JFhWB0z1i0slp0D9UaHIXEtdCGtY5n5jfdFgWW7mMKDFAsHG36IVY/2yjF1fEEBH7AgwXydrMeI3M9rQdSFL9qlQ0NHjzM6GPOD0nwl6U85TK1qTcVMqW1T/NQS14yk0J5MVWucbHWoGTB0bSRg3BY0EaxAeFnsTzlFEAAADYAAAAmUX5gA1apno3V6qn+bhzLh1hKy1hf17QSJsFaD5Z8UJkvVsMFMCltMRyEvtROFQw7tO7dONYaqXrSlB3XR9iYFJYMkveIB0ZhEo5F1ySTal21bkiYNBkwkaogOcWrLv9B/mZeXEMWZW3Mo5t7s4Kspn3J1jQBNJKXfjMVmCa9H3MdmyTQNPb1i3mbI23evMqyPkAX4TBNaL10zqvrwFuRIMayUO6Whq4rBQs6eFhZOyTiBQm/5qtrTYhQLHHqcsDmHvYv2j0D3AaCm3KU8AP4s7nyG0HgLmTUgAAANgAAAC+/dBCYIpPxb0nqdBKEZWFGvfBnJ3N3NcWoThZ5U0uRVhl65o1lOMRQ5VKB6swTalxzqUW1Xti+ik7EZRT0P6b6RqnrZNy6G+KKL4Nx0OvBuIyYIAL5Su303/LPGcrgLiDy1TurzmbfzeNx0PCvLf2rt3eCExhF+F2BQ1DDu/f1I/L/J2sv8x7J65ld0nsTqxCAqzW2BHXJUue3jrSHNWMiX1D4nIcPXlpTS1orIG+0pDLHnZnAgRP3qIMtT1cljxmlBSUTDyka3GxpAjsjq9XSh0pfVfxVFcAAAAA');
|
||||
|
@ -1,9 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
backupGlobals="true"
|
||||
backupStaticAttributes="false"
|
||||
beStrictAboutTestsThatDoNotTestAnything="false"
|
||||
bootstrap="../../../../source/bootstrap.php"
|
||||
colors="false"
|
||||
backupStaticAttributes="false"
|
||||
convertErrorsToExceptions="true"
|
||||
convertNoticesToExceptions="false"
|
||||
convertWarningsToExceptions="true"
|
||||
@ -13,19 +13,29 @@
|
||||
stopOnFailure="false"
|
||||
stopOnIncomplete="false"
|
||||
stopOnSkipped="false"
|
||||
beStrictAboutTestsThatDoNotTestAnything="false"
|
||||
verbose="false"
|
||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
|
||||
<coverage includeUncoveredFiles="true" processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">../</directory>
|
||||
</include>
|
||||
</coverage>
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory>unit/</directory>
|
||||
</testsuite>
|
||||
<!-- <testsuite name="Integration">-->
|
||||
<!-- <directory>integration/</directory>-->
|
||||
<!-- </testsuite>-->
|
||||
</testsuites>
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory>unit/</directory>
|
||||
</testsuite>
|
||||
<!-- <testsuite name="Integration">-->
|
||||
<!-- <directory>integration/</directory>-->
|
||||
<!-- </testsuite>-->
|
||||
</testsuites>
|
||||
<coverage includeUncoveredFiles="true" processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">../</directory>
|
||||
</include>
|
||||
<exclude>
|
||||
<file>../.php-cs-fixer.php</file>
|
||||
<file>../IntelliSenseHelper.php</file>
|
||||
<file>../rector.php</file>
|
||||
<directory>../Tests/</directory>
|
||||
</exclude>
|
||||
</coverage>
|
||||
<php>
|
||||
<const name="OXID_PHP_UNIT" value="true"/>
|
||||
</php>
|
||||
</phpunit>
|
||||
|
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
2
Tests/unit/Application/Model/Encoding/d3decoderTest.php
Normale Datei
2
Tests/unit/Application/Model/Encoding/d3decoderTest.php
Normale Datei
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
2
Tests/unit/Application/Model/Encoding/d3encoderTest.php
Normale Datei
2
Tests/unit/Application/Model/Encoding/d3encoderTest.php
Normale Datei
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Dateidiff unterdrückt, weil mindestens eine Zeile zu lang ist
Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden Mehr anzeigen
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren