Compare commits

...

No commits in common. "rel_5.x_SourceGuardian_ab_PHP8.0" and "rel_6.x_sourceGuardian_from_PHP8.0" have entirely different histories.

278 changed files with 9729 additions and 5355 deletions

BIN
.gitattributes vendored

Binary file not shown.

2
.php-cs-fixer.php Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,5 @@
<?php <?php
/** /**
* This Software is the property of Data Development and is protected * This Software is the property of Data Development and is protected
* by copyright law - it is NOT Freeware. * by copyright law - it is NOT Freeware.
@ -11,7 +12,14 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use OxidEsales\Eshop\Application\Controller\Admin\AdminListController; use OxidEsales\Eshop\Application\Controller\Admin\AdminListController;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\TableViewNameGenerator;
/** /**
* Importer list manager. * Importer list manager.
@ -19,21 +27,21 @@ use OxidEsales\Eshop\Application\Controller\Admin\AdminListController;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_AdminList extends AdminListController class AdminList extends AdminListController
{ {
/** /**
* Current class template name. * Current class template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_list.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_list';
/** /**
* Name of chosen object class (default null). * Name of chosen object class (default null).
* *
* @var string * @var string
*/ */
protected $_sListClass = 'd3_importer_Application_Models_ImportConfig'; protected $_sListClass = ImportConfig::class;
/** /**
* Default SQL sorting parameter (default null). * Default SQL sorting parameter (default null).
@ -42,15 +50,14 @@ class d3_importer_Application_Controller_Admin_Articleimport_AdminList extends A
*/ */
protected $_sDefSortField = "oxtitle"; protected $_sDefSortField = "oxtitle";
protected function _prepareWhereQuery($aWhere, $sqlFull) protected function prepareWhereQuery($whereQuery, $fullQuery)
{ {
$sQ = parent::_prepareWhereQuery($aWhere, $sqlFull); $sQ = parent::prepareWhereQuery($whereQuery, $fullQuery);
$sTable = getViewName("d3importconfig"); $sTable = oxNew(TableViewNameGenerator::class)->getViewName("d3importconfig");
$iShopId = $this->getConfig()->getShopId(); $iShopId = Registry::getConfig()->getShopId();
$sQ .= " AND {$sTable}.oxshopid = '{$iShopId}' ";
return $sQ; return $sQ . " AND {$sTable}.oxshopid = '{$iShopId}' ";
} }
} }

View File

@ -12,6 +12,16 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use OxidEsales\Eshop\Core\Exception\SystemComponentException;
use Exception;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Controller\Import\Article;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use OxidEsales\Eshop\Core\DatabaseProvider; use OxidEsales\Eshop\Core\DatabaseProvider;
use OxidEsales\Eshop\Core\Registry; use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
@ -22,10 +32,10 @@ use OxidEsales\Eshop\Core\TableViewNameGenerator;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Afterimport extends d3_importer_Application_Controller_Admin_Base class Afterimport extends Base
{ {
/** /**
* @var d3_importer_Application_Controller_Import_Article * @var Article
*/ */
protected $importer; protected $importer;
@ -36,11 +46,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Afterimport extends
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_afterimport.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_afterimport';
/** /**
* *
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
public function __construct() public function __construct()
{ {
@ -56,15 +66,15 @@ class d3_importer_Application_Controller_Admin_Articleimport_Afterimport extends
* *
* @return bool|string * @return bool|string
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function doAfterImport() public function doAfterImport()
{ {
$request = oxNew(Request::class); $request = oxNew(Request::class);
$soxId = $request->getRequestParameter("oxid"); $soxId = $request->getRequestParameter("oxid");
$sAction = $request->getRequestParameter("action"); $sAction = $request->getRequestParameter("action");
$iTicker = (integer)$request->getRequestParameter("afterimportticker"); $iTicker = (int)$request->getRequestParameter("afterimportticker");
if (false == $sAction) { if (false == $sAction) {
$this->addTplParam("isfailconfig", 15); $this->addTplParam("isfailconfig", 15);
@ -80,7 +90,7 @@ class d3_importer_Application_Controller_Admin_Articleimport_Afterimport extends
} }
if ($iTicker) { if ($iTicker) {
$oImportConfig->saveImportProfile(array('AFTERIMPORTTICKER' => $iTicker), $this->getD3CurrentProfileName()); $oImportConfig->saveImportProfile(['AFTERIMPORTTICKER' => $iTicker], $this->getD3CurrentProfileName());
} }
$iAllCount = Registry::getSession()->getVariable('notimported_all'); $iAllCount = Registry::getSession()->getVariable('notimported_all');
@ -90,20 +100,18 @@ class d3_importer_Application_Controller_Admin_Articleimport_Afterimport extends
Registry::getSession()->setVariable('notimported_all', $iAllCount); Registry::getSession()->setVariable('notimported_all', $iAllCount);
} }
$tickerMaximum = (integer)$oImportConfig->getImportProfile($this->getD3CurrentProfileName())['AFTERIMPORTTICKER']; $tickerMaximum = (int)$oImportConfig->getImportProfile($this->getD3CurrentProfileName())['AFTERIMPORTTICKER'];
/** @var d3_importer_Application_Controller_Import_Article $articleImport */ /** @var Article $articleImport */
$articleImport = oxNew(d3_importer_Application_Controller_Import_Article::class, $oImportConfig); $articleImport = oxNew(Article::class, $oImportConfig);
$articleImport->afterImport($sAction, $tickerMaximum); $articleImport->afterImport($sAction, $tickerMaximum);
$this->importer = $articleImport; $this->importer = $articleImport;
$this->addTplParam("oxid", $soxId); $this->addTplParam("oxid", $soxId);
$this->addTplParam("sAction", $sAction); $this->addTplParam("sAction", $sAction);
$this->addTplParam("iActPos", $iAllCount - $this->getStatisticData('notimported_all')); $this->addTplParam("iActPos", $iAllCount - $this->getStatisticData('notimported_all'));
$this->addTplParam("iAllPos", $iAllCount); $this->addTplParam("iAllPos", $iAllCount);
$this->_sThisTemplate = 'd3_importer_afterticker.tpl'; $this->_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_afterticker';
return;
} }
/** /**
@ -112,8 +120,8 @@ class d3_importer_Application_Controller_Admin_Articleimport_Afterimport extends
* @param $sData * @param $sData
* *
* @return string * @return string
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
public function getStatisticData($sData) public function getStatisticData($sData)
{ {
@ -172,13 +180,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Afterimport extends
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -11,36 +11,49 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use Exception;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
/** /**
* Importer category manager. * Importer attribute manager.
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Attribute extends d3_importer_Application_Controller_Admin_Base class Attribute extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_attrib.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_attrib';
protected $currentProfileName = 'd3_importer_attrib'; protected $currentProfileName = 'd3_importer_attrib';
/** /**
* Executes parent method parent::render(), creates oxlist object, * Executes parent method parent::render(), creates oxlist object,
* passes it's data to Smarty engine and retutns name of template * passes its data to Smarty engine and retutns name of template
* file "d3_importer_category.tpl". * file "d3_importer_category.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -48,17 +61,21 @@ class d3_importer_Application_Controller_Admin_Articleimport_Attribute extends d
$this->readCurrentCSVLine(); $this->readCurrentCSVLine();
$this->addTplParam(
'attributeOldValues',
is_string($this->getD3ImporterConfiguration()->getImportProfile('d3_importer_attrib')['IMPORTCOLUM'] ?? [])
);
return $sReturn; return $sReturn;
} }
/** /**
* @param array $aXMLParams
* *
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function saveImportProfile(array $aXMLParams = array()) public function saveImportProfile(array $aXMLParams = [])
{ {
$request = oxNew(Request::class); $request = oxNew(Request::class);
$aXMLParams = $request->getRequestParameter("xmlval"); $aXMLParams = $request->getRequestParameter("xmlval");
@ -99,13 +116,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Attribute extends d
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -12,6 +12,9 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\Importer\Application\Models\Constants;
use OxidEsales\Eshop\Application\Controller\Admin\AdminController; use OxidEsales\Eshop\Application\Controller\Admin\AdminController;
/** /**
@ -21,12 +24,12 @@ use OxidEsales\Eshop\Application\Controller\Admin\AdminController;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Base extends AdminController class Base extends AdminController
{ {
/** /**
* Current class template name. * Current class template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer';
} }

View File

@ -11,6 +11,19 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use Exception;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
/** /**
@ -18,29 +31,29 @@ use OxidEsales\Eshop\Core\Request;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Category extends d3_importer_Application_Controller_Admin_Base class Category extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_category.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_category';
protected $currentProfileName = 'd3_importer_category'; protected $currentProfileName = 'd3_importer_category';
/** /**
* Executes parent method parent::render(), creates oxlist object, * Executes parent method parent::render(), creates oxlist object,
* passes it's data to Smarty engine and retutns name of template * passes its data to Smarty engine and retutns name of template
* file "d3_importer_category.tpl". * file "d3_importer_category.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -52,14 +65,13 @@ class d3_importer_Application_Controller_Admin_Articleimport_Category extends d3
} }
/** /**
* @param array $aXMLParams
* *
* @return void * @return void
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function saveImportProfile(array $aXMLParams = array()) public function saveImportProfile(array $aXMLParams = [])
{ {
$aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval"); $aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval");
@ -73,13 +85,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Category extends d3
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -12,6 +12,17 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use Exception;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\Formbuilder;
use D3\Importer\Application\Models\Groupbuilder;
use D3\Importer\Application\Models\ImportConfig;
use D3\Importer\Application\Models\Profilemapper;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
/** /**
@ -19,27 +30,25 @@ use OxidEsales\Eshop\Core\Request;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Config extends d3_importer_Application_Controller_Admin_Base class Config extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_config.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_config';
protected $currentProfileName = 'd3_importer_config'; protected $currentProfileName = 'd3_importer_config';
/** /**
* @param array $aXMLParams
* *
* @return void * @return void
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function saveImportProfile(array $aXMLParams = array()) public function saveImportProfile(array $aXMLParams = [])
{ {
$aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval"); $aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval");
@ -60,23 +69,19 @@ class d3_importer_Application_Controller_Admin_Articleimport_Config extends d3_i
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
* *
* @return array * @return array
* @throws Exception * @throws Exception
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
/** @var d3_importer_Application_Models_Profilemapper $oMapper */ $oMapper = oxNew(Profilemapper::class, $oImportConfig);
$oMapper = oxNew(d3_importer_Application_Models_Profilemapper::class, $oImportConfig);
$oSetting = $oMapper->getSettingFromController($this->currentProfileName); $oSetting = $oMapper->getSettingFromController($this->currentProfileName);
/** @var d3_importer_Application_Models_Formbuilder $oFormBuilder */ $oFormBuilder = oxNew(Formbuilder::class, $oSetting);
$oFormBuilder = oxNew(d3_importer_Application_Models_Formbuilder::class, $oSetting);
$aElements = $oFormBuilder->getElements(); $aElements = $oFormBuilder->getElements();
/** @var d3_importer_Application_Models_Groupbuilder $oGroupBuilder */ $oGroupBuilder = oxNew(Groupbuilder::class);
$oGroupBuilder = oxNew(d3_importer_Application_Models_Groupbuilder::class);
return $oGroupBuilder->groupify($aElements, $this->getD3CurrentProfileName()); return $oGroupBuilder->groupify($aElements, $this->getD3CurrentProfileName());
} }

View File

@ -12,34 +12,46 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
/** /**
* Importer cross manager. * Importer cross manager.
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Crosselling extends d3_importer_Application_Controller_Admin_Base class Crosselling extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_cross.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_cross';
protected $currentProfileName = 'd3_importer_cross'; protected $currentProfileName = 'd3_importer_cross';
/** /**
* Executes parent method parent::render(), creates oxlist object, * Executes parent method parent::render(), creates oxlist object,
* passes it's data to Smarty engine and retutns name of template * passes its data to Smarty engine and retutns name of template
* file "d3_importer_category.tpl". * file "d3_importer_category.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -51,13 +63,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Crosselling extends
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -12,24 +12,39 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use OxidEsales\Eshop\Application\Model\Article;
use Exception;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use D3\Importer\Application\Models\ImporterDescription;
use OxidEsales\Eshop\Core\Model\BaseModel; use OxidEsales\Eshop\Core\Model\BaseModel;
use OxidEsales\Eshop\Core\Model\ListModel; use OxidEsales\Eshop\Core\Model\ListModel;
use OxidEsales\Eshop\Core\Registry; use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
use stdClass;
/** /**
* Importer fields manager. * Importer fields manager.
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Fields extends d3_importer_Application_Controller_Admin_Base class Fields extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_fields.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_fields';
/** /**
* @var string * @var string
@ -47,12 +62,12 @@ class d3_importer_Application_Controller_Admin_Articleimport_Fields extends d3_i
* file "d3_importer_fields.tpl". * file "d3_importer_fields.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -76,15 +91,15 @@ class d3_importer_Application_Controller_Admin_Articleimport_Fields extends d3_i
$tplLanguage = Registry::getLang()->getTplLanguage(); $tplLanguage = Registry::getLang()->getTplLanguage();
$descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc'; $descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc';
/** @var \OxidEsales\Eshop\Application\Model\Article $article */ /** @var Article $article */
$article = oxNew(\OxidEsales\Eshop\Application\Model\Article::class); $article = oxNew(Article::class);
$article->setEnableMultilang(false); $article->setEnableMultilang(false);
$fieldnames = $article->getFieldNames(); $fieldnames = $article->getFieldNames();
$fieldnames = $this->addLongdescFields($fieldnames); $fieldnames = $this->addLongdescFields($fieldnames);
/** @var ListModel $importFields */ /** @var ListModel $importFields */
$importFields = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); $importFields = oxNew(ListModel::class, ImporterDescription::class);
/** @var d3_importer_Application_Models_ImporterDescription $importerDescription */ /** @var ImporterDescription $importerDescription */
$importerDescription = $importFields->getBaseObject(); $importerDescription = $importFields->getBaseObject();
$importerDescription->setLanguage($tplLanguage); $importerDescription->setLanguage($tplLanguage);
@ -93,18 +108,20 @@ class d3_importer_Application_Controller_Admin_Articleimport_Fields extends d3_i
$importFields->selectString($sSelect); $importFields->selectString($sSelect);
foreach ($fieldnames as $val) { foreach ($fieldnames as $val) {
$temporaryClass = new stdClass; $temporaryClass = new stdClass();
$temporaryClass->fldname = isset($val) ? strtolower((string)$val) : ''; $temporaryClass->fldname = isset($val) ? strtolower((string)$val) : '';
/** @var BaseModel $importField */
foreach ($importFields as $importField) { foreach ($importFields as $importField) {
/** @var $importField BaseModel */
if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) { if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) {
continue; continue;
} }
$temporaryClass->fldshowname = $importField->getFieldData($descriptionName); $temporaryClass->fldshowname = $importField->getFieldData($descriptionName);
if (substr_count($temporaryClass->fldname, "oxvar")) {
if (substr_count($temporaryClass->fldname, "oxvar") || $importField->getFieldData('oxisdisabled')) { continue 2;
}
if ($importField->getFieldData('oxisdisabled')) {
continue 2; continue 2;
} }
} }
@ -116,14 +133,13 @@ class d3_importer_Application_Controller_Admin_Articleimport_Fields extends d3_i
} }
/** /**
* @param array $aXMLParams
* *
* @return void * @return void
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function saveImportProfile(array $aXMLParams = array()) public function saveImportProfile(array $aXMLParams = [])
{ {
$request = oxNew(Request::class); $request = oxNew(Request::class);
$aImport = $request->getRequestParameter("import"); $aImport = $request->getRequestParameter("import");
@ -136,7 +152,7 @@ class d3_importer_Application_Controller_Admin_Articleimport_Fields extends d3_i
} }
} }
parent::saveImportProfile(array('fields' => $aImport, 'update' => $aUpdate)); parent::saveImportProfile(['fields' => $aImport, 'update' => $aUpdate]);
} }
/** /**
@ -174,19 +190,15 @@ class d3_importer_Application_Controller_Admin_Articleimport_Fields extends d3_i
return $added.$aSheetSymbols[$iFirstSymbolPos - 1]; return $added.$aSheetSymbols[$iFirstSymbolPos - 1];
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
/** /**
* @param array $fieldnames
*
* @return array * @return array
*/ */
protected function addLongdescFields(array $fieldnames) protected function addLongdescFields(array $fieldnames)

View File

@ -12,6 +12,18 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Controller\Import\Article;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use OxidEsales\Eshop\Core\DatabaseProvider; use OxidEsales\Eshop\Core\DatabaseProvider;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
use OxidEsales\Eshop\Core\TableViewNameGenerator; use OxidEsales\Eshop\Core\TableViewNameGenerator;
@ -21,24 +33,24 @@ use OxidEsales\Eshop\Core\TableViewNameGenerator;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Import extends d3_importer_Application_Controller_Admin_Base class Import extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_import.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_import';
/** /**
* *
* @return bool|null * @return bool|null
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function doImport() public function doImport()
{ {
@ -59,16 +71,16 @@ class d3_importer_Application_Controller_Admin_Articleimport_Import extends d3_i
return false; return false;
} }
/** @var d3_importer_Application_Controller_Import_Article $articleImport */ /** @var Article $articleImport */
$articleImport = oxNew(d3_importer_Application_Controller_Import_Article::class, $oImportConfig); $articleImport = oxNew(Article::class, $oImportConfig);
$articleImport->import($request->getRequestParameter("lpos"), $request->getRequestParameter("fpos")); $articleImport->import($request->getRequestParameter("lpos") ?? 0, $request->getRequestParameter("fpos") ?? false);
$this->addTplParam("iFailImport", $articleImport->getFailImport()); $this->addTplParam("iFailImport", $articleImport->getFailImport());
$this->addTplParam("blEOF", $articleImport->isEndOfFile()); $this->addTplParam("blEOF", $articleImport->isEndOfFile());
$this->addTplParam("iFilePos", $articleImport->getFilePointerPosition()); $this->addTplParam("iFilePos", $articleImport->getFilePointerPosition());
$this->addTplParam("iLinePos", $articleImport->getActualLinePosition()); $this->addTplParam("iLinePos", $articleImport->getActualLinePosition());
$this->addTplParam("oxid", $soxId); $this->addTplParam("oxid", $soxId);
$this->_sThisTemplate = 'd3_importer_ticker.tpl'; $this->_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_ticker';
return null; return null;
} }
@ -77,34 +89,26 @@ class d3_importer_Application_Controller_Admin_Articleimport_Import extends d3_i
* @param $sData * @param $sData
* *
* @return string * @return string
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function getStatisticData($sData) public function getStatisticData($sData)
{ {
$sArticleTableView = oxNew(TableViewNameGenerator::class)->getViewName('oxarticles'); $sArticleTableView = oxNew(TableViewNameGenerator::class)->getViewName('oxarticles');
$oDB = DatabaseProvider::getDb(); $oDB = DatabaseProvider::getDb();
switch ($sData) { return match ($sData) {
case "imported": "imported" => $oDB->getOne("select count(oxid) from $sArticleTableView as oxarticles where d3importflag = 'IMPORTED'"),
return $oDB->getOne("select count(oxid) from $sArticleTableView as oxarticles where d3importflag = 'IMPORTED'"); "updated" => $oDB->getOne("select count(oxid) from $sArticleTableView as oxarticles where d3importflag = 'UPDATED'"),
break; default => "",
case "updated": };
return $oDB->getOne("select count(oxid) from $sArticleTableView as oxarticles where d3importflag = 'UPDATED'");
break;
default:
return "";
break;
}
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -12,6 +12,19 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use Exception;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\SystemComponentException;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use D3\ModCfg\Application\Model\d3filesystem; use D3\ModCfg\Application\Model\d3filesystem;
use OxidEsales\Eshop\Core\DatabaseProvider; use OxidEsales\Eshop\Core\DatabaseProvider;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
@ -19,11 +32,11 @@ use OxidEsales\Eshop\Core\Request;
/** /**
* Class d3_importer_main * Class d3_importer_main
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_importer_Application_Controller_Admin_Base class Main extends Base
{ {
const SIZE_KILOBYTE_IN_BYTE = 1024; public const SIZE_KILOBYTE_IN_BYTE = 1024;
const SIZE_MEGABYTE_IN_BYTE = 1048576; public const SIZE_MEGABYTE_IN_BYTE = 1_048_576;
const SIZE_GIGABYTE_IN_BYTE = 1073741824; public const SIZE_GIGABYTE_IN_BYTE = 1_073_741_824;
/** /**
* boolean Upload file failed * boolean Upload file failed
@ -37,9 +50,9 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
/** /**
* array allowed file extension * array allowed file extension
*/ */
protected $allowedExtensions = array("csv", "txt"); protected $allowedExtensions = ["csv", "txt"];
protected $_sThisTemplate = "d3_importer_main.tpl"; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_main';
protected $currentProfileName = 'd3_importer_main'; protected $currentProfileName = 'd3_importer_main';
@ -52,8 +65,8 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
* *
* @return string * @return string
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function render() public function render()
{ {
@ -76,7 +89,7 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
return $sReturn; return $sReturn;
} }
list($aImportedFiles, $aFileInfo) = $this->getCSVInformationsFromFile($oImportConfig, $handle); [$aImportedFiles, $aFileInfo] = $this->getCSVInformationsFromFile($oImportConfig, $handle);
closedir($handle); closedir($handle);
//TODO: $aFileInfo should be an object! //TODO: $aFileInfo should be an object!
$this->addTplParam('aFileInfo', $aFileInfo); $this->addTplParam('aFileInfo', $aFileInfo);
@ -87,17 +100,16 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
* @param $handle * @param $handle
* *
* @return array * @return array
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
protected function getCSVInformationsFromFile(d3_importer_Application_Models_ImportConfig $oImportConfig, $handle) protected function getCSVInformationsFromFile(ImportConfig $oImportConfig, $handle)
{ {
$aFileInfo = $aImportedFiles = array(); $aFileInfo = $aImportedFiles = [];
$iLines = 0; $iLines = 0;
$iColumns = 0; $iColumns = 0;
@ -109,8 +121,10 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
$sCompareExtension = strtolower($aFile['ext']); $sCompareExtension = strtolower($aFile['ext']);
if (is_file($this->getD3ImportDir() . "/" . $file) && $this->isCSVExtension($sCompareExtension)) { if (is_file($this->getD3ImportDir() . "/" . $file) && $this->isCSVExtension($sCompareExtension)) {
$aImportedFiles[] = $file; $aImportedFiles[] = $file;
if (false == isset($aProfile['FILE'])) {
if (false == isset($aProfile['FILE']) || $file != rawurldecode($aProfile['FILE'])) { continue;
}
if ($file != rawurldecode($aProfile['FILE'])) {
continue; continue;
} }
@ -134,7 +148,7 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
} }
} }
return array($aImportedFiles, $aFileInfo); return [$aImportedFiles, $aFileInfo];
} }
/** /**
@ -148,14 +162,13 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
} }
/** /**
* @param array $aXMLParams
* *
* @return void * @return void
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function saveImportProfile(array $aXMLParams = array()) public function saveImportProfile(array $aXMLParams = [])
{ {
$request = oxNew(Request::class); $request = oxNew(Request::class);
$sOxid = $request->getRequestParameter("oxid"); $sOxid = $request->getRequestParameter("oxid");
@ -204,14 +217,13 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
/** /**
* Speichert die hochgeladene Datei im Filesystem * Speichert die hochgeladene Datei im Filesystem
* *
* @param array $aFileData
* *
* @return boolean|string * @return boolean|string
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
protected function saveUploadFile($aFileData) protected function saveUploadFile(array $aFileData)
{ {
if (!isset($aFileData) || !$aFileData['name'] || !$aFileData['tmp_name'] || !$aFileData['size']) { if (!$aFileData['name'] || !$aFileData['tmp_name'] || !$aFileData['size']) {
$this->isUploadFailed = 10; $this->isUploadFailed = 10;
return false; return false;
@ -251,16 +263,16 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
} }
/** /**
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function exportConfig() public function exportConfig()
{ {
$oObject = oxNew('d3_importer_Application_Models_ImportConfig'); $oObject = oxNew(ImportConfig::class);
if ($oObject->load($this->getEditObjectId())) { if ($oObject->load($this->getEditObjectId())) {
$oDb = DatabaseProvider::getDb(); $oDb = DatabaseProvider::getDb();
@ -273,21 +285,19 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
} }
$sContent = trim($sContent, ', '); $sContent = trim($sContent, ', ');
/** @var $oFS d3filesystem */ /** @var d3filesystem $oFS */
$oFS = oxNew(d3filesystem::class); $oFS = oxNew(d3filesystem::class);
$oFS->startDirectDownload('d3importprofile_' . $sProfileName . '_' . date('Y_m_d') . '.sql', $sContent); $oFS->startDirectDownload('d3importprofile_' . $sProfileName . '_' . date('Y_m_d') . '.sql', $sContent);
} }
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
/** /**
@ -298,11 +308,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
$unlimitedSize = self::SIZE_GIGABYTE_IN_BYTE; $unlimitedSize = self::SIZE_GIGABYTE_IN_BYTE;
//select maximum upload size //select maximum upload size
$max_upload = $this->_getIniSizeValuesInByte('upload_max_filesize') ?: $unlimitedSize; $max_upload = $this->getIniSizeValuesInByte('upload_max_filesize') ?: $unlimitedSize;
//select post limit //select post limit
$max_post = $this->_getIniSizeValuesInByte('post_max_size') ?: $unlimitedSize; $max_post = $this->getIniSizeValuesInByte('post_max_size') ?: $unlimitedSize;
//select memory limit //select memory limit
$memory_limit = $this->_getIniSizeValuesInByte('memory_limit') ?: $unlimitedSize; $memory_limit = $this->getIniSizeValuesInByte('memory_limit') ?: $unlimitedSize;
// return the smallest of them, this defines the real limit // return the smallest of them, this defines the real limit
return min($max_upload, $max_post, $memory_limit); return min($max_upload, $max_post, $memory_limit);
} }
@ -312,22 +322,17 @@ class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_imp
* *
* @return int * @return int
*/ */
protected function _getIniSizeValuesInByte($sVarName) protected function getIniSizeValuesInByte($sVarName)
{ {
$sSize = ini_get($sVarName); $sSize = ini_get($sVarName);
$iSize = (int) $sSize; $iSize = (int) $sSize;
$sSizeUnit = strtoupper(trim(str_replace($iSize, '', $sSize))); $sSizeUnit = strtoupper(trim(str_replace($iSize, '', $sSize)));
return match ($sSizeUnit) {
switch ($sSizeUnit) { 'K' => $iSize * self::SIZE_KILOBYTE_IN_BYTE,
case 'K': 'M' => $iSize * self::SIZE_MEGABYTE_IN_BYTE,
return $iSize * self::SIZE_KILOBYTE_IN_BYTE; 'G' => $iSize * self::SIZE_GIGABYTE_IN_BYTE,
case 'M': default => $iSize,
return $iSize * self::SIZE_MEGABYTE_IN_BYTE; };
case 'G':
return $iSize * self::SIZE_GIGABYTE_IN_BYTE;
}
return $iSize;
} }
public function getFormattedMaxUploadFileSize() public function getFormattedMaxUploadFileSize()

View File

@ -0,0 +1,97 @@
<?php
/**
* 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.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com
*/
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use OxidEsales\Eshop\Core\Exception\SystemComponentException;
use Exception;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\Formbuilder;
use D3\Importer\Application\Models\Groupbuilder;
use D3\Importer\Application\Models\ImportConfig;
use D3\Importer\Application\Models\Profilemapper;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\UtilsView;
/**
* Importer cross manager.
*
* @package admin
*/
class Mall extends Base
{
/**
* Current class default template name.
*
* @var string
*/
protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_mall';
protected $currentProfileName = 'd3_importer_mall';
/**
*
* @return string
* @throws d3ShopCompatibilityAdapterException
* @throws d3_cfg_mod_exception
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
* @throws StandardException
*/
public function render()
{
$sReturn = parent::render();
$this->readCurrentCSVLine();
return $sReturn;
}
/**
*
* @return array
* @throws SystemComponentException
*/
protected function getFormularElements(ImportConfig $oImportConfig)
{
$return = [];
/** @var Profilemapper $oMapper */
$oMapper = oxNew(Profilemapper::class, $oImportConfig);
try {
$oSetting = $oMapper->getSettingFromController($this->getD3CurrentProfileName());
/** @var Formbuilder $oFormBuilder */
$oFormBuilder = oxNew(Formbuilder::class, $oSetting);
$aElements = $oFormBuilder->getElements();
/** @var Groupbuilder $oGroupBuilder */
$oGroupBuilder = oxNew(Groupbuilder::class);
$return = $oGroupBuilder->groupify($aElements, $this->getD3CurrentProfileName());
} catch (Exception $exception) {
Registry::get(UtilsView::class)->addErrorToDisplay($exception);
}
return $return;
}
}

View File

@ -12,19 +12,31 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
/** /**
* Importer price2art manager. * Importer price2art manager.
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Scales extends d3_importer_Application_Controller_Admin_Base class Scales extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_price2art.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_price2art';
/** /**
* defines profile name * defines profile name
@ -39,12 +51,12 @@ class d3_importer_Application_Controller_Admin_Articleimport_Scales extends d3_i
* file "d3_importer_category.tpl". * file "d3_importer_category.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -56,13 +68,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Scales extends d3_i
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -12,6 +12,18 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use Exception;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
/** /**
@ -19,14 +31,14 @@ use OxidEsales\Eshop\Core\Request;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_SelectList extends d3_importer_Application_Controller_Admin_Base class SelectList extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_selectlist.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_selectlist';
/** /**
* defines profile name * defines profile name
@ -41,12 +53,12 @@ class d3_importer_Application_Controller_Admin_Articleimport_SelectList extends
* file "d3_importer_category.tpl". * file "d3_importer_category.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -60,13 +72,12 @@ class d3_importer_Application_Controller_Admin_Articleimport_SelectList extends
/** /**
* extension of d3_d3importer_controllers_admin_base::save * extension of d3_d3importer_controllers_admin_base::save
* *
* @param array $aXMLParams
* *
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function saveImportProfile(array $aXMLParams = array()) public function saveImportProfile(array $aXMLParams = [])
{ {
$aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval"); $aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval");
@ -80,13 +91,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_SelectList extends
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -12,23 +12,38 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use OxidEsales\Eshop\Core\Exception\SystemComponentException;
use OxidEsales\Eshop\Application\Model\Article;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use D3\Importer\Application\Models\ImporterDescription;
use OxidEsales\Eshop\Core\Model\BaseModel; use OxidEsales\Eshop\Core\Model\BaseModel;
use OxidEsales\Eshop\Core\Model\ListModel; use OxidEsales\Eshop\Core\Model\ListModel;
use OxidEsales\Eshop\Core\Registry; use OxidEsales\Eshop\Core\Registry;
use stdClass;
/** /**
* Importer variants manager. * Importer variants manager.
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Variants extends d3_importer_Application_Controller_Admin_Base class Variants extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_variants.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_variants';
/** /**
* @var string * @var string
@ -46,12 +61,12 @@ class d3_importer_Application_Controller_Admin_Articleimport_Variants extends d3
* file "d3_importer_category.tpl". * file "d3_importer_category.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -64,19 +79,17 @@ class d3_importer_Application_Controller_Admin_Articleimport_Variants extends d3
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
/** /**
* @return array * @return array
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
public function getArticleFieldList() public function getArticleFieldList()
{ {
@ -87,15 +100,15 @@ class d3_importer_Application_Controller_Admin_Articleimport_Variants extends d3
$tplLanguage = Registry::getLang()->getTplLanguage(); $tplLanguage = Registry::getLang()->getTplLanguage();
$descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc'; $descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc';
/** @var \OxidEsales\Eshop\Application\Model\Article $article */ /** @var Article $article */
$article = oxNew(\OxidEsales\Eshop\Application\Model\Article::class); $article = oxNew(Article::class);
$article->setEnableMultilang(false); $article->setEnableMultilang(false);
$fieldnames = $article->getFieldNames(); $fieldnames = $article->getFieldNames();
$fieldnames = $this->addLongdescFields($fieldnames); $fieldnames = $this->addLongdescFields($fieldnames);
/** @var ListModel $importFields */ /** @var ListModel $importFields */
$importFields = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); $importFields = oxNew(ListModel::class, ImporterDescription::class);
/** @var d3_importer_Application_Models_ImporterDescription $importerDescription */ /** @var ImporterDescription $importerDescription */
$importerDescription = $importFields->getBaseObject(); $importerDescription = $importFields->getBaseObject();
$importerDescription->setLanguage($tplLanguage); $importerDescription->setLanguage($tplLanguage);
@ -107,11 +120,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Variants extends d3
if (!substr_count($val, "oxvarname")) { if (!substr_count($val, "oxvarname")) {
continue; continue;
} }
$temporaryClass = new stdClass; $temporaryClass = new stdClass();
$temporaryClass->fldname = isset($val) ? (string)$val : ''; $temporaryClass->fldname = isset($val) ? (string)$val : '';
/** @var BaseModel $importField */
foreach ($importFields as $importField) { foreach ($importFields as $importField) {
/** @var $importField BaseModel */
if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) { if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) {
continue; continue;
} }
@ -134,11 +147,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Variants extends d3
continue; continue;
} }
$temporaryClass = new stdClass; $temporaryClass = new stdClass();
$temporaryClass->fldname = (string)$val; $temporaryClass->fldname = (string)$val;
/** @var BaseModel $importField */
foreach ($importFields as $importField) { foreach ($importFields as $importField) {
/** @var $importField BaseModel */
if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) { if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) {
continue; continue;
} }
@ -156,8 +169,6 @@ class d3_importer_Application_Controller_Admin_Articleimport_Variants extends d3
return $aFieldList; return $aFieldList;
} }
/** /**
* @param array $fieldnames
*
* @return array * @return array
*/ */
protected function addLongdescFields(array $fieldnames) protected function addLongdescFields(array $fieldnames)

View File

@ -12,19 +12,31 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Articleimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
/** /**
* Importer vendors manager. * Importer vendors manager.
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Articleimport_Vendors extends d3_importer_Application_Controller_Admin_Base class Vendors extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_importer_vendors.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_importer_vendors';
protected $currentProfileName = 'd3_importer_vendors'; protected $currentProfileName = 'd3_importer_vendors';
@ -34,12 +46,12 @@ class d3_importer_Application_Controller_Admin_Articleimport_Vendors extends d3_
* file "d3_importer_category.tpl". * file "d3_importer_category.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -51,13 +63,11 @@ class d3_importer_Application_Controller_Admin_Articleimport_Vendors extends d3_
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -12,6 +12,16 @@
* @link http://www.oxidmodule.com * @link http://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use Exception;
use D3\Importer\Application\Models\ImportConfig;
use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
use D3\ModCfg\Application\Model\Log\d3log; use D3\ModCfg\Application\Model\Log\d3log;
use OxidEsales\Eshop\Application\Controller\Admin\AdminDetailsController; use OxidEsales\Eshop\Application\Controller\Admin\AdminDetailsController;
@ -27,7 +37,7 @@ if (false == function_exists('posix_getpwuid')) {
function posix_getpwuid($uid) function posix_getpwuid($uid)
{ {
if ($uid !== false) { if ($uid !== false) {
$uid = false; return false;
} }
return $uid; return $uid;
@ -37,7 +47,7 @@ if (false == function_exists('posix_getpwuid')) {
/** /**
* Class Base * Class Base
*/ */
abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetailsController abstract class Base extends AdminDetailsController
{ {
/** /**
* array allowed file extension * array allowed file extension
@ -64,7 +74,7 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
*/ */
public function getD3ImportDir() public function getD3ImportDir()
{ {
return $this->getConfig()->getConfigParam('sShopDir') . $this->importDirectory; return Registry::getConfig()->getConfigParam('sShopDir') . $this->importDirectory;
} }
/** /**
@ -75,10 +85,10 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
$aImporterErrors = $this->getViewDataElement('aImporterErrors'); $aImporterErrors = $this->getViewDataElement('aImporterErrors');
if (false == is_array($aImporterErrors)) { if (false == is_array($aImporterErrors)) {
$aImporterErrors = array(); $aImporterErrors = [];
} }
$this->addTplParam('aImporterErrors', array_merge($aImporterErrors, array($sMessage))); $this->addTplParam('aImporterErrors', array_merge($aImporterErrors, [$sMessage]));
} }
/** /**
@ -86,7 +96,7 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
* *
* @return int * @return int
*/ */
protected function validateImportConfig(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function validateImportConfig(ImportConfig $oImportConfig)
{ {
$aProfile = $oImportConfig->getImportProfile('d3_importer_main'); $aProfile = $oImportConfig->getImportProfile('d3_importer_main');
@ -115,12 +125,12 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
/** /**
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -131,7 +141,7 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
$this->addTplParam('isImporterDemoMode', d3_cfg_mod::get('d3importer')->isDemo()); $this->addTplParam('isImporterDemoMode', d3_cfg_mod::get('d3importer')->isDemo());
$this->addTplParam( $this->addTplParam(
'hasReachedProfileLimit', 'hasReachedProfileLimit',
d3_cfg_mod::get('d3importer')->isDemo() && $this->getD3ImporterConfiguration()->countImportProfiles() >= d3_importer_Application_Models_ImportConfig::D3IMPORTERPROFILELIMIT d3_cfg_mod::get('d3importer')->isDemo() && $this->getD3ImporterConfiguration()->countImportProfiles() >= ImportConfig::D3IMPORTERPROFILELIMIT
); );
$this->addTplParam('d3ModConfigErrorMessage', d3_cfg_mod::get('d3importer')->getErrorMessage()); $this->addTplParam('d3ModConfigErrorMessage', d3_cfg_mod::get('d3importer')->getErrorMessage());
@ -168,17 +178,17 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
/** /**
* @TODO: verify if only one instance of d3importconfig is possible * @TODO: verify if only one instance of d3importconfig is possible
* *
* @return d3_importer_Application_Models_ImportConfig * @return ImportConfig
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function getD3ImporterConfiguration() public function getD3ImporterConfiguration()
{ {
$oImportConfig = oxNew('d3_importer_Application_Models_ImportConfig'); $oImportConfig = oxNew(ImportConfig::class);
if ($this->getEditObjectId() && "-1" != $this->getEditObjectId()) { if ($this->getEditObjectId() && "-1" != $this->getEditObjectId()) {
$this->addTplParam('edit', $oImportConfig); $this->addTplParam('edit', $oImportConfig);
@ -191,7 +201,7 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
$sMessage .= PHP_EOL . '<br>ID: ' . $this->getEditObjectId(); $sMessage .= PHP_EOL . '<br>ID: ' . $this->getEditObjectId();
d3_cfg_mod::get('d3importer')->d3getLog()->log( d3_cfg_mod::get('d3importer')->d3getLog()->log(
d3log::WARNING, d3log::WARNING,
__CLASS__, self::class,
__FUNCTION__, __FUNCTION__,
__LINE__, __LINE__,
'failed to load importer profile', 'failed to load importer profile',
@ -209,23 +219,20 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
abstract protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig); abstract protected function getFormularElements(ImportConfig $oImportConfig);
/** /**
* Saves profile parameters changes. * Saves profile parameters changes.
* *
* @param array $aXMLParams
* *
* @return void * @return void
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function saveImportProfile(array $aXMLParams = array()) public function saveImportProfile(array $aXMLParams = [])
{ {
if (empty($aXMLParams)) { if (empty($aXMLParams)) {
$aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval"); $aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval");
@ -238,22 +245,23 @@ abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetail
} }
/** /**
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function readCurrentCSVLine() public function readCurrentCSVLine()
{ {
startProfile(__METHOD__); startProfile(__METHOD__);
$lineNumber = (int)oxNew(Request::class)->getRequestParameter("line");
$lineNumber = $lineNumber <= 0 ? 1 : $lineNumber;
$oImportConfig = $this->getD3ImporterConfiguration(); $oImportConfig = $this->getD3ImporterConfiguration();
$aProfileMain = $oImportConfig->getImportProfile('d3_importer_main'); $aProfileMain = $oImportConfig->getImportProfile('d3_importer_main');
$lineNumber = (int)oxNew(Request::class)->getRequestParameter("line");
$lineNumber = max($lineNumber, $aProfileMain['FILEROWS'] ? 1 : 0);
//open file resource... //open file resource...
$aLine = $oImportConfig->getCSVData($lineNumber); $aLine = $oImportConfig->getCSVData($lineNumber);

View File

@ -11,14 +11,16 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Config;
use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_list; use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_list;
/** /**
* Class d3_importercfg_list * Class d3_importercfg_list
*/ */
class d3_importer_Application_Controller_Admin_Config_AdminList extends d3_cfg_mod_list class AdminList extends d3_cfg_mod_list
{ {
/** /**
* @var bool * @var bool
*/ */
@ -30,8 +32,6 @@ class d3_importer_Application_Controller_Admin_Config_AdminList extends d3_cfg_m
public function __construct() public function __construct()
{ {
parent::__construct(); parent::__construct();
$this->_blD3ShowLangSwitch = false;
} }
/** /**
@ -41,7 +41,7 @@ class d3_importer_Application_Controller_Admin_Config_AdminList extends d3_cfg_m
{ {
parent::render(); parent::render();
$this->addTplParam("default_edit", d3_importer_Application_Controller_Admin_Config_Support::class); $this->addTplParam("default_edit", Support::class);
return $this->_sThisTemplate; return $this->_sThisTemplate;
} }

View File

@ -11,14 +11,16 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Config;
use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_; use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_;
/** /**
* Class d3_importercfg * Class d3_importercfg
*/ */
class d3_importer_Application_Controller_Admin_Config_Base extends d3_cfg_mod_ class Base extends d3_cfg_mod_
{ {
/** /**
* @var bool * @var bool
*/ */
@ -29,9 +31,8 @@ class d3_importer_Application_Controller_Admin_Config_Base extends d3_cfg_mod_
*/ */
public function render() public function render()
{ {
$this->addTplParam('sListClass', AdminList::class);
$this->addTplParam('sListClass', d3_importer_Application_Controller_Admin_Config_AdminList::class); $this->addTplParam('sMainClass', Support::class);
$this->addTplParam('sMainClass', d3_importer_Application_Controller_Admin_Config_Support::class);
$sRet = parent::render(); $sRet = parent::render();

View File

@ -12,6 +12,16 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Config;
use OxidEsales\Eshop\Core\Exception\SystemComponentException;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use stdClass;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use D3\Importer\Application\Models\ImporterDescription;
use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main;
use OxidEsales\Eshop\Application\Model\Article; use OxidEsales\Eshop\Application\Model\Article;
use OxidEsales\Eshop\Application\Model\Category; use OxidEsales\Eshop\Application\Model\Category;
@ -21,11 +31,11 @@ use OxidEsales\Eshop\Core\Request;
/** /**
* Class d3_d3importer_controllers_admin_basesettings * Class d3_d3importer_controllers_admin_basesettings
*/ */
class d3_importer_Application_Controller_Admin_Config_Settings extends d3_cfg_mod_main class Settings extends d3_cfg_mod_main
{ {
protected $_sModId = 'd3importer'; protected $_sModId = 'd3importer';
protected $_sThisTemplate = 'd3_d3importer_views_admin_tpl_basesettings.tpl'; protected $_sThisTemplate = '@'. Constants::OXID_MODULE_ID .'/admin/basesettings';
protected $_blHasDebugSwitch = false; protected $_blHasDebugSwitch = false;
@ -53,12 +63,12 @@ class d3_importer_Application_Controller_Admin_Config_Settings extends d3_cfg_mo
* @param $aGroup * @param $aGroup
* *
* @return array * @return array
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
public function prepareMultilineSettings($sKey, $aGroup) public function prepareMultilineSettings($sKey, $aGroup)
{ {
if (in_array($sKey, d3_importer_Application_Models_ImportConfig::$multiLineSettings)) { if (in_array($sKey, ImportConfig::$multiLineSettings)) {
$oImportConfig = oxNew('d3_importer_Application_Models_ImportConfig'); $oImportConfig = oxNew(ImportConfig::class);
$aGroup = $oImportConfig->prepareMultilineSettings($aGroup); $aGroup = $oImportConfig->prepareMultilineSettings($aGroup);
} }
@ -67,15 +77,15 @@ class d3_importer_Application_Controller_Admin_Config_Settings extends d3_cfg_mo
/** /**
* @return array * @return array
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
public function getArticleFields() public function getArticleFields()
{ {
$aArticleIndentificationFields = (array)$this->d3GetSet()->getValue('aArticleIndentificationFields'); $aArticleIndentificationFields = (array)$this->d3GetSet()->getValue('aArticleIndentificationFields');
$aFields = array(); $aFields = [];
foreach ($this->getArticleFieldsFromDb() as $sField) { foreach ($this->getArticleFieldsFromDb() as $sField) {
$oField = new stdClass(); $oField = new stdClass();
$oField->title = $sField; $oField->title = $sField;
@ -89,8 +99,8 @@ class d3_importer_Application_Controller_Admin_Config_Settings extends d3_cfg_mo
/** /**
* @return array * @return array
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
protected function getArticleFieldsFromDb() protected function getArticleFieldsFromDb()
{ {
@ -98,16 +108,16 @@ class d3_importer_Application_Controller_Admin_Config_Settings extends d3_cfg_mo
$fieldNames = $oArticle->getFieldNames(); $fieldNames = $oArticle->getFieldNames();
/** @var ListModel $importerDescList */ /** @var ListModel $importerDescList */
$importerDescList = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); $importerDescList = oxNew(ListModel::class, ImporterDescription::class);
$getDisabledFieldQuery = <<<MYSQL $getDisabledFieldQuery = <<<MYSQL
SELECT * SELECT *
FROM `{$importerDescList->getBaseObject()->getCoreTableName()}` FROM `{$importerDescList->getBaseObject()->getCoreTableName()}`
WHERE oxisdisabled = 1 WHERE oxisdisabled = 1
MYSQL; MYSQL;
$importerDescList->selectString($getDisabledFieldQuery); $importerDescList->selectString($getDisabledFieldQuery);
foreach ($importerDescList->getArray() as $importerDesc) { foreach ($importerDescList->getArray() as $importerDesc) {
/** @var $importerDesc d3_importer_Application_Models_ImporterDescription */ /** @var $importerDesc ImporterDescription */
if (in_array($importerDesc->getFieldData('oxField'), $fieldNames)) { if (in_array($importerDesc->getFieldData('oxField'), $fieldNames)) {
$key = array_search($importerDesc->getFieldData('oxField'), $fieldNames); $key = array_search($importerDesc->getFieldData('oxField'), $fieldNames);
unset($fieldNames[$key]); unset($fieldNames[$key]);
@ -119,15 +129,15 @@ MYSQL;
/** /**
* @return array * @return array
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
public function getCategorieFields() public function getCategorieFields()
{ {
$aCatIndentificationFields = (array)$this->d3GetSet()->getValue('aCategorieIndentificationFields'); $aCatIndentificationFields = (array)$this->d3GetSet()->getValue('aCategorieIndentificationFields');
$aFields = array(); $aFields = [];
foreach ($this->getCategorieFieldsFromDb() as $sField) { foreach ($this->getCategorieFieldsFromDb() as $sField) {
$oField = new stdClass(); $oField = new stdClass();
$oField->title = $sField; $oField->title = $sField;
@ -141,7 +151,7 @@ MYSQL;
/** /**
* @return array * @return array
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
protected function getCategorieFieldsFromDb() protected function getCategorieFieldsFromDb()
{ {

View File

@ -11,14 +11,16 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Config;
use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_licence; use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_licence;
/** /**
* Class d3_importercfg_support * Class d3_importercfg_support
*/ */
class d3_importer_Application_Controller_Admin_Config_Support extends d3_cfg_mod_licence class Support extends d3_cfg_mod_licence
{ {
/** /**
* @var string * @var string
*/ */

View File

@ -11,13 +11,16 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Desc;
use D3\Importer\Application\Models\Constants;
use OxidEsales\Eshop\Application\Controller\Admin\AdminController; use OxidEsales\Eshop\Application\Controller\Admin\AdminController;
/** /**
* Class Item * Class Item
*/ */
class d3_importer_Application_Controller_Admin_Desc_Base extends AdminController class Base extends AdminController
{ {
protected $_sThisTemplate = 'd3_d3importer_views_admin_tpl_desc_base.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/desc/base';
} }

View File

@ -11,15 +11,20 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Desc;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImporterDescription;
use OxidEsales\Eshop\Application\Controller\Admin\AdminListController; use OxidEsales\Eshop\Application\Controller\Admin\AdminListController;
/** /**
* Class Itemlist * Class Itemlist
*/ */
class d3_importer_Application_Controller_Admin_Desc_Itemlist extends AdminListController class Itemlist extends AdminListController
{ {
protected $_sListClass = d3_importer_Application_Models_ImporterDescription::class; protected $_sListClass = ImporterDescription::class;
protected $_sThisTemplate = 'd3_d3importer_views_admin_tpl_desc_list.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/desc/list';
protected $_sDefSortField = 'oxorder'; protected $_sDefSortField = 'oxorder';
protected $_blEmployMultilanguage = false; protected $_blEmployMultilanguage = false;
} }

View File

@ -14,21 +14,27 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Desc;
use OxidEsales\Eshop\Core\Exception\SystemComponentException;
use Exception;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImporterDescription;
use OxidEsales\Eshop\Application\Controller\Admin\AdminDetailsController; use OxidEsales\Eshop\Application\Controller\Admin\AdminDetailsController;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
class d3_importer_Application_Controller_Admin_Desc_Main extends AdminDetailsController class Main extends AdminDetailsController
{ {
protected $_sThisTemplate = "d3_d3importer_views_admin_tpl_desc_main.tpl"; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/desc/main';
/** /**
* @return string * @return string
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
public function render() public function render()
{ {
$sRet = parent::render(); $sRet = parent::render();
$editObject = oxNew(d3_importer_Application_Models_ImporterDescription::class); $editObject = oxNew(ImporterDescription::class);
$editObject->setEnableMultilang(false); $editObject->setEnableMultilang(false);
$editObject->load($this->getEditObjectId()); $editObject->load($this->getEditObjectId());
$this->addTplParam('edit', $editObject); $this->addTplParam('edit', $editObject);
@ -45,7 +51,7 @@ class d3_importer_Application_Controller_Admin_Desc_Main extends AdminDetailsCon
$oxid = $this->getEditObjectId(); $oxid = $this->getEditObjectId();
$requestParameter = oxNew(Request::class)->getRequestParameter("editval"); $requestParameter = oxNew(Request::class)->getRequestParameter("editval");
$importerDesc = oxNew(d3_importer_Application_Models_ImporterDescription::class); $importerDesc = oxNew(ImporterDescription::class);
$importerDesc->setEnableMultilang(false); $importerDesc->setEnableMultilang(false);
if ($oxid != "-1") { if ($oxid != "-1") {
$importerDesc->load($oxid); $importerDesc->load($oxid);
@ -70,12 +76,12 @@ class d3_importer_Application_Controller_Admin_Desc_Main extends AdminDetailsCon
*/ */
public function getNaviItems() public function getNaviItems()
{ {
return array( return [
'new' => array( 'new' => [
'sScript' => 'top.oxid.admin.editThis( -1 );return false;', 'sScript' => 'top.oxid.admin.editThis( -1 );return false;',
'sTranslationId' => 'D3IMPORTERDESC_NEW', 'sTranslationId' => 'D3IMPORTERDESC_NEW',
) ],
); ];
} }
/** /**

View File

@ -11,12 +11,15 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Log;
use D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log_list; use D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log_list;
/** /**
* Class d3_cfg_importerlog_list * Class d3_cfg_importerlog_list
*/ */
class d3_importer_Application_Controller_Admin_Log_AdminList extends d3_cfg_log_list class AdminList extends d3_cfg_log_list
{ {
protected $_sModId = 'd3importer'; protected $_sModId = 'd3importer';
} }

View File

@ -11,14 +11,16 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Log;
use D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log; use D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log;
/** /**
* Class d3_cfg_importerlog * Class d3_cfg_importerlog
*/ */
class d3_importer_Application_Controller_Admin_Log_Base extends d3_cfg_log class Base extends d3_cfg_log
{ {
/** /**
* @var string * @var string
*/ */

View File

@ -11,7 +11,14 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Pictureimport;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use OxidEsales\Eshop\Application\Controller\Admin\AdminListController; use OxidEsales\Eshop\Application\Controller\Admin\AdminListController;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\TableViewNameGenerator;
/** /**
* Picture list manager. * Picture list manager.
@ -19,21 +26,21 @@ use OxidEsales\Eshop\Application\Controller\Admin\AdminListController;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Pictureimport_AdminList extends AdminListController class AdminList extends AdminListController
{ {
/** /**
* Current class template name. * Current class template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_picture_list.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_picture_list';
/** /**
* Name of chosen object class (default null). * Name of chosen object class (default null).
* *
* @var string * @var string
*/ */
protected $_sListClass = 'd3_importer_Application_Models_ImportConfig'; protected $_sListClass = ImportConfig::class;
/** /**
* Default SQL sorting parameter (default null). * Default SQL sorting parameter (default null).
@ -42,15 +49,14 @@ class d3_importer_Application_Controller_Admin_Pictureimport_AdminList extends A
*/ */
protected $_sDefSortField = "oxtitle"; protected $_sDefSortField = "oxtitle";
protected function _prepareWhereQuery($aWhere, $sqlFull) protected function prepareWhereQuery($whereQuery, $fullQuery)
{ {
$sQ = parent::_prepareWhereQuery($aWhere, $sqlFull); $sQ = parent::prepareWhereQuery($whereQuery, $fullQuery);
$sTable = getViewName("d3importconfig"); $sTable = oxNew(TableViewNameGenerator::class)->getViewName("d3importconfig");
$iShopId = $this->getConfig()->getShopId(); $iShopId = Registry::getConfig()->getShopId();
$sQ .= " AND {$sTable}.oxshopid = '{$iShopId}' ";
return $sQ; return $sQ . " AND {$sTable}.oxshopid = '{$iShopId}' ";
} }
} }

View File

@ -12,6 +12,10 @@
* @copyright (C) 2008, D3 Data Development * @copyright (C) 2008, D3 Data Development
* @see https://www.shopmodule.com * @see https://www.shopmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Pictureimport;
use D3\Importer\Application\Models\Constants;
use OxidEsales\Eshop\Application\Controller\Admin\AdminController; use OxidEsales\Eshop\Application\Controller\Admin\AdminController;
/** /**
@ -21,12 +25,12 @@ use OxidEsales\Eshop\Application\Controller\Admin\AdminController;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Pictureimport_Base extends AdminController class Base extends AdminController
{ {
/** /**
* Current class template name. * Current class template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_picture.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_picture';
} }

View File

@ -12,6 +12,18 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Pictureimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use D3\Importer\Application\Models\PictureImport;
use OxidEsales\Eshop\Core\DatabaseProvider; use OxidEsales\Eshop\Core\DatabaseProvider;
use OxidEsales\Eshop\Core\Request; use OxidEsales\Eshop\Core\Request;
@ -20,19 +32,19 @@ use OxidEsales\Eshop\Core\Request;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_importer_Application_Controller_Admin_Base class Import extends Base
{ {
/** /**
* @var array * @var array
*/ */
protected $displayErrors = array(); protected $displayErrors = [];
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_picture_import.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_picture_import';
/** /**
* Speichert den aktuellen Fehlercode * Speichert den aktuellen Fehlercode
@ -55,12 +67,12 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
* file "d3_importer_category.tpl". * file "d3_importer_category.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -81,11 +93,11 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
* get data from db table d3picdirdump * get data from db table d3picdirdump
* *
* @return void * @return void
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
protected function setPictureDumpInformations() protected function setPictureDumpInformations()
{ {
$oDB = DatabaseProvider::GetDB(); $oDB = DatabaseProvider::getDb();
$this->importDirFilesSummary = $oDB->getOne("select count(oxid) from d3picdirdump where 1"); $this->importDirFilesSummary = $oDB->getOne("select count(oxid) from d3picdirdump where 1");
$this->finishedFilesSummary = $oDB->getOne("select count(oxid) from d3picdirdump where oxisfinished = '1'"); $this->finishedFilesSummary = $oDB->getOne("select count(oxid) from d3picdirdump where oxisfinished = '1'");
@ -98,12 +110,12 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
* @param null $downloadExternPictures * @param null $downloadExternPictures
* *
* @return void * @return void
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function getExternPictures($downloadExternPictures = null) public function getExternPictures($downloadExternPictures = null)
{ {
@ -113,16 +125,14 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
$oImportConfig = $this->getD3ImporterConfiguration(); $oImportConfig = $this->getD3ImporterConfiguration();
if (false == $oImportConfig->getId()) { if (! $oImportConfig->getId()) {
$this->setFailConfigCode(10); $this->setFailConfigCode(10);
return; return;
} }
/** @var d3_importer_Application_Models_PictureImport $oImporter */ $oImporter = oxNew(PictureImport::class, $oImportConfig);
$oImporter = oxNew(d3_importer_Application_Models_PictureImport::class, $oImportConfig);
$oImporter->numberOfExternImportedPictures = $iActImportExtPictureCount; $oImporter->numberOfExternImportedPictures = $iActImportExtPictureCount;
$oImporter->ImportExternPictures(); $oImporter->importExternPictures();
$this->displayErrors = $oImporter->getErrors(); $this->displayErrors = $oImporter->getErrors();
$this->addTplParam("blEOD", $oImporter->isPictureImportFinished); $this->addTplParam("blEOD", $oImporter->isPictureImportFinished);
@ -135,7 +145,7 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
$this->scanPictureDir(); $this->scanPictureDir();
} }
$this->_sThisTemplate = 'd3_picture_extticker.tpl'; $this->_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_picture_extticker';
} }
/** /**
@ -152,28 +162,27 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
* scan picture import directory * scan picture import directory
* *
* @return void * @return void
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function scanPictureDir() public function scanPictureDir()
{ {
$request = oxNew(Request::class); $request = oxNew(Request::class);
$downloadExternPictures = $request->getRequestParameter('downloadExternPictures'); $downloadExternPictures = $request->getRequestParameter('downloadExternPictures');
if ($downloadExternPictures) { if ($downloadExternPictures) {
$this->getExternPictures($downloadExternPictures); $this->getExternPictures($downloadExternPictures);
} }
$oImportConfig = $this->getD3ImporterConfiguration(); $oImportConfig = $this->getD3ImporterConfiguration();
/** @var d3_importer_Application_Models_PictureImport $oPictureImporter */ /** @var PictureImport $oPictureImporter */
$oPictureImporter = oxNew(d3_importer_Application_Models_PictureImport::class, $oImportConfig); $oPictureImporter = oxNew(PictureImport::class, $oImportConfig);
$this->setFailConfigCode($oPictureImporter->scanPictureDir()); $this->setFailConfigCode($oPictureImporter->scanPictureDir());
return;
} }
/** /**
@ -188,12 +197,12 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
* doing Import * doing Import
* *
* @return void * @return void
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function doImport() public function doImport()
{ {
@ -210,7 +219,7 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
return; return;
} }
$oImporter = oxNew(d3_importer_Application_Models_PictureImport::class, $oImportConfig); $oImporter = oxNew(PictureImport::class, $oImportConfig);
$oImporter->setActCheckCount($iPrevCheckedFiles); $oImporter->setActCheckCount($iPrevCheckedFiles);
$oImporter->setActImportCount($iPrevImportedFiles); $oImporter->setActImportCount($iPrevImportedFiles);
$oImporter->import(); $oImporter->import();
@ -222,7 +231,7 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
$this->addTplParam("iCheckedFiles", $oImporter->getActualCheckCounter()); $this->addTplParam("iCheckedFiles", $oImporter->getActualCheckCounter());
$this->addTplParam("iImportedFiles", $oImporter->getActualImportCounter()); $this->addTplParam("iImportedFiles", $oImporter->getActualImportCounter());
$this->addTplParam("oxid", $soxId); $this->addTplParam("oxid", $soxId);
$this->_sThisTemplate = 'd3_picture_ticker.tpl'; $this->_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_picture_ticker';
} }
/** /**
@ -232,21 +241,21 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_i
*/ */
public function getConfigFailure() public function getConfigFailure()
{ {
if (isset($this->failConfigCode) && !empty($this->failConfigCode)) { if (!isset($this->failConfigCode)) {
return $this->failConfigCode; return 0;
} }
if (empty($this->failConfigCode)) {
return 0; return 0;
}
return $this->failConfigCode;
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
} }

View File

@ -12,6 +12,21 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Application\Controller\Admin\Pictureimport;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use stdClass;
use Exception;
use OxidEsales\Eshop\Core\Exception\SystemComponentException;
use D3\Importer\Application\Controller\Admin\Base;
use D3\Importer\Application\Models\Constants;
use D3\Importer\Application\Models\ImportConfig;
use D3\Importer\Application\Models\ImporterDescription;
use OxidEsales\Eshop\Application\Model\Article; use OxidEsales\Eshop\Application\Model\Article;
use OxidEsales\Eshop\Core\Model\BaseModel; use OxidEsales\Eshop\Core\Model\BaseModel;
use OxidEsales\Eshop\Core\Model\ListModel; use OxidEsales\Eshop\Core\Model\ListModel;
@ -23,14 +38,14 @@ use OxidEsales\Eshop\Core\Request;
* *
* @package admin * @package admin
*/ */
class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_importer_Application_Controller_Admin_Base class Main extends Base
{ {
/** /**
* Current class default template name. * Current class default template name.
* *
* @var string * @var string
*/ */
protected $_sThisTemplate = 'd3_picture_main.tpl'; protected $_sThisTemplate = '@' . Constants::OXID_MODULE_ID . '/admin/d3_picture_main';
/** /**
* Speichert den aktuellen Fehlercode * Speichert den aktuellen Fehlercode
@ -51,12 +66,12 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
* file "d3_picture_main.tpl". * file "d3_picture_main.tpl".
* *
* @return string * @return string
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function render() public function render()
{ {
@ -64,12 +79,12 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
$tplLanguage = Registry::getLang()->getTplLanguage(); $tplLanguage = Registry::getLang()->getTplLanguage();
$descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc'; $descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc';
$aImageFieldList = new stdClass; $aImageFieldList = new stdClass();
$oArticle = oxNew(Article::class); $oArticle = oxNew(Article::class);
$oImporterDesc = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); $oImporterDesc = oxNew(ListModel::class, ImporterDescription::class);
/** @var d3_importer_Application_Models_ImporterDescription $baseObject */ /** @var ImporterDescription $baseObject */
$baseObject = $oImporterDesc->getBaseObject(); $baseObject = $oImporterDesc->getBaseObject();
$baseObject->setLanguage($tplLanguage); $baseObject->setLanguage($tplLanguage);
@ -81,8 +96,8 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
$val->fldname = str_replace("oxarticles__", "", $key); $val->fldname = str_replace("oxarticles__", "", $key);
$blDelete = true; $blDelete = true;
/** @var BaseModel $oDesc */
foreach ($oImporterDesc as $oDesc) { foreach ($oImporterDesc as $oDesc) {
/**@var $oDesc BaseModel */
if ($oDesc->getFieldData('oxfield') != $val->fldname) { if ($oDesc->getFieldData('oxfield') != $val->fldname) {
continue; continue;
} }
@ -100,22 +115,21 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
} }
$this->addTplParam("imagefieldlist", $aImageFieldList); $this->addTplParam("imagefieldlist", $aImageFieldList);
$this->addTplParam("importfieldlist", $this->getPictureFields($this->getConfig()->getConfigParam('iPicCount'))); $this->addTplParam("importfieldlist", $this->getPictureFields(Registry::getConfig()->getConfigParam('iPicCount')));
$this->addTplParam("iPicCount", $this->getConfig()->getConfigParam('iPicCount')); $this->addTplParam("iPicCount", Registry::getConfig()->getConfigParam('iPicCount'));
$this->addTplParam("sNextKey", 0); $this->addTplParam("sNextKey", 0);
return $sReturn; return $sReturn;
} }
/** /**
* @param array $aXMLParams
* *
* @return void * @return void
* @throws Exception * @throws Exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
*/ */
public function saveImportProfile(array $aXMLParams = array()) public function saveImportProfile(array $aXMLParams = [])
{ {
$request = oxNew(Request::class); $request = oxNew(Request::class);
$aXMLPictureParams = $request->getRequestParameter("xmlpictureval"); $aXMLPictureParams = $request->getRequestParameter("xmlpictureval");
@ -132,16 +146,12 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
function ($a, $b) { function ($a, $b) {
$iA = (int)substr($a["IMPORTFIELD"], strlen("d3importpic")); $iA = (int)substr($a["IMPORTFIELD"], strlen("d3importpic"));
$iB = (int)substr($b["IMPORTFIELD"], strlen("d3importpic")); $iB = (int)substr($b["IMPORTFIELD"], strlen("d3importpic"));
if ($iA == $iB) { return $iA <=> $iB;
return 0;
}
return ($iA < $iB) ? -1 : 1;
} }
); );
parent::saveImportProfile( parent::saveImportProfile(
array('aXMLPictureParams' => $aXMLPictureParams, 'aPictureSettings' => $aPictureSettings) ['aXMLPictureParams' => $aXMLPictureParams, 'aPictureSettings' => $aPictureSettings]
); );
} }
@ -152,11 +162,13 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
*/ */
public function getConfigFailure() public function getConfigFailure()
{ {
if (isset($this->failConfigCode) && !empty($this->failConfigCode)) { if (!isset($this->failConfigCode)) {
return $this->failConfigCode; return 0;
} }
if (empty($this->failConfigCode)) {
return 0; return 0;
}
return $this->failConfigCode;
} }
/** /**
@ -170,14 +182,12 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
} }
/** /**
* @param d3_importer_Application_Models_ImportConfig $oImportConfig
*
* @return array * @return array
*/ */
protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) protected function getFormularElements(ImportConfig $oImportConfig)
{ {
// TODO: Implement _getFormularElements() method. // TODO: Implement _getFormularElements() method.
return array(); return [];
} }
/** /**
@ -185,16 +195,16 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
* @param int $pictureSlots * @param int $pictureSlots
* *
* @return array * @return array
* @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws SystemComponentException
*/ */
protected function getPictureFields($pictureSlots) protected function getPictureFields($pictureSlots)
{ {
$tplLanguage = Registry::getLang()->getTplLanguage(); $tplLanguage = Registry::getLang()->getTplLanguage();
$descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc'; $descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc';
$oImporterDesc = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); $oImporterDesc = oxNew(ListModel::class, ImporterDescription::class);
$aImportFieldList = []; $aImportFieldList = [];
$nameList = []; $nameList = [];
for($i = 1; $pictureSlots >= $i; $i++) { for ($i = 1; $pictureSlots >= $i; $i++) {
$nameList[] = "'d3importpic{$i}'"; $nameList[] = "'d3importpic{$i}'";
} }
$nameList = implode(', ', $nameList); $nameList = implode(', ', $nameList);
@ -202,11 +212,11 @@ class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_imp
$sSelect = "SELECT * FROM d3importerdesc WHERE oxfield IN({$nameList}) ORDER BY oxorder"; $sSelect = "SELECT * FROM d3importerdesc WHERE oxfield IN({$nameList}) ORDER BY oxorder";
$oImporterDesc->selectString($sSelect); $oImporterDesc->selectString($sSelect);
/** @var BaseModel $obj */
foreach ($oImporterDesc as $obj) { foreach ($oImporterDesc as $obj) {
/** @var $obj BaseModel */
$aImportFieldList[$obj->getFieldData('oxfield')] = $obj->getFieldData($descriptionName); $aImportFieldList[$obj->getFieldData('oxfield')] = $obj->getFieldData($descriptionName);
} }
return $aImportFieldList; return $aImportFieldList;
} }
} }

View File

@ -1,12 +1,5 @@
<?php <?php
use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
use OxidEsales\Eshop\Application\Model\Article as OxidArticle;
use OxidEsales\Eshop\Application\Model\ArticleList;
use OxidEsales\Eshop\Core\DatabaseProvider;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\UtilsCount;
/** /**
* This Software is the property of Data Development and is protected * This Software is the property of Data Development and is protected
* by copyright law - it is NOT Freeware. * by copyright law - it is NOT Freeware.
@ -19,12 +12,43 @@ use OxidEsales\Eshop\Core\UtilsCount;
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
class d3_importer_Application_Controller_Import_Article
namespace D3\Importer\Application\Controller\Import;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use OxidEsales\Eshop\Application\Component\Service\Element2ShopRelationsService;
use stdClass;
use Exception;
use D3\Importer\Application\Models\Afterimport;
use D3\Importer\Application\Models\Collector;
use D3\Importer\Application\Models\Import\Accessories;
use D3\Importer\Application\Models\Import\Article as ImportArticle;
use D3\Importer\Application\Models\Csvconverter;
use D3\Importer\Application\Models\Import\Attributes;
use D3\Importer\Application\Models\Import\Category;
use D3\Importer\Application\Models\Import\Crossselling;
use D3\Importer\Application\Models\Import\Mall;
use D3\Importer\Application\Models\Import\Manufacturer;
use D3\Importer\Application\Models\Import\Price2Article;
use D3\Importer\Application\Models\Import\Selectlist;
use D3\Importer\Application\Models\Import\Vendor;
use D3\Importer\Application\Models\ImportConfig;
use D3\Importer\Application\Models\Service\ImportService;
use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
use OxidEsales\Eshop\Application\Model\Article as OxidArticle;
use OxidEsales\Eshop\Application\Model\ArticleList;
use OxidEsales\Eshop\Application\Model\Shop;
use OxidEsales\Eshop\Core\DatabaseProvider;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\UtilsCount;
class Article
{ {
/**
* @var d3_importer_Application_Models_ImportConfig
*/
protected $importConfig;
/** /**
* @var int * @var int
*/ */
@ -32,28 +56,19 @@ class d3_importer_Application_Controller_Import_Article
/** /**
* @var int * @var int
*/ */
protected $filePointerPosition = 0; protected int|false $filePointerPosition = 0;
/**
* @var protected int $actualLinePosition;
*/
protected $actualLinePosition; protected bool $isEndOfFile = false;
/**
* @var protected array $importProfile;
*/
protected $isEndOfFile;
/**
* @var array
*/
protected $importProfile;
/** /**
* Article constructor. * Article constructor.
*
* @param d3_importer_Application_Models_ImportConfig $importConfig
*/ */
public function __construct(d3_importer_Application_Models_ImportConfig $importConfig) public function __construct(protected ImportConfig $importConfig)
{ {
$this->importConfig = $importConfig;
$this->importProfile = $this->importConfig->getImportProfile(); $this->importProfile = $this->importConfig->getImportProfile();
} }
@ -62,26 +77,26 @@ class d3_importer_Application_Controller_Import_Article
* @param int $actualFilePointer * @param int $actualFilePointer
* *
* @return bool * @return bool
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
public function import($actualLine = 0, $actualFilePointer = 0) public function import(int $actualLine = 0, int|false $actualFilePointer = 0)
{ {
$this->actualLinePosition = $actualLine; $this->actualLinePosition = $actualLine;
$this->filePointerPosition = $actualFilePointer; $this->filePointerPosition = $actualFilePointer;
$importFields = $this->getImportFields(); $importFields = $this->getImportFields();
if (false == $this->isStartProcedereSuccessful($importFields)) { if ( ! $this->isStartProcedereSuccessful( $importFields ) ) {
$this->isEndOfFile = true; $this->isEndOfFile = true;
return false; return false;
} }
if (false == $this->filePointerPosition) { if ( ! $this->filePointerPosition ) {
// set flags // set flags
$oDB = DatabaseProvider::getDb(); $oDB = DatabaseProvider::getDb();
$oDB->execute("UPDATE `oxarticles` SET `d3importflag` = '' WHERE `d3importflag` NOT IN ('', 'manually')"); $oDB->execute("UPDATE `oxarticles` SET `d3importflag` = '' WHERE `d3importflag` NOT IN ('', 'manually')");
@ -89,14 +104,13 @@ class d3_importer_Application_Controller_Import_Article
} }
//<editor-fold desc="collect data part"> //<editor-fold desc="collect data part">
/** @var d3_importer_Application_Models_Csvconverter $csvConverter */ $csvConverter = oxNew(Csvconverter::class, $this->importConfig, $this->importProfile, $this->filePointerPosition);
$csvConverter = oxNew(d3_importer_Application_Models_Csvconverter::class, $this->importConfig, $this->importProfile, $this->filePointerPosition);
$csvLines = $csvConverter->convertCsvToArray(); $csvLines = $csvConverter->convertCsvToArray();
$aConfigProfile = $this->importProfile['d3_importer_config']; $aConfigProfile = $this->importProfile['d3_importer_config'];
$articleFieldIdentification = (string)$aConfigProfile['ASSIGNIDENT']; $articleFieldIdentification = (string)$aConfigProfile['ASSIGNIDENT'];
/** @var d3_importer_Application_Models_Collector $collector */ /** @var Collector $collector */
$collector = oxNew(d3_importer_Application_Models_Collector::class, $articleFieldIdentification); $collector = oxNew(Collector::class, $articleFieldIdentification);
// jetzt aktualisieren wir noch die Uebergabeparameter fuer den naechsten Tick // jetzt aktualisieren wir noch die Uebergabeparameter fuer den naechsten Tick
$this->filePointerPosition = ftell($this->importConfig->fpCsv); $this->filePointerPosition = ftell($this->importConfig->fpCsv);
@ -111,15 +125,15 @@ class d3_importer_Application_Controller_Import_Article
$articleList->renewPriceUpdateTime(); $articleList->renewPriceUpdateTime();
//</editor-fold> //</editor-fold>
/** @var Shop $shop */
$shop = Registry::getConfig()->getActiveShop(); $shop = Registry::getConfig()->getActiveShop();
$languageId = $shop->getLanguage(); $languageId = $shop->getLanguage();
$shopId = Registry::getConfig()->getShopId(); $shopId = Registry::getConfig()->getShopId();
$isSuperShop = (bool)method_exists($shop, 'isSuperShop') ? $shop->isSuperShop() : false; $isSuperShop = method_exists($shop, 'isSuperShop') ? $shop->isSuperShop() : false;
//<editor-fold desc="models_import_* als Interface implementieren, Klassennamen vorhalten und per foreach durchgehen und import methode umbenennen"> //<editor-fold desc="models_import_* als Interface implementieren, Klassennamen vorhalten und per foreach durchgehen und import methode umbenennen">
/** @var d3_importer_Application_Models_Service_Import $importService */
$importService = oxNew( $importService = oxNew(
d3_importer_Application_Models_Service_Import::class, ImportService::class,
$collector, $collector,
$this->importConfig, $this->importConfig,
$importFields, $importFields,
@ -152,60 +166,59 @@ class d3_importer_Application_Controller_Import_Article
// } // }
// //
// die; // die;
/** @var d3_importer_Application_Models_Models_Import_Article $importer */ /** @var ImportArticle $importer */
$importer = oxNew(d3_importer_Application_Models_Models_Import_Article::class, $importService); $importer = oxNew(ImportArticle::class, $importService);
//TODO catch exception //TODO catch exception
$importer->import(); $importer->import();
/** @var d3_importer_Application_Models_Models_Import_Category $importCategories */ /** @var Category $importCategories */
$importCategories = oxNew(d3_importer_Application_Models_Models_Import_Category::class, $importService); $importCategories = oxNew(Category::class, $importService);
//TODO catch exception //TODO catch exception
$importCategories->import(); $importCategories->import();
/** @var d3_importer_Application_Models_Models_Import_Accessories $importAccessories */ /** @var Accessories $importAccessories */
$importAccessories = oxNew(d3_importer_Application_Models_Models_Import_Accessories::class, $importService); $importAccessories = oxNew(Accessories::class, $importService);
//TODO catch exception //TODO catch exception
$importAccessories->import(); $importAccessories->import();
/** @var d3_importer_Application_Models_Models_Import_Crossselling $importCrossselling */ /** @var Crossselling $importCrossselling */
$importCrossselling = oxNew(d3_importer_Application_Models_Models_Import_Crossselling::class, $importService); $importCrossselling = oxNew(Crossselling::class, $importService);
//TODO catch exception //TODO catch exception
$importCrossselling->import(); $importCrossselling->import();
/** @var d3_importer_Application_Models_Models_Import_Attributes $importAttributes */ /** @var Attributes $importAttributes */
$importAttributes = oxNew(d3_importer_Application_Models_Models_Import_Attributes::class, $importService); $importAttributes = oxNew(Attributes::class, $importService);
//TODO catch exception //TODO catch exception
$importAttributes->import(); $importAttributes->import();
/** @var d3_importer_Application_Models_Models_Import_Price2Article $importPrice2Article */ /** @var Price2article $importPrice2Article */
$importPrice2Article = oxNew(d3_importer_Application_Models_Models_Import_Price2Article::class, $importService); $importPrice2Article = oxNew(Price2Article::class, $importService);
//TODO catch exception //TODO catch exception
$importPrice2Article->import(); $importPrice2Article->import();
/** @var d3_importer_Application_Models_Models_Import_Vendor $importVendor */ /** @var Vendor $importVendor */
$importVendor = oxNew(d3_importer_Application_Models_Models_Import_Vendor::class, $importService); $importVendor = oxNew(Vendor::class, $importService);
//TODO catch exception //TODO catch exception
$importVendor->import(); $importVendor->import();
/** @var d3_importer_Application_Models_Models_Import_Manufacturer $importManufacturer */ /** @var Manufacturer $importManufacturer */
$importManufacturer = oxNew(d3_importer_Application_Models_Models_Import_Manufacturer::class, $importService); $importManufacturer = oxNew(Manufacturer::class, $importService);
//TODO catch exception //TODO catch exception
$importManufacturer->import(); $importManufacturer->import();
/** @var d3_importer_Application_Models_Models_Import_Selectlist $importSelectlist */ /** @var Selectlist $importSelectlist */
$importSelectlist = oxNew(d3_importer_Application_Models_Models_Import_Selectlist::class, $importService); $importSelectlist = oxNew(Selectlist::class, $importService);
//TODO catch exception //TODO catch exception
$importSelectlist->import(); $importSelectlist->import();
/** @var d3_importer_Application_Models_Models_Import_Selectlist $importManufacturer */ if (class_exists(Element2ShopRelationsService::class) && $isSuperShop) {
if (class_exists(\OxidEsales\Eshop\Application\Component\Service\Element2ShopRelationsService::class) && $isSuperShop) { /** @var OxidArticle $article */
/** @var \OxidEsales\Eshop\Application\Model\Article $article */ $article = oxNew(OxidArticle::class);
$article = oxNew(\OxidEsales\Eshop\Application\Model\Article::class);
$importService->addProperty('coreTable', $article->getCoreTableName()); $importService->addProperty('coreTable', $article->getCoreTableName());
$importService->addProperty('className', $article->getClassName()); $importService->addProperty('className', $article->getClassName());
/** @var d3_importer_Application_Models_Models_Import_Mall $mallImport */ /** @var Mall $mallImport */
$mallImport = oxNew(d3_importer_Application_Models_Models_Import_Mall::class, $importService); $mallImport = oxNew(Mall::class, $importService);
//TODO catch exception //TODO catch exception
$mallImport->import(); $mallImport->import();
@ -224,12 +237,12 @@ class d3_importer_Application_Controller_Import_Article
* @param $importFields * @param $importFields
* *
* @return boolean * @return boolean
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws d3_cfg_mod_exception
* @throws \Doctrine\DBAL\DBALException * @throws DBALException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException * @throws StandardException
*/ */
protected function isStartProcedereSuccessful($importFields) protected function isStartProcedereSuccessful($importFields)
{ {
@ -243,9 +256,9 @@ class d3_importer_Application_Controller_Import_Article
$profiles = $this->importConfig->getImportProfile(); $profiles = $this->importConfig->getImportProfile();
if (empty($profiles)) { if (empty($profiles)) {
/** @var \OxidEsales\Eshop\Core\Exception\StandardException $exception */ /** @var StandardException $exception */
$exception = oxNew( $exception = oxNew(
\OxidEsales\Eshop\Core\Exception\StandardException::class, StandardException::class,
'import profiles are empty!' 'import profiles are empty!'
); );
throw $exception; throw $exception;
@ -280,9 +293,9 @@ class d3_importer_Application_Controller_Import_Article
*/ */
protected function getImportFields() protected function getImportFields()
{ {
$importFields = array(); $importFields = [];
/** @var $oArticle OxidArticle */ /** @var OxidArticle $oArticle */
$oArticle = oxNew(OxidArticle::class); $oArticle = oxNew(OxidArticle::class);
$oArticle->setEnableMultilang(false); $oArticle->setEnableMultilang(false);
@ -295,12 +308,14 @@ class d3_importer_Application_Controller_Import_Article
foreach ($fieldNames as $fieldName) { foreach ($fieldNames as $fieldName) {
foreach ($csvCells as $csvColumn => $csvCell) { foreach ($csvCells as $csvColumn => $csvCell) {
$csvColumn = trim((string)$csvColumn); $csvColumn = trim((string)$csvColumn);
if ($csvCell != $fieldName) {
if ($csvCell != $fieldName || false == isset($csvColumn) || false == strlen($csvColumn)) { continue;
}
if (! strlen($csvColumn)) {
continue; continue;
} }
$temporaryClass = new \stdClass(); $temporaryClass = new stdClass();
$temporaryClass->import = $csvColumn; $temporaryClass->import = $csvColumn;
if (isset($aUpdateFields[$csvColumn]) && (bool)$aUpdateFields[$csvColumn]) { if (isset($aUpdateFields[$csvColumn]) && (bool)$aUpdateFields[$csvColumn]) {
$temporaryClass->update = $csvColumn; $temporaryClass->update = $csvColumn;
@ -309,15 +324,17 @@ class d3_importer_Application_Controller_Import_Article
$importFields[$csvCell] = $temporaryClass; $importFields[$csvCell] = $temporaryClass;
} }
if (false == empty($aVariantFields)) { if (! empty($aVariantFields)) {
foreach ($aVariantFields as $csvCell => $csvColumn) { foreach ($aVariantFields as $csvCell => $csvColumn) {
$csvColumn = trim((string)$csvColumn); $csvColumn = trim((string)$csvColumn);
if ($csvCell != $fieldName) {
if ($csvCell != $fieldName || false == isset($csvColumn) || false == strlen($csvColumn)) { continue;
}
if (! strlen($csvColumn)) {
continue; continue;
} }
$temporaryClass = new \stdClass(); $temporaryClass = new stdClass();
$temporaryClass->import = $csvColumn; $temporaryClass->import = $csvColumn;
$temporaryClass->update = $csvColumn; $temporaryClass->update = $csvColumn;
@ -346,7 +363,7 @@ class d3_importer_Application_Controller_Import_Article
} }
/** /**
* @return mixed * @return int
*/ */
public function getActualLinePosition() public function getActualLinePosition()
{ {
@ -354,7 +371,7 @@ class d3_importer_Application_Controller_Import_Article
} }
/** /**
* @return mixed * @return bool
*/ */
public function isEndOfFile() public function isEndOfFile()
{ {
@ -365,13 +382,12 @@ class d3_importer_Application_Controller_Import_Article
* @param $action * @param $action
* @param int $tickerMaximum * @param int $tickerMaximum
* *
* @return bool * @throws d3ShopCompatibilityAdapterException
* @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException * @throws d3_cfg_mod_exception
* @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception * @throws DBALException
* @throws \Doctrine\DBAL\DBALException * @throws DatabaseConnectionException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws DatabaseErrorException
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException * @throws StandardException
* @throws \OxidEsales\Eshop\Core\Exception\StandardException
* @throws Exception * @throws Exception
*/ */
public function afterImport($action, $tickerMaximum) public function afterImport($action, $tickerMaximum)
@ -380,42 +396,41 @@ class d3_importer_Application_Controller_Import_Article
$this->importFailCode = 20; $this->importFailCode = 20;
$this->isEndOfFile = true; $this->isEndOfFile = true;
return false; return;
} }
if ($action != 'delete' && $action != 'inactive') { if ($action != 'delete' && $action != 'inactive') {
$this->importFailCode = 12; $this->importFailCode = 12;
$this->isEndOfFile = true; $this->isEndOfFile = true;
return false; return;
} }
if (false == $this->isStartProcedereSuccessful($this->getImportFields())) { if (false == $this->isStartProcedereSuccessful($this->getImportFields())) {
$this->isEndOfFile = true; $this->isEndOfFile = true;
return false; return;
} }
$oDB = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC); $oDB = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC);
$oxarticlesViewname = getViewName('oxarticles'); $oxarticlesViewname = (oxNew(OxidArticle::class))->getViewName();
$sSelect = <<<MySQL $sSelect = <<<MySQL
SELECT `oxid` AS oxid FROM {$oxarticlesViewname} SELECT `oxid` AS oxid FROM {$oxarticlesViewname}
WHERE d3importflag = '' WHERE d3importflag = ''
AND d3importprofileid = {$oDB->quote($this->importConfig->getId())} AND d3importprofileid = {$oDB->quote($this->importConfig->getId())}
LIMIT 0, {$tickerMaximum} LIMIT 0, {$tickerMaximum}
MySQL; MySQL;
$articleIds = $oDB->getAll($sSelect); $articleIds = $oDB->getAll($sSelect);
if (empty($articleIds)) { if (empty($articleIds)) {
$this->isEndOfFile = true; $this->isEndOfFile = true;
return false; return;
} }
$afterImport = oxNew(d3_importer_Application_Models_Afterimport::class); $afterImport = oxNew(Afterimport::class);
$result = $afterImport->afterimport($action, $articleIds); $afterImport->afterimport($action, $articleIds);
$this->resetArticleCount(); $this->resetArticleCount();
return $result;
} }
/** /**
@ -433,8 +448,6 @@ MySQL;
} }
/** /**
* @param array $fieldnames
*
* @return array * @return array
*/ */
protected function addLongdescFieldnames(array $fieldnames) protected function addLongdescFieldnames(array $fieldnames)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +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 Importer @version 6.0.1.0 SourceGuardian (30.05.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('7A3737B33FEF26D7AAQAAAAhAAAABKgAAACABAAAAAAAAAD/6ja/zbI5wo7fv35QvkFaki707BZN/6rJO5uCuX3dP1g3e4617IV7t1IRvftji4xsdioWOtBhE8xpz5gnRetuHMbfkVuzcWMVsw9VLuKa77ynIYOgOBN1l27Rck/fBKBNlcH3bm7WjVaIJfIZPw7ReAiBFg70STDeQosYDddlN0G+fIaC1+UuMYY5svx8TZRw4J7sByGh5rFL3mbcTZ8SgrfotPGCX5+aCAAAAIABAAC1ijfbPY9AUCfv1MQqUy/4LufDqRz7wCDGIp2byfDYy2ll3mosJyptUNy5BoJp3b5AG5dhBpTzshr+ZN6GkGgN3PpJkY7AkRt3RfMJ66LJMl+wmI6EYx4D/8n4c28aG3bSc9PneDsT5AR6x8Bn6n4TEnCMsDB18KdK80UY3t3bbNk0bBxukHlxuILahiNRFhEYgT/ktabmUPeuXoeFlxY/tIImaWXu2TMMEsfovRasmov7OfzY1MKIY8KP2//M1t1LqJrMWSeydPvfxz13zAnNF9pkJPN+KgL4sgGRgGFjPMRP3gpUHLNqsDZnwh1Xssk0UbAKqljR4hOhmMUxWY/ESeHZuKFtwqbBFWj36MfkGUpQEILyvw9caYuQv+rc/Me/1Z85oZw0fZR7XoqCOMFn9u2xU2ALlcVgJh8zAN6/PmXCwO4bkWwNfukjsPm3mTX49cgi3Sbx4pJIcNSq2cRoec2UuPfhxR4E1IFUjUVtJPlkfMrOV/Slau7aW0S6dEhRAAAAeAEAAFjhVip4jgC1r4mHMLNQpv1IwbxaxrJ12WbbuIvZfoyGt2EJ54NHYcR+vQvmhasUEMUNnTgJPnm1WQqFSwIPwiZIHi9nM+Ycsx4CPkKhJ809OnlJNsVDAdD2fCSokU1/zaBw3yvOdlhdxjKciZVpgqIokdN0jqc8dsznvKhoeA6gypnkN5PRsexMiTdBz3vpD5QfXs0SlJf8cEdBrsWW/RdQK7cmgwuAHcYxhinctlMiUzyq7/QZYcRjaDQ4cuh6pzzSi6Z7WQRxiBUxH7pSu7WyG5ReQyquDsNSxhlHTCk5hZAvBLlg8FbV4A5bXzOPE08ifx90RNDj2FHI4IdtSsFLdsFY1tzcgtzWFK+U0jkdNyOKes+JCr+kVIdhu4HoTKG+ieXZ6kysJtr+MIPsZwgrs0PNhIdykKwRB6tiVq57E1+Pz/ZqCNZlemD5Bg1SeYPk3ct+b/2AWRBL5vouenCBAG4l2QoPltBHWlz0MDYdyZfFK6LDwrBSAAAAeAEAAALq/BEgoY/4kyt40+tRSKk0JdlRNB5YbLQv6yhuD6jyiIi2BtE547E38fWpGmlxErsNMGBNGy1FMatK22GWcS1rEYC8XykbobdkzU1fvhWqFLwa+/6p1etk8y9YQb4XXFkLA/fUmlTqYvqE7j1nvTAjdJEMJr12EKrMQ42wZlpHf1Q0Ox1++tqdKzkjtvGvQ6gx/yBT+qYAAz9s6kCukIcrWQ9f3VPtL99O7J+ydyxMFQUzqn30gJ8N5rcvwqXAiYM2qgHFX2RsrL2nfGPtjKCmcoS7a+x6Pl0INGAzLAol7tJWhS+2CIM96HV/ZeCFRdZjxtSBiV/j3FuWe2SqSn5bFrFvdMx6mwq8k8mhRuhNV+KuVDxrs8ZDFUgaVY2RtX4MmMBbWWyduHR7IgtECsgw1+AhK2XAUXOS+5vAMMO7f0bQq2PgEeS9tNcE+hi6D6509VY8UNtYQgV1YN05ORPxwAGJlQl5mFchPp96dth/UO8uO3BHhKgAAAAA');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,16 @@
<?php
/**
* 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.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com
*/
$sLangName = "Deutsch";
$aLang = include __DIR__."/../../de/d3_importer_translations.php";

View File

@ -0,0 +1,16 @@
<?php
/**
* 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.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com
*/
$sLangName = "English";
$aLang = include __DIR__."/../../en/d3_importer_translations.php";

View File

@ -0,0 +1,16 @@
<?php
/**
* 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.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com
*/
$sLangName = "Deutsch";
$aLang = include __DIR__."/../../de/d3_importer_translations.php";

View File

@ -0,0 +1,16 @@
<?php
/**
* 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.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com
*/
$sLangName = "English";
$aLang = include __DIR__."/../../en/d3_importer_translations.php";

View File

@ -0,0 +1,547 @@
<?php
/**
* 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.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com
*/
// @codeCoverageIgnoreStart
return [
'charset' => 'ISO-8859-15',
'd3mximporter' => '<i class="fas fa-fw fa-database"></i> Importer',
'd3mxarticleimport' => 'Artikelimport',
'd3mximporter_cfg' => 'Einstellungen',
'd3mximporter_cfg_main' => 'Stamm',
'd3tbclimporter_cfg_main' => 'Grundeinstellungen',
'd3tbclimporter_main' => 'Stamm',
'd3tbclimporter_fields' => 'Artikelfelder',
'd3tbclimporter_category' => 'Kategorien',
'd3tbclimporter_cross' => 'Cross-Selling',
'd3tbclimporter_attrib' => 'Attribute',
'd3tbclimporter_selectlist' => 'Auswahllisten',
'd3tbclimporter_variants' => 'Varianten',
'd3tbclimporter_price2art' => 'Staffelpr.',
'd3tbclimporter_vendors' => 'Hersteller',
'd3tbclimporter_config' => 'Konfig.',
'd3tbclimporter_mall' => 'Mall',
'd3tbclimporter_import' => 'Import',
'd3tbclimporter_afterimport' => 'Nach Import',
'd3mxpictureimport' => 'Bilderimport',
'd3tbclpicture_main' => 'Stamm',
'd3tbclpicture_import' => 'Import',
'D3_IMPORTER_METADATA_ALTITLE' => 'D³ Importer',
'D3_IMPORTER_METADATA_ALDESC' => 'Umfangreiche Importmöglichkeiten der Artikel inkl. dem Import von Bildern, sowie alle Datenfelder von oxarticles, Kategorien, Cross-Selling, Attribute, Auswahllisten, Varianten, Staffelpreise, Hersteller/Lieferanten',
'D3_IMPORTER_METADATA_AUTHOR' => 'D³ Data Development, Inh. Thomas Dartsch',
'D3_TOOLTIPS_NEWIMPORTPROFIL' => 'Neues Importprofil anlegen',
'D3_IMPORTER_CFG_LIST_SETTLANG' => 'Einstellungen für Sprache',
'D3_IMPORTER_CFG_MAIN_TITLE' => 'Importer - Einstellungen',
'D3_IMPORTER_MENUITEM' => 'Importer',
'D3_IMPORTER_ROW' => 'Zeile',
'D3_IMPORTER_ROW_OF' => 'von',
'D3_IMPORTER_LIST_MENUSUBITEM' => 'Artikelimport',
'D3_PICTURE_LIST_MENUSUBITEM' => 'Bildimport',
'D3_IMPORTER_MAIN_OXID' => 'Profil-ID',
'D3_IMPORTER_MAIN_DESCRIPTION' => 'Profilname',
'D3_IMPORTER_MAIN_IMPORTFILE' => 'Importdatei',
'D3_IMPORTER_MAIN_NOFILE' => '-- keine --',
'D3_IMPORTER_MAIN_NEWFILE' => 'neue Datei hochladen (max. Größe: %1$s)',
'D3_IMPORTER_MAIN_ALLOWEXT_MAXFILESIZE_HELP' => 'Erlaubte Dateitypen sind "csv" oder "txt".',
'D3_IMPORTER_MAIN_EXCEEDS_MAXFILESIZE' => '"${filename}" übersteigt die maximale Dateigröße von ${maxfilesize}.',
'D3_IMPORTER_MAIN_COLSEP' => 'Datei-Spaltentrennung',
'D3_IMPORTER_MALL_COLUMSEPARATOR_MALL_HELP' => 'z.B. , ; oder TAB (TAB = Tabulator)',
'D3_IMPORTER_MAIN_TEXTSEP' => 'Texttrenner (optional)',
'D3_IMPORTER_MAIN_TEXTSEPDESCRIPTION_HELP' => 'z.B. \' oder "',
'D3_IMPORTER_MAIN_FIFELINFO_HEAD' => 'Datei-Info',
'D3_IMPORTER_MAIN_FIFELINFO_NAME' => 'Name',
'D3_IMPORTER_MAIN_FIFELINFO_SIZE' => 'Größe',
'D3_IMPORTER_MAIN_FIFELINFO_CHANGE' => 'letzte Änderung',
'D3_IMPORTER_MAIN_FIFELINFO_READ' => 'lesbar',
'D3_IMPORTER_MAIN_FIFELINFO_WRITE' => 'beschreibbar',
'D3_IMPORTER_MAIN_FIFELINFO_CSV' => 'CSV',
'D3_IMPORTER_MAIN_FIFELINFO_ROWS' => 'Zeilen',
'D3_IMPORTER_MAIN_FIFELINFO_COLUMS' => 'Spalten',
'D3_IMPORTER_MAIN_FIFELINFO_RIGHTS' => 'Linux-Rechte',
'D3_IMPORTER_MAIN_FIFELINFO_OWNER' => 'Besitzer',
'D3_IMPORTER_MAIN_FIFELINFO_GROUP' => 'Gruppe',
'D3_IMPORTER_FIELDS_COLUM' => 'Spalte',
'D3_IMPORTER_FIELDS_COLUMASSIGN' => 'Spalteninhalt und Zuordnung',
'D3_IMPORTER_FIELDS_UPDATE' => 'Update',
'D3_IMPORTER_FIELDS_INFOTEXT_HELP' => 'Soll eine Spalte auch für das Artikelupdate verwendet werden, markieren Sie die dazugehörige Checkbox "Update". <br>',
'D3_IMPORTER_FIELDS_XXXX' => 'Hinweis: <b>Pflicht ist die Zuordnung der Artikelidentifikation!</b>',
'D3_IMPORTER_FIELDS_XXXX_HELP' => 'Sie können die Artikelidentifikation im Tab "Konfig." einstellen.<br> Die Artikelidentifikation muss im Tab "Artikelfelder" ebenfalls ausgewählt sein.<br><br>Bspw.: oxartnum (Artikelnummer)',
'D3_IMPORTER_CATEGORY_ASSIGN' => 'Kategoriefeld Zuordung',
'D3_IMPORTER_CATEGORY_NOASSIGN' => '-- keine --',
'D3_IMPORTER_CATEGORY_ASSIGNINFO_HELP' => '<b>Pflichtfeld!</b> Legen Sie hier fest, auf welches Feld als Referenz geprüft werden soll.<br><br>Hinweis: Nur bei "Titel (oxtitle)" wird im Importvorgang die Kategoriestruktur angelegt, sofern diese nicht vorhanden ist.',
'D3_IMPORTER_CATEGORY_ASSIGN_NEEDED' => '<b>Pflichtfeld!</b>',
'D3_IMPORTER_CATEGORY_IMPORTTYPE' => 'Importtyp',
'D3_IMPORTER_CATEGORY_IMPORTTYPE1' => 'Nur Import',
'D3_IMPORTER_CATEGORY_IMPORTTYPE2' => 'Artikel-Kat.-Zuordnungen vorher löschen',
'D3_IMPORTER_CATEGORY_IMPORTTYPEINFO_HELP' => '"Import" = Die Kategorien werden normal importiert bzw. dem Artikel zugeordnet<br>"vorher löschen" = Alle Kategoriezuordnungen des aktuellen Artikels werden vor dem Update gelöscht.',
'D3_IMPORTER_CATEGORY_IMPORTCOLUM' => 'Spaltenzuordnung',
'D3_IMPORTER_CATEGORY_COLSEP' => 'interne Spaltentrennung',
'D3_IMPORTER_CATEGORY_IMPORTCOLUMINFO_HELP' => 'Ordnet die Kategoriedaten aus dieser Importspalte dem aktuellen Artikel zu.',
'D3_IMPORTER_CROSS_IMPORTTYPE' => 'Cross-Selling Importtyp',
'D3_IMPORTER_CROSS_IMPORTTYPE1' => 'Nur Import',
'D3_IMPORTER_CROSS_IMPORTTYPE2' => 'Artikel-Cross-Sell.-Zuordnungen vorher löschen',
'D3_IMPORTER_CROSS_IMPORTTYPEINFO_HELP' => '"Nur Import" = Das Cross-Selling wird normal dem Artikel zugeordnet<br>"vorher löschen" = Alle Cross-Selling-Zuordnungen des aktuellen Artikels werden vor dem Update gelöscht.',
'D3_IMPORTER_CROSS_NOASSIGN' => '-- keine --',
'D3_IMPORTER_CROSS_IMPORTCOLUM' => 'Spaltenzuordnung',
'D3_IMPORTER_CROSS_IMPORTCOLUMINFO_HELP' => 'Ordnet die Dateispalte mit den Crosselling-Daten zu',
'D3_IMPORTER_CROSS_COLSEP' => 'interne Spaltentrennung',
'D3_IMPORTER_MALL_IMPORTCOLUM_MALL' => 'Spaltenzuordnung',
'D3_IMPORTER_MALL_IMPORTCOLUM_MALL_HELP' => 'Ordnet die Dateispalte mit den Shopidents zu',
'D3_IMPORTER_MALL_COLUMSEPARATOR_MALL' => 'interne Spaltentrennung',
'D3_IMPORTER_ACC_IMPORTTYPE' => 'Zubehör Importtyp',
'D3_IMPORTER_ACC_IMPORTTYPE1' => 'Nur Import',
'D3_IMPORTER_ACC_IMPORTTYPE2' => 'Artikel-Zubehör-Zuordnungen vorher löschen',
'D3_IMPORTER_ACC_IMPORTTYPEINFO_HELP' => '"Nur Import" = Das Zubehör wird normal dem Artikel zugeordnet<br>"vorher löschen" = Alle Zubehör-Zuordnungen des aktuellen Artikels werden zuvor gelöscht.',
'D3_IMPORTER_ACC_NOASSIGN' => '-- keine --',
'D3_IMPORTER_ACC_IMPORTCOLUM' => 'Spaltenzuordnung',
'D3_IMPORTER_ACC_IMPORTCOLUMINFO_HELP' => 'Ordnet die Dateispalte mit den Zubehör-Daten zu',
'D3_IMPORTER_ACC_COLSEP' => 'interne Spaltentrennung',
'D3_IMPORTER_ATTRIB_IMPORTTYPE' => 'Attribute Importtyp',
'D3_IMPORTER_ATTRIB_IMPORTTYPE1' => 'Nur Import',
'D3_IMPORTER_ATTRIB_IMPORTTYPE2' => 'Artikel-Attribut-Zuordnungen vorher löschen',
'D3_IMPORTER_ATTRIB_IMPORTTYPEINFO_HELP' => '"Nur Import" = Die Attribute werden normal dem Artikel zugeordnet<br>"vorher löschen" = Alle Attribut-Zuordnungen des aktuellen Artikels werden vor dem Update gelöscht.',
'D3_IMPORTER_ATTRIB_NOASSIGN' => '-- keine --',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM' => 'Spaltenzuordnung',
'D3_IMPORTER_ATTRIB_IMPORTCOLUMINFO_HELP' => 'Ordnet die Dateispalte mit den Attributsdaten zu',
'D3_IMPORTER_ATTRIB_COLSEP1' => 'Attributstrennung',
'D3_IMPORTER_ATTRIB_COLSEPDESCRIPTION1_HELP' => 'Geben Sie hier ein Trennzeichen an, wenn in der Spalte mehrere Attribute hinterlegt sind. (z.B. "Material|Oberfläche|...") dann "|"',
'D3_IMPORTER_ATTRIB_COLSEP2' => 'Werttrennung',
'D3_IMPORTER_ATTRIB_COLSEPDESCRIPTION2_HELP' => 'Geben Sie hier ein Trennzeichen an, wenn in der Spalte zusätzlich die Attributswerte hinterlegt sind. (z.B. "Material,Aluminium|Oberfläche,matt|...") dann ","',
'D3_IMPORTER_SELECTLIST_IMPORTTYPE' => 'Auswahllisten Importtyp',
'D3_IMPORTER_SELECTLIST_IMPORTTYPE1' => 'Nur Import',
'D3_IMPORTER_SELECTLIST_IMPORTTYPE2' => 'Alle Auswahllisten vorher löschen',
'D3_IMPORTER_SELECTLIST_IMPORTTYPEINFO_HELP' => '"Nur Import" = Eine neue Auswahlliste wird erstellt und dem Artikel zugeordnet.<br>"Alle Auswahllisten vorher löschen" = Alle Auswahllisten, die ausschließlich dem aktuellen Artikels zugeordnet sind, werden vor dem Update gelöscht.',
'D3_IMPORTER_SELECTLIST_NOASSIGN' => '-- keine --',
'D3_IMPORTER_SELECTLIST_NAME' => 'Titel der Auswahlliste',
'D3_IMPORTER_SELECTLIST_ALTNAME' => 'Alternativtitel',
'D3_IMPORTER_SELECTLIST_VALUE' => 'Auswahlfelder',
'D3_IMPORTER_SELECTLIST_SEPARATOR' => 'Werttrenner',
'D3_IMPORTER_SELECTLIST_PRICESEPARATOR' => 'Preistrenner',
'D3_IMPORTER_SELECTLIST_TITLE_HELP' => 'Geben Sie hier das CSV-Importfeld an, in dem der Titel z.B. "Farbe" hinterlegt ist.',
'D3_IMPORTER_SELECTLIST_ALTTITLE_HELP' => 'Ist kein Feld für "Titel der Auswahlliste" vorhanden, oder ist der Inhalt teilweise leer, so kann hier ein Alternativtitel z.B. "Auswahl" angegeben werden.',
'D3_IMPORTER_SELECTLIST_SELECTFIELDS_HELP' => 'CSV-Importfeld mit den Werten der Auswahlliste',
'D3_IMPORTER_SELECTLIST_SEPARATOR_HELP' => 'Stehen mehrere Werte im CSV-Importfeld "Auswahlfelder", so muss der verwendete Trenner angegeben werden. z.B. "@" wenn in der CSV "rot@gelb@grün..." steht.',
'D3_IMPORTER_SELECTLIST_PRICESEPARATOR_HELP' => 'Zusätzlich können auch Preisänderungen (fest und in %) mit importiert werden. z.B. "rot|2,34@gelb|5%@grün|1,23...". In dem Beispiel wird als Werttrenner "@" und als Preistrenner "|" eingetragen.',
'D3_IMPORTER_SELECTLIST_INFOTEXT' => 'Es können beliebig viele Auswahllisten, mit beliebig viele Werten pro Artikel importiert werden.',
'D3_IMPORTER_VARIANTS_IMPORTTYPE' => 'Varianten Importtyp',
'D3_IMPORTER_VARIANTS_IMPORTTYPE1' => 'Nur Import',
'D3_IMPORTER_VARIANTS_IMPORTTYPE2' => 'Varianten vorher löschen',
'D3_IMPORTER_VARIANTS_IMPORTTYPEINFO' => '"Nur Import" = Die Varianten werden dem Vaterartikel neu zugeordnet oder aktualisiert<br>"vorher löschen" = Alle Varianten-Artikel des aktuellen Vater-Artikels werden vor dem Update gelöscht.',
'D3_IMPORTER_VARIANTS_NOASSIGN' => '-- keine --',
'D3_IMPORTER_VARIANTS_IMPORTCOLUM' => 'Variantenerkennung',
'D3_IMPORTER_VARIANTS_IMPORTCOLUMINFO' => 'Ordnet die Dateispalte mit der Artikelidentifikation (z.B. ArtNr oder EAN) des Vater-Artikels zu.',
'D3_IMPORTER_PRICE2ART_IMPORTTYPE' => 'Importtyp',
'D3_IMPORTER_PRICE2ART_IMPORTTYPE1' => 'Nur Import',
'D3_IMPORTER_PRICE2ART_IMPORTTYPE2' => 'Staffelpreise vorher löschen',
'D3_IMPORTER_PRICE2ART_IMPORTTYPEINFO_HELP' => '"Nur Import" = Die Staffelpreise werden dem Artikel neu zugeordnet oder aktualisiert.<br>"vorher löschen" = Alle Staffelpreise des Artikels werden vor dem Update gelöscht.',
'D3_IMPORTER_PRICE2ART_PRICE' => 'Staffelpreis',
'D3_IMPORTER_PRICE2ART_AMOUNTFROM' => 'Menge von',
'D3_IMPORTER_PRICE2ART_AMOUNTTO' => 'Menge bis',
'D3_IMPORTER_VENDORS_IMPORTTYPE' => 'Lieferanten erstellen',
'D3_IMPORTER_VENDORS_IMPORTTYPE1' => 'Ja',
'D3_IMPORTER_VENDORS_IMPORTTYPE2' => 'Nein, nur Zuordnung',
'D3_IMPORTER_VENDORS_IMPORTTYPEINFO_HELP' => '"Ja" = Existiert der Lieferant nicht bereits im Shop, wird er neu angelegt und dem Artikel zugeordnet.<br>"nur Zuordnung" = Der Artikel wird nur einem existierenden Lieferanten zugeordnet.',
'D3_IMPORTER_VENDORS_ASSIGN' => 'Lieferant Importspalte',
'D3_IMPORTER_VENDORS_NOASSIGN' => '-- keine --',
'D3_IMPORTER_VENDORS_ASSIGNINFO_HELP' => 'Ordnet die Dateispalte mit dem Lieferantennamen zu.',
'D3_IMPORTER_MANUFACTURER_IMPORTTYPE' => 'Hersteller erstellen',
'D3_IMPORTER_MANUFACTURER_IMPORTTYPE1' => 'Ja',
'D3_IMPORTER_MANUFACTURER_IMPORTTYPE2' => 'Nein, nur Zuordnung',
'D3_IMPORTER_MANUFACTURER_IMPORTTYPEINFO_HELP' => '"Ja" = Existiert der Hersteller nicht bereits im Shop, wird er neu angelegt und dem Artikel zugeordnet.<br>"nur Zuordnung" = Der Artikel wird nur einem existierenden Hersteller zugeordnet.',
'D3_IMPORTER_MANUFACTURER_ASSIGN' => 'Hersteller Importspalte',
'D3_IMPORTER_MANUFACTURER_NOASSIGN' => '-- keine --',
'D3_IMPORTER_MANUFACTURER_ASSIGNINFO_HELP' => 'Ordnet die Dateispalte mit dem Herstellernamen zu.',
'D3_IMPORTER_CONFIG_MAINOPTIONS' => 'Grundeinstellungen',
'D3_IMPORTER_MALL_MAINOPTIONS' => 'Einstellungen',
'D3_IMPORTER_CONFIG_IMPORTTICKER' => 'Dateizeilen pro Durchlauf',
'D3_IMPORTER_CONFIG_IMPORTTYPE' => 'Importtyp',
'D3_IMPORTER_CONFIG_IMPORTTYPE_STANDARD' => 'Import und Update',
'D3_IMPORTER_CONFIG_IMPORTTYPE_IMPORT' => 'nur Import',
'D3_IMPORTER_CONFIG_IMPORTTYPE_UPDATE' => 'nur Update',
'D3_IMPORTER_CONFIG_OMITLINES' => 'Anzahl Datei-Kopfzeilen (werden nicht importiert)',
'D3_IMPORTER_CONFIG_ASSIGNIDENT' => 'Artikelidentifikation',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_HELP' => 'Legen Sie hier eine <b>eindeutige</b> Artikelidentifikation fest,' //
. ' so dass keine Dubletten vorkommen.<br>Das gewählte Feld muß zwingend unter "Artikelfelder" einer Importspalte zugeordnet werden.' //
. '<br>Standard ist die Artikelnummer.' //
. '<br>Die Felder können Sie unter "Importer/Einstellungen/Grundeinstellungen/Einstellungen/Auswahl für Artikelidentifikationsfelder" hinzufügen.',
'D3_IMPORTER_CONFIG_PRICEOPTIONS' => 'Preis Optionen',
'D3_IMPORTER_CONFIG_PRICEPLUSPERCENT' => 'Importierten Artikelpreis um x % erhöhen.',
'D3_IMPORTER_CONFIG_PRICEDECIMALROUND' => 'Importierten Artikelpreis auf x Nachkommastellen runden.',
'D3_IMPORTER_CONFIG_IDENTOPTIONS' => 'Artikel-Ident Optionen (Expertenmodus)',
'D3_IMPORTER_CONFIG_ARTNUM2OXID' => 'Artikelidentifikationsfeld als Ident (Datenfeld &quot;oxid&quot;) nutzen',
'D3_IMPORTER_CONFIG_MD54OXID' => 'Zusätzlich das Identfeld mit MD5 codieren',
'D3_IMPORTER_IMPORT_START' => 'Artikelimport starten!',
'D3_IMPORTER_IMPORT_INFO1' => 'Importierte Zeilen',
'D3_IMPORTER_IMPORT_INFO2' => 'von',
'D3_IMPORTER_IMPORT_IMPORTEND' => 'Import beendet.',
'D3_IMPORTER_IMPORT_STATISTICHEAD' => 'Ergebnis (inkl. Varianten):',
'D3_IMPORTER_IMPORT_STATISTIC1' => 'Importierte Artikel:',
'D3_IMPORTER_IMPORT_STATISTIC2' => 'Aktualisierte Artikel:',
'D3_IMPORTER_AFTERIMPORT_PREINFO0' => 'Artikel wurden mit diesem Profil in der Vergangenheit bearbeitet.',
'D3_IMPORTER_AFTERIMPORT_PREINFO1' => 'Artikel',
'D3_IMPORTER_AFTERIMPORT_PREINFO2' => 'wurden davon bei Ihrem letzten Import nicht importiert oder aktualisiert.',
'D3_IMPORTER_AFTERIMPORT_PREINFO3' => 'Sie können diese Artikel jetzt deaktivieren oder komplett löschen lassen.',
'D3_IMPORTER_AFTERIMPORT_TICKER' => 'Artikel pro Durchlauf',
'D3_IMPORTER_AFTERIMPORT_MAINARTICLE' => 'Hauptartikel',
'D3_IMPORTER_AFTERIMPORT_VARIANTS' => 'Varianten',
'D3_IMPORTER_AFTERIMPORT_DOINACTIVE' => 'Alle Artikel deaktivieren',
'D3_IMPORTER_AFTERIMPORT_DODELETE' => 'Alle Artikel löschen',
'D3_IMPORTER_AFTERIMPORT_INFO1' => 'Bearbeitete Artikel',
'D3_IMPORTER_AFTERIMPORT_INFO2' => 'von',
'D3_IMPORTER_AFTERIMPORT_IMPORTEND' => 'Nach-Import beendet.',
'D3_IMPORTER_FAILUPLOAD_10' => 'Fehler: Datei fehlerhaft, leer oder unvollständig hochgeladen.',
'D3_IMPORTER_FAILUPLOAD_11' => 'Fehler: Nicht erlaubte Dateiendung.',
'D3_IMPORTER_FAILUPLOAD_12' => 'Fehler: Das Zielverzeichnis wurde im Shop nicht gefunden.',
'D3_IMPORTER_FAILUPLOAD_13' => 'Fehler: Die Datei konnte nicht im Zielverzeichnis gespeichert werden. (ungenügende Schreibrechte?)',
'D3_IMPORTER_FAILUPLOAD_20' => 'Fehler: Kein Lizenzschlüssel oder Modul inaktiv.',
'D3_IMPORTER_FAILCONFIG_10' => 'Fehler: Kein Profil geladen!',
'D3_IMPORTER_FAILCONFIG_11' => 'Fehler: Keine Importdatei gewählt!',
'D3_IMPORTER_FAILCONFIG_12' => 'Fehler: Importdatei fehlerhaft oder leer!',
'D3_IMPORTER_FAILCONFIG_13' => 'Fehler: Kein Separator gesetzt!',
'D3_IMPORTER_FAILCONFIG_14' => 'Fehler: Importdatei fehlerhaft oder leer!',
'D3_IMPORTER_FAILCONFIG_15' => 'Fehler: Keine "Nach-Import" Aktion definiert.',
'D3_IMPORTER_FAILCONFIG_20' => 'Fehler: Kein Lizenzschlüssel oder Modul inaktiv.',
'D3_IMPORTER_FAILIMPORT_10' => 'Fehler: Die Importdatei konnte nicht geladen werden!',
'D3_IMPORTER_FAILIMPORT_11' => 'Fehler: Das Feld für die Artikelidentifikation wurde im Reiter "Artikelfelder" oder "Konfig." nicht zugeordnet!',
'D3_IMPORTER_FAILIMPORT_12' => 'Fehler: Keine oder ungültige "Nach-Import" Aktion definiert.',
'D3_IMPORTER_FAILIMPORT_20' => 'Fehler: Kein Lizenzschlüssel oder Modul inaktiv.',
'D3_PICTURE_IMPORTFIELD' => 'Importiere',
'D3_PICTURE_IMPORTFIELD_OXPIC' => 'Bild',
'D3_PICTURE_IMPORTFIELD_OXZOOM' => 'Zoom',
'D3_PICTURE_NOASSIGN' => '-- keines --',
'D3_PICTURE_FAILCONFIG_10' => 'Fehler: Kein Profil geladen!',
'D3_PICTURE_FAILCONFIG_11' => 'Fehler: Das Bilder-Importverzeichnis wurde nicht gefunden!',
'D3_PICTURE_FAILCONFIG_12' => 'Fehler: Das Bilder-Importverzeichnis konnte nicht eingelesen werden!',
'D3_PICTURE_FAILCONFIG_13' => 'Fehler: Keine Dateien im Bilder-Importverzeichnis gefunden.',
'D3_PICTURE_FAILCONFIG_14' => 'Fehler: Importdatei fehlerhaft oder leer!',
'D3_PICTURE_FAILCONFIG_20' => 'Es wurden keine externen Bild-Urls in den Importfeldern der Artikeltabelle gefunden.<br>Dies ist kein Fehler, wenn Sie keine Bilder aus einer externen Quelle importieren wollen oder dies bereits vollständig getan haben.',
'D3_PICTURE_FAILCONFIG_30' => 'Fehler: Kein Lizenzschlüssel oder Modul inaktiv.',
'D3_PICTURE_IMPORT_INFO_1' => 'Verzeichnis-Info:',
'D3_PICTURE_IMPORT_INFO_2' => 'Bilddateien:',
'D3_PICTURE_IMPORT_INFO_3' => 'Bereits bearbeitet:',
'D3_PICTURE_IMPORT_INFO_4' => 'Davon importiert:',
'D3_PICTURE_IMPORT_NOTICE_1' => 'Hinweis:<br>Es wurden keine Bilddateien im Bildimport-Verzeichnis gefunden.<br> Sie müssen zuerst das Bildverzechnis neu einlesen, um danach einen Bildimport vornehmen zu können.',
'D3_PICTURE_IMPORT_NOTICE_2' => 'Hinweis:<br>Alle zuvor eingelesenen Bilddateien wurden bereits bei einem früheren Bildimport bearbeitet.<br>Wenn Sie einen neuen Bildimport starten möchten,<br> so müssen Sie zuerst das Bildimport-Verzeichnis neu einlesen lassen.',
'D3_PICTURE_IMPORT_NOTICE_3' => 'Hinweis:<br>Es wurden bereits Bilder bearbeitet.<br> Sie können jetzt den Bildimport mit den restlichen noch zu bearbeitenden Bildern fortführen.<br>Oder Sie lesen das Bildverzeichnis erneut ein.<br> In dem Fall wird allerdings erneut versucht, alle gefundenen Bilder zu importieren.',
'D3_PICTURE_IMPORT_NOTICE_4' => 'Hinweis:<br>Sollten Sie neue Bilder ins Bildimport-Verzeichnis kopiert haben,<br>so lesen Sie das Verzeichnis erneut ein, um die Bildanzahl zu aktualisieren.',
'D3_PICTURE_SCANDIR_START' => 'Bildimportverzeichnis einlesen',
'D3_PICTURE_EXTPICTURE_START' => 'Externe Bilder einlesen',
'D3_PICTURE_IMPORT_START' => 'Bildimport starten!',
'D3_PICTURE_IMPORT_INFO1' => 'Bearbeitete Bilder',
'D3_PICTURE_IMPORT_INFO2' => 'von',
'D3_PICTURE_IMPORT_INFO3' => 'Davon importierte Bilder',
'D3_PICTURE_IMPORT_IMPORTEND' => 'Bildimport beendet.',
'D3_PICTURE_EXTIMPORT_INFO1' => 'Bearbeitete externe Bild-Urls',
'D3_PICTURE_EXTIMPORT_IMPORTEND' => 'Externer Bildimport beendet. Der eigentliche Bildimport kann nun gestartet werden.',
'D3_PICTURE_IMPORT_ERRORPRETEXT' => 'Fehler bei:',
'D3_PICTURE_IMPORT_ERRORTYPE_10' => 'Keine gültige Bild-Url',
'D3_PICTURE_IMPORT_ERRORTYPE_20' => 'curl Verbindungsfehler',
'D3_PICTURE_IMPORT_ERRORTYPE_30' => 'Kein gültiger Dateiname',
'D3_PICTURE_IMPORT_ERRORTYPE_40' => 'Kein gültige Bildtyp',
'D3_IMPORTER_PICTURE_CHOOSE_PROFILE' => 'Bitte wählen Sie ein Importprofil aus.',
'D3_IMPORTER_EXPORTCONFIG' => 'Importprofil exportieren',
/* Grundeinstellungen */
'D3_IMPORTER_MAIN_MAINSETTINGS' => 'Einstellungen',
'D3_IMPORTER_MAIN_ARTICLEINDENTIFICATIONFIELDS' => 'Auswahl für Artikelidentifikationsfelder',
'D3_IMPORTER_MAIN_ARTICLEINDENTIFICATIONFIELDS_HELP' => 'Mit der Taste STRG können Sie mehrfach Felder selektieren, um diese unter /D³ Module/Importer/Artikelimport/Konfig./Artikelidentifikation/ bereit zu stellen.',
'D3_IMPORTER_CONFIG_ATRUESETTINGS' => 'Definition von "ja" Werten',
'D3_IMPORTER_CONFIG_AFALSESETTINGS' => 'Definition von "nein" Werten',
'D3_IMPORTER_CONFIG_ATRUESETTINGS_HELP' => 'In einer CSV Datei können verschiedene Werte für einen "Aktiv"-Haken stehen.' //
. '<br> Bsw.: Ja/Nein, true/false, 1/0, j/n, aktiv/inaktiv.' //
. '<br>Geben Sie die einzelnen Werte zeilenweise getrennt ein, damit beim Importvorgang die Werte für den Shop interpretiert werden können.' //
. '<br><br>Die Prüfung während des Importvorgangs erfolgt nach diesen Kriterien:' //
. '<ul><li>Groß- und Kleinschreibung wird beachtet<li>' //
. '<li>Zahlen werden als Zahlen interpretiert: "1" ist nicht die Zeichenkette "eins"<li>' //
. '</ul>' //
. 'Vorgegebene Werte:<br>' //
. 'Ja Feld:<br>true<br>TRUE<br><br>',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_CHOOSE' => 'Bitte wählen Sie eine Identifikation aus!',
'D3_IMPORTER_PICTURE_PICSPERTICK' => 'Start des nächsten Bilddurchlaufes:',
'D3_IMPORTER_PICTURE_PICSPERTICK_HELP' => 'Der Ablauf eines Bildimports ist wie folgt (grobe Umschreibung): ' //
. '<ol><li>Alle Bilder aus dem Bildimportverzeichnis werden eingelesen.</li>' //
. '<li>Pro Bild(name) wird in der Datenbank (oxarticles__d3importpic1-XX) nach einer Zuordnung gesucht.</li>' //
. '<li>Werden alle Kriterien erfüllt, gibt es einen oder mehrere Treffer, die daraufhin importiert werden.</li></ol>',
'D3_IMPORTER_PICTURE_MAXPICTURECOUNT' => 'nach',
'D3_IMPORTER_PICTURE_MAXPICTURECOUNT_2' => 'gelesenen Bildern',
'D3_IMPORTER_PICTURE_MAXPICTURECOUNT_HELP' => 'Nach x gelesenen Bildern wird der Durchlauf neu gestartet (auch wenn keine Bilder importiert wurden).',
'D3_IMPORTER_PICTURE_MAXIMPORTCOUNT' => 'bzw. nach ',
'D3_IMPORTER_PICTURE_MAXIMPORTCOUNT_2' => 'importierten Bildern',
'D3_IMPORTER_PICTURE_MAXIMPORTCOUNT_HELP' => 'Nach x importierten Bildern wird der Durchlauf neu gestartet (betrifft nur importierte Bilder).',
'D3_IMPORTER_FAILTOSAVE_DUE_DEMO' => 'Fehler: Modul ist im Testmodus und hat bereits alle Importprofil-Slots belegt.',
'D3_IMPORTER_NOTICE_PROFILELIMITREACHED' => 'Hinweis: Das Modul ist im Testmodus und hat bereits alle Importprofil-Slots belegt.<br> Sie können kein weiteres Profil speichern.',
'D3_IMPORTER_CONFIG_AARTICLESETTINGS' => 'vordefinierte Werte für Artikelfelder',
'D3_IMPORTER_CONFIG_AARTICLESETTINGS_HELP' => 'Setzen Sie vordefinierte Werte, welche beim Importvorgang die <u title="Die Feldnamen können Sie der Datenbank-Tabelle oxarticles entnehmen.">Artikelfelder</u> mit den angegebenen Werten befüllt.<br>Hinweis: Werte aus der CSV Datei haben Vorrang.' //
. '<h4>folgende Kriterien gelten:</h4><ul><li>Die Schreibweise ist "FELDNAME => WERT".</li>' //
. '<li>Werden CSV-Daten dem vordefinierten Artikelfeld zugeordnet und sind die CSV-Daten befüllt, werden die Daten aus der CSV-Datei am Artikel gespeichert.</li></ul>' //
. '<h4>Beispiel 1:</h4> Alle zu importierenden Artikel sollen einen Lagerstand 10 haben:<br> oxstock => 10' //
. '<h4>Beispiel 2:</h4> Alle zu importierenden Artikel sollen inaktiv gesetzt sein:<br> oxactive => 0' //
. '<h4>Beispiel 3:</h4> Alle zu importierenden Artikel sollen inaktiv gesetzt sein und ein Lagerstand von 10 haben:<br> oxactive => 0<br>oxstock => 10',
'D3_IMPORTER_CONFIG_IMPORTTICKER_HELP' => 'Hier wird angegeben, wie viele Zeilen pro Importdurchlauf ' //
. 'durchgeführt werden sollen. Stellen Sie bei umfangreichen CSV-Dateien, den Wert etwas geringer ein. ' //
. 'Somit kann beispielsweise einem Scriptabbruch (Aufgrund zu langer Laufzeit) vorgebeugt werden.',
'D3_IMPORTER_CONFIG_FILEHEADERCOUNT' => 'Anzahl Datei-Kopfzeilen',
'D3_IMPORTER_CONFIG_FILEHEADERCOUNT_HELP' => 'Hier wird angegeben, wie viele Zeilen nicht mit importiert werden sollen. ' //
. 'Wenn in Ihrer CSV-Datei beispielsweise Überschriften oder Spaltenbezeichnungen in der ersten Zeile angegeben sind, ' //
. 'geben Sie hier eine 1 ein, damit die erste Zeile nicht als Artikel importiert wird.',
'D3IMPORTER_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Importer/',
'D3_IMPORTER_CONFIG_OVERRIDEEXTERNPICTURES' => 'lokale Bilder (/import/pictures/) durch Externe überschreiben?',
'D3_IMPORTER_CONFIG_OVERRIDEEXTERNPICTURES_HELP' => '<h4>Sollen lokale Bilder im Bild-Importverzeichnis (/import/pictures/) durch externe Bilder überschrieben werden?</h4>' //
. '<b>Aktiv:</b> Sofern ein externes Bild den gleichen Namen hat, wird das lokale Bild überschrieben.<br>' //
. '<br><b>Inaktiv:</b> Sofern ein externes Bild den gleichen Namen und eine unterschiedliche Größe zu dem lokalen Bild hat, wird der Name des externen Bilds mit einem Zusatz (DateinameZusatz.Endung) versehen.',
'D3_IMPORTER_MAIN_CATEGORIE_INDENTIFICATIONFIELDS' => 'Auswahl für Kategorieidentifikationsfelder',
'D3_IMPORTER_MAIN_CATEGORIE_INDENTIFICATIONFIELDS_HELP' => 'Legen Sie hier fest, welche Felder als Referenz für die Kategroeigezuordung zur Verfügung stehen sollen. Standard: oxtitle',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_NAME' => 'Attributsname',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_VALUE' => 'Attributswert am Artikel',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_NEW_ATTRIBUTE_ASSIGN' => 'neue Attributszuordung',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_ATTRIBUTE_ASSIGN' => 'Attributszuordung',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_NAME_HELP' => 'Die Attribute werden über die Titel zugeordnet.' //
. '<br>Die Attrtibutsnamen werden sprachenabhängig angegeben.',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_VALUE_HELP' => 'Die Werte der Attribute können sprachabhängig angegeben werden.',
'D3_IMPORTER_ATTRIB_DELETE_OLDSETTINGS_INFO' => 'Die Attributszuordnungen dieses import-Profils ist veraltet und sollte aktualisiert werden.' //
. '<br>Lesen Sie unbedingt unseren <a href="https://faq.d3data.de/category/module/importer/" target="d3_importer_attrib"><u>FAQ Eintrag</u></a>, bevor Sie Änderungen vornehmen!',
'D3_IMPORTER_ATTRIB_DELETE_OLDSETTINGS_BUTTON' => 'Zuordnungen löschen',
'D3_IMPORTER_CONFIG_IMPORTTYPE_HELP' => 'Wählen Sie hier den Importtyp aus.' //
. '<ul><li>Bei <b>"Import und Update"</b> werden Artikel importiert und aktualisiert (Standard Auswahl).</li>' //
. '<li>Bei <b>"nur Import"</b> werden Artikel nur importiert. Es werden keine vorhandenen Artikeldaten überschrieben.</li>' //
. '<li>Bei <b>"nur Update"</b> werden Artikel nur aktualisiert. Es werden keine neuen Artikel angelegt.</li></ul>',
'D3_IMPORTER_CONFIG_OMITLINES_HELP' => 'Geben Sie hier die Anzahl der Zeilen an die übersprungen werden sollen.' //
. '<br>Bspw. wenn in der CSV Datei eine Kopfzeile mit Überschriften vorhanden ist, können Sie hier eine 1 eintragen.',
'D3_IMPORTER_CONFIG_PRICEPLUSPERCENT_HELP' => '<strong>Diese Option ist nur für den "Normalpreis" (oxprice) vorgesehen.</strong>' //
. '<strong>Diese Option greift nur bei dem normalen Artikelpreis (oxprice)!</strong><p>Dies ist nicht mit der Option "Importierten Artikelpreis auf x Nachkommastellen runden." kombinierbar. Diese sind in zwei getrennten Importvorgängen anzuwenden und auszuführen.</p>',
'D3_IMPORTER_CONFIG_ARTNUM2OXID_HELP' => 'Mit dieser Einstellung wird die verwendete Artikelindentifikation als interne Shop-Indentifikatiosnnummer (oxid) genutzt.' //
. '<br>Der Shop verwaltet die eindeutigen Shopindentifikationsnummmern selbst, ' //
. 'daher sollte die Option mit Bedacht genutzt werden.',
'D3_IMPORTER_CONFIG_MD54OXID_HELP' => 'Damit kann ein ähnlicher Ident wie bei der Original-oxId erzeugt werden.' //
. '<br>Diese Option greift nur mit der aktiven Option "Artikelidentifikationsfeld als Ident (Datenfeld "oxid") nutzen"',
'D3_IMPORTER_CONFIG_PRICEDECIMALROUND_HELP' => 'Geben Sie hier einen Wert ein, um den Artikelpreis zu runden.' //
. '<b>Beispiel:</b> "2" bedeutet, dass von 12.3456 auf 12.35 oder von 1.95583 auf 1.96 gerundet wird.' //
. '<br> bei "1" wird von 12.3456 auf 12.3 oder von 1.95583 auf 2 gerundet.' //
. '<br><strong>Diese Option greift nur bei dem normalen Artikelpreis (oxprice)!</strong><p>Dies ist nicht mit der Option "Importierten Artikelpreis um x % erhöhen." kombinierbar. Diese sind in zwei getrennten Importvorgängen anzuwenden und auszuführen.</p>',
'D3_IMPORTER_CONFIG_AFALSESETTINGS_HELP' => 'In einer CSV Datei können verschiedene Werte für einen "Aktiv"-Haken stehen.' //
. '<br> Bsw.: Ja/Nein, true/false, 1/0, j/n, aktiv/inaktiv.' //
. '<br>Geben Sie die einzelnen Werte zeilenweise getrennt ein, damit beim Importvorgang die Werte für den Shop interpretiert werden können.' //
. '<br><br>Die Prüfung während des Importvorgangs erfolgt nach diesen Kriterien:' //
. '<ul><li>Groß- und Kleinschreibung wird beachtet<li>' //
. '<li>Zahlen werden als Zahlen interpretiert: "1" ist nicht die Zeichenkette "eins"<li>' //
. '</ul>' //
. 'Vorgegebene Werte:<br>' //
. 'Nein Feld:<br>false<br>FALSE',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXACTIVEFROM' => 'Aktiv von',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXACTIVETO' => 'Aktiv bis',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXARTNUM' => 'Artikelnummer',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTITLE' => 'Titel',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXID' => 'interne Identnr.',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPID' => 'Shop Identnr.',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPARENTID' => 'Identnr. Hauptartikel',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXACTIVE' => 'Aktiv',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHORTDESC' => 'Kurzbeschreibung',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXLONGDESC' => 'Langtext',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPRICE' => 'Preis',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXBLFIXEDPRICE' => 'oxblfixedprice',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPRICEA' => 'Preis A',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPRICEB' => 'Preis B',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPRICEC' => 'Preis C',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXBPRICE' => 'Bruttopreis',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTPRICE' => 'Alter Preis',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXEXTURL' => 'Externe URL',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUNITNAME' => 'Einheit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUNITQUANTITY' => 'Mengeneinheit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXURLDESC' => 'URL Beschreibung',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXURLIMG' => 'Bild für externe URL',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVAT' => 'Artikel MwSt.',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTHUMB' => 'Vorschaubild',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXICON' => 'Icon',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_PICTURES' => 'Artikelbilder',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC1' => 'Bild1',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC2' => 'Bild2',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC3' => 'Bild3',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC4' => 'Bild4',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC5' => 'Bild5',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC6' => 'Bild6',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC7' => 'Bild7',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC8' => 'Bild8',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC9' => 'Bild9',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC10' => 'Bild10',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC11' => 'Bild11',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC12' => 'Bild12',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXZOOM1' => 'Zoom Bild 1',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXZOOM2' => 'Zoom Bild 2',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXZOOM3' => 'Zoom Bild 3',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXZOOM4' => 'Zoom Bild 4',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXWEIGHT' => 'Gewicht',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSTOCK' => 'Lagerbestand',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSTOCKACTIVE' => 'Lagerverwaltung aktiv',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSTOCKFLAG' => 'Lieferstatus',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXDELIVERY' => 'Ausgeliefert am',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXINSERT' => 'Angelegt am',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTIMESTAMP' => 'Letzte Änderung',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXLENGTH' => 'Länge',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXWIDTH' => 'Breite',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXHEIGHT' => 'Höhe',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXFILE' => 'Datei',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSEARCHKEYS' => 'Suchbegriffe',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTEMPLATE' => 'Alt. Template',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXQUESTIONEMAIL' => 'E-Mail bei Frage',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXISSEARCH' => 'Kann gesucht werden',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXISCONFIGURABLE' => 'Artikel ist individualisierbar',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARNAME' => 'Name der Variante',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARSELECT' => 'oxvarselect',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARMINPRICE' => 'Niedrigster Variantenpreis',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXFOLDER' => 'Ordner',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSUBCLASS' => 'oxsubclass',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSORT' => 'Sortierung',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSOLDAMOUNT' => 'Verkaufte Anzahl',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXNONMATERIAL' => 'Immateriell',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXFREESHIPPING' => 'Versandkostenfrei',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXREMINDACTIVE' => 'Zuwenig Lagerbestand E-Mail aktiv',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXREMINDAMOUNT' => 'Zuwenig Lagerbestand Mindestmenge',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXAMITEMID' => 'oxamitemid',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXAMTASKID' => 'oxamtaskid',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVENDORID' => 'Lieferant ID',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXMANUFACTURERID' => 'Hersteller ID',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARCOUNT' => 'Varianten Anzahl',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPINCL' => 'Shop einschließen',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPEXCL' => 'Shop ausschließen',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPINCL1' => 'Shop einschließen',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPEXCL1' => 'Shop ausschließen',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXEAN' => 'EAN',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXMPN' => 'Hersteller-Artikelnummer',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXDISTEAN' => 'Hersteller EAN',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSTOCKTEXT' => 'Info falls Artikel auf Lager',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXNOSTOCKTEXT' => 'Info falls Artikel nicht auf Lager',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSKIPDISCOUNTS' => 'Nachlässe ignorieren',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXRATINGCNT' => 'Bewertung Anzahl',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXRATING' => 'Bewertung',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXRRVIEW' => 'Ausschließlich sichtbar',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXRRBUY' => 'Ausschließlich kaufbar',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXORDERINFO' => 'Bestell. Info',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSEOID' => 'SEOID',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXMINDELTIME' => 'Min. Lieferzeit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXMAXDELTIME' => 'Max. Lieferzeit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXDELTIMEUNIT' => 'Lieferzeit Einheit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICE' => 'Preis aktualisieren auf',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICEA' => 'Preis A aktualisieren auf',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICEB' => 'Preis B aktualisieren auf',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICEC' => 'Preis C aktualisieren auf',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICETIME' => 'Zeitpunkt der Preisaktualisierung',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXISDOWNLOADABLE' => 'Ist herunterladbar',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVPE' => 'Verpackungseinheit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXBUNDLEID' => 'Bundle Identnr.',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARSTOCK' => 'Varianten Lagerbestand',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTFLAG' => 'Importflag',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPROFILEID' => 'Importprofil-ID',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC1' => 'Bild Importfeld 1',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC2' => 'Bild Importfeld 2',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC3' => 'Bild Importfeld 3',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC4' => 'Bild Importfeld 4',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC5' => 'Bild Importfeld 5',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC6' => 'Bild Importfeld 6',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC7' => 'Bild Importfeld 7',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC8' => 'Bild Importfeld 8',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC9' => 'Bild Importfeld 9',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC10' => 'Bild Importfeld 10',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC11' => 'Bild Importfeld 11',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC12' => 'Bild Importfeld 12',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC13' => 'Bild Importfeld 13',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC14' => 'Bild Importfeld 14',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC15' => 'Bild Importfeld 15',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC16' => 'Bild Importfeld 16',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC17' => 'Bild Importfeld 17',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC18' => 'Bild Importfeld 18',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC19' => 'Bild Importfeld 19',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC20' => 'Bild Importfeld 20',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3OQM_PACKAGE' => 'Verpackungseinheit - D³ Bestellmengen Manager',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3OQM_MINIMUM' => 'Minimum - D³ Bestellmengen Manager',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3OQM_MAXIMUM' => 'Maximum - D³ Bestellmengen Manager',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARMAXPRICE' => 'Höchster Variantenpreis',
'D3_IMPORTER_ATTRIB_LEGEND' => 'Legende:',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_ATTRIBUTE_ASSIGN_HELP' => 'Sie können mehrere Attribute importieren.' //
. '<br>Jede Attributszuordnung wird als Attribut angesehen. D.h. für 1 Attribut darf nur eine Attributszuordnung verwendet werden.',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_LANGUAGE' => '[Sprache] Aktiv/Inaktiv',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_LANGUAGE_HELP' => 'Es werden Ihnen Zuweisungen für alle Sprachen angeboten.' //
. '<br>Aktiv/<del>Aktiv</del> zeigt ob die Sprache im Shop aktiviert ist.',
'D3_IMPORTER_ATTRIB_DELETE_OLDSETTINGS_QUESTION' => 'Wollen Sie die veralteten Zuordnungen wirklich löschen?',
'D3_IMPORTER_UPDATE_OLD_ATTIBUTES_REMOVED' => 'Mit der Version 4.4.1.0 wurden die Attributzuordnungen geändert.' //
. PHP_EOL . 'Ab der Version 4.5.0.0 werden die alten Attributszuordnungen nicht mehr unterstützt!'//
. PHP_EOL . 'Bitte lesen Sie unseren FAQ Eintrag!: https://faq.d3data.de/module/importer/anleitung-zur-umstellung-von-attributszuordnungen/' . PHP_EOL . 'Der Beitrag schildert die Änderungen von den alten Zuordnung zu der neuen mehrsprachigen Zuordnungen',
'D3_IMPORTER_ATTRIB_LANGUAGE_ACTIVE' => 'Aktiv',
'D3_IMPORTER_ATTRIB_LANGUAGE_INACTIVE' => 'Inaktiv',
/* Artikel verwalten -> Kategorien -> Stamm -> Schnellsortierung */
'GENERAL_ARTICLE_D3IMPORTFLAG' => 'Importflag D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPROFILEID' => 'Importprofil-ID D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC1' => 'Bild Importfeld 1 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC2' => 'Bild Importfeld 2 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC3' => 'Bild Importfeld 3 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC4' => 'Bild Importfeld 4 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC5' => 'Bild Importfeld 5 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC6' => 'Bild Importfeld 6 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC7' => 'Bild Importfeld 7 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC8' => 'Bild Importfeld 8 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC9' => 'Bild Importfeld 9 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC10' => 'Bild Importfeld 10 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC11' => 'Bild Importfeld 11 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC12' => 'Bild Importfeld 12 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC13' => 'Bild Importfeld 13 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC14' => 'Bild Importfeld 14 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC15' => 'Bild Importfeld 15 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC16' => 'Bild Importfeld 16 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC17' => 'Bild Importfeld 17 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC18' => 'Bild Importfeld 18 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC19' => 'Bild Importfeld 19 D³ Importer',
'GENERAL_ARTICLE_D3IMPORTPIC20' => 'Bild Importfeld 20 D³ Importer',
'D3_IMPORTER_IMPORT_TESTLICENCE_NOTICE' => 'Das Modul ist als Testversion lizenziert.<br>Derzeit können begrenzt Artikel/Bilder importiert und Profile angelegt werden.',
'd3mxdesc' => 'Artikelfelder',
'd3_d3importer_controllers_admin_desc_itemmain' => 'Artikelfeld editieren',
'D3_D3IMPORTERDESC_MENUSUBITEM' => 'Artikelfeld editieren',
'D3IMPORTERDESC_NEW' => 'neues Artikelfeld',
'D3IMPORTERDESC_OXISDISABLED' => 'aktiv',
'HELP_D3IMPORTERDESC_OXISDISABLED' => 'De/Aktivieren Sie das Artikelfeld für die Adminoberfläche des Importers',
'D3IMPORTERDESC_OXFIELD' => 'Datenbankfeldname',
'HELP_D3IMPORTERDESC_OXFIELD' => 'Tragen Sie hier den Name des Datenbankfelds von oxarticles oder oxartextends ein.',
'D3IMPORTERDESC_OXDESC' => 'Artikelfeld Sprache 1',
'HELP_D3IMPORTERDESC_OXDESC' => 'Geben Sie dem Artikelfeld einen lesbaren Namen in der Sprache 1 an.',
'D3IMPORTERDESC_OXDESC_1' => 'Artikelfeld Sprache 2',
'HELP_D3IMPORTERDESC_OXDESC_1' => 'Geben Sie dem Artikelfeld einen lesbaren Namen in der Sprache 2 an.',
'D3IMPORTERDESC_OXORDER' => 'Sortierung',
'HELP_D3IMPORTERDESC_OXORDER' => 'Hier können Sie die Sortierreihenfolge für den Admin festlegen.<br>' //
. ' Oft benutzte Artikelfelder können mit einer niedrigen Zahl weiter oben angezeigt werden.',
'D3IMPORTERDESC_OXISPIC' => 'Bild',
'HELP_D3IMPORTERDESC_OXISPIC' => 'De/Aktivieren Sie das Artikelfeld für die Adminoberfläche des Bildimports (neue Felder werden im Admin nicht angezeigt).',
'HELP_D3IMPORTERDESC' => 'Hier können Sie Artikelfelder für den Importer bearbeiten.<br>'//
. 'Die Artikelfelder werden an verschiedenen Stellen im Importer genutzt (Artikelimport/Artikelfelder, Einstellungen/Auswahl für Artikelidentifikationsfelder). <br>'//
. 'Damit können Sie die Auswahl der benötigten Felder im Admin verringern oder neue Felder hinzufügen.',
'D3_IMPORTER_PRICE2ART_PERCENTOPTION' => 'ist % Rabatt Preis?',
'HELP_D3_IMPORTER_PRICE2ART_PERCENTOPTION' => 'Wenn diese Option gesetzt ist, wird der Preis als prozentualer Preis abgespeichert. Mehr Infos finden Sie im Admin unter /Artikel verwalten/Artikel/Lager/Staffelpreise/.',
'HELP_D3_IMPORTER_PRICE2ART_PRICE' => 'Hinterlegen Sie einen Preis für die Staffel (Kommas werden durch einen Punkt ersetzt, daher vorsicht bei 1,234.56 Angaben. Besser: 1234,56 oder 1234.56).<br><br>Um prozentuale Staffelpreise zu importieren, nutzen Sie das % Zeichen dazu. Bspw: 10% oder 1,23% oder 1.23%
<p>Die Rundung wird durch die Option "Nicht ganzzahlige Eingaben bei Artikelmengen erlauben (z.B. 1,5)" unter Stammddaten --> Grundeinstellungen --> Einstellungen --> Bestellungen gesteuert.</p>',
'D3_PICTURE_IMPORT_LOAD_PROFILE' => 'Bitte wählen Sie ein Importprofil aus.',
'HELP_D3_PICTURE_EXTPICTURE_START' => 'Setzen Sie den Haken, wenn die zu importierenden Bilder auf externen URL\'s vorliegen. <br>Bspw.: https://placeimg.com/1000/1000/any.jpg.' //
. '<br><br>Der Bildimport wird die URL\'s aufrufen und die Bilder in das definierte Bildverzeichnis herunterladen.',
'D3_IMPORTER_PICTURE_IMPORT_STEP1' => 'Schritt 1:',
'D3_IMPORTER_PICTURE_IMPORT_STEP2' => 'Schritt 2:',
'D3_IMPORTER_FIELDS_CHECKALL' => 'alle Updatehaken setzen/entfernen',
'D3_IMPORTER_CONFIG_BLDELETEMASTERPICTURE' => 'Masterbilder am Artikel vorher entfernen (empfohlen)',
'D3_IMPORTER_CONFIG_BLDELETEMASTERPICTURE_HELP' => 'Aktivieren Sie diese Option, um Bilder-Altlasten auf dem Server zu vermeiden.<br>' . PHP_EOL . 'Währenddes Importvorgang\'s werden vorherige Artikelbilder, über den Shop gelöscht.<br>' . PHP_EOL . 'Die Löschung umfasst die artikelbezogenen Bilder im "/master/" und die generierten Bilder im "/generated/" Verzeichnis.<br>' . PHP_EOL . '<br>' . PHP_EOL . 'Deaktivieren Sie diese Option, so werden die Bilder direkt importiert.<br>' . PHP_EOL . 'Es können dabei in den /master/product/*/ Verzeichnissen ungenutzte Bilddateien entstehen.',
'D3_IMPORTER_CONFIG_PATHTOMOVE' => 'Aktion nachdem ein Bild importiert wurde:',
'D3_IMPORTER_CONFIG_PATHTOMOVE_HELP' => 'Wählen Sie eine entsprechende Option aus, damit die Bilder im import/pictures/ Verzeichnis gelöscht oder in ein anzugebendes Verzeichnis verschoben werden.<br>' . 'Das Verzeichnis ist mit absoluten Pfad anzugeben, bspw: /var/www/myshop.de/{VerzeichnisName}/',
'D3_IMPORTER_CONFIG_PICTURESACTIONAFTERIMPORT_DELETE' => 'Bild löschen',
'D3_IMPORTER_CONFIG_PICTURESACTIONAFTERIMPORT_MOVE' => 'Bild in Verzeichnis verschieben',
'D3_IMPORTER_CONFIG_FOLDER' => 'absoluter Pfad zum Zielverzeichnis',
'D3_IMPORTER_CONFIG_FOLDER_HELP' => 'Tragen Sie hier den absoluten Pfad des Zielverzeichnis ein. Stellen Sie sicher, dass das Zielverzeichnis vorhanden und beschreibbar ist.',
'D3_IMPORTER_SETUP_CREATEDIRECTORY' => 'Legen Sie das Verzeichnis "%s" neu an.',
];
// @codeCoverageIgnoreEnd

View File

@ -0,0 +1,545 @@
<?php
/**
* 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.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development <support@shopmodule.com>
* @link https://www.oxidmodule.com
*/
// @codeCoverageIgnoreStart
return [
'charset' => 'ISO-8859-15',
'd3mximporter' => '<i class="fas fa-fw fa-database"></i> Importer',
'd3mxarticleimport' => 'Article import',
'd3mximporter_cfg' => 'Settings',
'd3mximporter_cfg_main' => 'Main',
'd3tbclimporter_cfg_main' => 'Settings',
'd3tbclimporter_main' => 'Main',
'd3tbclimporter_fields' => 'Article fields',
'd3tbclimporter_category' => 'Categories',
'd3tbclimporter_cross' => 'Crossselling',
'd3tbclimporter_attrib' => 'Attributes',
'd3tbclimporter_selectlist' => 'Select lists',
'd3tbclimporter_variants' => 'Variants',
'd3tbclimporter_price2art' => 'Scale prices',
'd3tbclimporter_vendors' => 'Manufacturer',
'd3tbclimporter_config' => 'Config.',
'd3tbclimporter_mall' => 'Mall',
'd3tbclimporter_import' => 'Import',
'd3tbclimporter_afterimport' => 'After import',
'd3mxpictureimport' => 'Picture import',
'd3tbclpicture_main' => 'Main',
'd3tbclpicture_import' => 'Import',
'D3_IMPORTER_METADATA_ALTITLE' => 'D³ Importer',
'D3_IMPORTER_METADATA_ALDESC' => '--',
'D3_IMPORTER_METADATA_AUTHOR' => 'D³ Data Development, Inh. Thomas Dartsch',
'D3_TOOLTIPS_NEWIMPORTPROFIL' => 'New Profile',
'D3_IMPORTER_CFG_LIST_SETTLANG' => 'Language setting',
'D3_IMPORTER_CFG_MAIN_TITLE' => 'Importer - Settings',
'D3_IMPORTER_MENUITEM' => 'Importer',
'D3_IMPORTER_ROW' => 'Row',
'D3_IMPORTER_ROW_OF' => 'of',
'D3_IMPORTER_LIST_MENUSUBITEM' => 'Article import',
'D3_PICTURE_LIST_MENUSUBITEM' => 'Picture import',
'D3_IMPORTER_MAIN_OXID' => 'Profile-ID',
'D3_IMPORTER_MAIN_DESCRIPTION' => 'Profile name',
'D3_IMPORTER_MAIN_IMPORTFILE' => 'Import file',
'D3_IMPORTER_MAIN_NOFILE' => '-- none --',
'D3_IMPORTER_MAIN_NEWFILE' => 'Upload new file (max. file size: %1$s)',
'D3_IMPORTER_MAIN_ALLOWEXT_MAXFILESIZE_HELP' => 'permitted filetypes "csv" or "txt"',
'D3_IMPORTER_MAIN_EXCEEDS_MAXFILESIZE' => '"${filename}" exceeds the maximum file size of ${maxfilesize}.',
'D3_IMPORTER_MAIN_COLSEP' => 'Fields separated by:',
'D3_IMPORTER_MALL_COLUMSEPARATOR_MALL_HELP' => 'e.g. ; or TAB (TAB = Tabulator)',
'D3_IMPORTER_MAIN_TEXTSEP' => 'Fields enclosed by (optional):',
'D3_IMPORTER_MAIN_TEXTSEPDESCRIPTION_HELP' => 'e.g. \' or "',
'D3_IMPORTER_MAIN_FIFELINFO_HEAD' => 'File info',
'D3_IMPORTER_MAIN_FIFELINFO_NAME' => 'Name',
'D3_IMPORTER_MAIN_FIFELINFO_SIZE' => 'Size',
'D3_IMPORTER_MAIN_FIFELINFO_CHANGE' => 'Last change',
'D3_IMPORTER_MAIN_FIFELINFO_READ' => 'Readable',
'D3_IMPORTER_MAIN_FIFELINFO_WRITE' => 'Writeable',
'D3_IMPORTER_MAIN_FIFELINFO_CSV' => 'CSV',
'D3_IMPORTER_MAIN_FIFELINFO_ROWS' => 'Rows',
'D3_IMPORTER_MAIN_FIFELINFO_COLUMS' => 'Columns',
'D3_IMPORTER_MAIN_FIFELINFO_RIGHTS' => 'Linux-Rights',
'D3_IMPORTER_MAIN_FIFELINFO_OWNER' => 'Owner',
'D3_IMPORTER_MAIN_FIFELINFO_GROUP' => 'Group',
'D3_IMPORTER_FIELDS_COLUM' => 'Column',
'D3_IMPORTER_FIELDS_COLUMASSIGN' => 'Column content and assignment',
'D3_IMPORTER_FIELDS_UPDATE' => 'Update',
'D3_IMPORTER_FIELDS_INFOTEXT_HELP' => 'Should a column also used for article update, please mark the corresponding Checkbox "Update". <br>',
'D3_IMPORTER_FIELDS_XXXX' => 'Advice: <b>Assignment of article identification is mandatory!</b>',
'D3_IMPORTER_FIELDS_XXXX_HELP' => 'In tab "config." you assign the article identification.<br>In tab "Article fields" the article identification must be also assigned.<br><br>f.i.: oxartnum (article number)',
'D3_IMPORTER_CATEGORY_ASSIGN' => 'Category field assignment',
'D3_IMPORTER_CATEGORY_NOASSIGN' => '-- none --',
'D3_IMPORTER_CATEGORY_ASSIGNINFO_HELP' => '<b>Compulsory field!</b> Define here, which field should be checked as reference.<br><br>Notice: Only if the reference is set to "title (oxtitle)" the importer will create the category structure if non-existing.',
'D3_IMPORTER_CATEGORY_ASSIGN_NEEDED' => '<b>Compulsory field!</b>',
'D3_IMPORTER_CATEGORY_IMPORTTYPE' => 'Importtyp',
'D3_IMPORTER_CATEGORY_IMPORTTYPE1' => 'Only import',
'D3_IMPORTER_CATEGORY_IMPORTTYPE2' => 'Delete article-cat.-assignment before',
'D3_IMPORTER_CATEGORY_IMPORTTYPEINFO_HELP' => '"Only import" = Categories will be imported or rather assigned to article.<br>"Delete before" = All category assignments of current article will be deleted before update.',
'D3_IMPORTER_CATEGORY_IMPORTCOLUM' => 'Column assignment',
'D3_IMPORTER_CATEGORY_COLSEP' => 'Internal field separation',
'D3_IMPORTER_CATEGORY_IMPORTCOLUMINFO_HELP' => 'Assigns category field of this import column to current article.',
'D3_IMPORTER_CROSS_IMPORTTYPE' => 'Crossselling importtyp',
'D3_IMPORTER_CROSS_IMPORTTYPE1' => 'Only import',
'D3_IMPORTER_CROSS_IMPORTTYPE2' => 'Delete article-crosssell.-assignment before',
'D3_IMPORTER_CROSS_IMPORTTYPEINFO_HELP' => '"Only import" = crossselling will be assigned to article<br>"Delete before" = all crossselling assignments of current article will be deleted before update.',
'D3_IMPORTER_CROSS_NOASSIGN' => '-- none --',
'D3_IMPORTER_CROSS_IMPORTCOLUM' => 'Column assignment',
'D3_IMPORTER_CROSS_IMPORTCOLUMINFO_HELP' => 'Assigns crossselling field of this import column to current article.',
'D3_IMPORTER_CROSS_COLSEP' => 'Internal column separation',
'D3_IMPORTER_MALL_IMPORTCOLUM_MALL' => 'Column assignment',
'D3_IMPORTER_MALL_IMPORTCOLUM_MALL_HELP' => 'Assigns article2shop information of this import column to current article.',
'D3_IMPORTER_MALL_COLUMSEPARATOR_MALL' => 'Internal column separation',
'D3_IMPORTER_ACC_IMPORTTYPE' => 'Accessoire importtyp',
'D3_IMPORTER_ACC_IMPORTTYPE1' => 'Only import',
'D3_IMPORTER_ACC_IMPORTTYPE2' => 'Delete article-accessoire-assignments before',
'D3_IMPORTER_ACC_IMPORTTYPEINFO_HELP' => '"Only import" = accessoire will be assigned to article<br>"Delete before" = all accessoire assignments of urrent article will be deleted before.',
'D3_IMPORTER_ACC_NOASSIGN' => '-- none --',
'D3_IMPORTER_ACC_IMPORTCOLUM' => 'Column assignment',
'D3_IMPORTER_ACC_IMPORTCOLUMINFO_HELP' => 'Assigns accessoire field of this import column to current article.',
'D3_IMPORTER_ACC_COLSEP' => 'Internal column separation',
'D3_IMPORTER_ATTRIB_IMPORTTYPE' => 'Attributes importtyp',
'D3_IMPORTER_ATTRIB_IMPORTTYPE1' => 'Only import',
'D3_IMPORTER_ATTRIB_IMPORTTYPE2' => 'Delete article-attribute-assignment before',
'D3_IMPORTER_ATTRIB_IMPORTTYPEINFO_HELP' => '"Only import" = attributes will be assigned to article<br>"Delete before" = all attribute assignments of current article will be deleted before.',
'D3_IMPORTER_ATTRIB_NOASSIGN' => '-- none --',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM' => 'Column assignment',
'D3_IMPORTER_ATTRIB_IMPORTCOLUMINFO_HELP' => 'Assigns attributes field of this import column to current article.',
'D3_IMPORTER_ATTRIB_COLSEP1' => 'Attribute separation',
'D3_IMPORTER_ATTRIB_COLSEPDESCRIPTION1_HELP' => 'Define a separator, if the column contains multiple attributes. (e.g. "Material|Surface") then "|"',
'D3_IMPORTER_ATTRIB_COLSEP2' => 'Value separator',
'D3_IMPORTER_ATTRIB_COLSEPDESCRIPTION2_HELP' => 'Define a separator, if the column contains further attribute values. (e.g. "Material,Aluminium|Surface,matt|...") then ","',
'D3_IMPORTER_SELECTLIST_IMPORTTYPE' => 'Select lists importtyp',
'D3_IMPORTER_SELECTLIST_IMPORTTYPE1' => 'Only import',
'D3_IMPORTER_SELECTLIST_IMPORTTYPE2' => 'Delete all select lists before',
'D3_IMPORTER_SELECTLIST_IMPORTTYPEINFO_HELP' => '"Only import" = a new selectlist will be created and assigned to the article.<br>"Delete all select lists before" = all select list assignments of current article will be deleted before.',
'D3_IMPORTER_SELECTLIST_NOASSIGN' => '-- none --',
'D3_IMPORTER_SELECTLIST_NAME' => 'Title of select list',
'D3_IMPORTER_SELECTLIST_ALTNAME' => 'Alternative title',
'D3_IMPORTER_SELECTLIST_VALUE' => 'Select fields',
'D3_IMPORTER_SELECTLIST_SEPARATOR' => 'Value separator',
'D3_IMPORTER_SELECTLIST_PRICESEPARATOR' => 'Price separator',
'D3_IMPORTER_SELECTLIST_TITLE_HELP' => '"Title of select list" = Define the csv-importfield, where the title, e.g. "Color", is stored.',
'D3_IMPORTER_SELECTLIST_ALTTITLE_HELP' => '"Alternative title" = If it is no field for "title of select list", or the content is partially empty, so you can define an alternative title e.g. "Select".',
'D3_IMPORTER_SELECTLIST_SELECTFIELDS_HELP' => '"Selectfields" = csv-import field with values of select list',
'D3_IMPORTER_SELECTLIST_SEPARATOR_HELP' => '"Value separator" = If there ar more values in csv-import field "Selectfields", you have to define which separator is used. e.g. "@" if the csv contains "red@yellow@green..."',
'D3_IMPORTER_SELECTLIST_PRICESEPARATOR_HELP' => '"Price separator" = In addition you can import price changes (fix and %). e.g. "red|2,34@yellow|5%@grün|1,23...". In this example the value separator is "@" and the price separator is "|".',
'D3_IMPORTER_SELECTLIST_INFOTEXT' => 'You can import as many select lists as you like, with as many values as you like for every article.',
'D3_IMPORTER_VARIANTS_IMPORTTYPE' => 'Variants importtyp',
'D3_IMPORTER_VARIANTS_IMPORTTYPE1' => 'Only import',
'D3_IMPORTER_VARIANTS_IMPORTTYPE2' => 'Delete variants before',
'D3_IMPORTER_VARIANTS_IMPORTTYPEINFO' => '"Only import" = Variants will be reassigned or updated to parent article.<br>"Delete before" = All variant-article-assignments of current parent article will be deleted before update.',
'D3_IMPORTER_VARIANTS_NOASSIGN' => '-- none --',
'D3_IMPORTER_VARIANTS_IMPORTCOLUM' => 'Variants identification',
'D3_IMPORTER_VARIANTS_IMPORTCOLUMINFO' => 'The column with article identification of parent article, will be assigned.',
'D3_IMPORTER_PRICE2ART_IMPORTTYPE' => 'Importtyp',
'D3_IMPORTER_PRICE2ART_IMPORTTYPE1' => 'Only import',
'D3_IMPORTER_PRICE2ART_IMPORTTYPE2' => 'Delete scale prices before',
'D3_IMPORTER_PRICE2ART_IMPORTTYPEINFO_HELP' => '"Only import" = Scale prices will be reassigned or updated to current article.<br>"Delete before" = All scale prices of current article will be deleted before update.',
'D3_IMPORTER_PRICE2ART_PRICE' => 'Scale price',
'D3_IMPORTER_PRICE2ART_AMOUNTFROM' => 'Quantity from',
'D3_IMPORTER_PRICE2ART_AMOUNTTO' => 'Quantity to',
'D3_IMPORTER_VENDORS_IMPORTTYPE' => 'Create distributors',
'D3_IMPORTER_VENDORS_IMPORTTYPE1' => 'Yes',
'D3_IMPORTER_VENDORS_IMPORTTYPE2' => 'No, only assignment',
'D3_IMPORTER_VENDORS_IMPORTTYPEINFO_HELP' => '"Yes" = If the distributor does not exists, he will be added and assigned to article.<br>"Only import" = The article will be assigned only to a existing distributor.',
'D3_IMPORTER_VENDORS_ASSIGN' => 'Distributor import column',
'D3_IMPORTER_VENDORS_NOASSIGN' => '-- none --',
'D3_IMPORTER_VENDORS_ASSIGNINFO_HELP' => 'The column with name of distributor will be assigned.',
'D3_IMPORTER_MANUFACTURER_IMPORTTYPE' => 'Create manufacturer',
'D3_IMPORTER_MANUFACTURER_IMPORTTYPE1' => 'Yes',
'D3_IMPORTER_MANUFACTURER_IMPORTTYPE2' => 'No, only assignment',
'D3_IMPORTER_MANUFACTURER_IMPORTTYPEINFO_HELP' => '"Yes" = If the manufacturer does not existsp, he will be added and assigned to article.<br>"Only import" = The article will be assigned only to a existing manufacturer.',
'D3_IMPORTER_MANUFACTURER_ASSIGN' => 'Manufacturer import column',
'D3_IMPORTER_MANUFACTURER_NOASSIGN' => '-- none --',
'D3_IMPORTER_MANUFACTURER_ASSIGNINFO_HELP' => 'The column with name of manufacturer will be assigned.',
'D3_IMPORTER_CONFIG_MAINOPTIONS' => 'Core settings',
'D3_IMPORTER_MALL_MAINOPTIONS' => 'settings',
'D3_IMPORTER_CONFIG_IMPORTTYPE' => 'Importtype',
'D3_IMPORTER_CONFIG_IMPORTTYPE_STANDARD' => 'Import and update',
'D3_IMPORTER_CONFIG_IMPORTTYPE_IMPORT' => 'Only import',
'D3_IMPORTER_CONFIG_IMPORTTYPE_UPDATE' => 'Only update',
'D3_IMPORTER_CONFIG_OMITLINES' => 'Number of data headlines (will not be imported)',
'D3_IMPORTER_CONFIG_ASSIGNIDENT' => 'Article identification',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_HELP' => 'Define a <b>clear</b> article identification, so that no duplicates occur.' //
. '<br>The elected field has to be assigned to a import column in "Article fields".' //
. '<br>Default is the article number.' //
. '<br>The fields can be configured in "importer/settings/Settings/Settings/article identification".',
'D3_IMPORTER_CONFIG_PRICEOPTIONS' => 'Price options',
'D3_IMPORTER_CONFIG_PRICEPLUSPERCENT' => 'Raise imported article price by x%.',
'D3_IMPORTER_CONFIG_PRICEDECIMALROUND' => 'Round imported article price to x decimal places.',
'D3_IMPORTER_CONFIG_IDENTOPTIONS' => 'Article-ident options (Expert mode)',
'D3_IMPORTER_CONFIG_ARTNUM2OXID' => 'Use article identification field as ident (datafield &quot;oxid&quot;).',
'D3_IMPORTER_CONFIG_MD54OXID' => 'Encode the ident field additionaly with MD5. ',
'D3_IMPORTER_IMPORT_START' => 'Start article import!',
'D3_IMPORTER_IMPORT_INFO1' => 'Imported rows',
'D3_IMPORTER_IMPORT_INFO2' => 'from',
'D3_IMPORTER_IMPORT_IMPORTEND' => 'Import finished.',
'D3_IMPORTER_IMPORT_STATISTICHEAD' => 'Result (incl. variants):',
'D3_IMPORTER_IMPORT_STATISTIC1' => 'Importierted articles:',
'D3_IMPORTER_IMPORT_STATISTIC2' => 'Updated articles:',
'D3_IMPORTER_AFTERIMPORT_PREINFO0' => 'articles are changed with this profile in the past.',
'D3_IMPORTER_AFTERIMPORT_PREINFO1' => 'articles ',
'D3_IMPORTER_AFTERIMPORT_PREINFO2' => 'were not imported or updated during the last import.',
'D3_IMPORTER_AFTERIMPORT_PREINFO3' => 'Now, you can have these articles deactivated or deleted.',
'D3_IMPORTER_AFTERIMPORT_TICKER' => 'Articles per run',
'D3_IMPORTER_AFTERIMPORT_MAINARTICLE' => 'Main articles',
'D3_IMPORTER_AFTERIMPORT_VARIANTS' => 'Variants',
'D3_IMPORTER_AFTERIMPORT_DOINACTIVE' => 'Deactivate all articles',
'D3_IMPORTER_AFTERIMPORT_DODELETE' => 'Delete all articles',
'D3_IMPORTER_AFTERIMPORT_INFO1' => 'Edited articles',
'D3_IMPORTER_AFTERIMPORT_INFO2' => 'from',
'D3_IMPORTER_AFTERIMPORT_IMPORTEND' => 'After import is finished.',
'D3_IMPORTER_FAILUPLOAD_10' => 'Error: File incorrect, empty or uploaded incompletly.',
'D3_IMPORTER_FAILUPLOAD_11' => 'Error: Forbidden file extension.',
'D3_IMPORTER_FAILUPLOAD_12' => 'Error: Target directory was not found.',
'D3_IMPORTER_FAILUPLOAD_13' => 'Error: File could not be saved in target directory.(insufficient writing ?)',
'D3_IMPORTER_FAILUPLOAD_20' => 'Error: No licence or modul inactive!',
'D3_IMPORTER_FAILCONFIG_10' => 'Error: No profile loaded!',
'D3_IMPORTER_FAILCONFIG_11' => 'Error: No import file elected!',
'D3_IMPORTER_FAILCONFIG_12' => 'Error: Importfile incorrect or empty!',
'D3_IMPORTER_FAILCONFIG_13' => 'Error: No separator set!',
'D3_IMPORTER_FAILCONFIG_14' => 'Error: Importfile incorrect or empty!',
'D3_IMPORTER_FAILCONFIG_15' => 'Error: No "after-import" action defined.',
'D3_IMPORTER_FAILCONFIG_20' => 'Error: No licence or modul inactive!',
'D3_IMPORTER_FAILIMPORT_10' => 'Error: Import file could not be loaded!',
'D3_IMPORTER_FAILIMPORT_11' => 'Error: Field for article identification was not assigned in tab "article fields" or in tab "Config."!',
'D3_IMPORTER_FAILIMPORT_12' => 'Error: No or invalid "after-import" action defined.',
'D3_IMPORTER_FAILIMPORT_20' => 'Error: No licence or modul inactive!',
'D3_PICTURE_IMPORTFIELD' => 'Import',
'D3_PICTURE_IMPORTFIELD_OXPIC' => 'picture',
'D3_PICTURE_IMPORTFIELD_OXZOOM' => 'zoom',
'D3_PICTURE_NOASSIGN' => '-- none --',
'D3_PICTURE_FAILCONFIG_10' => 'Error: No profile loaded!',
'D3_PICTURE_FAILCONFIG_11' => 'Error: Picture-import directory was not found!',
'D3_PICTURE_FAILCONFIG_12' => 'Error: Picture-import directory could not be read!',
'D3_PICTURE_FAILCONFIG_13' => 'Error: No files found in picture-import directory!',
'D3_PICTURE_FAILCONFIG_14' => 'Error: Import file incorret or empty!',
'D3_PICTURE_FAILCONFIG_20' => 'There were no external picture-Urls found in import fields of article table.<br>This is no error, if you didn`t want to import pictures from an external source or you have already done this completely.',
'D3_PICTURE_FAILCONFIG_30' => 'Error: No licence or modul inactive!',
'D3_PICTURE_IMPORT_INFO_1' => 'Directory-info:',
'D3_PICTURE_IMPORT_INFO_2' => 'Picture files:',
'D3_PICTURE_IMPORT_INFO_3' => 'Already edited:',
'D3_PICTURE_IMPORT_INFO_4' => 'Therefrom imported:',
'D3_PICTURE_IMPORT_NOTICE_1' => 'Notice:<br>No picture files were found in picture import-directory. First you have to read in the picture directory again, then you can do a picture import.',
'D3_PICTURE_IMPORT_NOTICE_2' => 'Notice:<br>All pictures, which were read in before, were edited on a previous picture import.<br>If you want to start a new picture import, so read in the picture import-directory again.',
'D3_PICTURE_IMPORT_NOTICE_3' => 'Notice:<br>Some pictures have already been edited. You can do picture import with the rest of the pictures.<br>Or you read in the picture import-directory again. In this case, it will be attempted to import all pictures.',
'D3_PICTURE_IMPORT_NOTICE_4' => 'Notice:<br>If you have copied new pictures to picture import-directory,<br>please read in picture import-directory again, update the number of pictures.',
'D3_PICTURE_SCANDIR_START' => 'Read in picture-import directory',
'D3_PICTURE_EXTPICTURE_START' => 'Read in external pictures',
'D3_PICTURE_IMPORT_START' => 'Start picture-import!',
'D3_PICTURE_IMPORT_INFO1' => 'Edited pictures',
'D3_PICTURE_IMPORT_INFO2' => 'from',
'D3_PICTURE_IMPORT_INFO3' => 'Therefrom imported ',
'D3_PICTURE_IMPORT_IMPORTEND' => 'Picture import finished.',
'D3_PICTURE_EXTIMPORT_INFO1' => 'Edited external picture-Urls',
'D3_PICTURE_EXTIMPORT_IMPORTEND' => 'External picture import finished. The actual picture import could be started now.',
'D3_PICTURE_IMPORT_ERRORPRETEXT' => 'Error in:',
'D3_PICTURE_IMPORT_ERRORTYPE_10' => 'No valid picture url',
'D3_PICTURE_IMPORT_ERRORTYPE_20' => 'CURL connect error',
'D3_PICTURE_IMPORT_ERRORTYPE_30' => 'No valid picture name',
'D3_PICTURE_IMPORT_ERRORTYPE_40' => 'No valid picture type',
'D3_IMPORTER_PICTURE_CHOOSE_PROFILE' => 'Please choose your import profile.',
'D3_IMPORTER_EXPORTCONFIG' => 'export importprofile',
'D3_IMPORTER_MAIN_MAINSETTINGS' => 'Settings',
'D3_IMPORTER_MAIN_ARTICLEINDENTIFICATIONFIELDS' => 'article identification',
'D3_IMPORTER_MAIN_ARTICLEINDENTIFICATIONFIELDS_HELP' => 'Select multiple fields with the key CTRL, to provide the selection in /D³ Module/Importer/article import/Config./article identification/',
'D3_IMPORTER_CONFIG_ATRUESETTINGS' => 'definition of "yes" values',
'D3_IMPORTER_CONFIG_AFALSESETTINGS' => 'definition of "no" values',
'D3_IMPORTER_CONFIG_ATRUESETTINGS_HELP' => 'There can be different values for an active check in a CSV file.' //
. '<br> F.e.: Yes/No, true/false, 1/0, y/n, active/inactive.' //
. '<br>Enter the values line by line thereby the import process can interpret the given values.' //
. '<br><br>The import process checks the following criteria:' //
. '<ul><li>the values will handled in case sensitive<li>' //
. '<li>numbers will interpreted as numbers: "1" is not the string "one"<li>' //
. '</ul>' //
. 'given values:<br>' //
. 'Yes field:<br>true<br>TRUE',
'D3_IMPORTER_CONFIG_AFALSESETTINGS_HELP' => 'There can be different values for an active check in a CSV file.' //
. '<br> F.e.: Yes/No, true/false, 1/0, y/n, active/inactive.' //
. '<br>Enter the values line by line thereby the import process can interpret the given values.' //
. '<br><br>The import process checks the following criteria:' //
. '<ul><li>the values will handled in case sensitive<li>' //
. '<li>numbers will interpreted as numbers: "1" is not the string "one"<li>' //
. '</ul>' //
. 'given values:<br>' //
. 'No field:<br>false<br>FALSE',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_CHOOSE' => 'please choose!',
'D3_IMPORTER_PICTURE_PICSPERTICK' => 'Start next run of pictures:',
'D3_IMPORTER_PICTURE_PICSPERTICK_HELP' => 'The process of a picture import is as follows:' //
. '<br>1. All pictures from picture import directory will be read.' //
. '<br>2. Looks for a relation in database (oxarticles_d3importpic1-XX) per picture(name).' //
. '<br>3. In case of one or more hits, the picture(s) will be imported and assigned to the article(s).',
'D3_IMPORTER_PICTURE_MAXPICTURECOUNT' => 'after',
'D3_IMPORTER_PICTURE_MAXPICTURECOUNT_2' => 'read pictures',
'D3_IMPORTER_PICTURE_MAXPICTURECOUNT_HELP' => 'After x read pictures the run will be restarted (if no pictures were imported).',
'D3_IMPORTER_PICTURE_MAXIMPORTCOUNT' => 'or after',
'D3_IMPORTER_PICTURE_MAXIMPORTCOUNT_2' => 'imported pictures',
'D3_IMPORTER_PICTURE_MAXIMPORTCOUNT_HELP' => 'After x imported pictures the run will be restarted (concerns only imported pictures).',
'D3_IMPORTER_FAILTOSAVE_DUE_DEMO' => 'error: module is in demo mode and has reached the limit of profiles',
'D3_IMPORTER_NOTICE_PROFILELIMITREACHED' => 'notice: the module is in demo mode and has reached the limit of profiles.<br> you can\'t save another one.',
'D3_IMPORTER_CONFIG_AARTICLESETTINGS' => 'predefined values for articlefields',
'D3_IMPORTER_CONFIG_AARTICLESETTINGS_HELP' => 'Insert predefined values, which fill the <u title="The field names can be seen in the database table oxarticles.">articlefields</u> with the specific values during the import process.' //
. '<h4>following criteria are applied:</h4><ul><li>The notation is "FIELDNAME => VALUE".</li>' //
. '<li>If the CSV value is associated with the predefined field and the CSV value is filled, the value from the CSV file will be saved at the article.</li></ul>' //
. '<h4>Example 1:</h4> All imported articles should have a stock of 10:<br> oxstock => 10' //
. '<h4>Example 2:</h4> All imported articles should be set to inactive:<br> oxactive => 0' //
. '<h4>Example 3:</h4> All imported articles should be set to inactive and should have a stock of 10:<br> oxactive => 0<br>oxstock => 10',
'D3_IMPORTER_CONFIG_IMPORTTICKER' => 'Lines per Run',
'D3_IMPORTER_CONFIG_FILEHEADERCOUNT' => 'Number of Headerlines',
'D3_IMPORTER_CONFIG_FILEHEADERCOUNT_HELP' => 'How many lines should not be importet. ' //
. 'For Example: The fist line of your CSV-File include the description of the filddata, than you should use 1.',
'D3_IMPORTER_MAIN_CATEGORIE_INDENTIFICATIONFIELDS' => 'Selectlist for categorie identification',
'D3_IMPORTER_MAIN_CATEGORIE_INDENTIFICATIONFIELDS_HELP' => 'Define, which fields should unsable for categorie indentification.',
'D3_IMPORTER_CONFIG_OVERRIDEEXTERNPICTURES' => 'overwrite local (/import/pictures/) with external pictures?',
'D3_IMPORTER_CONFIG_OVERRIDEEXTERNPICTURES_HELP' => '<h4>Overwrite local pictures in picture import directory (/import/pictures/) with external pictures?</h4>' //
. '<b>active:</b> If there is an external picture with the name of a local picture, the local picture will be overwritten.<br>' //
. '<br><b>inactive:</b> If there is an external picture with the same name and size of a local picture, the name of the external picture will be appended by a unique string (filenameAppendix.extension).',
'D3_IMPORTER_CONFIG_IMPORTTICKER_HELP' => 'Define how many lines per run will be imported. ' //
. 'To prevent a script abort (f.e. at a too long runtime), please choose a smaller value.',
'D3_IMPORTER_CONFIG_IMPORTTYPE_HELP' => 'Please select the importtype' //
. '<ul><li>At <b>"Import and update"</b> articles will be imported and updated (standard).</li>' //
. '<li>At <b>"Only import"</b> articles will be only imported. Existing article data are not overwritten.</li>' //
. '<li>At <b>"Only update"</b> articles will be only overwritten. New articles are not imported.</li></ul>',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXACTIVEFROM' => 'Active from',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXACTIVETO' => 'Active until',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXARTNUM' => 'Product Number',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTITLE' => 'Title',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXID' => 'Internal Identno.',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPID' => 'Shop Identno.',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPARENTID' => 'Identno. Main Product',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXACTIVE' => 'Active',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHORTDESC' => 'Short Description',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXLONGDESC' => 'Detailed Description',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPRICE' => 'Price',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXBLFIXEDPRICE' => 'oxblfixedprice',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPRICEA' => 'Price A',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPRICEB' => 'Price B',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPRICEC' => 'Price C',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXBPRICE' => 'Gross Price',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTPRICE' => 'Old Price',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXEXTURL' => 'External URL',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUNITNAME' => 'Unit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUNITQUANTITY' => 'Quantity Unit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXURLDESC' => 'URL Description',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXURLIMG' => 'External URL image',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVAT' => 'Product VAT',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTHUMB' => 'Preview Picture',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXICON' => 'Icon',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_PICTURES' => 'Product pictures',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC1' => 'Picture1',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC2' => 'Picture2',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC3' => 'Picture3',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC4' => 'Picture4',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC5' => 'Picture5',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC6' => 'Picture6',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC7' => 'Picture7',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC8' => 'Picture8',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC9' => 'Picture9',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC10' => 'Picture10',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC11' => 'Picture11',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXPIC12' => 'Picture12',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXZOOM1' => 'Zoom Picture 1',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXZOOM2' => 'Zoom Picture 2',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXZOOM3' => 'Zoom Picture 3',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXZOOM4' => 'Zoom Picture 4',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXWEIGHT' => 'Weight',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSTOCK' => 'Stock Quantity',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSTOCKACTIVE' => 'Stock Control Active',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSTOCKFLAG' => 'Stock Flag',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXDELIVERY' => 'Shipped on',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXINSERT' => 'Created on',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTIMESTAMP' => 'Last Modification',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXLENGTH' => 'Length',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXWIDTH' => 'Width',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXHEIGHT' => 'Height',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXFILE' => 'File',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSEARCHKEYS' => 'Search Keys',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXTEMPLATE' => 'alt. Template',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXQUESTIONEMAIL' => 'E-mail for question',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXISSEARCH' => 'Is searchable',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXISCONFIGURABLE' => 'Product is customizable',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARNAME' => 'Variant Name',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARSELECT' => 'oxvarselect',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARMINPRICE' => 'Minimum price of all variants',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXFOLDER' => 'Folder',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSUBCLASS' => 'oxsubclass',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSORT' => 'Sorting',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSOLDAMOUNT' => 'Quantity Sold',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXNONMATERIAL' => 'Immaterial',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXFREESHIPPING' => 'Free Shipping',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXREMINDACTIVE' => 'Low stock e-mail active',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXREMINDAMOUNT' => 'Low stock threshold',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXAMITEMID' => 'oxamitemid',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXAMTASKID' => 'oxamtaskid',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVENDORID' => 'Vendor ID',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXMANUFACTURERID' => 'Manufacturer ID',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARCOUNT' => 'Variant count',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPINCL' => 'Shop include',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPEXCL' => 'Shop exclude',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPINCL1' => 'Shop include',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSHOPEXCL1' => 'Shop exclude',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXEAN' => 'EAN',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXMPN' => 'MPN',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXDISTEAN' => 'Manufacturer EAN',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSTOCKTEXT' => 'In-Stock Message',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXNOSTOCKTEXT' => 'Out-Of-Stock Mess.',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSKIPDISCOUNTS' => 'Skip discounts',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXRATINGCNT' => 'Rating Count',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXRATING' => 'Rating',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXRRVIEW' => 'Exclusive viewable',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXRRBUY' => 'Exclusive buyable',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXORDERINFO' => 'Order Info',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXSEOID' => 'SEOID',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXMINDELTIME' => 'Min. delivery time',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXMAXDELTIME' => 'Max. delivery time',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXDELTIMEUNIT' => 'Delivery time unit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICE' => 'Update price',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICEA' => 'Update price A',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICEB' => 'Update price B',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICEC' => 'Update price C',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXUPDATEPRICETIME' => 'Update price time',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXISDOWNLOADABLE' => 'Is downloadable',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVPE' => 'Packingunit',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXBUNDLEID' => 'Bundle Identno',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARSTOCK' => 'Variant Stock',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_OXVARMAXPRICE' => 'Maximum price of all variants',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTFLAG' => 'Importflag',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPROFILEID' => 'Importprofil-ID',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC1' => 'Picture importfield 1',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC2' => 'Picture importfield 2',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC3' => 'Picture importfield 3',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC4' => 'Picture importfield 4',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC5' => 'Picture importfield 5',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC6' => 'Picture importfield 6',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC7' => 'Picture importfield 7',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC8' => 'Picture importfield 8',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC9' => 'Picture importfield 9',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC10' => 'Picture importfield 10',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC11' => 'Picture importfield 11',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC12' => 'Picture importfield 12',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC13' => 'Picture importfield 13',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC14' => 'Picture importfield 14',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC15' => 'Picture importfield 15',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC16' => 'Picture importfield 16',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC17' => 'Picture importfield 17',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC18' => 'Picture importfield 18',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC19' => 'Picture importfield 19',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3IMPORTPIC20' => 'Picture importfield 20',
'D3_IMPORTER_ATTRIB_LEGEND' => 'legend:',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_NAME' => 'attributename',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_VALUE' => 'attributevalue at article',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_NEW_ATTRIBUTE_ASSIGN' => 'new attribute-assignment',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_NAME_HELP' => 'The attributes are assigned via the titles.' //
. '<br>The attributename can be specified language-dependent.',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_VALUE_HELP' => 'The "attributevalue at article" can be specified language-dependent.',
'D3_IMPORTER_ATTRIB_DELETE_OLDSETTINGS_INFO' => 'The attribute-assignments of this profile are deprecated and should be updated.' //
. '<br>It is necessary to read our <a href="https://faq.d3data.de/module/importer/anleitung-zur-umstellung-von-attributszuordnungen/" target="d3_importer_attrib"><u>FAQ article</u></a>, before you make changes!'
.'This import-profile is deprecated and should be updated.' //
. '<br>Additional information is available in our <a href="https://faq.d3data.de/category/module/importer/" target="d3_importer_attrib"><u>FAQ</u></a>.',
'D3_IMPORTER_ATTRIB_DELETE_OLDSETTINGS_BUTTON' => 'delete assignment',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_ATTRIBUTE_ASSIGN' => 'attribute-assigment',
'D3IMPORTER_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Importer/',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3OQM_PACKAGE' => 'Packingunit - D³ order quantity nanager',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3OQM_MINIMUM' => 'Minimum - D³ order quantity nanager',
'D3_IMPORTER_CONFIG_ASSIGNIDENT_D3OQM_MAXIMUM' => 'Maximum - D³ order quantity nanager',
'D3_IMPORTER_CONFIG_OMITLINES_HELP' => 'Quote the number of rows which should be ignored.' //
. '<br>E.g. If the csv file contains a headline, you can enter a "1".',
'D3_IMPORTER_CONFIG_PRICEPLUSPERCENT_HELP' => '<strong>These option is only for the "normal" article price (oxprice)!</strong>',
'D3_IMPORTER_CONFIG_ARTNUM2OXID_HELP' => 'With this setting the applied article identification is used as internal shop-identifikation number (oxid).' //
. '<br>The shop managed the unique shop-identifikation-number automatic,' //
. ' therby this option should be used with caution.',
'D3_IMPORTER_CONFIG_MD54OXID_HELP' => 'With this option a similar ident as original oxid can be created.' //
. '<br>This option only applies with the active option "use article identifcation field as ident (data field "oxid")"',
'D3_IMPORTER_CONFIG_PRICEDECIMALROUND_HELP' => 'Enter a value to round the article price.' //
. '<b>Example:</b> "2" means a rounding from 12.3456 to 12.35 or from 1.95583 to 1.96.' //
. '<br>"1" means a rounding 12.3456 auf 12.3 or from 1.95583 to 2.' //
. '<br><strong>These option is only for the "normal" article price (oxprice)!</strong>',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_ATTRIBUTE_ASSIGN_HELP' => 'You can import several attributes.' //
. '<br>Every attribute will be considered as an attribute assignment. Therefore you should only use 1 attribute for an attribute assignment.',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_LANGUAGE' => '[Language] active/inactive',
'D3_IMPORTER_ATTRIB_IMPORTCOLUM_LANGUAGE_HELP' => 'Assignments for all languages are provided.' //
. '<br>active/<del>active</del> shows whether the language ist active in shop.',
'D3_IMPORTER_ATTRIB_DELETE_OLDSETTINGS_QUESTION' => 'Do you really want to delete the deprecated assignments?',
'D3_IMPORTER_UPDATE_OLD_ATTIBUTES_REMOVED' => 'With the version 4.4.1.0 the attribute-assignments has changed.' //
. PHP_EOL . 'With the version 4.5.0.0 the old attribute-assigments are removed.' //
. PHP_EOL . 'It is necessary to read our FAQ entry, to udnerstand the new multilangual attribute-assignments.'//
. PHP_EOL . 'PLease follow https://faq.oxidmodule.com/Fragen-zu-speziellen-Modulen/Importer/Handbuch/Anleitung-zur-Umstellung-von-Attributszuordnungen.html !',
'D3_IMPORTER_ATTRIB_LANGUAGE_ACTIVE' => 'active',
'D3_IMPORTER_ATTRIB_LANGUAGE_INACTIVE' => 'inactive',
/* Artikel verwalten -> Kategorien -> Stamm -> Schnellsortierung */
'GENERAL_ARTICLE_D3IMPORTFLAG' => 'Importflag',
'GENERAL_ARTICLE_D3IMPORTPROFILEID' => 'Importprofil-ID',
'GENERAL_ARTICLE_D3IMPORTPIC1' => 'Picture importfield 1',
'GENERAL_ARTICLE_D3IMPORTPIC2' => 'Picture importfield 2',
'GENERAL_ARTICLE_D3IMPORTPIC3' => 'Picture importfield 3',
'GENERAL_ARTICLE_D3IMPORTPIC4' => 'Picture importfield 4',
'GENERAL_ARTICLE_D3IMPORTPIC5' => 'Picture importfield 5',
'GENERAL_ARTICLE_D3IMPORTPIC6' => 'Picture importfield 6',
'GENERAL_ARTICLE_D3IMPORTPIC7' => 'Picture importfield 7',
'GENERAL_ARTICLE_D3IMPORTPIC8' => 'Picture importfield 8',
'GENERAL_ARTICLE_D3IMPORTPIC9' => 'Picture importfield 9',
'GENERAL_ARTICLE_D3IMPORTPIC10' => 'Picture importfield 10',
'GENERAL_ARTICLE_D3IMPORTPIC11' => 'Picture importfield 11',
'GENERAL_ARTICLE_D3IMPORTPIC12' => 'Picture importfield 12',
'GENERAL_ARTICLE_D3IMPORTPIC13' => 'Picture importfield 13',
'GENERAL_ARTICLE_D3IMPORTPIC14' => 'Picture importfield 14',
'GENERAL_ARTICLE_D3IMPORTPIC15' => 'Picture importfield 15',
'GENERAL_ARTICLE_D3IMPORTPIC16' => 'Picture importfield 16',
'GENERAL_ARTICLE_D3IMPORTPIC17' => 'Picture importfield 17',
'GENERAL_ARTICLE_D3IMPORTPIC18' => 'Picture importfield 18',
'GENERAL_ARTICLE_D3IMPORTPIC19' => 'Picture importfield 19',
'GENERAL_ARTICLE_D3IMPORTPIC20' => 'Picture importfield 20',
'D3_IMPORTER_IMPORT_TESTLICENCE_NOTICE' => 'The module is licensed as a trialversion.<br>Currently, the amount of importable articles/pictures and profiles is limited.',
'd3mxdesc' => 'articlefields',
'd3_d3importer_controllers_admin_desc_itemmain' => 'edit articlefield',
'D3_D3IMPORTERDESC_MENUSUBITEM' => 'edit articlefield',
'D3IMPORTERDESC_NEW' => 'new articlefield',
'D3IMPORTERDESC_OXISDISABLED' => 'active',
'HELP_D3IMPORTERDESC_OXISDISABLED' => 'de/activate the articlefield for the interface of the Importer',
'D3IMPORTERDESC_OXFIELD' => 'databasefieldname',
'HELP_D3IMPORTERDESC_OXFIELD' => 'Set the fieldname of the databasefield from oxarticles or oxartextends. F.e. oxtitle, oxthumb...',
'D3IMPORTERDESC_OXDESC' => 'fieldname language 1',
'HELP_D3IMPORTERDESC_OXDESC' => 'Set an userfriendly fieldname for the articlefield in language 1.',
'D3IMPORTERDESC_OXDESC_1' => 'fieldname language 2',
'HELP_D3IMPORTERDESC_OXDESC_1' => 'Set an userfriendly fieldname for the articlefield in language 2.',
'D3IMPORTERDESC_OXORDER' => 'sort',
'HELP_D3IMPORTERDESC_OXORDER' => 'set the sorting of the fields in the importer adminstration.<br>' //
. 'Often used articlefields can be placed in the top with a low number.',
'D3IMPORTERDESC_OXISPIC' => 'Pic',
'HELP_D3IMPORTERDESC_OXISPIC' => 'de/activate the articlefield for the importer administration of the picture import (new field will not shown in picture import yet).',
'HELP_D3IMPORTERDESC' => 'You can administrate the article fields for the importer.<br>'//
. 'These articlefields are used in serveral parts of the importer module (article import/article fields, settings/article identification). <br>'//
. 'With this, you can add or reduce the article fields in importer administration.',
'D3_IMPORTER_PRICE2ART_PERCENTOPTION' => 'is % discount price?',
'HELP_D3_IMPORTER_PRICE2ART_PERCENTOPTION' => 'If this checkbox active, the price will be imported as an percentual price. You will find more Info\'s under /Administer Products/Products/Stock/Scale Prices/.',
'HELP_D3_IMPORTER_PRICE2ART_PRICE' => 'Set the price for the scale (comma\'s will be replaced by a point, please avoid entries like: 1,234.56<br> better solution: 1234,56 or 1234.56).<br><br>To import percentage scale price\'s, please use the % sign. f.e.: 10% or 1,23% or 1.23%',
'D3_PICTURE_IMPORT_LOAD_PROFILE' => 'Please choose an importprofile.',
'HELP_D3_PICTURE_EXTPICTURE_START' => 'check the box, if the pictures to be imported are located in external URL\'s.<br>For example: https://placeimg.com/1000/1000/any.jpg.' //
. '<br><br>The picture import calls the URL\'s and download the pictures into the defined picture import folder.',
'D3_IMPORTER_PICTURE_IMPORT_STEP1' => 'step 1:',
'D3_IMPORTER_PICTURE_IMPORT_STEP2' => 'step 2:',
'D3_IMPORTER_FIELDS_CHECKALL' => 'de/select all update checkboxes',
'D3_IMPORTER_CONFIG_BLDELETEMASTERPICTURE' => 'This option (active) deletes master images before importing (recommended)',
'D3_IMPORTER_CONFIG_BLDELETEMASTERPICTURE_HELP' => 'Check this option to prevent unused pictures on your server.<br>' . PHP_EOL . 'During the import, previous article-pictures will be deleted through the shop.<br>' . PHP_EOL . 'The deletion includes the article-related pictures in folders "/master/" and the generated pictures in "/generated/".<br>' . PHP_EOL . '<br>' . PHP_EOL . 'Uncheck this option to import the images directly.<br>' . PHP_EOL . 'Unused image files may be created in the /master/product/*/ directories.',
'D3_IMPORTER_CONFIG_PATHTOMOVE' => 'action after import the picture:',
'D3_IMPORTER_CONFIG_PATHTOMOVE_HELP' => 'Choose a option to delete or move the picture from {shoproot}/source/import/pictures/.<br>' . 'The folder requires an absolute path, f.e.: /var/www/myshop.de/{FolderName}/',
'D3_IMPORTER_CONFIG_PICTURESACTIONAFTERIMPORT_DELETE' => 'delete picture',
'D3_IMPORTER_CONFIG_PICTURESACTIONAFTERIMPORT_MOVE' => 'move picture into folder',
'D3_IMPORTER_CONFIG_FOLDER' => 'absolute path to target directory',
'D3_IMPORTER_CONFIG_FOLDER_HELP' => 'Enter the absolute path of the target directory here. Make sure that the destination directory is present and writable.',
'D3_IMPORTER_SETUP_CREATEDIRECTORY' => 'Create the directory "%s".',
];
// @codeCoverageIgnoreEnd

File diff suppressed because it is too large Load Diff

127
Setup/configurationXml.php Normal file
View File

@ -0,0 +1,127 @@
<?php
/**
* 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.
* http://www.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
namespace D3\Importer\Setup;
use D3\ModCfg\Application\Model\d3simplexml;
use Traversable;
class configurationXml extends d3simplexml
{
/**
* @param $nodeName
*/
public function deleteChild($nodeName)
{
if ($this->$nodeName) {
unset($this->$nodeName);
}
}
/**
* @param $name string
*
* @return d3simplexml
*/
public function getChild($nodeName)
{
if (!$oReturn = $this->$nodeName) {
$this->addChild($nodeName);
/** @var d3simplexml $oReturn */
$oReturn = $this->$nodeName;
}
return $oReturn;
}
/**
* @param $name
*
* @return string
*/
public function getAttribute($attributeName)
{
foreach ($this->attributes() as $key => $val) {
if ($key == $attributeName) {
return (string)$val;
}
}
return '';
}
/**
* @return array
*/
public function getAttributeNames()
{
$cnt = 0;
$arrTemp = [];
foreach ($this->attributes() as $a => $b) {
$arrTemp[$cnt] = (string)$a;
$cnt++;
}
return $arrTemp;
}
/**
* @param bool $sName
*
* @return int
*/
public function getChildrenCount($sName = false)
{
$cnt = 0;
foreach ($this->children() as $node => $val) {
if ($sName && $sName == $node) {
$cnt++;
} elseif (!$sName) {
$cnt++;
}
}
return $cnt;
}
/**
* @return int
*/
public function getAttributeCount()
{
$attribs = $this->attributes();
if (is_iterable($attribs)) {
return count($attribs);
}
return 0;
}
/**
* @param $names
*
* @return array
*/
public function getAttributesArray($names)
{
$len = count($names);
$arrTemp = [];
for ($i = 0; $i < $len; $i++) {
$arrTemp[$names[$i]] = $this->getAttribute((string)$names[$i]);
}
return $arrTemp;
}
}

View File

@ -12,42 +12,42 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
$aQueries = array( $aQueries = [
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc2';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc2';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_2_content' WHERE `OXFIELD` = 'd3longdesc2' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_2_content' WHERE `OXFIELD` = 'd3longdesc2' ",
), ],
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc3';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc3';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_3_content' WHERE `OXFIELD` = 'd3longdesc3' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_3_content' WHERE `OXFIELD` = 'd3longdesc3' ",
), ],
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc4';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc4';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_4_content' WHERE `OXFIELD` = 'd3longdesc4' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_4_content' WHERE `OXFIELD` = 'd3longdesc4' ",
), ],
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc5';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc5';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_5_content' WHERE `OXFIELD` = 'd3longdesc5' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_5_content' WHERE `OXFIELD` = 'd3longdesc5' ",
), ],
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesctitle';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesctitle';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_1_title' WHERE `OXFIELD` = 'd3longdesctitle' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_1_title' WHERE `OXFIELD` = 'd3longdesctitle' ",
), ],
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc2title';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc2title';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_2_title' WHERE `OXFIELD` = 'd3longdesc2title' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_2_title' WHERE `OXFIELD` = 'd3longdesc2title' ",
), ],
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc3title';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc3title';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_3_title' WHERE `OXFIELD` = 'd3longdesc3title' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_3_title' WHERE `OXFIELD` = 'd3longdesc3title' ",
), ],
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc4title';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc4title';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_4_title' WHERE `OXFIELD` = 'd3longdesc4title' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_4_title' WHERE `OXFIELD` = 'd3longdesc4title' ",
), ],
array( [
'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc5title';", 'check' => "SELECT if(count(`OXID`), 1, 0) FROM `d3importerdesc` WHERE `OXFIELD` = 'd3longdesc5title';",
'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_5_title' WHERE `OXFIELD` = 'd3longdesc5title' ", 'do' => "UPDATE `d3importerdesc` SET `OXFIELD` = 'd3longdesc_5_title' WHERE `OXFIELD` = 'd3longdesc5title' ",
), ],
); ];

View File

@ -12,146 +12,31 @@
* @link https://www.oxidmodule.com * @link https://www.oxidmodule.com
*/ */
namespace D3\Importer\Setup;
use D3\ModCfg\Application\Model\d3simplexml; use D3\ModCfg\Application\Model\d3simplexml;
use DOMDocument;
if (false == function_exists('d3importerMigrateXmlToJson')) { class xmlToJsonMigrator
/** {
* @param $sXML public function migrate($sXML)
*
* @return array|int|SimpleXMLElement[]|string
*/
function d3importerMigrateXmlToJson($sXML)
{ {
if (false == class_exists('d3importer_migratexmltojson')) {
/**
* Class d3importer_migratexmltojson
*/
class d3importer_migratexmltojson extends d3simplexml
{
/**
* @param $name
*/
public function deleteChild($name)
{
if ($this->$name) {
unset($this->$name);
}
}
/**
* @param $name string
*
* @return d3simplexml
*/
public function getChild($name)
{
if (!$oReturn = $this->$name) {
$this->addChild($name);
/** @var d3simplexml $oReturn */
$oReturn = $this->$name;
}
return $oReturn;
}
/**
* @param $name
*
* @return string
*/
public function getAttribute($name)
{
foreach ($this->attributes() as $key => $val) {
if ($key == $name) {
return (string)$val;
}
}
return '';
}
/**
* @return array
*/
public function getAttributeNames()
{
$cnt = 0;
$arrTemp = array();
foreach ($this->attributes() as $a => $b) {
$arrTemp[$cnt] = (string)$a;
$cnt++;
}
return (array)$arrTemp;
}
/**
* @param bool $sName
*
* @return int
*/
public function getChildrenCount($sName = false)
{
$cnt = 0;
foreach ($this->children() as $node => $val) {
if ($sName && $sName == $node) {
$cnt++;
} elseif (!$sName) {
$cnt++;
}
}
return (int)$cnt;
}
/**
* @return int
*/
public function getAttributeCount()
{
$attribs = $this->attributes();
if (is_array($attribs) || $attribs instanceof Traversable) {
return count($attribs);
}
return 0;
}
/**
* @param $names
*
* @return array
*/
public function getAttributesArray($names)
{
$len = count($names);
$arrTemp = array();
for ($i = 0; $i < $len; $i++) {
$arrTemp[$names[$i]] = $this->getAttribute((string)$names[$i]);
}
return (array)$arrTemp;
}
}
}
if (empty($sXML)) { if (empty($sXML)) {
return ''; return '';
} }
libxml_use_internal_errors(true); libxml_use_internal_errors(true);
$doc = new DOMDocument; $doc = new DOMDocument();
if (false == $doc->loadXml($sXML)) { if (false == $doc->loadXML($sXML)) {
return ''; return '';
} }
$oSimpleXml = new d3importer_migratexmltojson($sXML); $oSimpleXml = new configurationXml($sXML);
/** @var d3simplexml $oXMLMain */ /** @var d3simplexml $oXMLMain */
$oXMLMain = $oSimpleXml->getChild('MAINDATA'); $oXMLMain = $oSimpleXml->getChild('MAINDATA');
$aJson = array(); $aJson = [];
$aJson['d3_importer_config'] = array(); $aJson['d3_importer_config'] = [];
$aJson['d3_importer_config']['IMPORTTICKER'] = (string)$oXMLMain->getChild('IMPORTTICKER'); $aJson['d3_importer_config']['IMPORTTICKER'] = (string)$oXMLMain->getChild('IMPORTTICKER');
$aJson['d3_importer_config']['IMPORTTYPE'] = (string)$oXMLMain->getChild('IMPORTTYPE'); $aJson['d3_importer_config']['IMPORTTYPE'] = (string)$oXMLMain->getChild('IMPORTTYPE');
$aJson['d3_importer_config']['OMITLINES'] = (string)$oXMLMain->getChild('OMITLINES'); $aJson['d3_importer_config']['OMITLINES'] = (string)$oXMLMain->getChild('OMITLINES');
@ -160,25 +45,23 @@ if (false == function_exists('d3importerMigrateXmlToJson')) {
$aJson['d3_importer_config']['PRICEDECIMALROUND'] = (string)$oXMLMain->getChild('PRICEDECIMALROUND'); $aJson['d3_importer_config']['PRICEDECIMALROUND'] = (string)$oXMLMain->getChild('PRICEDECIMALROUND');
$aJson['d3_importer_config']['ARTNUM2OXID'] = (string)$oXMLMain->getChild('ARTNUM2OXID'); $aJson['d3_importer_config']['ARTNUM2OXID'] = (string)$oXMLMain->getChild('ARTNUM2OXID');
$aJson['d3_importer_config']['MD54OXID'] = (string)$oXMLMain->getChild('MD54OXID'); $aJson['d3_importer_config']['MD54OXID'] = (string)$oXMLMain->getChild('MD54OXID');
$aJson['d3_importer_config']['MD54OXID'] = (string)$oXMLMain->getChild('MD54OXID'); $aJson['d3_importer_main'] = [];
$aJson['d3_importer_main'] = array();
$aJson['d3_importer_main']['FILE'] = (string)$oXMLMain->getChild('FILE'); $aJson['d3_importer_main']['FILE'] = (string)$oXMLMain->getChild('FILE');
$aJson['d3_importer_main']['FILEROWS'] = (string)$oXMLMain->getChild('FILEROWS'); $aJson['d3_importer_main']['FILEROWS'] = (string)$oXMLMain->getChild('FILEROWS');
$aJson['d3_importer_main']['FILELENGTH'] = (string)$oXMLMain->getChild('FILELENGTH'); $aJson['d3_importer_main']['FILELENGTH'] = (string)$oXMLMain->getChild('FILELENGTH');
$aJson['d3_importer_main']['FILECOLUMS'] = (string)$oXMLMain->getChild('FILECOLUMS'); $aJson['d3_importer_main']['FILECOLUMS'] = (string)$oXMLMain->getChild('FILECOLUMS');
$aJson['d3_importer_main']['TEXTSEPARATOR'] = (string)$oXMLMain->getChild('TEXTSEPARATOR'); $aJson['d3_importer_main']['TEXTSEPARATOR'] = (string)$oXMLMain->getChild('TEXTSEPARATOR');
$aJson['d3_importer_main']['FILESEPARATOR'] = (string)$oXMLMain->getChild('FILESEPARATOR'); $aJson['d3_importer_main']['FILESEPARATOR'] = (string)$oXMLMain->getChild('FILESEPARATOR');
$aJson['d3_importer_afterimport'] = array(); $aJson['d3_importer_afterimport'] = [];
$aJson['d3_importer_afterimport']['AFTERIMPORTTICKER'] = (string)$oXMLMain->getChild('AFTERIMPORTTICKER'); $aJson['d3_importer_afterimport']['AFTERIMPORTTICKER'] = (string)$oXMLMain->getChild('AFTERIMPORTTICKER');
$aJson['d3_importer_fields'] = array(); $aJson['d3_importer_fields'] = [];
$aJson['d3_importer_fields']['fields'] = array(); $aJson['d3_importer_fields']['fields'] = [];
$aJson['d3_importer_fields']['update'] = array(); $aJson['d3_importer_fields']['update'] = [];
$aJson['d3_importer_variants'] = array(); $aJson['d3_importer_variants'] = [];
$aJson['d3_importer_variants']['FIELD'] = array(); $aJson['d3_importer_variants']['FIELD'] = [];
$oXMLFields = $oSimpleXml->getChild("FIELDS"); $oXMLFields = $oSimpleXml->getChild("FIELDS");
foreach ($oXMLFields->children() as $oChild) { foreach ($oXMLFields->children() as $oChild) {
/** @var d3simplexml $oChild */ /** @var d3simplexml $oChild */
$sName = (string)$oChild->getAttribute('NAME'); $sName = (string)$oChild->getAttribute('NAME');
if (empty($sName)) { if (empty($sName)) {
@ -207,11 +90,11 @@ if (false == function_exists('d3importerMigrateXmlToJson')) {
$oXMLCategory = $oSimpleXml->getChild("CATEGORY"); $oXMLCategory = $oSimpleXml->getChild("CATEGORY");
$aJson['d3_importer_category'] = array(); $aJson['d3_importer_category'] = [];
$aJson['d3_importer_category']['IMPORTTYPE'] = (string)$oXMLCategory->getChild('IMPORTTYPE'); $aJson['d3_importer_category']['IMPORTTYPE'] = (string)$oXMLCategory->getChild('IMPORTTYPE');
$aJson['d3_importer_category']['ASSIGNIDENT'] = (string)$oXMLCategory->getChild('ASSIGNIDENT'); $aJson['d3_importer_category']['ASSIGNIDENT'] = (string)$oXMLCategory->getChild('ASSIGNIDENT');
$aJson['d3_importer_category']['IMPORTCOLUM'] = array(); $aJson['d3_importer_category']['IMPORTCOLUM'] = [];
$aJson['d3_importer_category']['COLUMSEPARATOR'] = array(); $aJson['d3_importer_category']['COLUMSEPARATOR'] = [];
$iIndex = 1; $iIndex = 1;
foreach ($oXMLCategory->getChild('IMPORTCOLUM') as $oTmp) { foreach ($oXMLCategory->getChild('IMPORTCOLUM') as $oTmp) {
@ -224,7 +107,7 @@ if (false == function_exists('d3importerMigrateXmlToJson')) {
$oXMLCrosssell = $oSimpleXml->getChild("CROSSSELL"); $oXMLCrosssell = $oSimpleXml->getChild("CROSSSELL");
$aJson['d3_importer_cross'] = array(); $aJson['d3_importer_cross'] = [];
$aJson['d3_importer_cross']['IMPORTTYPE_CROSS'] = (string)$oXMLCrosssell->getChild('IMPORTTYPE_CROSS'); $aJson['d3_importer_cross']['IMPORTTYPE_CROSS'] = (string)$oXMLCrosssell->getChild('IMPORTTYPE_CROSS');
$aJson['d3_importer_cross']['IMPORTCOLUM_CROSS'] = (string)$oXMLCrosssell->getChild('IMPORTCOLUM_CROSS'); $aJson['d3_importer_cross']['IMPORTCOLUM_CROSS'] = (string)$oXMLCrosssell->getChild('IMPORTCOLUM_CROSS');
$aJson['d3_importer_cross']['COLUMSEPARATOR_CROSS'] = (string)$oXMLCrosssell->getChild( $aJson['d3_importer_cross']['COLUMSEPARATOR_CROSS'] = (string)$oXMLCrosssell->getChild(
@ -242,7 +125,7 @@ if (false == function_exists('d3importerMigrateXmlToJson')) {
$oXMLAttribute = $oSimpleXml->getChild("ATTRIBUTE"); $oXMLAttribute = $oSimpleXml->getChild("ATTRIBUTE");
$aJson['d3_importer_attrib'] = array(); $aJson['d3_importer_attrib'] = [];
$aJson['d3_importer_attrib']['IMPORTTYPE'] = (string)$oXMLAttribute->getChild('IMPORTTYPE'); $aJson['d3_importer_attrib']['IMPORTTYPE'] = (string)$oXMLAttribute->getChild('IMPORTTYPE');
$aJson['d3_importer_attrib']['IMPORTCOLUM'] = (string)$oXMLAttribute->getChild('IMPORTCOLUM'); $aJson['d3_importer_attrib']['IMPORTCOLUM'] = (string)$oXMLAttribute->getChild('IMPORTCOLUM');
$aJson['d3_importer_attrib']['COLUMSEPARATOR1'] = (string)$oXMLAttribute->getChild('IMPORTCOLUM')->getAttribute( $aJson['d3_importer_attrib']['COLUMSEPARATOR1'] = (string)$oXMLAttribute->getChild('IMPORTCOLUM')->getAttribute(
@ -254,14 +137,14 @@ if (false == function_exists('d3importerMigrateXmlToJson')) {
$oXMLVendor = $oSimpleXml->getChild("VENDOR"); $oXMLVendor = $oSimpleXml->getChild("VENDOR");
$aJson['d3_importer_vendors'] = array(); $aJson['d3_importer_vendors'] = [];
$aJson['d3_importer_vendors']['VENDOR'] = array(); $aJson['d3_importer_vendors']['VENDOR'] = [];
$aJson['d3_importer_vendors']['VENDOR']['IMPORTTYPE'] = (string)$oXMLVendor->getChild('IMPORTTYPE'); $aJson['d3_importer_vendors']['VENDOR']['IMPORTTYPE'] = (string)$oXMLVendor->getChild('IMPORTTYPE');
$aJson['d3_importer_vendors']['VENDOR']['IMPORTCOLUM'] = (string)$oXMLVendor->getChild('IMPORTCOLUM'); $aJson['d3_importer_vendors']['VENDOR']['IMPORTCOLUM'] = (string)$oXMLVendor->getChild('IMPORTCOLUM');
$oXMLManufacturer = $oSimpleXml->getChild("MANUFACTURER"); $oXMLManufacturer = $oSimpleXml->getChild("MANUFACTURER");
$aJson['d3_importer_vendors']['MANUFACTURER'] = array(); $aJson['d3_importer_vendors']['MANUFACTURER'] = [];
$aJson['d3_importer_vendors']['MANUFACTURER']['IMPORTTYPE'] = (string)$oXMLManufacturer->getChild( $aJson['d3_importer_vendors']['MANUFACTURER']['IMPORTTYPE'] = (string)$oXMLManufacturer->getChild(
'IMPORTTYPE' 'IMPORTTYPE'
); );
@ -271,16 +154,16 @@ if (false == function_exists('d3importerMigrateXmlToJson')) {
$oXMLPriceToArticle = $oSimpleXml->getChild("PRICE2ARTICLE"); $oXMLPriceToArticle = $oSimpleXml->getChild("PRICE2ARTICLE");
$aJson['d3_importer_price2art'] = array(); $aJson['d3_importer_price2art'] = [];
$aJson['d3_importer_price2art']['IMPORTTYPE'] = (string)$oSimpleXml->getChild("PRICE2ARTICLE_IMPORTTYPE"); $aJson['d3_importer_price2art']['IMPORTTYPE'] = (string)$oSimpleXml->getChild("PRICE2ARTICLE_IMPORTTYPE");
$aJson['d3_importer_price2art']['IMPORTCOLUM'] = array(); $aJson['d3_importer_price2art']['IMPORTCOLUM'] = [];
$iIndex = 1; $iIndex = 1;
foreach ($oXMLPriceToArticle as $oPrice2Article) { foreach ($oXMLPriceToArticle as $oPrice2Article) {
if (false == strlen($oPrice2Article->IMPORTCOLUM_PRICE)) { if (false == strlen($oPrice2Article->IMPORTCOLUM_PRICE)) {
continue; continue;
} }
$aPriceToArticle = array(); $aPriceToArticle = [];
$aPriceToArticle['PRICE'] = (string)$oPrice2Article->IMPORTCOLUM_PRICE; $aPriceToArticle['PRICE'] = (string)$oPrice2Article->IMPORTCOLUM_PRICE;
$aPriceToArticle['FROM'] = (string)$oPrice2Article->IMPORTCOLUM_FROM; $aPriceToArticle['FROM'] = (string)$oPrice2Article->IMPORTCOLUM_FROM;
$aPriceToArticle['TO'] = (string)$oPrice2Article->IMPORTCOLUM_TO; $aPriceToArticle['TO'] = (string)$oPrice2Article->IMPORTCOLUM_TO;
@ -290,9 +173,9 @@ if (false == function_exists('d3importerMigrateXmlToJson')) {
$oXMLSelectLists = $oSimpleXml->getChild("SELECTLIST"); $oXMLSelectLists = $oSimpleXml->getChild("SELECTLIST");
$aJson['d3_importer_selectlist'] = array(); $aJson['d3_importer_selectlist'] = [];
$aJson['d3_importer_selectlist']['IMPORTTYPE'] = (string)$oSimpleXml->getChild("SELECTLIST_IMPORTTYPE"); $aJson['d3_importer_selectlist']['IMPORTTYPE'] = (string)$oSimpleXml->getChild("SELECTLIST_IMPORTTYPE");
$aJson['d3_importer_selectlist']['IMPORTCOLUM'] = array(); $aJson['d3_importer_selectlist']['IMPORTCOLUM'] = [];
$iIndex = 1; $iIndex = 1;
foreach ($oXMLSelectLists as $oSelectListXML) { foreach ($oXMLSelectLists as $oSelectListXML) {
/** @var d3simplexml $oSelectListXML */ /** @var d3simplexml $oSelectListXML */
@ -321,8 +204,8 @@ if (false == function_exists('d3importerMigrateXmlToJson')) {
} }
$oXMLPictures = $oSimpleXml->getChild("PICTURE"); $oXMLPictures = $oSimpleXml->getChild("PICTURE");
$aJson['d3_picture_main'] = array(); $aJson['d3_picture_main'] = [];
$aJson['d3_picture_main']['aXMLPictureParams'] = array(); $aJson['d3_picture_main']['aXMLPictureParams'] = [];
$iIndex = 0; $iIndex = 0;
foreach ($oXMLPictures as $oXMLPicture) { foreach ($oXMLPictures as $oXMLPicture) {
/** @var d3simplexml $oXMLPicture */ /** @var d3simplexml $oXMLPicture */

File diff suppressed because one or more lines are too long

50
assets/picture.svg Normal file
View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="201px" height="124px" viewBox="0 0 201 124" enable-background="new 0 0 201 124" xml:space="preserve">
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="47.0591" y1="67.5117" x2="47.0591" y2="54.6143">
<stop offset="0.0056" style="stop-color:#3266A9"/>
<stop offset="1" style="stop-color:#0099FF"/>
</linearGradient>
<path fill="url(#SVGID_1_)" d="M50.282,55.502c-0.784-0.592-2.104-0.888-3.961-0.888h-1.376l-2.283,12.898h1.779
c3.76,0,6.032-2.245,6.815-6.733c0.134-0.871,0.202-1.642,0.202-2.313C51.457,57.081,51.064,56.093,50.282,55.502z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="65.9609" y1="49.104" x2="65.9609" y2="36.9434">
<stop offset="0.0056" style="stop-color:#3266A9"/>
<stop offset="1" style="stop-color:#0099FF"/>
</linearGradient>
<path fill="url(#SVGID_2_)" d="M65.72,40.482c1.074,0,1.611,0.381,1.611,1.143c0,0.701-0.321,1.201-0.962,1.5
c-0.209,0.119-0.366,0.194-0.471,0.224c-0.065,0.019-0.158,0.037-0.271,0.056c1.98,1.621,3.702,3.544,5.097,5.699
c0.117-0.321,0.21-0.658,0.277-1.013l0.09-1.008c0-1.223-0.568-2.081-1.701-2.574c0.776-0.402,1.376-0.94,1.801-1.611
c0.425-0.672,0.638-1.418,0.638-2.239c0-0.642-0.198-1.265-0.593-1.868c-0.396-0.605-0.98-1.049-1.757-1.333
c-0.433-0.193-0.876-0.328-1.332-0.402c-0.456-0.075-1.003-0.113-1.645-0.113c-0.82,0-1.663,0.124-2.529,0.37
c-0.865,0.246-1.6,0.563-2.204,0.952s-1.13,0.907-1.578,1.557c-0.036,0.052-0.066,0.109-0.101,0.163
c1.196,0.534,2.341,1.163,3.426,1.874C63.947,40.943,64.68,40.482,65.72,40.482z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="50.0576" y1="87.0566" x2="50.0576" y2="37.8525">
<stop offset="0.0056" style="stop-color:#3266A9"/>
<stop offset="1" style="stop-color:#0099FF"/>
</linearGradient>
<path fill="url(#SVGID_3_)" d="M70.725,49.104c-0.433,1.189-1.208,2.147-2.331,2.871c-1.425,0.918-3.182,1.377-5.271,1.377
c-1.179,0-2.175-0.176-2.988-0.525c-0.813-0.35-1.444-0.864-1.891-1.543c-0.448-0.678-0.671-1.481-0.671-2.405l0.022-0.694
l0.156-0.693h4.367l-0.028,0.179v0.179v0.246c0,1.164,0.628,1.746,1.884,1.746c0.635,0,1.201-0.217,1.696-0.649
c0.495-0.434,0.742-0.94,0.742-1.522c0-0.522-0.194-0.887-0.582-1.097c-0.329-0.208-1.007-0.313-2.036-0.313l0.47-2.754
l1.141-0.067c0.083-0.011,0.154-0.022,0.221-0.033c-0.674-0.551-1.378-1.067-2.11-1.546c-0.044,0.096-0.087,0.195-0.125,0.302
h-4.185c0.192-0.837,0.49-1.56,0.884-2.175c-3.064-1.372-6.46-2.133-10.034-2.133c-13.588,0-24.603,11.014-24.603,24.601
c0,13.59,11.015,24.604,24.603,24.604S74.66,76.043,74.66,62.453C74.66,57.532,73.214,52.949,70.725,49.104z M59.413,59.233
l-0.168,1.275c-0.538,2.953-1.511,5.404-2.921,7.35c-1.298,1.835-3.016,3.179-5.153,4.028c-2.138,0.851-4.494,1.274-7.067,1.274
H33.731l4.264-24.198h10.441c1.141,0,2.204,0.073,3.189,0.218c0.984,0.146,1.868,0.364,2.651,0.655
c1.611,0.537,2.887,1.471,3.827,2.802c0.94,1.332,1.41,2.992,1.41,4.984L59.413,59.233z"/>
</g>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="107.3027" y1="105.8555" x2="93.0727" y2="16.0106">
<stop offset="0" style="stop-color:#B2B2B2;stop-opacity:0"/>
<stop offset="0.2" style="stop-color:#B2B2B2"/>
<stop offset="0.8" style="stop-color:#B2B2B2"/>
<stop offset="1" style="stop-color:#B2B2B2;stop-opacity:0"/>
</linearGradient>
<rect x="99.875" y="14.933" fill="url(#SVGID_4_)" width="0.625" height="92"/>
<path d="M172.75,44.714v4.714c0,4.34-9.853,7.857-22,7.857s-22-3.518-22-7.857v-4.714c0-4.34,9.853-7.857,22-7.857
S172.75,40.374,172.75,44.714z M167.366,57.942c2.045-0.725,3.92-1.657,5.384-2.809v10.009c0,4.34-9.853,7.857-22,7.857
s-22-3.518-22-7.857V55.134c1.464,1.16,3.339,2.084,5.384,2.809c4.407,1.571,10.281,2.486,16.616,2.486
S162.959,59.514,167.366,57.942z M128.75,70.848c1.464,1.16,3.339,2.084,5.384,2.809c4.407,1.57,10.281,2.486,16.616,2.486
s12.209-0.916,16.616-2.486c2.045-0.725,3.92-1.658,5.384-2.809v8.438c0,4.34-9.853,7.857-22,7.857s-22-3.518-22-7.857V70.848z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -22,22 +22,33 @@
"license": [ "license": [
"proprietary" "proprietary"
], ],
"extra": {
"oxideshop": {
"source-directory": "/src",
"target-directory": "d3/importer"
}
},
"require": { "require": {
"php": "^8.0", "php": "^8.0",
"ext-sourceguardian": "^14", "ext-sourceguardian": ">=14",
"oxid-esales/oxideshop-ce": "6.0 - 6.14", "oxid-esales/oxideshop-ce": "7.0 - 7.1",
"d3/modcfg": "^5.3.0.000 || ^6.0" "d3/modcfg": "^7.0",
"beberlei/assert": "^3.3.2"
},
"require-dev": {
"mikey179/vfsstream": "^1.4",
"friendsofphp/php-cs-fixer": "~3.13.0",
"phpstan/phpstan": "^1.10",
"boxblinkracer/phpunuhi": "^1.12"
}, },
"suggest": { "suggest": {
"d3/importer-demodata": "demodata files for testing purposes" "d3/importer-demodata": "demodata files for testing purposes"
}, },
"require-dev": { "autoload": {
"mikey179/vfsstream": "^1.4" "psr-4": {
"D3\\Importer\\": ""
}
},
"scripts": {
"php-cs-fixer": "vendor/bin/php-cs-fixer fix --config=vendor/d3/importer/.php-cs-fixer.php",
"phpstan": "vendor/bin/phpstan --configuration=vendor/d3/importer/phpstan.neon analyse",
"phpstan-report": "vendor/bin/phpstan --configuration=vendor/d3/importer/phpstan.neon analyse --error-format=json > vendor/d3/importer/sources/tests/phpstan.report.json",
"phpunuhi": "./vendor/bin/phpunuhi --configuration=vendor/d3/importer/phpunuhi.xml validate"
} }
} }

View File

@ -11,12 +11,13 @@
* @author D3 Data Development <support@shopmodule.com> * @author D3 Data Development <support@shopmodule.com>
* @link http://www.oxidmodule.com * @link http://www.oxidmodule.com
*/ */
use D3\Importer\Setup\InstallRoutine;
/** /**
* Module information * Module information
*/ */
$aModule = array( $aModule = [
'd3SetupClasses' => array( 'd3SetupClasses' => [
'd3_importer_Setup_InstallRoutine', InstallRoutine::class,
) ],
); ];

2
dependencies.yaml Normal file
View File

@ -0,0 +1,2 @@
modules:
- d3modcfg_lib

View File

@ -2,6 +2,36 @@
title: Changelog title: Changelog
--- ---
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased](https://git.d3data.de/D3Private/Importer/compare/6.0.1.0...rel_6.x)
## [6.0.1.0](https://git.d3data.de/D3Private/Importer/compare/6.0.0.1...6.0.1.0) - 2024-05-30
### added
- installierbar in OXID 7.1.x
- verfügbar für Twig Template Engine
### changed
- ungültige Länge der CSV-Trennzeichen wird behandelt
## [6.0.0.1](https://git.d3data.de/D3Private/Importer/compare/6.0.0.0...6.0.0.1) - 2024-02-20
### fixed
- fehlende Setupaufgaben zum Anlegen von Bildtabellen wiederhergestellt
## [6.0.0.0](https://git.d3data.de/D3Private/Importer/compare/5.0.7.2...6.0.0.0) - 2024-01-24
**Major version upgrade notice: there are some backward-incompatible changes to this release.**
### added
- installierbar in OXID 7.0.x
- verfügbar in PHP 8
### removed
- nicht installierbar in OXID < 7.0
- nicht verfügbar mit PHP < 8.0
## [5.0.7.2](https://git.d3data.de/D3Private/Importer/compare/5.0.7.1...5.0.7.2) - 2023-10-26 ## [5.0.7.2](https://git.d3data.de/D3Private/Importer/compare/5.0.7.1...5.0.7.2) - 2023-10-26
### Fixed ### Fixed
- fix import attributes in different languages - fix import attributes in different languages

View File

@ -1,9 +1,9 @@
{ {
"title": "<i class='fab fa-d3 d3fa-color-blue'></i> Importer", "title": "<i class='fab fa-d3 d3fa-color-blue'></i> Importer",
"moduleversion": "5.0.7.2", "moduleversion": "6.0.1.0",
"titledesc": "für den Oxid eShop", "titledesc": "für den Oxid eShop",
"author": "D³ Data Development", "author": "D³ Data Development",
"moduledate": "26.10.2023", "moduledate": "30.05.2024",
"editors": "", "editors": "",
"tagline": "", "tagline": "",
"image": "", "image": "",

View File

@ -3,9 +3,8 @@ title: Systemanforderungen
--- ---
* PHP Version * PHP Version
* 5.6.x bis 8.0.x * 8.0.x bis 8.1.x
* PHP Decoder * PHP Decoder
* installierter ionCube Loader (PHP bis 7.4) *oder*
* installierter SourceGuardian Loader (PHP ab 8.0) * installierter SourceGuardian Loader (PHP ab 8.0)
* Shopeditionen * Shopeditionen
* OXID eShop Community Edition (CE) * OXID eShop Community Edition (CE)
@ -14,16 +13,12 @@ title: Systemanforderungen
* OXID eShop B2B Edition * OXID eShop B2B Edition
* Shopversionen * Shopversionen
* OXID eShop in Compilation Version * OXID eShop in Compilation Version
* 6.0.x * 7.0.x
* 6.1.x * Templaterenderer und Themes
* 6.2.x * Smarty-Templates
* 6.3.x * admin
* 6.4.x Das Modul arbeitet unabhängig von den Frontend-Themes und
* 6.5.x bringt einen eigenen Bereich im Admin unter [ (D3) Module ] / [ Importer ] mit.* D3 Modul-Connector ([kostenfrei bei D3 erhältlich](https://www.oxidmodule.com/connector/)) ab Version 6.0.0.0
* Themes
* Das Modul arbeitet unabhängig von den Frontend-Themes und
* bringt einen eigenen Bereich im Admin unter [ (D3) Module ] / [ Importer ] mit.
* D3 Modul-Connector ([kostenfrei bei D3 erhältlich](https://www.oxidmodule.com/connector/)) ab Version 5.3.0.0
* Installation via [Composer](https://getcomposer.org) * Installation via [Composer](https://getcomposer.org)
* mindestens ein freier Cronjob zur automatischen Ausführung der angelegten Aufgaben * mindestens ein freier Cronjob zur automatischen Ausführung der angelegten Aufgaben

View File

@ -0,0 +1,5 @@
---
title: nachträgliche Anpassung der Installationsumgebung
---
Die Installation prüft die Anforderungen des Moduls zum jeweiligen Zeitpunkt. Sollen später Einstellungen der Umgebung geändert werden (z.B. neue PHP-Version), sollte vorab über Composer geprüft werden, ob die bisherige Paketzusammenstellung weiterhin gültig ist und auch die neuen Anforderungen erfüllt werden. Unter Umständen ist eine Aktualisierung der Paketzusammenstellung nötig.

View File

@ -2,7 +2,7 @@
title: Grundsätzliche Informationen title: Grundsätzliche Informationen
--- ---
Die anzusprechende Datei befindet sich unter: `{Shoproot}/source/modules/d3/importer/public/d3_importer_cron.php` Die anzusprechende Datei befindet sich unter: `{Shoproot}/source/out/modules/d3importer/d3_importer_cron.php`
Die Cronjob-Datei kann folgende Parameter (Reihenfolge beachten!) entgegennehmen: Die Cronjob-Datei kann folgende Parameter (Reihenfolge beachten!) entgegennehmen:
<dl> <dl>

View File

@ -17,7 +17,7 @@ Die Zeitangabe entspricht "jeden Tag um Mitternacht": 0 0 * * *
Bei `pfad/zu/php` sollte die vom Shop verwendete PHP Version genutzt werden. Bei `pfad/zu/php` sollte die vom Shop verwendete PHP Version genutzt werden.
Bspw.: /usr/local/php7.2/bin/php Bspw.: /usr/local/php7.2/bin/php
``` ```
0 0 * * * pfad/zu/php {Shoproot}/source/modules/d3/importer/public/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 inactive 0 0 * * * pfad/zu/php {Shoproot}/source/out/modules/d3importer/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 inactive
``` ```
## Beispiel 2 ## Beispiel 2
@ -25,7 +25,7 @@ In diesem Beispiel werden die CSV-Daten mit der Profil-ID "smf5cf2bb7668594e9e7c
und ohne "Nach Import" Funktion ausgeführt. und ohne "Nach Import" Funktion ausgeführt.
Die Zeitangabe entspricht "jede volle Stunde": 0 * * * * Die Zeitangabe entspricht "jede volle Stunde": 0 * * * *
``` ```
0 * * * * pfad/zu/php {Shoproot}/source/modules/d3/importer/public/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 0 * * * * pfad/zu/php {Shoproot}/source/out/modules/d3importer/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725
``` ```
## Beispiel 3 (nur EE) ## Beispiel 3 (nur EE)
@ -33,5 +33,5 @@ In diesem Beispiel werden die CSV-Daten mit der Profil-ID "smf5cf2bb7668594e9e7c
ohne "Nach Import" Funktion ausgeführt und in den Subshop 3 importiert. ohne "Nach Import" Funktion ausgeführt und in den Subshop 3 importiert.
Die Zeitangabe entspricht "Zur vollen Stunde und in der 30. Minute": 0,30 * * * * Die Zeitangabe entspricht "Zur vollen Stunde und in der 30. Minute": 0,30 * * * *
``` ```
0,30 * * * * pfad/zu/php {Shoproot}/source/modules/d3/importer/public/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 none 3 0,30 * * * * pfad/zu/php {Shoproot}/source/out/modules/d3importer/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 none 3
``` ```

View File

@ -8,7 +8,7 @@ Welches Importprofil per cronjob ausgeführt wird, wird in der .sh-Datei (bzw. b
#### Beispiel 1: #### Beispiel 1:
```cmd ```cmd
!/bin/bash pfad/zu/php {Shoproot}/source/modules/d3/importer/public/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 !/bin/bash pfad/zu/php {Shoproot}/source/out/modules/d3importer/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725
``` ```
In diesem Beispiel wird das Profil mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und In diesem Beispiel wird das Profil mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und
@ -16,7 +16,7 @@ ohne "Nach Import"-Aktion ausgeführt.
#### Beispiel 2: #### Beispiel 2:
``` ```
!/bin/bash pfad/zu/php {Shoproot}/source/modules/d3/importer/public/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 delete !/bin/bash pfad/zu/php {Shoproot}/source/out/modules/d3importer/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 delete
``` ```
In diesem Beispiel wird das Profil mit der Profil-ID In diesem Beispiel wird das Profil mit der Profil-ID
@ -25,7 +25,7 @@ als "Nach Import"-Aktion das Löschen nicht geänderter Artikel ausgeführt.
#### Beispiel 3 (nur EE): #### Beispiel 3 (nur EE):
``` ```
!/bin/bash pfad/zu/php {Shoproot}/source/modules/d3/importer/public/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 inactive 3 !/bin/bash pfad/zu/php {Shoproot}/source/out/modules/d3importer/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 inactive 3
``` ```
In diesem Beispiel wird das Profil mit der Profil-ID In diesem Beispiel wird das Profil mit der Profil-ID

View File

@ -72,11 +72,42 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../changelog/Changelog.html">Changelog</a></h1> <h1><a href="../changelog/Changelog.html">Changelog</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">
<h2 id="page_5-0-7-2-2023-10-26"><a href="https://git.d3data.de/D3Private/Importer/compare/5.0.7.1...5.0.7.2" class="Link--external">5.0.7.2</a> - 2023-10-26</h2> <p>All notable changes to this project will be documented in this file.</p>
<p>The format is based on <a href="https://keepachangelog.com/en/1.0.0/" class="Link--external">Keep a Changelog</a>,
and this project adheres to <a href="https://semver.org/spec/v2.0.0.html" class="Link--external">Semantic Versioning</a>.</p>
<h2 id="page_Unreleased"><a href="https://git.d3data.de/D3Private/Importer/compare/6.0.1.0...rel_6.x" class="Link--external">Unreleased</a></h2>
<h2 id="page_6-0-1-0-2024-05-30"><a href="https://git.d3data.de/D3Private/Importer/compare/6.0.0.1...6.0.1.0" class="Link--external">6.0.1.0</a> - 2024-05-30</h2>
<h3 id="page_added">added</h3>
<ul>
<li>installierbar in OXID 7.1.x</li>
<li>verfügbar für Twig Template Engine</li>
</ul>
<h3 id="page_changed">changed</h3>
<ul>
<li>ungültige Länge der CSV-Trennzeichen wird behandelt</li>
</ul>
<h2 id="page_6-0-0-1-2024-02-20"><a href="https://git.d3data.de/D3Private/Importer/compare/6.0.0.0...6.0.0.1" class="Link--external">6.0.0.1</a> - 2024-02-20</h2>
<h3 id="page_fixed">fixed</h3>
<ul>
<li>fehlende Setupaufgaben zum Anlegen von Bildtabellen wiederhergestellt</li>
</ul>
<h2 id="page_6-0-0-0-2024-01-24"><a href="https://git.d3data.de/D3Private/Importer/compare/5.0.7.2...6.0.0.0" class="Link--external">6.0.0.0</a> - 2024-01-24</h2>
<p><strong>Major version upgrade notice: there are some backward-incompatible changes to this release.</strong></p>
<h3 id="page_added-2">added</h3>
<ul>
<li>installierbar in OXID 7.0.x</li>
<li>verfügbar in PHP 8</li>
</ul>
<h3 id="page_removed">removed</h3>
<ul>
<li>nicht installierbar in OXID &lt; 7.0</li>
<li>nicht verfügbar mit PHP &lt; 8.0</li>
</ul>
<h2 id="page_5-0-7-2-2023-10-26"><a href="https://git.d3data.de/D3Private/Importer/compare/5.0.7.1...5.0.7.2" class="Link--external">5.0.7.2</a> - 2023-10-26</h2>
<h3 id="page_Fixed">Fixed</h3> <h3 id="page_Fixed">Fixed</h3>
<ul> <ul>
<li>fix import attributes in different languages</li> <li>fix import attributes in different languages</li>
@ -197,7 +228,7 @@
<ul> <ul>
<li>documentation adjusted</li> <li>documentation adjusted</li>
</ul> </ul>
<h3 id="page_fixed">fixed</h3> <h3 id="page_fixed-2">fixed</h3>
<ul> <ul>
<li>0000000: external picture import runs endlessly when importing 10 or more images</li> <li>0000000: external picture import runs endlessly when importing 10 or more images</li>
</ul> </ul>
@ -250,11 +281,11 @@ the \d3_importer_Application_Models_Collector assign's oxid's, if they are prese
</ul> </ul>
<hr /> <hr />
<h2 id="page_5-0-0-1">5.0.0.1</h2> <h2 id="page_5-0-0-1">5.0.0.1</h2>
<h3 id="page_added">added</h3> <h3 id="page_added-2">added</h3>
<ul> <ul>
<li>0000000: added exception empty if profile is empty</li> <li>0000000: added exception empty if profile is empty</li>
</ul> </ul>
<h3 id="page_changed">changed</h3> <h3 id="page_changed-2">changed</h3>
<ul> <ul>
<li>0000000: refactored template methods to template variables (templates d3_importer_main.tpl + erromessages.tpl)</li> <li>0000000: refactored template methods to template variables (templates d3_importer_main.tpl + erromessages.tpl)</li>
<li>0000000: closed resource handle</li> <li>0000000: closed resource handle</li>

View File

@ -48,8 +48,8 @@
<div class="details"> <div class="details">
<div>Autor: D³ Data Development</div> <div>Stand: 26.10.2023</div> <div>Autor: D³ Data Development</div> <div>Stand: 30.05.2024</div>
<div>Version: 5.0.7.2</div> <div>Version: 6.0.1.0</div>
</div> </div>
</div> </div>

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item Nav__item--active'><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item Nav__item--active'><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,20 +72,18 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Anforderungen/Systemanforderungen.html">Anforderungen</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></h1> <h1><a href="../../installation/Anforderungen/Systemanforderungen.html">Anforderungen</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">
<ul> <ul>
<li>PHP Version <li>PHP Version
<ul> <ul>
<li>5.6.x bis 8.0.x</li> <li>8.0.x bis 8.1.x</li>
</ul> </ul>
</li> </li>
<li>PHP Decoder <li>PHP Decoder
<ul> <ul>
<li>installierter ionCube Loader (PHP bis 7.4) <em>oder</em>
</li>
<li>installierter SourceGuardian Loader (PHP ab 8.0)</li> <li>installierter SourceGuardian Loader (PHP ab 8.0)</li>
</ul> </ul>
</li> </li>
@ -101,23 +99,22 @@
<ul> <ul>
<li>OXID eShop in Compilation Version <li>OXID eShop in Compilation Version
<ul> <ul>
<li>6.0.x</li> <li>7.0.x</li>
<li>6.1.x</li>
<li>6.2.x</li>
<li>6.3.x</li>
<li>6.4.x</li>
<li>6.5.x</li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li>Themes <li>Templaterenderer und Themes
<ul> <ul>
<li>Das Modul arbeitet unabhängig von den Frontend-Themes und</li> <li>Smarty-Templates
<li>bringt einen eigenen Bereich im Admin unter <span class="navi_element"><i class='fab fa-d3 d3fa-color-blue'></i> Module</span> / <span class="navi_element">Importer</span> mit.</li> <ul>
<li>admin
Das Modul arbeitet unabhängig von den Frontend-Themes und
bringt einen eigenen Bereich im Admin unter <span class="navi_element"><i class='fab fa-d3 d3fa-color-blue'></i> Module</span> / <span class="navi_element">Importer</span> mit.* D3 Modul-Connector (<a href="https://www.oxidmodule.com/connector/" class="Link--external">kostenfrei bei D3 erhältlich</a>) ab Version 6.0.0.0</li>
</ul>
</li>
</ul> </ul>
</li> </li>
<li>D3 Modul-Connector (<a href="https://www.oxidmodule.com/connector/" class="Link--external">kostenfrei bei D3 erhältlich</a>) ab Version 5.3.0.0</li>
<li>Installation via <a href="https://getcomposer.org" class="Link--external">Composer</a> <li>Installation via <a href="https://getcomposer.org" class="Link--external">Composer</a>
</li> </li>
<li>mindestens ein freier Cronjob zur automatischen Ausführung der angelegten Aufgaben</li> <li>mindestens ein freier Cronjob zur automatischen Ausführung der angelegten Aufgaben</li>

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Anforderungen/Systemanforderungen.html">Anforderungen</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></h1> <h1><a href="../../installation/Anforderungen/Systemanforderungen.html">Anforderungen</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></h1> <h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></h1> <h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></h1> <h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></h1> <h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></h1> <h1><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Deinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item Nav__item--active'><a href="../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item Nav__item--active'><a href="../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../installation/Demodaten.html">Demodaten</a></h1> <h1><a href="../installation/Demodaten.html">Demodaten</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item Nav__item--active'><a href="../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item Nav__item--active'><a href="../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../installation/Installation.html">Installation / Update / Deinstallation</a></h1> <h1><a href="../installation/Installation.html">Installation / Update / Deinstallation</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item Nav__item--active'><a href="../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item Nav__item--active'><a href="../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../installation/Installationspruefung.html">Installationsprüfung</a></h1> <h1><a href="../installation/Installationspruefung.html">Installationsprüfung</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Neuinstallation/index.html">Neuinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></h1> <h1><a href="../../installation/Neuinstallation/index.html">Neuinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Neuinstallation/index.html">Neuinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></h1> <h1><a href="../../installation/Neuinstallation/index.html">Neuinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,7 +72,7 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Neuinstallation/index.html">Neuinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></h1> <h1><a href="../../installation/Neuinstallation/index.html">Neuinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">

View File

@ -45,7 +45,7 @@
<div class="Collapsible__content"> <div class="Collapsible__content">
<!-- Navigation --> <!-- Navigation -->
<ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul> <ul class='Nav'><li class='Nav__item '><a href="../../installation/Installation.html">Installation / Update / Deinstallation</a></li><li class='Nav__item has-children'><a href="../../installation/Anforderungen/Systemanforderungen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Anforderungen</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Anforderungen/Systemanforderungen.html">Systemanforderungen</a></li><li class='Nav__item '><a href="../../installation/Anforderungen/Vorbereitungen.html">Vorbereitungen</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../../installation/Neuinstallation/index.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Neuinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Neuinstallation/Vorbereitung.html">Vorbereitungen</a></li><li class='Nav__item Nav__item--active'><a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Modul_im_Shop_aktivieren.html">Modul im Shop aktivieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Datenbankanpassungen.html">Datenbankanpassungen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Lizenz_eintragen.html">Lizenzschlüssel eintragen</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Admin_neu_starten.html">Admin neu starten</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Updatefaehigkeit.html">Updatefähigkeit</a></li><li class='Nav__item '><a href="../../installation/Neuinstallation/Umgebungsaenderungen.html">nachträgliche Anpassung der Installationsumgebung</a></li></ul></li><li class='Nav__item has-children'><a href="../../installation/Update/Updatedefinition.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Update</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Update/Updatedefinition.html">Wann kann ein Update ausgeführt werden?</a></li><li class='Nav__item '><a href="../../installation/Update/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Update/Dateien_erneuern.html">Dateien erneuern</a></li><li class='Nav__item '><a href="../../installation/Update/Providerspezifische_Installation.html">Providerspezifische Installation</a></li><li class='Nav__item '><a href="../../installation/Update/Modulinformationen_aktualisieren.html">Modulinformationen aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Shopanpassungen_installieren.html">Shopanpassungen installieren</a></li><li class='Nav__item '><a href="../../installation/Update/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li><li class='Nav__item '><a href="../../installation/Update/Lizenzschluessel_aktualisieren.html">Lizenzschlüssel aktualisieren</a></li><li class='Nav__item '><a href="../../installation/Update/Erweiterungen_anpassen.html">Erweiterungen anpassen</a></li></ul></li><li class='Nav__item '><a href="../../installation/Installationspruefung.html">Installationsprüfung</a></li><li class='Nav__item '><a href="../../installation/Schnellstart.html">Schnellstart</a></li><li class='Nav__item '><a href="../../installation/Demodaten.html">Demodaten</a></li><li class='Nav__item has-children'><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html" class="folder"><i class="Nav__arrow">&nbsp;</i>Deinstallation</a><ul class='Nav'><li class='Nav__item '><a href="../../installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html">Modulerweiterungen deaktivieren und entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_deaktivieren.html">Modul deaktivieren</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Modul_aus_der_Installation_entfernen.html">Modul aus der Installation entfernen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/Dateien_loeschen.html">Dateien löschen</a></li><li class='Nav__item '><a href="../../installation/Deinstallation/TMP-Ordner_leeren.html">TMP-Ordner leeren</a></li></ul></li></ul>
@ -72,13 +72,13 @@
<div class="Page__header"> <div class="Page__header">
<h1><a href="../../installation/Neuinstallation/index.html">Neuinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></h1> <h1><a href="../../installation/Neuinstallation/index.html">Neuinstallation</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../../installation/Neuinstallation/Modul_hinzufuegen.html">Modul zur Installation hinzufügen</a></h1>
<span class="ModifiedDate"> <span class="ModifiedDate">
30.01.2024 </span> 29.05.2024 </span>
</div> </div>
<div class="s-content"> <div class="s-content">
<h3 id="page_auf-der-Kommandozeile"><strong>auf der Kommandozeile</strong></h3> <h3 id="page_auf-der-Kommandozeile"><strong>auf der Kommandozeile</strong></h3>
<p>Führen Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des <code>source</code>- und <code>vendor</code>-Verzeichnisses) diesen Befehl aus, um das Modul <strong><i class='fab fa-d3 d3fa-color-blue'></i> Importer</strong> zur Installation hinzuzufügen:</p> <p>Führen Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des <code>source</code>- und <code>vendor</code>-Verzeichnisses) diesen Befehl aus, um das Modul <strong><i class='fab fa-d3 d3fa-color-blue'></i> Importer</strong> zur Installation hinzuzufügen:</p>
<pre><code class="language-bash">php composer require d3/importer:^5.0.7.2 --update-no-dev <pre><code class="language-bash">php composer require d3/importer:^6.0.1.0 --update-no-dev
</code></pre> </code></pre>
<blockquote class="alert alert-warning"> <blockquote class="alert alert-warning">
<i class='fas fa-exclamation-triangle'></i> <p> Achten Sie darauf, dass Composer für die Installation die selbe PHP-Version verwendet, in der auch Ihr Shop ausgeführt wird. Sie erhalten sonst möglicherweise unpassende Modulpakete.</p> <i class='fas fa-exclamation-triangle'></i> <p> Achten Sie darauf, dass Composer für die Installation die selbe PHP-Version verwendet, in der auch Ihr Shop ausgeführt wird. Sie erhalten sonst möglicherweise unpassende Modulpakete.</p>

Some files were not shown because too many files have changed in this diff Show More