From 12a949e7d29d25c0328b5829c6f6e78eb743d96a Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Wed, 5 May 2021 09:27:31 +0200 Subject: [PATCH] add 5.0.5.0 (ionCube for PHP 5.6 - 7.0) --- composer.json | 4 +- docs/daux/changelog/010_Changelog.md | 8 + docs/daux/config.json | 4 +- .../010_Systemanforderungen.md | 3 +- docs/html/changelog/Changelog.html | 14 +- docs/html/index.html | 4 +- .../Anforderungen/Systemanforderungen.html | 5 +- .../Anforderungen/Vorbereitungen.html | 2 +- .../Deinstallation/Dateien_loeschen.html | 2 +- .../Modul_aus_der_Installation_entfernen.html | 2 +- .../Deinstallation/Modul_deaktivieren.html | 2 +- ...eiterungen_deaktivieren_und_entfernen.html | 2 +- .../Deinstallation/TMP-Ordner_leeren.html | 2 +- docs/html/installation/Demodaten.html | 2 +- docs/html/installation/Installation.html | 2 +- .../installation/Installationspruefung.html | 2 +- .../Neuinstallation/Admin_neu_starten.html | 2 +- .../Neuinstallation/Datenbankanpassungen.html | 2 +- .../Neuinstallation/Lizenz_eintragen.html | 2 +- .../Neuinstallation/Modul_hinzufuegen.html | 4 +- .../Modul_im_Shop_aktivieren.html | 2 +- .../Providerspezifische_Installation.html | 2 +- .../Shopanpassungen_installieren.html | 2 +- .../Neuinstallation/TMP-Ordner_leeren.html | 2 +- .../Neuinstallation/Updatefaehigkeit.html | 2 +- .../Neuinstallation/Vorbereitung.html | 2 +- .../installation/Neuinstallation/index.html | 4 +- docs/html/installation/Schnellstart.html | 2 +- .../installation/Update/Dateien_erneuern.html | 4 +- .../Update/Erweiterungen_anpassen.html | 2 +- .../Lizenzschluessel_aktualisieren.html | 2 +- .../Update/Modul_deaktivieren.html | 2 +- .../Modulinformationen_aktualisieren.html | 2 +- .../Providerspezifische_Installation.html | 2 +- .../Update/Shopanpassungen_installieren.html | 2 +- .../Update/TMP-Ordner_leeren.html | 2 +- .../installation/Update/Updatedefinition.html | 2 +- .../Beschreibung_Funktionsumfang.html | 2 +- .../Cronjob_Einrichtung/Einleitung.html | 2 +- .../Einrichtung_per_Crontab.html | 2 +- .../Einrichtung_per_Shell.html | 2 +- .../Einrichtung_per_Web_Aufruf.html | 2 +- .../Grundsaetzliche_Informationen.html | 2 +- .../manual/Bedienungsanleitung/Demodaten.html | 2 +- .../Haeufig_gestellte_Fragen.html | 2 +- .../Anlegen_einer_eigenen_Importdatei.html | 2 +- .../Artikelfelder.html | 2 +- .../Artikelimport/Artikelfelder.html | 2 +- .../Artikelimport/Attribute.html | 2 +- .../Artikelimport/Auswahllisten.html | 2 +- .../Cross-Selling_+_Zubehoer.html | 2 +- .../Artikelimport/Hersteller_Lieferanten.html | 2 +- .../Artikelimport/Import.html | 2 +- .../Artikelimport/Kategorien.html | 2 +- .../Konfiguration/Artikel_Ident_Optionen.html | 2 +- .../Konfiguration/Grundeinstellungen.html | 2 +- .../Konfiguration/Preis_Optionen.html | 2 +- .../Artikelimport/Mall.html | 2 +- .../Artikelimport/Staffelpreise.html | 2 +- .../Artikelimport/Stamm.html | 2 +- .../Artikelimport/Varianten.html | 2 +- .../anlegen_von_Importprofilen.html | 2 +- .../Artikelimport/nach_Import.html | 2 +- .../Bilderimport/Import.html | 2 +- .../Bilderimport/Stamm.html | 2 +- .../Upload_Bilder_in_Importverzeichnis.html | 2 +- .../Einleitung.html | 2 +- .../Grundeinstellungen.html | 2 +- .../Schnelleinstieg/Teil1_Artikelimport.html | 2 +- .../Teil2_Vorbereitung_Bilderimport.html | 2 +- .../Schnelleinstieg/Teil3_Bilderimport.html | 2 +- .../Technische_Vorraussetzungen.html | 2 +- docs/html/support/Hilfe-und-Support.html | 2 +- .../html/tipuesearch/tipuesearch_content.json | 2 +- .../Admin/Articleimport/AdminList.php | 98 +- .../Admin/Articleimport/Afterimport.php | 281 ++-- .../Admin/Articleimport/Attribute.php | 173 ++- .../Controller/Admin/Articleimport/Base.php | 61 +- .../Admin/Articleimport/Category.php | 137 +- .../Controller/Admin/Articleimport/Config.php | 139 +- .../Admin/Articleimport/Crosselling.php | 105 +- .../Controller/Admin/Articleimport/Fields.php | 310 ++-- .../Controller/Admin/Articleimport/Import.php | 175 ++- .../Controller/Admin/Articleimport/Main.php | 451 ++++-- .../Controller/Admin/Articleimport/Mall.php | 135 +- .../Controller/Admin/Articleimport/Scales.php | 110 +- .../Admin/Articleimport/SelectList.php | 145 +- .../Admin/Articleimport/Variants.php | 268 ++-- .../Admin/Articleimport/Vendors.php | 105 +- src/Application/Controller/Admin/Base.php | 414 +++-- .../Controller/Admin/Config/AdminList.php | 84 +- .../Controller/Admin/Config/Base.php | 76 +- .../Controller/Admin/Config/Settings.php | 238 +-- .../Controller/Admin/Config/Support.php | 72 +- .../Controller/Admin/Desc/Base.php | 49 +- .../Controller/Admin/Desc/Itemlist.php | 54 +- .../Controller/Admin/Desc/Main.php | 151 +- .../Controller/Admin/Log/AdminList.php | 48 +- src/Application/Controller/Admin/Log/Base.php | 71 +- .../Admin/Pictureimport/AdminList.php | 98 +- .../Controller/Admin/Pictureimport/Base.php | 61 +- .../Controller/Admin/Pictureimport/Import.php | 374 +++-- .../Controller/Admin/Pictureimport/Main.php | 332 ++-- src/Application/Controller/Import/Article.php | 643 +++++--- src/Application/Models/Afterimport.php | 74 +- src/Application/Models/Collector.php | 58 +- src/Application/Models/Csvconverter.php | 112 +- src/Application/Models/Formbuilder.php | 83 +- src/Application/Models/Groupbuilder.php | 52 +- src/Application/Models/Import/Accessories.php | 176 +-- src/Application/Models/Import/Article.php | 471 +++--- src/Application/Models/Import/Attributes.php | 243 ++- src/Application/Models/Import/Category.php | 386 ++--- .../Models/Import/Crossselling.php | 179 ++- .../Models/Import/ImportAbstract.php | 52 +- src/Application/Models/Import/Mall.php | 118 +- .../Models/Import/Manufacturer.php | 150 +- .../Models/Import/Price2article.php | 170 +- src/Application/Models/Import/Selectlist.php | 180 +-- src/Application/Models/Import/Vendor.php | 148 +- src/Application/Models/ImportConfig.php | 611 ++++---- .../Models/ImporterDescription.php | 54 +- src/Application/Models/Interface/Import.php | 36 +- src/Application/Models/PictureImport.php | 1366 +++++++++-------- src/Application/Models/Profilemapper.php | 73 +- src/Application/Models/Service/Import.php | 120 +- src/Application/Models/Settings/Combined.php | 60 +- src/Application/Models/Settings/Complex.php | 126 +- src/Application/Models/Settings/Config.php | 109 +- .../Models/Settings/Defaultboolean.php | 86 +- src/Application/Models/Settings/Element.php | 70 +- src/Application/Models/Settings/Mall.php | 88 +- .../views/admin/de/d3_importer_lang.php | 12 +- .../views/admin/en/d3_importer_lang.php | 12 +- src/Setup/InstallRoutine.php | 487 +----- src/metadata.php | 7 +- 136 files changed, 6350 insertions(+), 5259 deletions(-) diff --git a/composer.json b/composer.json index 2273037..6902155 100644 --- a/composer.json +++ b/composer.json @@ -30,8 +30,8 @@ }, "require": { "php": "5.6 - 7.0", "ext-ionCube-Loader": "*", - "oxid-esales/oxideshop-ce": "6.0 - 6.6", - "d3/modcfg": "^5.3.0.000" + "oxid-esales/oxideshop-ce": "6.0 - 6.8", + "d3/modcfg": "^5.3.0.000 || ^6.0" }, "suggest": { "d3/importer-demodata": "demodata files for testing purposes" diff --git a/docs/daux/changelog/010_Changelog.md b/docs/daux/changelog/010_Changelog.md index 13867c6..2cd71fc 100644 --- a/docs/daux/changelog/010_Changelog.md +++ b/docs/daux/changelog/010_Changelog.md @@ -2,6 +2,14 @@ title: Changelog --- +## 5.0.5.0 - (2021-05-03) +### Changed +- Installierbar in OXID 6.2.4 und 6.3 +- Adminmenüeintrag um Icon ergänzt +- fügt nur die konfigurierte Anzahl Importbilderfelder und -indizes zur Datenbank hinzu + +--- + ## 5.0.4.2 - (2021-04-13) ### Fixed - nicht funktionierendes Preisupdate bei EE-Subshops mit vererbten Preisen korrigiert diff --git a/docs/daux/config.json b/docs/daux/config.json index e4990d6..ec37e58 100644 --- a/docs/daux/config.json +++ b/docs/daux/config.json @@ -1,9 +1,9 @@ { "title": " Importer", - "moduleversion": "5.0.4.2", + "moduleversion": "5.0.5.0", "titledesc": "für den Oxid eShop", "author": "D³ Data Development", - "moduledate": "13.04.2021", + "moduledate": "03.05.2021", "editors": "", "tagline": "", "image": "", diff --git a/docs/daux/installation/010_Anforderungen/010_Systemanforderungen.md b/docs/daux/installation/010_Anforderungen/010_Systemanforderungen.md index 58bde94..9c766e3 100644 --- a/docs/daux/installation/010_Anforderungen/010_Systemanforderungen.md +++ b/docs/daux/installation/010_Anforderungen/010_Systemanforderungen.md @@ -3,7 +3,7 @@ title: Systemanforderungen --- * PHP Version - * 5.6.x bis 7.4.x + * 5.6.x bis 8.0.x * PHP Decoder * installierter ionCube Loader * Shopeditionen @@ -16,6 +16,7 @@ title: Systemanforderungen * 6.0.x * 6.1.x * 6.2.x + * 6.3.x * Themes * Das Modul arbeitet unabhängig von den Frontend-Themes und * bringt einen eigenen Bereich im Admin unter [ (D3) Module ] / [ Importer ] mit. diff --git a/docs/html/changelog/Changelog.html b/docs/html/changelog/Changelog.html index 44346ca..b051a70 100644 --- a/docs/html/changelog/Changelog.html +++ b/docs/html/changelog/Changelog.html @@ -72,16 +72,24 @@
-

5.0.4.2 - (2021-04-13)

+

5.0.5.0 - (2021-05-03)

+

Changed

+ +
+

5.0.4.2 - (2021-04-13)

Fixed

-

Changed

+

Changed

diff --git a/docs/html/installation/Anforderungen/Systemanforderungen.html b/docs/html/installation/Anforderungen/Systemanforderungen.html index 24b4427..44e4778 100644 --- a/docs/html/installation/Anforderungen/Systemanforderungen.html +++ b/docs/html/installation/Anforderungen/Systemanforderungen.html @@ -72,14 +72,14 @@
diff --git a/docs/html/installation/Anforderungen/Vorbereitungen.html b/docs/html/installation/Anforderungen/Vorbereitungen.html index 76dc42d..190a60f 100644 --- a/docs/html/installation/Anforderungen/Vorbereitungen.html +++ b/docs/html/installation/Anforderungen/Vorbereitungen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Deinstallation/Dateien_loeschen.html b/docs/html/installation/Deinstallation/Dateien_loeschen.html index 269073c..d63aaba 100644 --- a/docs/html/installation/Deinstallation/Dateien_loeschen.html +++ b/docs/html/installation/Deinstallation/Dateien_loeschen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Deinstallation/Modul_aus_der_Installation_entfernen.html b/docs/html/installation/Deinstallation/Modul_aus_der_Installation_entfernen.html index 0b7d99d..09e191a 100644 --- a/docs/html/installation/Deinstallation/Modul_aus_der_Installation_entfernen.html +++ b/docs/html/installation/Deinstallation/Modul_aus_der_Installation_entfernen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Deinstallation/Modul_deaktivieren.html b/docs/html/installation/Deinstallation/Modul_deaktivieren.html index b45ea41..16038dc 100644 --- a/docs/html/installation/Deinstallation/Modul_deaktivieren.html +++ b/docs/html/installation/Deinstallation/Modul_deaktivieren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html b/docs/html/installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html index 7289c1f..cf2d182 100644 --- a/docs/html/installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html +++ b/docs/html/installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Deinstallation/TMP-Ordner_leeren.html b/docs/html/installation/Deinstallation/TMP-Ordner_leeren.html index 475676d..05436fd 100644 --- a/docs/html/installation/Deinstallation/TMP-Ordner_leeren.html +++ b/docs/html/installation/Deinstallation/TMP-Ordner_leeren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Demodaten.html b/docs/html/installation/Demodaten.html index 6db347d..37dbb61 100644 --- a/docs/html/installation/Demodaten.html +++ b/docs/html/installation/Demodaten.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Installation.html b/docs/html/installation/Installation.html index 4a2a825..84a049c 100644 --- a/docs/html/installation/Installation.html +++ b/docs/html/installation/Installation.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Installationspruefung.html b/docs/html/installation/Installationspruefung.html index 1238167..12a6aea 100644 --- a/docs/html/installation/Installationspruefung.html +++ b/docs/html/installation/Installationspruefung.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/Admin_neu_starten.html b/docs/html/installation/Neuinstallation/Admin_neu_starten.html index 6b63896..d326f1a 100644 --- a/docs/html/installation/Neuinstallation/Admin_neu_starten.html +++ b/docs/html/installation/Neuinstallation/Admin_neu_starten.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/Datenbankanpassungen.html b/docs/html/installation/Neuinstallation/Datenbankanpassungen.html index 703cf7b..dc2c2df 100644 --- a/docs/html/installation/Neuinstallation/Datenbankanpassungen.html +++ b/docs/html/installation/Neuinstallation/Datenbankanpassungen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/Lizenz_eintragen.html b/docs/html/installation/Neuinstallation/Lizenz_eintragen.html index 13a0dac..63553ac 100644 --- a/docs/html/installation/Neuinstallation/Lizenz_eintragen.html +++ b/docs/html/installation/Neuinstallation/Lizenz_eintragen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/Modul_hinzufuegen.html b/docs/html/installation/Neuinstallation/Modul_hinzufuegen.html index 22d30c7..cecba67 100644 --- a/docs/html/installation/Neuinstallation/Modul_hinzufuegen.html +++ b/docs/html/installation/Neuinstallation/Modul_hinzufuegen.html @@ -72,13 +72,13 @@

auf der Kommandozeile

Führen Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um das Modul Importer zur Installation hinzuzufügen:

-
php composer require d3/importer:^5.0.4.2 --update-no-dev
+
php composer require d3/importer:^5.0.5.0 --update-no-dev
 

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.

diff --git a/docs/html/installation/Neuinstallation/Modul_im_Shop_aktivieren.html b/docs/html/installation/Neuinstallation/Modul_im_Shop_aktivieren.html index 77897fa..4f37294 100644 --- a/docs/html/installation/Neuinstallation/Modul_im_Shop_aktivieren.html +++ b/docs/html/installation/Neuinstallation/Modul_im_Shop_aktivieren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/Providerspezifische_Installation.html b/docs/html/installation/Neuinstallation/Providerspezifische_Installation.html index e49d980..21d8bb9 100644 --- a/docs/html/installation/Neuinstallation/Providerspezifische_Installation.html +++ b/docs/html/installation/Neuinstallation/Providerspezifische_Installation.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/Shopanpassungen_installieren.html b/docs/html/installation/Neuinstallation/Shopanpassungen_installieren.html index bfd7517..9315b4a 100644 --- a/docs/html/installation/Neuinstallation/Shopanpassungen_installieren.html +++ b/docs/html/installation/Neuinstallation/Shopanpassungen_installieren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/TMP-Ordner_leeren.html b/docs/html/installation/Neuinstallation/TMP-Ordner_leeren.html index 19d5b1b..cd61bae 100644 --- a/docs/html/installation/Neuinstallation/TMP-Ordner_leeren.html +++ b/docs/html/installation/Neuinstallation/TMP-Ordner_leeren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/Updatefaehigkeit.html b/docs/html/installation/Neuinstallation/Updatefaehigkeit.html index 417b7a7..401e690 100644 --- a/docs/html/installation/Neuinstallation/Updatefaehigkeit.html +++ b/docs/html/installation/Neuinstallation/Updatefaehigkeit.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/Vorbereitung.html b/docs/html/installation/Neuinstallation/Vorbereitung.html index 3347a5a..b984a52 100644 --- a/docs/html/installation/Neuinstallation/Vorbereitung.html +++ b/docs/html/installation/Neuinstallation/Vorbereitung.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Neuinstallation/index.html b/docs/html/installation/Neuinstallation/index.html index dddaf14..54218be 100644 --- a/docs/html/installation/Neuinstallation/index.html +++ b/docs/html/installation/Neuinstallation/index.html @@ -72,13 +72,13 @@

Schnellstart per Composer

auf der Kommandozeile

-
php composer require d3/importer:^5.0.4.2 --update-no-dev
+
php composer require d3/importer:^5.0.5.0 --update-no-dev
 ./vendor/bin/oe-console oe:module:activate d3importer
 ./vendor/bin/d3modules_install
 ./vendor/bin/d3cleartmp
diff --git a/docs/html/installation/Schnellstart.html b/docs/html/installation/Schnellstart.html
index 774f3ef..a857724 100644
--- a/docs/html/installation/Schnellstart.html
+++ b/docs/html/installation/Schnellstart.html
@@ -72,7 +72,7 @@
     
 
     
diff --git a/docs/html/installation/Update/Dateien_erneuern.html b/docs/html/installation/Update/Dateien_erneuern.html index 765e589..02a72f2 100644 --- a/docs/html/installation/Update/Dateien_erneuern.html +++ b/docs/html/installation/Update/Dateien_erneuern.html @@ -72,14 +72,14 @@

auf der Kommandozeile

Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). Führen Sie dort diesen Befehl aus:

-
php composer require d3/importer:^5.0.4.2 --update-no-dev
+
php composer require d3/importer:^5.0.5.0 --update-no-dev
 

Im weiteren Ablauf werden Sie gefragt, ob die Moduldateien überschrieben werden sollen. Bestätigen Sie dies für den Eintrag d3/importer.

diff --git a/docs/html/installation/Update/Erweiterungen_anpassen.html b/docs/html/installation/Update/Erweiterungen_anpassen.html index 40b4eec..eec6b94 100644 --- a/docs/html/installation/Update/Erweiterungen_anpassen.html +++ b/docs/html/installation/Update/Erweiterungen_anpassen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Update/Lizenzschluessel_aktualisieren.html b/docs/html/installation/Update/Lizenzschluessel_aktualisieren.html index 89c319f..9faba8b 100644 --- a/docs/html/installation/Update/Lizenzschluessel_aktualisieren.html +++ b/docs/html/installation/Update/Lizenzschluessel_aktualisieren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Update/Modul_deaktivieren.html b/docs/html/installation/Update/Modul_deaktivieren.html index a784de6..00ef921 100644 --- a/docs/html/installation/Update/Modul_deaktivieren.html +++ b/docs/html/installation/Update/Modul_deaktivieren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Update/Modulinformationen_aktualisieren.html b/docs/html/installation/Update/Modulinformationen_aktualisieren.html index ff5a31d..6be44b2 100644 --- a/docs/html/installation/Update/Modulinformationen_aktualisieren.html +++ b/docs/html/installation/Update/Modulinformationen_aktualisieren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Update/Providerspezifische_Installation.html b/docs/html/installation/Update/Providerspezifische_Installation.html index 593204b..6ef4a40 100644 --- a/docs/html/installation/Update/Providerspezifische_Installation.html +++ b/docs/html/installation/Update/Providerspezifische_Installation.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Update/Shopanpassungen_installieren.html b/docs/html/installation/Update/Shopanpassungen_installieren.html index 8d7bbda..e734022 100644 --- a/docs/html/installation/Update/Shopanpassungen_installieren.html +++ b/docs/html/installation/Update/Shopanpassungen_installieren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Update/TMP-Ordner_leeren.html b/docs/html/installation/Update/TMP-Ordner_leeren.html index 17f7cae..2a1956d 100644 --- a/docs/html/installation/Update/TMP-Ordner_leeren.html +++ b/docs/html/installation/Update/TMP-Ordner_leeren.html @@ -72,7 +72,7 @@
diff --git a/docs/html/installation/Update/Updatedefinition.html b/docs/html/installation/Update/Updatedefinition.html index b11a29f..71e47bc 100644 --- a/docs/html/installation/Update/Updatedefinition.html +++ b/docs/html/installation/Update/Updatedefinition.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Beschreibung_Funktionsumfang.html b/docs/html/manual/Bedienungsanleitung/Beschreibung_Funktionsumfang.html index 51d5e17..c7657bf 100644 --- a/docs/html/manual/Bedienungsanleitung/Beschreibung_Funktionsumfang.html +++ b/docs/html/manual/Bedienungsanleitung/Beschreibung_Funktionsumfang.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einleitung.html b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einleitung.html index f749241..1c047f4 100644 --- a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einleitung.html +++ b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einleitung.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Crontab.html b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Crontab.html index 26e68e7..0c96829 100644 --- a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Crontab.html +++ b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Crontab.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Shell.html b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Shell.html index 1e81360..749fdbd 100644 --- a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Shell.html +++ b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Shell.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Web_Aufruf.html b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Web_Aufruf.html index 81f375a..b82389b 100644 --- a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Web_Aufruf.html +++ b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Einrichtung_per_Web_Aufruf.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Grundsaetzliche_Informationen.html b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Grundsaetzliche_Informationen.html index 1df423b..fc30e61 100644 --- a/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Grundsaetzliche_Informationen.html +++ b/docs/html/manual/Bedienungsanleitung/Cronjob_Einrichtung/Grundsaetzliche_Informationen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Demodaten.html b/docs/html/manual/Bedienungsanleitung/Demodaten.html index 8b1899b..55138e6 100644 --- a/docs/html/manual/Bedienungsanleitung/Demodaten.html +++ b/docs/html/manual/Bedienungsanleitung/Demodaten.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Haeufig_gestellte_Fragen.html b/docs/html/manual/Bedienungsanleitung/Haeufig_gestellte_Fragen.html index f95ac9d..c48c68d 100644 --- a/docs/html/manual/Bedienungsanleitung/Haeufig_gestellte_Fragen.html +++ b/docs/html/manual/Bedienungsanleitung/Haeufig_gestellte_Fragen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Anlegen_einer_eigenen_Importdatei.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Anlegen_einer_eigenen_Importdatei.html index d8a9ef0..971737b 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Anlegen_einer_eigenen_Importdatei.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Anlegen_einer_eigenen_Importdatei.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelfelder.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelfelder.html index 5065433..9580f38 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelfelder.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelfelder.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Artikelfelder.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Artikelfelder.html index 3ae9adf..713c46d 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Artikelfelder.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Artikelfelder.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Attribute.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Attribute.html index 95ff022..07dddcc 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Attribute.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Attribute.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Auswahllisten.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Auswahllisten.html index 5346bbb..021050f 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Auswahllisten.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Auswahllisten.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Cross-Selling_+_Zubehoer.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Cross-Selling_+_Zubehoer.html index 8df0311..6cf1370 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Cross-Selling_+_Zubehoer.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Cross-Selling_+_Zubehoer.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Hersteller_Lieferanten.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Hersteller_Lieferanten.html index 5f1d839..a453019 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Hersteller_Lieferanten.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Hersteller_Lieferanten.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Import.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Import.html index c8a881f..e6cd665 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Import.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Import.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Kategorien.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Kategorien.html index e578d67..ce56174 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Kategorien.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Kategorien.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Artikel_Ident_Optionen.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Artikel_Ident_Optionen.html index 0c3e762..ecde06a 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Artikel_Ident_Optionen.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Artikel_Ident_Optionen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Grundeinstellungen.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Grundeinstellungen.html index fedbac2..046719b 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Grundeinstellungen.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Grundeinstellungen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Preis_Optionen.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Preis_Optionen.html index 57e0abd..343870e 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Preis_Optionen.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Konfiguration/Preis_Optionen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Mall.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Mall.html index d0de44e..8a354fc 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Mall.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Mall.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Staffelpreise.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Staffelpreise.html index f6ae0c7..b0779d3 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Staffelpreise.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Staffelpreise.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Stamm.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Stamm.html index 7df0e15..6abd3b7 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Stamm.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Stamm.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Varianten.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Varianten.html index fffd983..f316836 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Varianten.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/Varianten.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/anlegen_von_Importprofilen.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/anlegen_von_Importprofilen.html index cf74ecd..ddf6a2b 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/anlegen_von_Importprofilen.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/anlegen_von_Importprofilen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/nach_Import.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/nach_Import.html index 4a02262..1ae759a 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/nach_Import.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Artikelimport/nach_Import.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Import.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Import.html index 9e157a3..58c2d4c 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Import.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Import.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Stamm.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Stamm.html index a0b43c0..c761d36 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Stamm.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Stamm.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Upload_Bilder_in_Importverzeichnis.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Upload_Bilder_in_Importverzeichnis.html index 47347d1..57e77e1 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Upload_Bilder_in_Importverzeichnis.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Bilderimport/Upload_Bilder_in_Importverzeichnis.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Einleitung.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Einleitung.html index 23f3b89..098bf82 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Einleitung.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Einleitung.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Grundeinstellungen.html b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Grundeinstellungen.html index b9183a7..0288291 100644 --- a/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Grundeinstellungen.html +++ b/docs/html/manual/Bedienungsanleitung/Importanleitung_ausfuehrlich/Grundeinstellungen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil1_Artikelimport.html b/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil1_Artikelimport.html index 7ef4d3f..d972a13 100644 --- a/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil1_Artikelimport.html +++ b/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil1_Artikelimport.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil2_Vorbereitung_Bilderimport.html b/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil2_Vorbereitung_Bilderimport.html index 03de9e6..963b913 100644 --- a/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil2_Vorbereitung_Bilderimport.html +++ b/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil2_Vorbereitung_Bilderimport.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil3_Bilderimport.html b/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil3_Bilderimport.html index f8fc28e..c7ca273 100644 --- a/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil3_Bilderimport.html +++ b/docs/html/manual/Bedienungsanleitung/Schnelleinstieg/Teil3_Bilderimport.html @@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Bedienungsanleitung/Technische_Vorraussetzungen.html b/docs/html/manual/Bedienungsanleitung/Technische_Vorraussetzungen.html index d8d3eee..b9fd1de 100644 --- a/docs/html/manual/Bedienungsanleitung/Technische_Vorraussetzungen.html +++ b/docs/html/manual/Bedienungsanleitung/Technische_Vorraussetzungen.html @@ -72,7 +72,7 @@
diff --git a/docs/html/support/Hilfe-und-Support.html b/docs/html/support/Hilfe-und-Support.html index 5b76c10..3fcc896 100644 --- a/docs/html/support/Hilfe-und-Support.html +++ b/docs/html/support/Hilfe-und-Support.html @@ -72,7 +72,7 @@
diff --git a/docs/html/tipuesearch/tipuesearch_content.json b/docs/html/tipuesearch/tipuesearch_content.json index 6d940ff..459c210 100644 --- a/docs/html/tipuesearch/tipuesearch_content.json +++ b/docs/html/tipuesearch/tipuesearch_content.json @@ -1 +1 @@ -{"pages":[{"title":"<\/i> Importer","text":"Weitere Informationen zum Modul Importer finden Sie in unserem Shop: https:\/\/www.oxidmodule.com","tags":"","url":"index.html"},{"title":"Changelog","text":"5.0.4.2 - (2021-04-13) Fixed nicht funktionierendes Preisupdate bei EE-Subshops mit vererbten Preisen korrigiert Changed Hinweis f\u00fcr Preisimporte mit prozentualer Ver\u00e4nderung erg\u00e4nzt Dokumentation aktualisiert 5.0.4.1 - (2020-11-30) Added Freigabe f\u00fcr OXID 6.2.3 Changed Shopid f\u00fcr Tabelle d3importconfig auf init(11) 5.0.4.0 - (2020-04-20) Added installierbar in OXID 6.2 Changed Abh\u00e4ngigkeiten f\u00fcr Installationen ohne Metapackage von OXID Metapackage zu Shop-Core ge\u00e4ndert 5.0.3.0 - (2020-02-07) Added Composer installation supported Changed documentation adjusted fixed 0000000: external picture import runs endlessly when importing 10 or more images 5.0.2.0 0001991: Neue Option - Bilder im Importverzeichnis l\u00f6schen, verschieben 0002805: neue Bildimportoption "Master Bilder am Artikel erst l\u00f6schen, dann importieren" 0002002: Alle Update Checkboxen an\/abw\u00e4hlen 0007825: Mall Tab erlaubt keine Leer M\u00f6glichkeit 0000000: fixed category import add's a relationship with oxrootid if column is empty 0000000: refactored \\d3_importer_Application_Models_Models_Import_Article::setUpdate 0000000: refactored \\d3_importer_Application_Models_Models_Import_Article::setInsert 0000000: added methods in class \\d3_importer_Application_Models_Models_Import_Article: setArticleOxid, setRemindActiveFlag, addPriceFields 0000000: refactored collector -> moved methods to importService: getCsvLines, addOxidToCSVData 0000000: added class \\d3_importer_Application_Models_Service_Import and modified constructor of \\d3_importer_Application_Models_Interface_Import + \\d3_importer_Application_Models_ImportAbstract 0000000: refactored import models > moved method's getArticleRecords into \\d3_importer_Application_Models_Collector; the \\d3_importer_Application_Models_Collector assign's oxid's, if they are present in the database 0000000: added abstract class \\d3_importer_Application_Models_ImportAbstract for future refactorings in import models 0000000: added interface \\d3_importer_Application_Models_Interface_Import for future refactorings in import models 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Accessories::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Article::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Attributes::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Category::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Crossselling::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Mall::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Manufacturer::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Price2Article::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Selectlist::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Vendor::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored variable names in \\d3_importer_Application_Controller_Import_Article::getImportFields 5.0.1.1 0008260: make it possible to import d3 content tabs fields 0008033: longdesc couldn't imported into variants 0000000: optical changes in picture import 0006221: articlefields will not translated into english 5.0.1.0 0007694: v6 after import "delete\/deactivate articles" doesn't work 0007613: "deactivate articles" overwrite values in table oxarticles 0007733: import scale prices absolute or percentally 0007759: crossselling and accessories works partially 0004280: verify EE compatibility 0000000: update demo importprofile + csv data 5.0.0.1 added 0000000: added exception empty if profile is empty changed 0000000: refactored template methods to template variables (templates d3_importer_main.tpl + erromessages.tpl) 0000000: closed resource handle 0000000: solved inspection code - results 0000000: reset metadata module id to d3importer 0000000: improve code (use getOne instead of getAll, reduced code) 0000000: replaced execute to getAll while using select query in category model 0000000: replaced select to delete query in deleteArticleAssign method in Selectlist model 0000000: removed unused deleteArticleAssign in vendor model 0000000: corrected some germans typo's 0000000: added notice for category import fixed 0000000: handling in d3_importer_cron.php doesn't work 0000000: importer fields in frontend (admin) 0000000: after import ticker 0006856: pictureimport: checkboxes will not saved 5.0.0.0 Minor version upgrade notice: there are some backward-incompatible changes to this release. 0005803: upgrade to oxid eShop version 6.0.0.0 0000000: drop support of oxid eShop version 4.10.x \/ 5.3.x 4.5.0.0 Minor version upgrade notice: there are some backward-incompatible changes to this release. 0000000: Modul wurde grundlegend \u00fcberarbeitet 0006523: Zeitstempel und weitere Informationen im Cronjob hinzugef\u00fcgt 0002014: nur EE: Profile in anderen Subshops ausblenden 0004280: EE testen und anpassen - Zuweisung Artikel 0006371: Textinfo "Pflicht...Artikelnummer" ist falsch 0000000: Leerwert f\u00fcr Artikelidentifikation hinzugef\u00fcgt 0000000: Fehler in den "ja"\/"nein" Definition behoben 0000000: Button f\u00fcr den Bilderimport hinzugef\u00fcgt 0000000: Mall Tab nutzt Formularbuilder 0000000: Altes Attributshandling wurde entfernt 4.4.2.0 0004766: \u00dcberarbeitung der automatischen Installation 0004836: Tags werden beim Importvorgang gek\u00fcrzt 0000000: 4.8.x\/5.1.x wird nicht mehr unterst\u00fctzt 0000000: unbenutzte Felder im Code entfernt 0000000: Sprachidents f\u00fcr d3importpic13-20 hinzugef\u00fcgt 0005377: d3importerdesc editierbar machen 0005378: Felder f\u00fcr D3 Content Tabs im Importer aufnehmen 0004705: Zeilenumbr\u00fcche werden nicht erkannt v4.4.1.6 0004657: oxid als "Auswahl f\u00fcr Artikelidentifikationsfelder" nicht m\u00f6glich 0004876: Leere Attribute werden angelegt 0004870: Import von Attributen: EE - Handling 0004487: nur 12 Bilder (bis oxpic12) statt 20 k\u00f6nnen beim Bilderimport verwendet werden 0004771: Navigation speichert Profil ab 0004506: doppelte Kategorien, Hersteller und Lieferanten bei Subsprache 4.4.1.6 0003728: seo URl's werden bei der Einstellung "Artikel-Kat.-Zuordnungen vorher l\u00f6schen" nicht gel\u00f6scht 0003724: oxremindactive wird nicht aktualisiert 4.4.1.5 0003570: Vordefinierte Werte funktionieren nicht. 0003572: Fehlerhafte Z\u00e4hlung der aktualisierten Artikel im CronJob 0003681: min. Connector - Version auf 4.3.1.2 setzen 0003624: Hinweise deutlich sichtbarer, wenn eine Demolizenz benutzt wird 0003643: Templates durch Bl\u00f6cke erweitern 4.4.1.4 Aufteilung der automatischen Installation Struktur\u00e4nderung: Datei f\u00fcr das automatische Update von models nach setup verschoben fehlende \u00dcbersetzungen nachgetragen Hilfe-Link korrigiert Korrektur der automatischen Installation, \u00dcbernahme des bereits hinterlegten Lizenzschl\u00fcssels 4.4.1.3 Korrektur des Imports von Tags Korrektur zu Kategoriezuweisungen welche nicht \u00fcbernommen wurden Fehler im Admin behoben - die erste CSV-Spalte konnte in der Kategoriezuweisung nicht abgespeichert werden. Korrektur dass alle Bilder beim Aufruf via Cronjob abgearbeitet werden 4.4.1.2 Inkompatibilit\u00e4t mit 4.9.0 behoben Hilfetext bei Auswahllisten korrigiert Fehler bei noch nicht gespeicherten Grundeinstellungen behoben Fehler im Cronjob behoben - Update entfernt Nachkommastellen bei Preisen mit , (Hinweis: der Cronjob nutzt nun den Admin Modus) 4.4.1.1 d3importflag von enum zu varchar(32) umge\u00e4ndert Bugfix: Attribute wurden nicht importiert Demoprofil aktualisiert 4.4.1.0 neue mehrsprachige Attributszuordnungen inkl. Fallback Bugfix: im Demomodus werden Profile nicht mehr gespeichert, wenn die maximale Anzahl der Profile erreicht ist Wenn das Modul inaktiv ist, werden die Formulare gesperrt technische Verbesserungen im Quellcode 4.4.0.2 Bugfix: Bilder mit Umlauten werden nicht importiert Bugfix: Bei einem Update werden Preise mit , abgeschnitten Neue Grundeinstellung "Auswahl f\u00fcr Kategorieidentifikationsfelder" Bugfix: Import einer Kategorie ohne Namen, sobald ein Trennzeichen an letzter Stelle steht: "Kat1,Kat2,Kat3," Bugfix: Bilder mit Sonderzeichen werden nicht importiert 4.4.0.1 Bugfix: defekte XML Profile (Importer < 4.4.0.0) werden nicht migriert Bugfix: wenn MwSt leer importiert wird, wird nun null statt 0 geschrieben Bugfix: Export von Profilen korrigiert Beispiele von Conjob Shell Dateien f\u00fcr Profihost.com Server erweitert 4.4.0.0 Neues Feature Grundeinstellungen Neuer Men\u00fcpunkt Logging Neue Einstellungen f\u00fcr den Bilderimport technische Verbesserung im Admin Anzahl der Bilder wird aus der Shopconfiguration ausgelesen Logging "externe Bilder einlesen" implementiert Gro\u00dfe CSV-Dateien werden im Admin performanter ausgelesen Auslagerung der Hilfetexte im Admin in ? - Boxen \u00dcbernahme der Importer-Smarty-Datei in das Modulverzeichnis externe Bilder werden anhand der Profil ID eingelesen Grosschreibung der Endung von CSV- \/ TXT-Dateien erm\u00f6glichen Bugfix: letzte Zeile der Importdatei importieren 4.3.3.1 Update der precheck.php 4.3.3.0 Zur\u00fccksetzen der Artikelanzahl in Kategorien, Lieferanten und Hersteller Bugfix f\u00fcr 4.8.3 Bugfix PHP 5.4-Kompatibilit\u00e4t hergestellt Bugfix nach Anlegen eines neuen Profils war das Profil nicht ausgew\u00e4hlt Bugfix Dateinamen f\u00fcr den Bilderimport auf 128 Zeichen (wie oxid Standard) festgelegt Testprofil und CSV Dateien wurden hinzugef\u00fcgt 4.3.2.4 Bugfix im Bilderimport, lediglich ein Bild wurde importiert 4.3.2.3 Bugfix in der Demoversion beim Bearbeiten der Bilder 4.3.2.2 PHP 5.4-Kompatibilit\u00e4t hergestellt 4.3.2.1 Call By References entfernt (PHP 5.4-Kompatibilit\u00e4t) Installationsfehler korrigiert 4.3.2.0 Fehlermeldungen beim laden der Konfiguration werden abgefangen und unter Importer->Einstellungen->Stamm ausgegeben simple Exportfunktion f\u00fcr Importprofile unter Importer->Einstellungen->Stamm hinzugef\u00fcgt (SQL basierend) Bugfix beim Speichern von Dateinamen mit Umlauten Bugfix Auslesen nicht zugeordneter Felder (im Tab Artikelfelder) verursachte einen Fatal Error Bugfix automatische Installation 4.3.1.2 Bugfix beim Einlesen der zu importierenden Bilder behoben (Admin fand nur 1 Bild) 4.3.1.1 Bugfix bei Import von Kategorien, welche nicht "via Name" importiert werden 4.3.1.0 automatische Installation eingef\u00fcgt Aktivierung durch Seriennummern 4.3.0.0 komplette \u00dcberarbeitung des Moduls f\u00fcr die neue Shopstruktur des OXID eShop 4.7\/5.0 4.2.5.1 Modulversionsnummer und Vorschaubild im Admin korrigiert 4.2.5 Integration der Profil-ID bei bearbeiteten Artikeln. Damit M\u00f6glichkeit den "Nach Import" auf die vom Profil betroffenen Artikeln zu beschr\u00e4nken Erweiterung des externen Bilderimports um Fehlerbehandlung und Bildtyppr\u00fcfung \u00c4nderung des Downloadverfahrens auf Curl f\u00fcr ein besseres Fehlerhandling Der externe Bilderimport geht nun nicht mehr in eine Endlosschleife wenn ung\u00fcltige Urls importiert wurden 4.2.4 N\u00f6tige \u00c4nderungen f\u00fcr Shopversion 4.6.0 eingebaut Support f\u00fcr Shopversionen < 4.2.0 entfernt Install-Doku \u00fcberarbeitet 4.2.3 Fehler beim Zuordnen mehrerer Artikelbilder \u00fcber verschiedene Bildslots zu einem Artikel behoben (Shopversion < 4.5.0) kein Update der Langtexte bei \u00e4lteren Shopversionen 4.2.2 Zusammenfassen bisheriger Bugfixes fehlende Bildslots in Shopversion < 4.5.0 4.2.1 "Nach Import" konnte nicht korrekt gestartet werden Neuer Men\u00fcpunkt "Einstellungen" zur besseren Kontrolle der Modulversion Optimierung des Importvorgangs durch Indizierung diverser DB-Felder Button "Neues Importprofil" In \u00e4lteren Template-Versionen wurden veraltete Smartyvariablen korrigiert ModId angepasst 4.2.0 Einbau eines Import-cronjobs \u00dcberarbeitung diverser Moduldateien f\u00fcr die cronjob-Funktionalit\u00e4t 4.1.7 Fehler beim Bilderimport behoben. Pro Bilderimport konnte immer nur 1 Bild pro Artikel importiert werden 4.1.6 Neue Bildstruktur ab 4.5.1 wird nun unterst\u00fctzt ggf. vorhandene weitere Datenbankfelder in oxartextends k\u00f6nnen nun importiert werden (longdesc2 etc.) 4.1.5 Engl. Sprachkomponenten eingef\u00fcgt Bugfix mit Langtexten und Varianten behoben 4.1.4 OXID 4.5: Probleme mit Einlesen von Datenfeldern aus oxarticles und oxartextends behoben OXID 4.5: Lupenfunktion auf der Artikeldetailseite funktioniert nun wieder 4.1.3 OXID 4.5.0: n\u00f6tige Templateanpassungen (Smartyvariablen) durchgef\u00fchrt OXID 4.5.0: getAbsDynImageDir() wurde von OXID entfernt OXID 4.5.0: Probleme mit Bilderweiterungen "_pX" z.B. "bild_p1.jpg" auf der Detailseite. Generierte Bilder erhalten darum nun keine Extension mehr z.B. "bild.jpg" trim() auf Einzelwerte der Kategorienamen Problem mit Mehrsprachigkeit behoben einfaches Profiling eingebaut 4.1.2 Fehler mit den Zoombildern gefixt Einbau des externen Bilderimports (Bild liegt in einer externen Url) 4.1.1 oxTags werden nun beim Import unterst\u00fctzt "list"-Templates nuntzen nun die globalen JS-Funktionen wie editThis etc. Problem mit fehlendenden oxartextends Eintr\u00e4gen behoben (Artikel-oxId wurde mit NULL aus oxartextends \u00fcberschrieben) Standard-Datenfelder (oxactive etc.) werden jetzt nur noch mit Standrad-Werten bef\u00fcllt, wenn die Felder nicht explizit \u00fcber Importspalten belegt werden "sZoomImageSize" wird nun als globale Zoombildgr\u00f6\u00dfe genutzt (seit OXID 4.3.0) "oxpicsgenerated" wird nun generell auf "12" gesetzt (seit OXID 4.3.0) Aktualisierung der language-Datei und der Tabelle "oximporterdesc" 4.1 kompletter UTF8 Support f\u00fcr Importdateien und Shop optionaler Texttrenner in der CSV, so dass auch HTML-Langtexte mit Zeilenumbr\u00fcchen korrekt importiert werden Korrektur der Zeilenanzahl bei CSV-Inhalten, die \u00fcber mehrere Dateizeilen gehen (z.B. HTML-Daten) Wird die Importdatei z.B. per FTP aktualisiert, so erkennt das Modul nun automatisch im Reiter "Stamm" die ge\u00e4nderten Dateiwerte Lieferanten integriert Staffelpreise integriert Auswahllisten integriert Kurzinfo nach Import L\u00f6schm\u00f6glichkeit nach dem Import \u00dcbersetzung f\u00fcr oxarticles-Felder in lang.php hinzugef\u00fcgt copy_this ab OXID 4.1.4 (n\u00f6tige Template\u00e4nderungen) hinzugef\u00fcgt Importe mit mehr als einer Kategoriespalte schlugen fehl diverse kleinere Bugfixes 4.0 Komplette Migration des Moduls auf OXID4.","tags":"","url":"changelog\/Changelog.html"},{"title":"Installation \/ Update \/ Deinstallation","text":"Anforderungen Neuinstallation Update Deinstallation Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unter Hilfe und Support genannten Kontaktdaten Bescheid.","tags":"","url":"installation\/Installation.html"},{"title":"Systemanforderungen","text":"PHP Version 5.6.x bis 7.4.x PHP Decoder installierter ionCube Loader Shopeditionen OXID eShop Community Edition (CE) OXID eShop Professional Edition (PE) OXID eShop Enterprise Edition (EE) OXID eShop B2B Edition Shopversionen OXID eShop in Compilation Version 6.0.x 6.1.x 6.2.x Themes Das Modul arbeitet unabh\u00e4ngig von den Frontend-Themes und bringt einen eigenen Bereich im Admin unter Module \/ Importer mit. D3 Modul-Connector (kostenfrei bei D3 erh\u00e4ltlich) ab Version 5.3.0.0 Installation via Composer mindestens ein freier Cronjob zur automatischen Ausf\u00fchrung der angelegten Aufgaben Beachten Sie, dass die Ihnen vorliegende Modulversion entsprechend f\u00fcr Ihre genutzte PHP-Version sowie dem auf Ihrem Server vorhandenen Decoder (ionCube Loader) kompatibel ist. Im Zweifelsfall kontaktieren Sie uns und nennen den f\u00fcr Ihren Shop genutzten Decoder und die PHP-Version. Kontrollieren Sie bitte auch, ob diese Modulversion f\u00fcr die von Ihnen eingesetzte Shopedition (Professional Edition (PE) oder Enterprise Edition (EE)) ausgelegt ist.","tags":"","url":"installation\/Anforderungen\/Systemanforderungen.html"},{"title":"Vorbereitungen","text":"Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, k\u00f6nnen Sie im Adminbereich Ihres Shops pr\u00fcfen. Existiert der Punkt Module \/ Modul-Connector, k\u00f6nnen Sie die installierte Version unter Bibliotheksverwaltung ablesen. Fehlt dieser Eintrag, installieren Sie den Modul-Connector bitte vorab. Hinweise zu dessen Installation finden Sie in der Modul-Connector Dokumentation.","tags":"","url":"installation\/Anforderungen\/Vorbereitungen.html"},{"title":"Neuinstallation","text":"Schnellstart per Composer auf der Kommandozeile php composer require d3\/importer:^5.0.4.2 --update-no-dev .\/vendor\/bin\/oe-console oe:module:activate d3importer .\/vendor\/bin\/d3modules_install .\/vendor\/bin\/d3cleartmp Detailliertere Angaben zur Installation entnehmen Sie bitte den folgenden Seiten.","tags":"","url":"installation\/Neuinstallation\/index.html"},{"title":"Vorbereitungen","text":"Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, k\u00f6nnen Sie im Adminbereich Ihres Shops pr\u00fcfen. Existiert der Punkt Module -> Modul-Connector, k\u00f6nnen Sie die installierte Version unter Bibliotheksverwaltung ablesen. Fehlt dieser Eintrag, installieren Sie den Modul-Connector bitte vorab. Hinweise zu dessen Installation finden Sie in der Modul-Connector Dokumentation.","tags":"","url":"installation\/Neuinstallation\/Vorbereitung.html"},{"title":"Modul zur Installation hinzuf\u00fcgen","text":"auf der Kommandozeile F\u00fchren Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um das Modul Importer zur Installation hinzuzuf\u00fcgen: php composer require d3\/importer:^5.0.4.2 --update-no-dev Achten Sie darauf, dass Composer f\u00fcr die Installation die selbe PHP-Version verwendet, in der auch Ihr Shop ausgef\u00fchrt wird. Sie erhalten sonst m\u00f6glicherweise unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Neuinstallation\/Modul_hinzufuegen.html"},{"title":"Providerspezifische Installation","text":"Manche Provider erfordern besondere Einstellungen f\u00fcr installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterst\u00fctzung ben\u00f6tigen, kontaktieren Sie uns bitte f\u00fcr weiteren Support.","tags":"","url":"installation\/Neuinstallation\/Providerspezifische_Installation.html"},{"title":"Modul im Shop aktivieren","text":"im Adminbereich Aktivieren Sie das Modul \u00fcber den Shopadmin unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Importer auf den Button Aktivieren. oder auf der Kommandozeile Alternativ k\u00f6nnen Sie die Modulaktivierung auch auf der Kommandozeile (CLI) im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) durchf\u00fchren. .\/vendor\/bin\/oe-console oe:module:activate d3importer Enterprise Edition: Achten Sie darauf, dass das Modul in weiteren Shops (Mall) ebenfalls aktiviert werden muss, um dessen Funktion dort auch zu nutzen. Enterprise Edition: Zur Aktivierung in einem bestimmten Shopmandanten verwenden Sie das --shop-id-Argument (...oe-console --shop-id 1 oe:module...)","tags":"","url":"installation\/Neuinstallation\/Modul_im_Shop_aktivieren.html"},{"title":"Shopanpassungen installieren","text":"im Adminbereich Direkt nach der Modulaktivierung startet der Assistent, der Sie durch die Shopanpassung f\u00fchrt. Darin k\u00f6nnen Sie verschiedene Optionen der Installation w\u00e4hlen. Den Installationsassistenten finden Sie auch unter den Men\u00fcpunkten Admin -> Module -> Modul-Connector -> Modulverwaltung -> Modulinstallation. Bei tiefgreifenden \u00c4nderungen an Ihrem Shop (z.B. Hinzuf\u00fcgen weiterer Sprachen oder Mandanten) rufen Sie den Installationsassistenten bitte erneut auf, um dann eventuell notwendige Nacharbeiten f\u00fcr das Modul ausf\u00fchren zu lassen. M\u00f6chten Sie die \u00c4nderungen manuell installieren, k\u00f6nnen Sie sich \u00fcber diesen Assistenten ebenfalls eine Checkliste erstellen. oder auf der Kommandozeile Der Installationsassistent steht Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3modules_install","tags":"","url":"installation\/Neuinstallation\/Shopanpassungen_installieren.html"},{"title":"Datenbankanpassungen","text":"Sollten Sie Ihren Shop im Modus "International" (mit Standardsprache englisch) betreiben, so spielen Sie anschlie\u00dfend folgenden SQL-Befehl zus\u00e4tzlich ein: UPDATE `d3importerdesc` SET `OXDESC` = (@TEMP1:=OXDESC), `OXDESC` = `OXDESC_1`, OXDESC_1 = @TEMP1;","tags":"","url":"installation\/Neuinstallation\/Datenbankanpassungen.html"},{"title":"TMP-Ordner leeren","text":"im Adminbereich Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. oder auf der Kommandozeile Alle TMP-leeren-Aktionen stehen Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3cleartmp Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus. Beim Kommandozeilenaufruf werden Ihnen weitere Optionen gezeigt, mit denen Sie die Aktion gezielt steuern k\u00f6nnen.","tags":"","url":"installation\/Neuinstallation\/TMP-Ordner_leeren.html"},{"title":"Lizenzschl\u00fcssel eintragen","text":"im Adminbereich Das Modul verwendet Lizenzschl\u00fcssel, um die Lizenzverwaltung f\u00fcr Sie und auch f\u00fcr uns einfacher zu gestalten. Hierbei haben Sie je nach Modul die Wahl zwischen einer kostenfreien Testlizenz und einer Lizenz f\u00fcr den Einsatz im Livebetrieb. Klappen Sie den Eintrag des jeweiligen Moduls aus. Sofern erforderlich, k\u00f6nnen Sie hier den Lizenzassistenten starten, der schnell und einfach ihr Modul aktiviert. Hinweis: Bitte beachten Sie, dass der Aktivierungsident nur einmal verwendet werden kann. Wenn sich Ihr System als Testshop unter einer vor\u00fcbergehenden Domain (URL) befindet, empfehlen wir das Modul vorerst als Testversion laufen zu lassen. Im Testmodus gibt es bei diesem Modul Einschr\u00e4nkungen: Artikelimport: es k\u00f6nnen max. 4 Profile angelegt werden es werden max. 10 Zeilen importiert Bilderimport: es werden max. 5 Bilder (bzw. externe Bilder) importiert","tags":"","url":"installation\/Neuinstallation\/Lizenz_eintragen.html"},{"title":"Admin neu starten","text":"Im linken Men\u00fc finden Sie einen neuen Eintrag: Module \/ Importer. Sollte dieser Men\u00fcpunkt bei Ihnen noch nicht vorhanden sein, melden Sie sich vom Shop-Admin bitte kurz ab und anschlie\u00dfend wieder an.","tags":"","url":"installation\/Neuinstallation\/Admin_neu_starten.html"},{"title":"Updatef\u00e4higkeit","text":"Bei individuellen \u00c4nderungen von Moduldateien empfehlen wir, jeweils die \u00dcberladungsm\u00f6glichkeiten des Shops daf\u00fcr zu verwenden. So brauchen Sie die originalen Moduldateien nicht zu ver\u00e4ndern und erhalten sich so die Updatef\u00e4higkeit des Shops und des Moduls. Weitere Informationen zu den \u00dcberladungsm\u00f6glichkeiten verschiedener Dateien finden Sie in unserer FAQ.","tags":"","url":"installation\/Neuinstallation\/Updatefaehigkeit.html"},{"title":"Wann kann ein Update ausgef\u00fchrt werden?","text":"Die Updateanweisungen k\u00f6nnen verwendet werden, wenn dieses Modul schon fr\u00fcher mit Hilfe von Composer installiert wurde. Wurde die Installation bisher noch nicht durchgef\u00fchrt oder die Installation wurde nicht \u00fcber Composer durchgef\u00fchrt (weil das Modul dies z.B. fr\u00fcher nicht unterst\u00fctzte), verwenden Sie bitte die Beschreibung unter Neuinstallation.","tags":"","url":"installation\/Update\/Updatedefinition.html"},{"title":"Modul deaktivieren","text":"im Adminbereich Deaktivieren Sie das Modul unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Importer auf den Button Deaktivieren. oder auf der Kommandozeile Alternativ k\u00f6nnen Sie die Moduldeaktivierung auch \u00fcber die Kommandozeile (CLI) im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) durchf\u00fchren. .\/vendor\/bin\/oe-console oe:module:deactivate d3importer Enterprise Edition: Achten Sie darauf, dass das Modul in allen weiteren Shops (Mall) ebenfalls deaktiviert werden muss. Enterprise Edition: Zur Deaktivierung in einem bestimmten Shopmandanten verwenden Sie das --shop-id-Argument (...oe-console --shop-id 1 oe:module...)","tags":"","url":"installation\/Update\/Modul_deaktivieren.html"},{"title":"Dateien erneuern","text":"auf der Kommandozeile Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). F\u00fchren Sie dort diesen Befehl aus: php composer require d3\/importer:^5.0.4.2 --update-no-dev Im weiteren Ablauf werden Sie gefragt, ob die Moduldateien \u00fcberschrieben werden sollen. Best\u00e4tigen Sie dies f\u00fcr den Eintrag d3\/importer. Achten Sie darauf, dass Composer f\u00fcr die Installation die selbe PHP-Version verwendet, in der auch Ihr Shop ausgef\u00fchrt wird. Sie erhalten sonst m\u00f6glicherweise unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Update\/Dateien_erneuern.html"},{"title":"Providerspezifische Installation","text":"Manche Provider erfordern besondere Einstellungen f\u00fcr installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterst\u00fctzung ben\u00f6tigen, kontaktieren Sie uns bitte f\u00fcr weiteren Support.","tags":"","url":"installation\/Update\/Providerspezifische_Installation.html"},{"title":"Modulinformationen aktualisieren","text":"im Adminbereich Wechseln Sie im Adminbereich zu Erweiterungen -> Module. Klicken Sie nach Auswahl von Importer auf den Button Aktivieren. oder auf der Kommandozeile Alternativ k\u00f6nnen Sie die Modulaktivierung auch \u00fcber die Kommandozeile (CLI) im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) durchf\u00fchren. .\/vendor\/bin\/oe-console oe:module:activate d3importer Enterprise Edition: Achten Sie darauf, dass das Modul in weiteren Shops (Mall) ebenfalls aktiviert werden muss, um dessen Funktion dort auch zu nutzen. Enterprise Edition: Zur Aktivierung in einem bestimmten Shopmandanten verwenden Sie das --shop-id-Argument (...oe-console --shop-id 1 oe:module...)","tags":"","url":"installation\/Update\/Modulinformationen_aktualisieren.html"},{"title":"Shopanpassungen installieren","text":"im Adminbereich Ob Shopanpassungen notwendig sind, ist von der Versions\u00e4nderung des Moduls abh\u00e4ngig. M\u00f6glicherweise sehen Sie nach dem Neuaktivieren des Moduls den Installationsassistent, der Sie durch die \u00c4nderungen f\u00fchrt. Folgen Sie dann den einzelnen Schritten. M\u00f6chten Sie die \u00c4nderungen manuell installieren, k\u00f6nnen Sie sich \u00fcber diesen Assistenten ebenfalls eine Checkliste erstellen. Wird der Assistent nicht gezeigt (Sie sehen wieder die Modul\u00fcbersicht), waren keine Anpassungen am Shop notwendig. Ob erforderliche Updates ausgef\u00fchrt werden sollen, k\u00f6nnen Sie jederzeit im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung -> Modulinstallation pr\u00fcfen. oder auf der Kommandozeile Der Installationsassistent steht Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3modules_install","tags":"","url":"installation\/Update\/Shopanpassungen_installieren.html"},{"title":"TMP-Ordner leeren","text":"im Adminbereich Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. oder auf der Kommandozeile Alle TMP-leeren-Aktionen stehen Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3cleartmp Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus. Beim Kommandozeilenaufruf werden Ihnen weitere Optionen gezeigt, mit denen Sie die Aktion gezielt steuern k\u00f6nnen.","tags":"","url":"installation\/Update\/TMP-Ordner_leeren.html"},{"title":"Lizenzschl\u00fcssel aktualisieren","text":"im Adminbereich Wird f\u00fcr die neue Modulversion ein aktualisierter Lizenzschl\u00fcssel ben\u00f6tigt, tragen Sie diesen im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung ein. Klappen Sie dazu den Eintrag des jeweiligen Moduls aus und starten den Lizenzassistent.","tags":"","url":"installation\/Update\/Lizenzschluessel_aktualisieren.html"},{"title":"Erweiterungen anpassen","text":"Haben Sie f\u00fcr dieses Modul eigene Erweiterung entwickelt, gleichen Sie dies bitte mit der neuen Fassung des Moduls ab.","tags":"","url":"installation\/Update\/Erweiterungen_anpassen.html"},{"title":"Installationspr\u00fcfung","text":"Um die erfolgreiche Installation zu pr\u00fcfen, k\u00f6nnen Sie die folgende Checkliste verwenden: Einstellungsunabh\u00e4ngige Pr\u00fcfungen Backend Modul ist unter Erweiterungen \/ Module aktiv geschaltet Modul ist unter Module \/ Modul-Connector \/ Modulverwaltung aktiv geschaltet Modul zeigt unter Module \/ Importer einen eigenen Bereich f\u00fcr Einstellungen","tags":"","url":"installation\/Installationspruefung.html"},{"title":"Schnellstart","text":"Das Modul Importer bringt einen umfangreichen Adminbereich mit, in dem Sie die Konfigurationseinstellungen des Moduls setzen k\u00f6nnen. \u00dcber das Men\u00fc Module \/ Importer sehen Sie folgende Men\u00fcpunkte: Einstellungen - Definieren Sie die Grundeinstellungen f\u00fcr die ImportProfile Artikelimport - \u00dcbersicht f\u00fcr die Importprofile + Einstellungen f\u00fcr den Artikelimport eines jeweiligen Importprofils Bildimport - \u00dcbersicht f\u00fcr die Importprofile + Einstellungen f\u00fcr den Bildimport pro Importprofil Artikelfelder - \u00dcbersicht der aktuell konfigurierbaren Artikelfeldzuordnungen Arbeiten Sie idealerweise die Optionen einmal durch. Hinweise zu den einzelnen Einstellungen finden Sie in dem dahinter, stehenden Fragezeichenfeld ? . Durch einen Klick darauf \u00f6ffnet sich der Hinweistext. Die meisten Optionen sind zus\u00e4tzlich im Handbuch zum Modul umfangreicher beschrieben.","tags":"","url":"installation\/Schnellstart.html"},{"title":"Demodaten","text":"Wir stellen f\u00fcr das Modul Demodaten bereit, mit denen Sie einfache Tests ausf\u00fchren k\u00f6nnen. Weiterhin k\u00f6nnen Ihnen diese als Vorlage f\u00fcr eigene Importdateien dienen. F\u00fchren Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um die Demodaten zur Installation hinzuzuf\u00fcgen: php composer require d3\/importer-demodata --update-no-dev Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer. Nach der Installation der Demodaten lassen Sie bitte die Shopanpassungen nachtragen. Verwenden Sie dazu bitte diesen Ablauf.","tags":"","url":"installation\/Demodaten.html"},{"title":"Modulerweiterungen deaktivieren und entfernen","text":"Deaktivieren Sie alle vorhandenen Erweiterungen, die auf dem Modul Importer aufbauen und l\u00f6schen bitte alle Dateien dieser Erweiterungen. Entfernen Sie ebenfalls alle individuellen Templateanpassungen f\u00fcr dieses Modul.","tags":"","url":"installation\/Deinstallation\/Modulerweiterungen_deaktivieren_und_entfernen.html"},{"title":"Modul deaktivieren","text":"im Adminbereich Deaktivieren Sie das Modul unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Importer auf den Button Deaktivieren. oder auf der Kommandozeile Alternativ k\u00f6nnen Sie die Moduldeaktivierung auch \u00fcber die Kommandozeile (CLI) im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) durchf\u00fchren. .\/vendor\/bin\/oe-console oe:module:deactivate d3importer Enterprise Edition: Achten Sie darauf, dass das Modul in allen weiteren Shops (Mall) ebenfalls deaktiviert werden muss. Enterprise Edition: Zur Deaktivierung in einem bestimmten Shopmandanten verwenden Sie das --shop-id-Argument (...oe-console --shop-id 1 oe:module...)","tags":"","url":"installation\/Deinstallation\/Modul_deaktivieren.html"},{"title":"Modul aus der Installation entfernen","text":"auf der Kommandozeile Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). F\u00fchren Sie Sie dort diesen Befehl aus: php composer remove d3\/importer --no-update Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Deinstallation\/Modul_aus_der_Installation_entfernen.html"},{"title":"Dateien l\u00f6schen","text":"L\u00f6schen Sie den Ordner d3\/importer und seine enthaltenen Elemente aus dem Verzeichnis source\/modules\/d3 Ihres Shops. Best\u00e4tigen Sie anschlie\u00dfend im Shopadmin unter Erweiterungen -> Module -> Installierte Shop-Module die Nachricht: Es gibt registrierte Erweiterungen im eShop, deren Verzeichnis nicht vorhanden ist. M\u00f6chten Sie alle Modulinformationen einschlie\u00dflich Konfigurationseinstellungen und Blockinformationen f\u00fcr Templates l\u00f6schen?","tags":"","url":"installation\/Deinstallation\/Dateien_loeschen.html"},{"title":"TMP-Ordner leeren","text":"im Adminbereich Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. oder auf der Kommandozeile Alle TMP-leeren-Aktionen stehen Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3cleartmp Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus. Beim Kommandozeilenaufruf werden Ihnen weitere Optionen gezeigt, mit denen Sie die Aktion gezielt steuern k\u00f6nnen.","tags":"","url":"installation\/Deinstallation\/TMP-Ordner_leeren.html"},{"title":"Demodaten","text":"Wir stellen f\u00fcr das Modul Demodaten bereit, mit denen Sie einfache Tests ausf\u00fchren k\u00f6nnen. Weiterhin k\u00f6nnen Ihnen diese als Vorlage f\u00fcr eigene Importdateien dienen. F\u00fchren Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um die Demodaten zur Installation hinzuzuf\u00fcgen: php composer require d3\/importer-demodata --update-no-dev Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer. Nach der Installation der Demodaten lassen Sie bitte die Shopanpassungen nachtragen. Verwenden Sie dazu bitte diesen Ablauf.","tags":"","url":"manual\/Bedienungsanleitung\/Demodaten.html"},{"title":"Beschreibung Funktionsumfang","text":"Beschreibung \/ Funktionsumfang Modul f\u00fcr den individuellen und wiederkehrenden Import gro\u00dfer Artikelmengen aus einer Excel Datei (CSV-Format) Importiert werden k\u00f6nnen: alle Artikelstammdaten Artikellangtexte (auch HTML) Artikelbilder Kategorien Crossselling (Zubeh\u00f6r \/ \u00c4hnliche Artikel) Attribute Auswahllisten Varianten Staffelpreise Hersteller \/ Lieferanten Wichtige Features: W\u00e4hlen Sie einen von 3 Importtypen aus: Bei "Import und Update" werden Artikel importiert und aktualisiert (Standard Auswahl). Bei "nur Import" werden Artikel nur importiert. Es werden keine vorhandenen Artikeldaten \u00fcberschrieben. Bei "nur Update" werden Artikel nur aktualisiert. Es werden keine neuen Artikel angelegt. Speicherung der verwendeten Import-Profil-ID an importierten\/aktualisierten Artikeln z.B. f\u00fcr Nachimport-Aktionen automatische Importe (z.B. Nachts) f\u00fcr beliebige, gespeicherte Importprofile Speicherung beliebig vieler Importprofile Exportfunktion f\u00fcr Importprofile unter Importer \/ Einstellungen \/ Stamm Variable Strukturen in der Importdatei m\u00f6glich. Die Zuordnungen "CSV zu Shop" k\u00f6nnen \u00fcber das Importprofil eingestellt werden. definierbare Standardwerte f\u00fcr die Einstellungen der Import-Profile Alle Artikel die nicht aktualisiert wurden, k\u00f6nnen Sie nachtr\u00e4glich \u00fcber den Admin im Nach Import l\u00f6schen oder deaktivieren.","tags":"","url":"manual\/Bedienungsanleitung\/Beschreibung_Funktionsumfang.html"},{"title":"Technische Vorraussetzungen","text":"Sie ben\u00f6tigen einen sFTP\/FTPs-Zugang, Zugriff auf den Shop-Admin und den Shop (Backend\/Frontend) zur Kontrolle des Importes. Sofern Sie die CSV-Datei manuell editieren m\u00f6chten, empfehlen wir den Einsatz eines Tabellenkalkulationsprogramm's. Damit k\u00f6nnen Sie Ihre Importdatei \u00f6ffnen (beispielsweise Microsoft Excel oder LibreOffice Calc\/OpenOfficeCalc).","tags":"","url":"manual\/Bedienungsanleitung\/Technische_Vorraussetzungen.html"},{"title":"Teil 1 Artikelimport","text":"\u00d6ffnen Sie im Admin Module \/ Importer \/ Artikelimport W\u00e4hlen Sie im Stamm einen Profilnamen W\u00e4hlen Sie eine vorhandene Datei aus oder w\u00e4hlen Sie eine neue Datei f\u00fcr den Upload. Geben Sie die Datei-Spaltentrennung und ggf. den Texttrenner an. Ordnen Sie unter Artikelfelder alle in Ihrer Liste vorkommenden Spalten den richtigen Datenfeldern zu. Setzen Sie bei Update einen\/mehrere Haken, wenn die Informationen am Artikel aktualisiert werden sollen. wichtiger Hinweis: F\u00fcr den Bilderimport verwenden Sie die Feldnamen "Bild Importfeld 1-10(d3importpic1-10)" anstatt "Bild 1-10(oxpic1-10)". Ordnen Sie die Kategorien zu. Sie k\u00f6nnen beliebig viele Zuordnungen erstellen Ordnen Sie unter Crossselling die entsprechenden Datenfelder f\u00fcr Crossselling und Zubeh\u00f6r zu. Unter Attribute k\u00f6nnen Sie mehrsprachig, den Attributsnamen und den Attributswert am Artikel importieren. Sie k\u00f6nnen beliebig viele Attribute festlegen. Nehmen Sie die Konfiguration f\u00fcr die Auswahllisten vor. Sie k\u00f6nnen beliebig viele Auswahllisten festlegen. Geben Sie bei Varianten die Spalten f\u00fcr Variantenname, Variante von und Variantenbezeichnung an. Geben Sie bei Staffelpreisen die Felder Staffelpreis, Menge von und Menge bis an. Sie k\u00f6nnen beliebig viele Staffelpreise festlegen. W\u00e4hlen Sie bei Hersteller die Datenfelder f\u00fcr Hersteller und Lieferanten Unter Konfig. w\u00e4hlen Sie: Wie viele Dateizeilen pro Durchlauf importiert werden sollen, den Importtyp, die Anzahl Datei-Kopfzeilen und die Artikelidentifikation. Zus\u00e4tzlich k\u00f6nnen Sie die Preis Optionen und Artikel-Ident Optionen (Expertenmodus) einstellen Klicken Sie im Reiter Import auf Artikelimport starten Unter Nach Import werden Informationen zu den -zuletzt mit diesem Profil importierten- Artikeln angezeigt. Alle Artikel deaktivieren - deaktiviert alle Artikel 1. Alle Artikel l\u00f6schen - l\u00f6scht alle Artikel 1. 1. Betrifft Artikel, welche mit dem letztem Import dieses Profils nicht aktualisiert wurden. Wurde ein Artikel bereits mit einem anderen Profil bearbeitet, wird dieser nicht beeinflusst.","tags":"","url":"manual\/Bedienungsanleitung\/Schnelleinstieg\/Teil1_Artikelimport.html"},{"title":"Teil 2 Vorbereitung Bilderimport","text":"\u00d6ffnen Sie vom root-Verzeichnis \/source\/ ausgehend, den Unterordner \/import\/pictures\/. In das Verzeichnis laden Sie alle Artikelbilder, die vom Namen her identisch mit den Bildnamen in Ihrer Liste sind (z.B. \/import\/pictures\/beispielbild.jpg). Externe Bilder werden automatisch \u00fcber den Bildimport in das Verzeichnis \/source\/import\/pictures\/ heruntergeladen.","tags":"","url":"manual\/Bedienungsanleitung\/Schnelleinstieg\/Teil2_Vorbereitung_Bilderimport.html"},{"title":"Teil 3 Bilderimport","text":"Gehen Sie in den Admin unter Module \/ Importer \/ Bilderimport. W\u00e4hlen Sie in der Auswahl Bild Importfeld 1 f\u00fcr das 1. Artikelbild und ordnen Sie die jeweiligen Zielfelder zu (bzw. Vorschaubild, Detailbild 1-10, Icon). Gehen Sie f\u00fcr weitere Bildimportfelder gleich vor, setzen Sie noch gew\u00fcnschte Einstellungen und klicken Sie anschlie\u00dfend auf Speichern. Gehen Sie auf den Reiter Import und w\u00e4hlen Sie optional die Einstellung Externe Bilder einlesen. Mit Bildimportverzeichnis einlesen werden alle Bilder aus dem Verzeichnis \/import\/pictures\/ ausgelesen. (bei aktivierter Einstellung externe Bilder einlesen werden die Bilder vorher in das Bildimportverzeichnis geladen) Danach klicken Sie auf Bilderimport starten. Nachdem Bilderimport wird Ihnen angezeigt, wie viele Bilder bearbeitet und importiert wurden.","tags":"","url":"manual\/Bedienungsanleitung\/Schnelleinstieg\/Teil3_Bilderimport.html"},{"title":"Einleitung","text":"In den folgenden Kapitel wird der komplette Ablauf eines Artikel- und des Bilderimports ausf\u00fchrlich beschrieben. Es wird erkl\u00e4rt, wie Sie Importprofile anlegen k\u00f6nnen, die gew\u00fcnschte Importdatei in den Shop laden und alle Vorbereitungen f\u00fcr den Bild-\/Import treffen. Der Import gliedert sich in folgende Schritte: Anlegen einer eigenen Importdatei Artikelimport Bilderimport wichtiger Hinweis: Der Artikelimport muss immer vor einem Bilderimport durchgef\u00fchrt werden. Siehe Artikelimport \/ Artikelfelder \/ Bildnamen Optional bieten die Men\u00fcpunkte Artikelfelder und Grundeinstellungen fortgeschrittene Konfigurationsm\u00f6glichkeiten.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Einleitung.html"},{"title":"Anlegen einer eigenen Importdatei","text":"Speichern Sie Ihre Importdatei vorzugsweise mit dem Datei-Spaltentrenner ; (Semikolon). Die interne Spaltentrennung (Beispielsweise bei Varianten oder Staffelpreisen) sollten mit Komma oder | (Pipe) getrennt sein. Schauen Sie sich Ihre Importdatei am besten mit einem Tabellenkalkulationsprogramm (Excel, LibreOffice, etc.) an und setzen Sie optional Spalten\u00fcberschriften. F\u00fcr Ihren Import ben\u00f6tigen Sie nur die Spalten, die Sie auch tats\u00e4chlich f\u00fcr Ihren Artikel brauchen. M\u00f6chten Sie eine Liste selbst anlegen, k\u00f6nnen Sie sich an diesem Beispiel orientieren: Beispiel .csv-Datei Artikelnummer;Titel;Langbeschreibung;Suchbegriffe;Preis;Kategorie;Varianten Name;Hersteller 1402;Trapez ION MADTRIXX;Langtext;harness, hip harness, madtrixx;45,00 \u20ac;1208|1302|1303|1304|1401;6454;Beispielhersteller Die Artikelnummer bzw. die Identifikation (EAN, MPN) muss immer eindeutig sein und im Admin als Artikelidentifikation hinterlegt werden. Ein vollst\u00e4ndiges Beispiel einer CSV finden Sie im Modulpaket unter \/setup+doku\/examples\/demo_artikel_klomplett.xls. Diese k\u00f6nnen Sie in das Importdatei-Format umwandeln, indem Sie unter Datei \/ speichern unter klicken und dann als Dateityp "Text Importdatei (.csv )" ausw\u00e4hlen. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Anlegen_einer_eigenen_Importdatei.html"},{"title":"Artikelfelder","text":"Im Admin unter Module \/ Importer \/ Artikelfelder k\u00f6nnen Sie einzelne Felder aus der Tabelle oxarticles definieren. Die Einstellungen eines jeden Felds wird beim Import und in der Adminoberfl\u00e4che des Importers genutzt. So k\u00f6nnen individuelle Feldnamen (bspw. oxarticles__d3newfield) mit einem aussagekr\u00e4ftigen Namen ausgestattet werden. Folgende Einstellungen kann man pro Feld definieren: [Aktiv] De\/Aktivieren Sie das Artikelfeld f\u00fcr die Adminoberfl\u00e4che des Importers [Bild] De\/Aktivieren Sie das Artikelfeld f\u00fcr die Adminoberfl\u00e4che des Bildimports (neue Felder werden im Admin nicht angezeigt) Diese Einstellung wird derzeit nicht effektiv genutzt. [Datenbankfeldname] Tragen Sie hier den Namen des Datenbankfelds von oxarticles oder oxartextends ein. [Artikelfeld Sprache 1] + [Artikelfeld Sprache 2] Geben Sie dem Artikelfeld einen lesbaren Namen in der entsprechenden Sprache an. [Sortierung] Hier k\u00f6nnen Sie die Sortierreihenfolge f\u00fcr den Admin festlegen. Oft benutzte Artikelfelder k\u00f6nnen mit einer niedrigen Zahl weiter oben angezeigt werden. Das Modul verwendet die aktiven Artikelfelder in den Admin-Bereichen unter \/ Module\/Importer\/: Artikelimport\/Artikelfelder Die Dropdown Felder unter [Spalteninhalt und Zuordnung] zeigen den [Datenbankfeldname] sowie dessen gepflegte \u00dcbersetzung [Artikelfeld Sprache n] an. Artikelimport\/Varianten Die Artikelfelder beginnend mit oxvarname (Name der Auswahl) und oxvarselect (Auswahl) werden hier als einstellbare CSV-Zuordnung bereitgestellt. Einstellungen\/Grundeinstellungen\/Auswahl f\u00fcr Artikelidentifikationsfelder Der [Datenbankfeldname] wird in der Mehrfach-Auswahlliste angezeigt.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelfelder.html"},{"title":"Grundeinstellungen","text":"Im Admin unter Module \/ Importer \/ Einstellungen befinden sich die Grundeinstellungen. Die verschiedenen Optionen sind konfigurierbare Voreinstellungen f\u00fcr Importe und Importprofile. Jede Option auf der Seite wird als Voreinstellung bei der Anlage der Importprofile genutzt. Voreinstellung Wo wird diese genutzt? (Admin: \/ Module\/Importer\/) Auswahl f\u00fcr Artikelidentifikationsfelder Artikelimport \/ Konfig. \/ Artikelidentifikation (1.) Definition von "ja" Werten Artikelimport \/ Konfig. \/ Definition von "ja" Werten Definition von "nein" Werten Artikelimport \/ Konfig. \/ Definition von "nein" Werten vordefinierte Werte f\u00fcr Artikelfelder Artikelimport \/ Konfig. \/ vordefinierte Werte f\u00fcr Artikelfelder Dateizeilen pro Durchlauf Artikelimport \/ Konfig. \/ Dateizeilen pro Durchlauf Anzahl Datei-Kopfzeilen Artikelimport \/ Konfig. \/ Anzahl Datei-Kopfzeilen Auswahl f\u00fcr Kategorieidentifikationsfelder Artikelimport \/ Kategorien \/ Kategoriefeld Zuordung Start des n\u00e4chsten Bilddurchlaufes Bilderimport \/ Stamm \/ Start des n\u00e4chsten Bilddurchlaufes lokale Bilder (\/import\/pictures\/) durch Externe \u00fcberschreiben? Bilderimport \/ Stamm \/ lokale Bilder (\/import\/pictures\/) durch Externe \u00fcberschreiben? Masterbilder am Artikel vorher entfernen (empfohlen) Bilderimport \/ Stamm \/ Masterbilder am Artikel vorher entfernen (empfohlen) (1.) Die Sichtbarkeit der Felder im Importer Admin, kann unter Module \/ Importer \/ Artikelfelder editiert werden.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Grundeinstellungen.html"},{"title":"Anlegen von Importprofilen","text":"Wof\u00fcr werden Importprofile ben\u00f6tigt? Bei der t\u00e4glichen Arbeit mit Artikelimporten kommt es h\u00e4ufig vor, dass Sie aus verschiedenen Quellen (bspw. Lieferanten) CSV-Daten erhalten. Meist ist der Aufbau der Quelldaten sehr unterschiedlich. Das Modul erm\u00f6glicht diese einfach in den Shop zu integrieren. Der Kernpunkt eines jeden Imports ist das Importprofil. Sie k\u00f6nnen f\u00fcr jede unterschiedliche Datenquelle schnell und \u00fcbersichtlich ein Importprofil konfigurieren. Danach kann der Importvorgang entweder \u00fcber den Shop-Admin oder per Cronjob gestartet werden. F\u00fcr die Erstellung eines neuen Importprofils \u00f6ffnen Sie Ihren Shop-Admin und navigieren Sie zu: Module \/ Importer \/ Artikelimport Sie k\u00f6nnen direkt die Felder ausf\u00fcllen und das Importprofil mit Speichern anlegen. Alternativ k\u00f6nnen Sie am unteren Fensterrand folgenden Link finden: Neues Importprofil anlegen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/anlegen_von_Importprofilen.html"},{"title":"Stamm","text":"Stammdaten Hinweise Profilname Geben Sie hier Ihrer Importliste einen Namen (z.B. Hersteller XYZ Import ). Importdatei Zeigt die aktuelle Dateizuordnung und zeigt eine Dateiliste des Verzeichnisses \/source\/import\/ Neue Datei hochladen Klicken Sie auf [Durchsuchen] und w\u00e4hlen Sie eine CSV-Datei aus. (Mit [Speichern] wird die Datei auf den Server geladen.) Datei-Spaltentrennung Geben Sie an, welches Trennzeichen Ihre Importdatei f\u00fcr die einzelnen Spalten verwendet. (bspw.: ; oder | oder TAB) Texttrenner (optional) Der Texttrenner umschlie\u00dft in einer CSV-Datei einzelne Zellen. (bspw.: " oder ') Klicken Sie dann auf Speichern. Datei-Info: In diesem Block finden Sie alle wichtigen Informationen zu der aktuell ausgew\u00e4hlten Importdatei: Name Dateigr\u00f6\u00dfe letzte \u00c4nderung Datei-Rechte (ist die Datei lesbar\/beschreibbar) CSV-Daten: bspw. Zeilen\/Spalten Anzahl","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Stamm.html"},{"title":"Artikelfelder","text":"Hier k\u00f6nnen Sie die Spalten Ihrer Importdatei den jeweiligen Artikel-Datenbankfeldern zuordnen. Hinweis: Lassen Sie Felder an dieser Stelle frei, f\u00fcr die es einen eigenen Reiter\/Tab gibt. bspw: Kategorie, Cross-Selling, Attribute, Auswahllisten, Varianten, Staffelpreise, Hersteller, Mall F\u00fcr jede CSV-Spalte wird ein Dropdown Feld angezeigt. Aus der aktuell ausgew\u00e4hlten Zeile wird der Inhalt der CSV-Zelle \u00fcber dem Dropdown-Feld angezeigt. Sie k\u00f6nnen durch die einzelnen Zeilen in Ihrer CSV-Datei navigieren. Wechseln Sie von der Zeile 1 (bspw. Spalten\u00fcberschrift) auf die Zeile 2 (n\u00e4chste Artikeldaten). W\u00e4hlen Sie aus dem Drop-Down Feld die richtige Zuordnung aus. Hier ein paar Beispiele: Titel (oxtitle) Langbeschreibung (oxlongdesc) Suchbegriffe (oxsearchkeys) Preis (oxprice) Bild 1-10 (oxpic1-10): wichtiger Hinweis: Bitte w\u00e4hlen Sie statt oxpic1-10 f\u00fcr den Bilderimport die moduleigenen Felder: Bild Importfeld 1 (d3importpic1) Bild Importfeld 2 (d3importpic2) ... Bild Importfeld 10 (d3importpic10) Pflicht ist die Zuordnung der Artikelidentifikation! wichtiger Hinweis: Das Feld f\u00fcr die Artikelidentifikation muss hier f\u00fcr jedes Importprofil zugeordnet werden. Der Wert muss einzigartig sein, damit keine Artikelduplikate entstehen. Bspw.: Artikelnummer, Hersteller EAN, EAN, etc. Die Checkboxen hinter den Dropdown-Feldern regulieren, ob der Inhalt nur importiert oder geschrieben wird. Checkbox aktiv: Ist ein Artikel bereits in der Datenbank vorhanden, wird der Inhalt aktualisiert. Checkbox inaktiv: Der Inhalt wird nur geschrieben, wenn der Artikel noch nicht existiert. Die Einstellung zur Art des Importprofils (Import & Update, nur Import, nur Update) finden Sie im Tab Konfig.. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Artikelfelder.html"},{"title":"Kategorien","text":"Sie k\u00f6nnen einen Artikel beliebig vielen Kategorien zuordnen. W\u00e4hlen Sie den Importtyp aus. Nur Import Die Kategorien werden normal importiert bzw. dem Artikel zugeordnet Artikel-Kat.-Zuordnungen vorher l\u00f6schen Alle Kategorie-Zuordnungen des aktuellen Artikels werden vor dem Import gel\u00f6scht. Kategoriefeld Zuordnung W\u00e4hlen Sie die gew\u00fcnschte Identifikation der Zuordnung aus. Folgende Werte stehen standardm\u00e4\u00dfig zur Auswahl: oxtitle exakter Name der Kategorie \/ Kategoriebaum oxid shopinterne Identifikation der Kategoie oxsort Sortierungsnummer der Kategorie oxdesc Kurzbeschreibung der Kategorie Spaltenzuordnung n W\u00e4hlen Sie in dem Dropdown-Feld die CSV-Spalte aus, welche den Inhalt der Kategoriefeld Zuordnung hat. interne Spaltentrennung Wenn Sie beispielsweise Hauptkategorie|Unterkategorie|Unterunterkategorie angegeben haben, tragen Sie das Zeichen | ein. Beim Import wird registriert, ob die Kategorie Struktur in dieser Form besteht. Wenn nicht, wird diese mit der Information der Spaltenzuordnung n angelegt. Bitte achten Sie auf die korrekte Schreibweise, Gro\u00df- und Kleinschreibung! Sie k\u00f6nnen einen Artikel beliebig vielen Kategorien zuordnen. Neue M\u00f6glichkeiten der Spaltenzuordnung n werden nach dem Speichern automatisch erweitert. Klicken Sie abschlie\u00dfend auf Speichern. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Kategorien.html"},{"title":"Cross-Selling und Zubeh\u00f6r","text":"Cross-Selling W\u00e4hlen Sie den Cross-Selling Importtyp aus. Nur Import Das Cross-Selling wird normal dem Artikel zugeordnet [Artikel-Cross-Sell.-Zuordnungen vorher l\u00f6schen Alle Zuordnungen des aktuellen Artikels werden vor dem Import gel\u00f6scht. Spaltenzuordnung n W\u00e4hlen Sie in dem Dropdown-Feld die entsprechende CSV-Spalte aus. interne Spaltentrennung Wenn Sie beispielsweise 7353|80085|0815 angegeben haben, tragen Sie das Zeichen | ein. Zubeh\u00f6r W\u00e4hlen Sie den Zubeh\u00f6r Importtyp aus. Nur Import Das Zubeh\u00f6r wird normal dem Artikel zugeordnet [Artikel-Zubeh\u00f6r-Zuordnungen vorher l\u00f6schen Alle Zuordnungen des aktuellen Artikels werden vor dem Import gel\u00f6scht. Spaltenzuordnung n W\u00e4hlen Sie in dem Dropdown-Feld die entsprechende CSV-Spalte aus. interne Spaltentrennung Wenn Sie beispielsweise 1402|1503|0815 angegeben haben, tragen Sie das Zeichen | ein. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Cross-Selling_+_Zubehoer.html"},{"title":"Attribute","text":"W\u00e4hlen Sie den Attribute Importtyp aus: Nur Import Die Attribute werden normal dem Artikel zugeordnet. Artikel-Attribut-Zuordnungen vorher l\u00f6schen Alle Attribut-Zuordnungen des aktuellen Artikels werden vor einem Update gel\u00f6scht. In Version 4.4.1.0 gab es eine Umstellung der Attributszuordnungen. Weitere Informationen finden Sie in unserer FAQ: Anleitung zur Umstellung von Attributszuordnungen. n. Attributszuordnung Sie k\u00f6nnen mehrere Attribute importieren. Jede Attributszuordnung wird als Attribut angesehen. D.h. f\u00fcr 1 Attribut kann nur eine Attributszuordnung verwendet werden. pro Sprache k\u00f6nnen Sie Name und Wert definieren: Attributsname W\u00e4hlen Sie die CSV-Spalte mit dem Namen des Attributs aus. Bspw. "Material", "H\u00f6he" oder "Farbe" (ohne Anf\u00fchrungszeichen). Attributswert am Artikel W\u00e4hlen Sie hier die zugeh\u00f6rige CSV-Spalte mit dem Wert des Attributs am Artikel aus. Bspw. "Aluminium", "30cm" oder "matt" (ohne Anf\u00fchrungszeichen). Neue M\u00f6glichkeiten der n. Attributszuordnung werden nach dem Speichern automatisch erweitert. Klicken Sie auf Speichern um die Attributszuordnung zu sichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Attribute.html"},{"title":"Auswahllisten","text":"Auswahllisten-Importtyp Nur Import Eine neue Auswahlliste wird erstellt und dem Artikel zugeordnet. Alle Auswahllisten vorher l\u00f6schen Alle Auswahllisten, die ausschlie\u00dflich dem aktuellen Artikel zugeordnet sind, werden vor dem Update gel\u00f6scht. Titel der Auswahlliste n Geben Sie hier die CSV-Spalte an, worin der Titel z.B. "Farbe" hinterlegt ist. Alternativtitel Ist kein "Titel der Auswahlliste" vorhanden oder ist der Inhalt teilweise leer, so kann hier ein Alternativtitel z.B. "Auswahl" angegeben werden. Auswahlfelder n W\u00e4hlen Sie die CSV-Spalte aus, welche die Auswahlen (Werttrenner-separiert) z.B. "rot|gr\u00fcn|blau" enth\u00e4lt. Werttrenner Stehen mehrere Werte im CSV-Importfeld "Auswahlfelder", so muss der verwendete Werttrenner angegeben werden. Z.B. "@" wenn in der CSV "rot@gelb@gr\u00fcn" steht. Preistrenner Zus\u00e4tzlich k\u00f6nnen Preis\u00e4nderungen (absolute Werte und in %) importiert werden. z.B. "rot|2,34@gelb|5%@gr\u00fcn|1,23". In dem Beispiel m\u00fcsste als Werttrenner "@" und als Preistrenner "|" eingetragen werden. Es sind beliebig viele Auswahllisten mit entsprechenden Werten pro Artikel importierbar. Hinweise: Auswahllisten werden immer neu angelegt. Eine Zuordnung wird nicht unterst\u00fctzt, da eine Auswahlliste nicht eindeutig sein muss. Fallbeispiel: Zwei Artikel haben jeweils eine Auswahlliste mit Namen Farbe: T-Shirt A: Name der Auswahlliste: Farbe Werte: rot, blau T-Shirt B: Auswahlliste: Farbe Werte: gelb, gr\u00fcn Die Auswahlliste hat keine eindeutige Identifizierungsm\u00f6glichkeit. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Auswahllisten.html"},{"title":"Varianten","text":"Varianten Importtyp Nur Import Die Varianten werden dem Eltern-Artikel neu zugeordnet oder aktualisiert Varianten vorher l\u00f6schen Alle Varianten-Artikel des aktuellen Eltern-Artikels werden vor dem Update gel\u00f6scht. Variantenerkennung Geben Sie hier die CSV-Spalte mit der Artikelidentifikation (z.B. Artikelnummer, EAN, etc.) an. Der Eltern-Artikel wird daran identifiziert und dient der Zuordnung der Variante. Name der Auswahl Diese sollte nur am Eltern-Artikel hinterlegt werden und definiert, wie die Auswahl zwischen den verschiedenen Varianten hei\u00dfen soll. Z.B.: "Gr\u00f6\u00dfe", "Farbe", "Material" Sprache 2: Name W\u00e4hlen Sie optional die CSV-Spalte f\u00fcr die 2te Sprache (Sprach-ID 1, Name der Auswahl hat die Sprach-ID 0) aus. Z.B.: "size", "color", "material" Varianten: Auswahl Hier w\u00e4hlen Sie die CSV-Spalte mit den Inhalten f\u00fcr die Variante aus. Z.B.: "rot", "gr\u00fcn", "blau" Varianten Sprache 2: Auswahl W\u00e4hlen Sie optional die CSV-Spalte f\u00fcr die 2te Sprache (Sprach-ID 1, Varianten: Auswahl hat die Sprach-ID 0) aus. Z.B.: "red", "green", "blue" Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Varianten.html"},{"title":"Staffelpreise","text":"Importtyp Nur Import Die Staffelpreise werden dem Artikel neu zugeordnet oder aktualisiert. Staffelpreise vorher l\u00f6schen Alle Staffelpreise des Artikels werden vor dem Update gel\u00f6scht. Jede Preisstaffel ben\u00f6tigt mind. 3 Datenfelder: Staffelpreis n CSV-Spalte mit dem jeweiligen Staffelpreis w\u00e4hlen Menge von CSV-Spalte mit dem "ab Preis" w\u00e4hlen Menge bis CSV-Spalte mit dem "bis Preis" w\u00e4hlen ist % Rabatt Preis? Hier definieren Sie (optional), ob die Preisstaffel als prozentual importiert wird. Alternativ k\u00f6nnen Sie in der CSV-Datei den Wert in der Spalte Staffelpreis n mit % versehen (bspw. 5% oder 10%). Klicken Sie abschlie\u00dfend auf Speichern. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Staffelpreise.html"},{"title":"Hersteller \/ Lieferanten","text":"Lieferanten Importspalte \/ Hersteller Importspalte Ordnet die Dateispalte mit dem Lieferanten- bzw. Herstellernamen zu. Ja Existiert der Lieferant\/Hersteller nicht im Shop, wird er neu angelegt und dem Artikel zugeordnet. Nein, nur Zuordnung Der Artikel wird nur einem vorhandenen Lieferant\/Hersteller zugeordnet. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Hersteller_Lieferanten.html"},{"title":"Grundeinstellungen","text":"Importtyp Import und Update Alle CSV-Daten werden erst aktualisiert und anschlie\u00dfend -wenn nicht vorhanden- importiert. Nur Import Alle CSV-Daten werden nur importiert. Vorhandene Artikeldaten werden nicht \u00fcberschrieben. Nur Update Alle CSV-Daten werden nur geschrieben, wenn bereits ein Artikel in der Datenbank gefunden wurde. Dateizeilen pro Durchlauf Legen Sie fest, wie viele Zeilen pro Importdurchlauf geladen werden sollen. Wenn Sie z.B. 100 eintragen, werden die ersten 100 Zeilen importiert. Danach wird die untere Seite neu geladen und die n\u00e4chsten 100 Zeilen werden importiert, solange bis die komplette CSV-Datei eingelesen ist. Damit wird sichergestellt, dass der Importvorgang nicht abbricht (durch bspw. eingestellte Server Limitierungen). Anzahl Datei-Kopfzeilen (werden nicht importiert) Wenn Sie eine Spalten\u00fcberschrift in Ihrer Import-Datei haben, k\u00f6nnen Sie die Anzahl der zu \u00fcberspringenden Zeilen eintragen. Artikelidentifikation Legen Sie die eindeutige Artikelidentifikation fest. Das gew\u00e4hlte Feld muss zwingend unter Artikelfelder, einer Importspalte zugeordnet werden. Definition von "ja" und "nein" Werten In einer CSV-Datei k\u00f6nnen verschiedene Werte f\u00fcr einen "Aktiv"-Haken stehen. bspw.: Ja\/Nein, true\/false, 1\/0, j\/n, aktiv\/inaktiv. Geben Sie die einzelnen Werte zeilenweise getrennt ein, damit beim Importvorgang die Werte f\u00fcr den Shop \u00fcbersetzt werden k\u00f6nnen. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Konfiguration\/Grundeinstellungen.html"},{"title":"Preis Optionen","text":"Importierten Artikelpreis um x % erh\u00f6hen. Hier k\u00f6nnen Sie den importierten Artikelpreis prozentual erh\u00f6hen. Importierten Artikelpreis auf x Nachkommastellen runden. Geben Sie hier einen Wert ein, um den Artikelpreis zu runden. Beispiel: "2" bedeutet, dass von 12.3456 auf 12.35 oder von 1.95583 auf 1.96 gerundet wird. bei "1" wird von 12.3456 auf 12.3 oder von 1.95583 auf 2 gerundet. Hinweis: Beide Optionen greifen lediglich bei dem normalen Artikelpreis (oxprice)!","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Konfiguration\/Preis_Optionen.html"},{"title":"Artikel-Ident Optionen (Expertenmodus)","text":"Artikelidentifikationsfeld als Ident (Datenfeld "oxid") nutzen Mit dieser Einstellung wird die verwendete Artikelidentifikation als interne Shop-Identifikationsnummer (oxid) genutzt. Der Shop verwaltet die eindeutigen Shop-Identifikationsnummern selbst, daher sollte die Option mit Bedacht genutzt werden. Zus\u00e4tzlich das Identfeld mit MD5 codieren Damit kann ein \u00e4hnlicher Ident wie bei einer oxid erzeugt werden. Diese Option greift nur mit der aktiven Option Artikelidentifikationsfeld als Ident (Datenfeld "oxid") nutzen. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Konfiguration\/Artikel_Ident_Optionen.html"},{"title":"Mall (nur EE)","text":"Diese Seite betrifft nur EE-Funktionalit\u00e4t. Spaltenzuordnung Setzen Sie die CSV-Spalte mit einer Liste von beliebig vielen Shop-ID's. Z.B. 1,2,3,4,5,6... interne Spaltentrennung Sofern mehr als ein Shop zugeordnet wird, geben Sie das verwendete Trennzeichen an.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Mall.html"},{"title":"Import","text":"Wenn Sie nun alle Einstellungen gespeichert haben, k\u00f6nnen Sie den Artikelimport starten. Danach zeigt Ihnen der Import, wie viele Zeilen aus Ihrer CSV-Datei importiert wurden, sowie das Ergebnis der bearbeiteten Artikel.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Import.html"},{"title":"Nach Import","text":"Sie sehen eine \u00dcbersicht, wie viele Artikel bereits mit diesem Profil bearbeitet wurden. (Die Informationen orientieren sich an Eintr\u00e4gen aus der Spalte d3importprofileid in oxarticles.) Folgende Einstellungen k\u00f6nnen Sie vornehmen: Artikel pro Durchlauf Legen Sie fest, wie viele Zeilen pro Durchlauf geladen werden sollen. Wenn Sie z.B. 100 eintragen, werden die ersten 100 Artikel bearbeitet. Danach wird die untere Seite neu geladen und die n\u00e4chsten 100 Artikel werden bearbeitet. Alle Artikel deaktivieren - deaktiviert alle Artikel 1. Alle Artikel l\u00f6schen - l\u00f6scht alle Artikel 1. 1. Betrifft Artikel, welche mit dem letztem Import dieses Profils nicht aktualisiert wurden. Wurde ein Artikel bereits mit einem anderen Profil bearbeitet, wird dieser nicht beeinflusst.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/nach_Import.html"},{"title":"Upload der Bilder in das Importverzeichnis","text":"wichtiger Hinweis: Der Artikelimport muss vor einem Bilderimport durchgef\u00fchrt werden. Siehe Artikelfelder: Abschnitt Bild 1-10 \u00d6ffnen Sie das sFTP-Programm und begeben Sie in das Shoproot Verzeichnis. Wechseln Sie in das Verzeichnis: \/source\/import\/pictures\/ und laden Sie die Bilder hoch. Extern definierte Bilder werden im Admin (oder per Cronjob) vom Modul in das Verzeichnis \/source\/import\/pictures\/ heruntergeladen. Mehr dazu unter Bilderimport \/ Import. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Bilderimport\/Upload_Bilder_in_Importverzeichnis.html"},{"title":"Stamm","text":"Importiere W\u00e4hlen Sie ein Bild Importfeld n in dem Dropdown Feld aus. Dieses wurde von Ihnen unter Artikelimport \/ Artikelfelder zugeordnet. Danach w\u00e4hlen Sie f\u00fcr das Bild Importfeld n das zugeh\u00f6rige Ziel aus (Thumbnail, Icon, Bild 1-10). Nach jedem Speichern \u00f6ffnet sich ein neues Feld f\u00fcr die Zuordnung. Start des n\u00e4chsten Bilddurchlaufes Mit den Einstellungen nach 50 gelesenen Bildern bzw. nach 10 importierten Bildern k\u00f6nnen Sie den Start des folgenden Import-Durchlaufs regulieren. (Bei leistungsstarken Servern k\u00f6nnen die Einstellungen ggf. h\u00f6her gesetzt werden.) lokale Bilder (\/import\/pictures\/) durch Externe \u00fcberschreiben? Aktiv: Sofern ein externes Bild den gleichen Namen hat, wird das lokale Bild \u00fcberschrieben. Inaktiv: Sofern ein externes Bild den gleichen Namen und eine unterschiedliche Gr\u00f6\u00dfe zu dem lokalen Bild hat, wird der Name des externen Bilds mit einem Zusatz (DateinameZusatz.Endung) versehen. Masterbilder am Artikel vorher entfernen (empfohlen) Aktivieren Sie diese Option, um Bilder-Altlasten auf dem Server zu vermeiden. W\u00e4hrend des Importvorgangs werden vorherige Artikelbilder \u00fcber die Shop Logik entfernt. Die L\u00f6schung umfasst die Bilder des aktuellen Artikels im "\/master\/" und die generierten Bilder im "\/generated\/" Verzeichnis. Deaktivieren Sie diese Option, so werden die Bilder direkt importiert. Es k\u00f6nnen dabei in den \/source\/out\/master\/product\/*\/ Verzeichnissen ungenutzte Bilddateien entstehen. Aktion nachdem ein Bild importiert wurde W\u00e4hlen Sie eine entsprechende Option aus, damit die Bilder im \/source\/import\/pictures\/ Verzeichnis gel\u00f6scht oder in ein anzugebendes Verzeichnis verschoben werden. Das Verzeichnis ist mit absolutem Pfad anzugeben, bspw: \/var\/www\/myshop.de\/{VerzeichnisName}\/ Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Bilderimport\/Stamm.html"},{"title":"Import","text":"Wenn Sie externe Bilder importieren m\u00f6chten, aktivieren Sie die Option Externe Bilder einlesen. Klicken Sie danach auf Bildimportverzeichnis einlesen. Damit werden die Artikelbilder (von extern heruntergeladen, wenn aktiv und) f\u00fcr den Import registriert. Wenn alle Bilddateien korrekt in der Verzeichnis-Info gezeigt werden, k\u00f6nnen Sie den Bildimport starten. Der Vorgang liest die Metadaten des Bildes und \u00fcbergibt Sie geordnet dem Shop-Framework. Der Shop versetzt das Bild in das korrekte Verzeichnis.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Bilderimport\/Import.html"},{"title":"Einleitung","text":"Ein Cronjob ist eine zeitlich wiederkehrende Aufgabe, die auf dem eingesetzten System\/Server gestartet wird. Der Importer unterst\u00fctzt die Funktion. Ein Cronjob der \u00fcber die Konsole eines Systems (nicht via HTTP Aufruf!) eingerichtet wird, hat meist weniger serverseitige Limitierungen als ein Webaufruf (Shop-Admin). Je nach Gr\u00f6\u00dfe der CSV-Datei und Menge der Artikelbilder stellt dieser Vorgang einen hohen Anspruch an die Systemressourcen. Wichtiger Hinweis: F\u00fcr die korrekte Einrichtung der Dateien bzw. der Cronjobs selbst, ist ein gewisses technisches Verst\u00e4ndnis notwendig. F\u00fchren Sie die Einrichtung nur aus, wenn Sie \u00fcber dieses Wissen verf\u00fcgen. Alternativ sollte Ihr betreuender OXID-Partner die Einrichtung des Cronjobs \u00fcbernehmen. Worin besteht der Unterschied zum Import via Shop-Admin? Im Shop-Admin wird die gesamte CSV-Datei in kleineren Teilen bzw. Durchl\u00e4ufen importiert. Dabei werden pro Durchlauf die eingestellte Menge an CSV-Zeilen verarbeitet. Diese Unterteilung reduziert die ben\u00f6tigten Ressourcen pro Aufruf. F\u00fcr einen Cronjob gelten andere bzw. geringere Beschr\u00e4nkungen. Das erm\u00f6glicht einem Konsolen-Aufruf mehr Ressourcen f\u00fcr den Import zu verwenden. Jeder eingerichtete Import-Cronjob arbeitet alle CSV-Zeilen auf einmal ab. Hinweise Sprechen Sie die Details zum Einrichten eines Cronjobs mit Ihrem Serverprovider ab. Es gibt f\u00fcr die Einrichtung via Konsole verschiedene Faktoren, die je nach Serverprovider unterschiedlich sein k\u00f6nnen. Generell empfehlen wir den Einsatz von Import-Cronjobs auf eigenen Serverumgebungen. Managed-\/Hosting Pakete unterliegen meist strengeren Beschr\u00e4nkungen. Weiterhin sollte bei der Planung eines Cronjobs, der Einsatz von geringeren Datenmengen bevorzugt werden. Ein Beispiel w\u00e4re der Abgleich des Lagerbestandes oder der Preise. Ein Gegenbeispiel ist ein kompletter Import mit Artikel- inkl. Bilddaten. Als Eckpunkte kann man sich an der Anzahl der CSV-Spalten + CSV-Zeilen + Gr\u00f6\u00dfe der Importdatei orientieren. Es empfiehlt sich die Ausf\u00fchrung des Imports innerhalb der Ruhezeiten (wenige Besucher) im Shop durchzuf\u00fchren (bspw. in der Nacht). Je nach System kann es kurzfristig zu serverseitigen Auslastungen kommen (RAM, CPU). Um mehrere Importprofile per Cronjob ausf\u00fchren lassen zu k\u00f6nnen, muss f\u00fcr jedes Profil eine neuer, eigener Eintrag (Shell-Datei, Crontab Zeile) angelegt werden. logischer Ablauf eines Cronjobs Starten des Artikelimports Starten der "Nach Import" Funktion (optional) Herunterladen der externen Bilder (optional) Starten des Bilderimports (optional)","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Einleitung.html"},{"title":"Grunds\u00e4tzliche Informationen","text":"Die anzusprechende Datei befindet sich unter: {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php Die Cronjob-Datei kann folgende Parameter (Reihenfolge beachten!) entgegennehmen: 1. Profil-ID Anhand der ID wird das dazugeh\u00f6rige Importprofil aus der Datenbank geladen. Die Profil-ID des Importprofils finden Sie im Shop-Admin. W\u00e4hlen Sie unter \/Importer\/Artikelimport\/ das gew\u00fcnschte Importprofil aus und gehen Sie auf den Reiter [Stamm]. Dort finden Sie die Ident in der Zeile [Profil-ID]. Dieser Parameter muss immer \u00fcbergeben werden. 2. Aktion des Nach Imports Mit diesem Parameter kann die Aktion des Nach Imports gesteuert werden. Folgende Aktionen stehen Ihnen optional zur Verf\u00fcgung: inactive Diese Aktion steuert dieselbe Funktion wie im Admin unter \/D\u00b3 Module\/Importer\/Artikelimport\/Nach Import\/Alle Artikel deaktivieren an. delete Diese Aktion steuert dieselbe Funktion wie im Admin unter \/D\u00b3 Module\/Importer\/Artikelimport\/Nach Import\/Alle Artikel l\u00f6schen an. none (oder frei lassen) Es wird keine \"Nach Import\" Aktion angesteuert. Mehr Informationen zu den \"Nach Import\" Funktionen finden Sie hier 3. Shop-Id (nur EE) In der Shop Edition Enterprise k\u00f6nnen Sie diesen Parameter verwenden, um einen Import Vorgang innerhalb eines definierten Subshops zu starten. Folgende Ausgaben werden bei einem erfolgreichen Aufruf produziert (kann variieren): 2019-11-29 12:47:37: Starting database article import... 2019-11-29 12:47:38: Imported: 0 articles 2019-11-29 12:47:38: Updated: 10 articles 2019-11-29 12:47:40: starting picture import. 2019-11-29 12:47:40: start picture download. 2019-11-29 12:53:31: Downloaded: 30 pictures 2019-11-29 12:53:31: Reading picture directory... 2019-11-29 12:53:32: start importing pictures. 2019-11-29 12:53:36: finished picture import. 2019-11-29 12:53:36: Handled: 30 Pictures Bilderimport Der Bilderimport wird immer abh\u00e4ngig von den Einstellungen am Importprofil durchgef\u00fchrt. Ausgenommen sind die Limitierungen des Bilderimports (siehe "Start des n\u00e4chsten Bilddurchlaufes" unter Bilderimport).","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Grundsaetzliche_Informationen.html"},{"title":"Einrichtung per Crontab","text":"Aufbau eines Cronjobs in crontab: # Minute Hour Day of Month Month Day of Week Command # (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat) 0 2 12 * * \/usr\/bin\/find Tragen Sie bei {Shoproot} den absoluten Pfad zum Shop Hauptverzeichnis ein. Beispiel 1 In diesem Beispiel werden die CSV-Daten mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und der "Nach Import" Funktion "Alle Artikel deaktivieren" ausgef\u00fchrt. Die Zeitangabe entspricht "jeden Tag um Mitternacht": 0 0 * * * Bei pfad\/zu\/php sollte die vom Shop verwendete PHP Version genutzt werden. Bspw.: \/usr\/local\/php7.2\/bin\/php 0 0 * * * pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 inactive Beispiel 2 In diesem Beispiel werden die CSV-Daten mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und ohne "Nach Import" Funktion ausgef\u00fchrt. Die Zeitangabe entspricht "jede volle Stunde": 0 * * * * 0 * * * * pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 Beispiel 3 (nur EE) In diesem Beispiel werden die CSV-Daten mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725", ohne "Nach Import" Funktion ausgef\u00fchrt und in den Subshop 3 importiert. 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","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Einrichtung_per_Crontab.html"},{"title":"Anlage einer Shell Datei","text":"Der Pfad zu einer Shell Datei kann im Crontab oder in einer Server Configuration (Profihost: ServerCon) hinterlegt werden. Welches Importprofil per cronjob ausgef\u00fchrt wird, wird in der .sh-Datei (bzw. bei Windowssystemen mit der .bat-Datei) gesteuert. Ebenso die Nach Import-Aktion. Tragen Sie bei {Shoproot} den absoluten Pfad zum Shop Hauptverzeichnis ein. Beispiel 1: !\/bin\/bash pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 In diesem Beispiel wird das Profil mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und ohne "Nach Import"-Aktion ausgef\u00fchrt. Beispiel 2: !\/bin\/bash pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 delete In diesem Beispiel wird das Profil mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und als "Nach Import"-Aktion das L\u00f6schen nicht ge\u00e4nderter Artikel ausgef\u00fchrt. Beispiel 3 (nur EE): !\/bin\/bash pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 inactive 3 In diesem Beispiel wird das Profil mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und als Nach Import-Aktion das Deaktivieren nicht ge\u00e4nderter Artikel, im Subshop "3" ausgef\u00fchrt. Die korrekte Konfiguration der .sh-Datei kann \u00fcber einen manuellen Testlauf per Konsole am Webserver gepr\u00fcft werden.","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Einrichtung_per_Shell.html"},{"title":"Einrichtung per Web-Aufruf","text":"Wie bereits in der Einleitung erw\u00e4hnt, sind die Ressourcen via Web-Aufruf st\u00e4rker limitiert. Daher wird diese Ausf\u00fchrung derzeit nicht unterst\u00fctzt und nicht empfohlen.","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Einrichtung_per_Web_Aufruf.html"},{"title":"H\u00e4ufig gestellte Fragen","text":"Kann ich mit Ihrem Modul ein t\u00e4gliches Update meiner Artikeldaten durchf\u00fchren? Ja, Sie k\u00f6nnen so oft Sie m\u00f6chten, einen Import durchf\u00fchren. Ich habe eine CSV-Datei mit ca. 50.000 Artikeln.Ist ein Import mit diesem Modul m\u00f6glich oder w\u00fcrde es zu einer Zeit\u00fcberschreitung und einem Abbruch beim Import kommen? Ein Import ist in jedem Fall m\u00f6glich. Das Modul importiert Teile Ihrer Importdatei. Die Gr\u00f6\u00dfe der Teile k\u00f6nnen Sie unter \/Artikelimport\/Konfig.\/Dateizeilen pro Durchlauf\/ einstellen. Die Serverkonfiguration (RAM\/CPU\/etc.) spielt dabei eine Rolle. Der Importer kann in 3 Kategorien die Artikel integrieren, ist das auch in Treppenkategorien m\u00f6glich? Sie k\u00f6nnen den Artikeln beliebig vielen Kategorien zuordnen. Auch k\u00f6nnen Sie damit gleich den kompletten Kategoriebaum (Treppenkategorie) zuordnen. Die CSV-Datei meines Lieferanten enth\u00e4lt zus\u00e4tzlichen HTML-Code f\u00fcr den Artikellangtext. Dabei kommen die im Admin definierten Trennzeichen ; und \" vor. Kann der Importer die Daten sauber verarbeiten? Ja, wenn die Trennzeichen (Datei-Spaltentrennung + Texttrenner) eindeutig vergeben werden und die Kombination \";\" nicht im Langtext vorkommt. K\u00f6nnen auch andere Dateiformate importiert werden (wie xml, xls,...)? Nein, es werden lediglich csv-basierte Textdateien unterst\u00fctzt. Muss ich alle Bildgr\u00f6\u00dfen einzeln importieren? Nein, das Artikelbild wird bei dem Import dem Shop als Masterbild \u00fcbergeben. Der Shop generiert aus dem Masterbild die restlichen Bilder. Wie erfolgt die Angabe der Staffelpreise f\u00fcr \"abs\" und \"%Rabatt\"? Die Angabe des Staffelpreises kann mit \"%\" oder per Option \"ist % Rabatt Preis?\" erfolgen. Dabei ist es egal ob \"10%\" oder \"%10\".","tags":"","url":"manual\/Bedienungsanleitung\/Haeufig_gestellte_Fragen.html"},{"title":"Hilfe und Support","text":"Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unten genannten Kontaktdaten Bescheid. Haben Sie Fragen oder Unklarheiten in Verbindung mit diesem Modul oder dessen Installation, stehen Ihnen Hilfetexte in unserem HelpCenter zur Verf\u00fcgung. Finden Sie darin die ben\u00f6tigten Antworten nicht, kontaktieren Sie uns bitte unter den folgenden M\u00f6glichkeiten: per E-Mail: support@shopmodule.com oder \u00fcber das Kontaktformular auf Oxidmodule.com oder per Telefon: (+49) 37 21 \/ 26 80 90 zu unseren B\u00fcrozeiten Geben Sie bitte an, wo und wie wir gegebenenfalls vorhandene Schwierigkeiten nachvollziehen k\u00f6nnen. Sind Ihre Fragen shopspezifisch, ben\u00f6tigen wir m\u00f6glicherweise Zugangsdaten zum betreffenden Shop. Wir w\u00fcnschen Ihnen mit Ihrem Shop und dem Modul viel Erfolg! Ihr D\u00b3-Team.","tags":"","url":"support\/Hilfe-und-Support.html"}]} \ No newline at end of file +{"pages":[{"title":"<\/i> Importer","text":"Weitere Informationen zum Modul Importer finden Sie in unserem Shop: https:\/\/www.oxidmodule.com","tags":"","url":"index.html"},{"title":"Changelog","text":"5.0.5.0 - (2021-05-03) Changed Installierbar in OXID 6.2.4 und 6.3 Adminmen\u00fceintrag um Icon erg\u00e4nzt f\u00fcgt nur die konfigurierte Anzahl Importbilderfelder und -indizes zur Datenbank hinzu 5.0.4.2 - (2021-04-13) Fixed nicht funktionierendes Preisupdate bei EE-Subshops mit vererbten Preisen korrigiert Changed Hinweis f\u00fcr Preisimporte mit prozentualer Ver\u00e4nderung erg\u00e4nzt Dokumentation aktualisiert 5.0.4.1 - (2020-11-30) Added Freigabe f\u00fcr OXID 6.2.3 Changed Shopid f\u00fcr Tabelle d3importconfig auf init(11) 5.0.4.0 - (2020-04-20) Added installierbar in OXID 6.2 Changed Abh\u00e4ngigkeiten f\u00fcr Installationen ohne Metapackage von OXID Metapackage zu Shop-Core ge\u00e4ndert 5.0.3.0 - (2020-02-07) Added Composer installation supported Changed documentation adjusted fixed 0000000: external picture import runs endlessly when importing 10 or more images 5.0.2.0 0001991: Neue Option - Bilder im Importverzeichnis l\u00f6schen, verschieben 0002805: neue Bildimportoption "Master Bilder am Artikel erst l\u00f6schen, dann importieren" 0002002: Alle Update Checkboxen an\/abw\u00e4hlen 0007825: Mall Tab erlaubt keine Leer M\u00f6glichkeit 0000000: fixed category import add's a relationship with oxrootid if column is empty 0000000: refactored \\d3_importer_Application_Models_Models_Import_Article::setUpdate 0000000: refactored \\d3_importer_Application_Models_Models_Import_Article::setInsert 0000000: added methods in class \\d3_importer_Application_Models_Models_Import_Article: setArticleOxid, setRemindActiveFlag, addPriceFields 0000000: refactored collector -> moved methods to importService: getCsvLines, addOxidToCSVData 0000000: added class \\d3_importer_Application_Models_Service_Import and modified constructor of \\d3_importer_Application_Models_Interface_Import + \\d3_importer_Application_Models_ImportAbstract 0000000: refactored import models > moved method's getArticleRecords into \\d3_importer_Application_Models_Collector; the \\d3_importer_Application_Models_Collector assign's oxid's, if they are present in the database 0000000: added abstract class \\d3_importer_Application_Models_ImportAbstract for future refactorings in import models 0000000: added interface \\d3_importer_Application_Models_Interface_Import for future refactorings in import models 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Accessories::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Article::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Attributes::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Category::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Crossselling::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Mall::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Manufacturer::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Price2Article::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Selectlist::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored moved method \\d3_importer_Application_Models_Models_Import_Vendor::getImportFields \\d3_importer_Application_Controller_Import_Article::getImportFields 0000000: refactored variable names in \\d3_importer_Application_Controller_Import_Article::getImportFields 5.0.1.1 0008260: make it possible to import d3 content tabs fields 0008033: longdesc couldn't imported into variants 0000000: optical changes in picture import 0006221: articlefields will not translated into english 5.0.1.0 0007694: v6 after import "delete\/deactivate articles" doesn't work 0007613: "deactivate articles" overwrite values in table oxarticles 0007733: import scale prices absolute or percentally 0007759: crossselling and accessories works partially 0004280: verify EE compatibility 0000000: update demo importprofile + csv data 5.0.0.1 added 0000000: added exception empty if profile is empty changed 0000000: refactored template methods to template variables (templates d3_importer_main.tpl + erromessages.tpl) 0000000: closed resource handle 0000000: solved inspection code - results 0000000: reset metadata module id to d3importer 0000000: improve code (use getOne instead of getAll, reduced code) 0000000: replaced execute to getAll while using select query in category model 0000000: replaced select to delete query in deleteArticleAssign method in Selectlist model 0000000: removed unused deleteArticleAssign in vendor model 0000000: corrected some germans typo's 0000000: added notice for category import fixed 0000000: handling in d3_importer_cron.php doesn't work 0000000: importer fields in frontend (admin) 0000000: after import ticker 0006856: pictureimport: checkboxes will not saved 5.0.0.0 Minor version upgrade notice: there are some backward-incompatible changes to this release. 0005803: upgrade to oxid eShop version 6.0.0.0 0000000: drop support of oxid eShop version 4.10.x \/ 5.3.x 4.5.0.0 Minor version upgrade notice: there are some backward-incompatible changes to this release. 0000000: Modul wurde grundlegend \u00fcberarbeitet 0006523: Zeitstempel und weitere Informationen im Cronjob hinzugef\u00fcgt 0002014: nur EE: Profile in anderen Subshops ausblenden 0004280: EE testen und anpassen - Zuweisung Artikel 0006371: Textinfo "Pflicht...Artikelnummer" ist falsch 0000000: Leerwert f\u00fcr Artikelidentifikation hinzugef\u00fcgt 0000000: Fehler in den "ja"\/"nein" Definition behoben 0000000: Button f\u00fcr den Bilderimport hinzugef\u00fcgt 0000000: Mall Tab nutzt Formularbuilder 0000000: Altes Attributshandling wurde entfernt 4.4.2.0 0004766: \u00dcberarbeitung der automatischen Installation 0004836: Tags werden beim Importvorgang gek\u00fcrzt 0000000: 4.8.x\/5.1.x wird nicht mehr unterst\u00fctzt 0000000: unbenutzte Felder im Code entfernt 0000000: Sprachidents f\u00fcr d3importpic13-20 hinzugef\u00fcgt 0005377: d3importerdesc editierbar machen 0005378: Felder f\u00fcr D3 Content Tabs im Importer aufnehmen 0004705: Zeilenumbr\u00fcche werden nicht erkannt v4.4.1.6 0004657: oxid als "Auswahl f\u00fcr Artikelidentifikationsfelder" nicht m\u00f6glich 0004876: Leere Attribute werden angelegt 0004870: Import von Attributen: EE - Handling 0004487: nur 12 Bilder (bis oxpic12) statt 20 k\u00f6nnen beim Bilderimport verwendet werden 0004771: Navigation speichert Profil ab 0004506: doppelte Kategorien, Hersteller und Lieferanten bei Subsprache 4.4.1.6 0003728: seo URl's werden bei der Einstellung "Artikel-Kat.-Zuordnungen vorher l\u00f6schen" nicht gel\u00f6scht 0003724: oxremindactive wird nicht aktualisiert 4.4.1.5 0003570: Vordefinierte Werte funktionieren nicht. 0003572: Fehlerhafte Z\u00e4hlung der aktualisierten Artikel im CronJob 0003681: min. Connector - Version auf 4.3.1.2 setzen 0003624: Hinweise deutlich sichtbarer, wenn eine Demolizenz benutzt wird 0003643: Templates durch Bl\u00f6cke erweitern 4.4.1.4 Aufteilung der automatischen Installation Struktur\u00e4nderung: Datei f\u00fcr das automatische Update von models nach setup verschoben fehlende \u00dcbersetzungen nachgetragen Hilfe-Link korrigiert Korrektur der automatischen Installation, \u00dcbernahme des bereits hinterlegten Lizenzschl\u00fcssels 4.4.1.3 Korrektur des Imports von Tags Korrektur zu Kategoriezuweisungen welche nicht \u00fcbernommen wurden Fehler im Admin behoben - die erste CSV-Spalte konnte in der Kategoriezuweisung nicht abgespeichert werden. Korrektur dass alle Bilder beim Aufruf via Cronjob abgearbeitet werden 4.4.1.2 Inkompatibilit\u00e4t mit 4.9.0 behoben Hilfetext bei Auswahllisten korrigiert Fehler bei noch nicht gespeicherten Grundeinstellungen behoben Fehler im Cronjob behoben - Update entfernt Nachkommastellen bei Preisen mit , (Hinweis: der Cronjob nutzt nun den Admin Modus) 4.4.1.1 d3importflag von enum zu varchar(32) umge\u00e4ndert Bugfix: Attribute wurden nicht importiert Demoprofil aktualisiert 4.4.1.0 neue mehrsprachige Attributszuordnungen inkl. Fallback Bugfix: im Demomodus werden Profile nicht mehr gespeichert, wenn die maximale Anzahl der Profile erreicht ist Wenn das Modul inaktiv ist, werden die Formulare gesperrt technische Verbesserungen im Quellcode 4.4.0.2 Bugfix: Bilder mit Umlauten werden nicht importiert Bugfix: Bei einem Update werden Preise mit , abgeschnitten Neue Grundeinstellung "Auswahl f\u00fcr Kategorieidentifikationsfelder" Bugfix: Import einer Kategorie ohne Namen, sobald ein Trennzeichen an letzter Stelle steht: "Kat1,Kat2,Kat3," Bugfix: Bilder mit Sonderzeichen werden nicht importiert 4.4.0.1 Bugfix: defekte XML Profile (Importer < 4.4.0.0) werden nicht migriert Bugfix: wenn MwSt leer importiert wird, wird nun null statt 0 geschrieben Bugfix: Export von Profilen korrigiert Beispiele von Conjob Shell Dateien f\u00fcr Profihost.com Server erweitert 4.4.0.0 Neues Feature Grundeinstellungen Neuer Men\u00fcpunkt Logging Neue Einstellungen f\u00fcr den Bilderimport technische Verbesserung im Admin Anzahl der Bilder wird aus der Shopconfiguration ausgelesen Logging "externe Bilder einlesen" implementiert Gro\u00dfe CSV-Dateien werden im Admin performanter ausgelesen Auslagerung der Hilfetexte im Admin in ? - Boxen \u00dcbernahme der Importer-Smarty-Datei in das Modulverzeichnis externe Bilder werden anhand der Profil ID eingelesen Grosschreibung der Endung von CSV- \/ TXT-Dateien erm\u00f6glichen Bugfix: letzte Zeile der Importdatei importieren 4.3.3.1 Update der precheck.php 4.3.3.0 Zur\u00fccksetzen der Artikelanzahl in Kategorien, Lieferanten und Hersteller Bugfix f\u00fcr 4.8.3 Bugfix PHP 5.4-Kompatibilit\u00e4t hergestellt Bugfix nach Anlegen eines neuen Profils war das Profil nicht ausgew\u00e4hlt Bugfix Dateinamen f\u00fcr den Bilderimport auf 128 Zeichen (wie oxid Standard) festgelegt Testprofil und CSV Dateien wurden hinzugef\u00fcgt 4.3.2.4 Bugfix im Bilderimport, lediglich ein Bild wurde importiert 4.3.2.3 Bugfix in der Demoversion beim Bearbeiten der Bilder 4.3.2.2 PHP 5.4-Kompatibilit\u00e4t hergestellt 4.3.2.1 Call By References entfernt (PHP 5.4-Kompatibilit\u00e4t) Installationsfehler korrigiert 4.3.2.0 Fehlermeldungen beim laden der Konfiguration werden abgefangen und unter Importer->Einstellungen->Stamm ausgegeben simple Exportfunktion f\u00fcr Importprofile unter Importer->Einstellungen->Stamm hinzugef\u00fcgt (SQL basierend) Bugfix beim Speichern von Dateinamen mit Umlauten Bugfix Auslesen nicht zugeordneter Felder (im Tab Artikelfelder) verursachte einen Fatal Error Bugfix automatische Installation 4.3.1.2 Bugfix beim Einlesen der zu importierenden Bilder behoben (Admin fand nur 1 Bild) 4.3.1.1 Bugfix bei Import von Kategorien, welche nicht "via Name" importiert werden 4.3.1.0 automatische Installation eingef\u00fcgt Aktivierung durch Seriennummern 4.3.0.0 komplette \u00dcberarbeitung des Moduls f\u00fcr die neue Shopstruktur des OXID eShop 4.7\/5.0 4.2.5.1 Modulversionsnummer und Vorschaubild im Admin korrigiert 4.2.5 Integration der Profil-ID bei bearbeiteten Artikeln. Damit M\u00f6glichkeit den "Nach Import" auf die vom Profil betroffenen Artikeln zu beschr\u00e4nken Erweiterung des externen Bilderimports um Fehlerbehandlung und Bildtyppr\u00fcfung \u00c4nderung des Downloadverfahrens auf Curl f\u00fcr ein besseres Fehlerhandling Der externe Bilderimport geht nun nicht mehr in eine Endlosschleife wenn ung\u00fcltige Urls importiert wurden 4.2.4 N\u00f6tige \u00c4nderungen f\u00fcr Shopversion 4.6.0 eingebaut Support f\u00fcr Shopversionen < 4.2.0 entfernt Install-Doku \u00fcberarbeitet 4.2.3 Fehler beim Zuordnen mehrerer Artikelbilder \u00fcber verschiedene Bildslots zu einem Artikel behoben (Shopversion < 4.5.0) kein Update der Langtexte bei \u00e4lteren Shopversionen 4.2.2 Zusammenfassen bisheriger Bugfixes fehlende Bildslots in Shopversion < 4.5.0 4.2.1 "Nach Import" konnte nicht korrekt gestartet werden Neuer Men\u00fcpunkt "Einstellungen" zur besseren Kontrolle der Modulversion Optimierung des Importvorgangs durch Indizierung diverser DB-Felder Button "Neues Importprofil" In \u00e4lteren Template-Versionen wurden veraltete Smartyvariablen korrigiert ModId angepasst 4.2.0 Einbau eines Import-cronjobs \u00dcberarbeitung diverser Moduldateien f\u00fcr die cronjob-Funktionalit\u00e4t 4.1.7 Fehler beim Bilderimport behoben. Pro Bilderimport konnte immer nur 1 Bild pro Artikel importiert werden 4.1.6 Neue Bildstruktur ab 4.5.1 wird nun unterst\u00fctzt ggf. vorhandene weitere Datenbankfelder in oxartextends k\u00f6nnen nun importiert werden (longdesc2 etc.) 4.1.5 Engl. Sprachkomponenten eingef\u00fcgt Bugfix mit Langtexten und Varianten behoben 4.1.4 OXID 4.5: Probleme mit Einlesen von Datenfeldern aus oxarticles und oxartextends behoben OXID 4.5: Lupenfunktion auf der Artikeldetailseite funktioniert nun wieder 4.1.3 OXID 4.5.0: n\u00f6tige Templateanpassungen (Smartyvariablen) durchgef\u00fchrt OXID 4.5.0: getAbsDynImageDir() wurde von OXID entfernt OXID 4.5.0: Probleme mit Bilderweiterungen "_pX" z.B. "bild_p1.jpg" auf der Detailseite. Generierte Bilder erhalten darum nun keine Extension mehr z.B. "bild.jpg" trim() auf Einzelwerte der Kategorienamen Problem mit Mehrsprachigkeit behoben einfaches Profiling eingebaut 4.1.2 Fehler mit den Zoombildern gefixt Einbau des externen Bilderimports (Bild liegt in einer externen Url) 4.1.1 oxTags werden nun beim Import unterst\u00fctzt "list"-Templates nuntzen nun die globalen JS-Funktionen wie editThis etc. Problem mit fehlendenden oxartextends Eintr\u00e4gen behoben (Artikel-oxId wurde mit NULL aus oxartextends \u00fcberschrieben) Standard-Datenfelder (oxactive etc.) werden jetzt nur noch mit Standrad-Werten bef\u00fcllt, wenn die Felder nicht explizit \u00fcber Importspalten belegt werden "sZoomImageSize" wird nun als globale Zoombildgr\u00f6\u00dfe genutzt (seit OXID 4.3.0) "oxpicsgenerated" wird nun generell auf "12" gesetzt (seit OXID 4.3.0) Aktualisierung der language-Datei und der Tabelle "oximporterdesc" 4.1 kompletter UTF8 Support f\u00fcr Importdateien und Shop optionaler Texttrenner in der CSV, so dass auch HTML-Langtexte mit Zeilenumbr\u00fcchen korrekt importiert werden Korrektur der Zeilenanzahl bei CSV-Inhalten, die \u00fcber mehrere Dateizeilen gehen (z.B. HTML-Daten) Wird die Importdatei z.B. per FTP aktualisiert, so erkennt das Modul nun automatisch im Reiter "Stamm" die ge\u00e4nderten Dateiwerte Lieferanten integriert Staffelpreise integriert Auswahllisten integriert Kurzinfo nach Import L\u00f6schm\u00f6glichkeit nach dem Import \u00dcbersetzung f\u00fcr oxarticles-Felder in lang.php hinzugef\u00fcgt copy_this ab OXID 4.1.4 (n\u00f6tige Template\u00e4nderungen) hinzugef\u00fcgt Importe mit mehr als einer Kategoriespalte schlugen fehl diverse kleinere Bugfixes 4.0 Komplette Migration des Moduls auf OXID4.","tags":"","url":"changelog\/Changelog.html"},{"title":"Installation \/ Update \/ Deinstallation","text":"Anforderungen Neuinstallation Update Deinstallation Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unter Hilfe und Support genannten Kontaktdaten Bescheid.","tags":"","url":"installation\/Installation.html"},{"title":"Systemanforderungen","text":"PHP Version 5.6.x bis 8.0.x PHP Decoder installierter ionCube Loader Shopeditionen OXID eShop Community Edition (CE) OXID eShop Professional Edition (PE) OXID eShop Enterprise Edition (EE) OXID eShop B2B Edition Shopversionen OXID eShop in Compilation Version 6.0.x 6.1.x 6.2.x 6.3.x Themes Das Modul arbeitet unabh\u00e4ngig von den Frontend-Themes und bringt einen eigenen Bereich im Admin unter Module \/ Importer mit. D3 Modul-Connector (kostenfrei bei D3 erh\u00e4ltlich) ab Version 5.3.0.0 Installation via Composer mindestens ein freier Cronjob zur automatischen Ausf\u00fchrung der angelegten Aufgaben Beachten Sie, dass die Ihnen vorliegende Modulversion entsprechend f\u00fcr Ihre genutzte PHP-Version sowie dem auf Ihrem Server vorhandenen Decoder (ionCube Loader) kompatibel ist. Im Zweifelsfall kontaktieren Sie uns und nennen den f\u00fcr Ihren Shop genutzten Decoder und die PHP-Version. Kontrollieren Sie bitte auch, ob diese Modulversion f\u00fcr die von Ihnen eingesetzte Shopedition (Professional Edition (PE) oder Enterprise Edition (EE)) ausgelegt ist.","tags":"","url":"installation\/Anforderungen\/Systemanforderungen.html"},{"title":"Vorbereitungen","text":"Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, k\u00f6nnen Sie im Adminbereich Ihres Shops pr\u00fcfen. Existiert der Punkt Module \/ Modul-Connector, k\u00f6nnen Sie die installierte Version unter Bibliotheksverwaltung ablesen. Fehlt dieser Eintrag, installieren Sie den Modul-Connector bitte vorab. Hinweise zu dessen Installation finden Sie in der Modul-Connector Dokumentation.","tags":"","url":"installation\/Anforderungen\/Vorbereitungen.html"},{"title":"Neuinstallation","text":"Schnellstart per Composer auf der Kommandozeile php composer require d3\/importer:^5.0.5.0 --update-no-dev .\/vendor\/bin\/oe-console oe:module:activate d3importer .\/vendor\/bin\/d3modules_install .\/vendor\/bin\/d3cleartmp Detailliertere Angaben zur Installation entnehmen Sie bitte den folgenden Seiten.","tags":"","url":"installation\/Neuinstallation\/index.html"},{"title":"Vorbereitungen","text":"Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, k\u00f6nnen Sie im Adminbereich Ihres Shops pr\u00fcfen. Existiert der Punkt Module -> Modul-Connector, k\u00f6nnen Sie die installierte Version unter Bibliotheksverwaltung ablesen. Fehlt dieser Eintrag, installieren Sie den Modul-Connector bitte vorab. Hinweise zu dessen Installation finden Sie in der Modul-Connector Dokumentation.","tags":"","url":"installation\/Neuinstallation\/Vorbereitung.html"},{"title":"Modul zur Installation hinzuf\u00fcgen","text":"auf der Kommandozeile F\u00fchren Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um das Modul Importer zur Installation hinzuzuf\u00fcgen: php composer require d3\/importer:^5.0.5.0 --update-no-dev Achten Sie darauf, dass Composer f\u00fcr die Installation die selbe PHP-Version verwendet, in der auch Ihr Shop ausgef\u00fchrt wird. Sie erhalten sonst m\u00f6glicherweise unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Neuinstallation\/Modul_hinzufuegen.html"},{"title":"Providerspezifische Installation","text":"Manche Provider erfordern besondere Einstellungen f\u00fcr installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterst\u00fctzung ben\u00f6tigen, kontaktieren Sie uns bitte f\u00fcr weiteren Support.","tags":"","url":"installation\/Neuinstallation\/Providerspezifische_Installation.html"},{"title":"Modul im Shop aktivieren","text":"im Adminbereich Aktivieren Sie das Modul \u00fcber den Shopadmin unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Importer auf den Button Aktivieren. oder auf der Kommandozeile Alternativ k\u00f6nnen Sie die Modulaktivierung auch auf der Kommandozeile (CLI) im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) durchf\u00fchren. .\/vendor\/bin\/oe-console oe:module:activate d3importer Enterprise Edition: Achten Sie darauf, dass das Modul in weiteren Shops (Mall) ebenfalls aktiviert werden muss, um dessen Funktion dort auch zu nutzen. Enterprise Edition: Zur Aktivierung in einem bestimmten Shopmandanten verwenden Sie das --shop-id-Argument (...oe-console --shop-id 1 oe:module...)","tags":"","url":"installation\/Neuinstallation\/Modul_im_Shop_aktivieren.html"},{"title":"Shopanpassungen installieren","text":"im Adminbereich Direkt nach der Modulaktivierung startet der Assistent, der Sie durch die Shopanpassung f\u00fchrt. Darin k\u00f6nnen Sie verschiedene Optionen der Installation w\u00e4hlen. Den Installationsassistenten finden Sie auch unter den Men\u00fcpunkten Admin -> Module -> Modul-Connector -> Modulverwaltung -> Modulinstallation. Bei tiefgreifenden \u00c4nderungen an Ihrem Shop (z.B. Hinzuf\u00fcgen weiterer Sprachen oder Mandanten) rufen Sie den Installationsassistenten bitte erneut auf, um dann eventuell notwendige Nacharbeiten f\u00fcr das Modul ausf\u00fchren zu lassen. M\u00f6chten Sie die \u00c4nderungen manuell installieren, k\u00f6nnen Sie sich \u00fcber diesen Assistenten ebenfalls eine Checkliste erstellen. oder auf der Kommandozeile Der Installationsassistent steht Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3modules_install","tags":"","url":"installation\/Neuinstallation\/Shopanpassungen_installieren.html"},{"title":"Datenbankanpassungen","text":"Sollten Sie Ihren Shop im Modus "International" (mit Standardsprache englisch) betreiben, so spielen Sie anschlie\u00dfend folgenden SQL-Befehl zus\u00e4tzlich ein: UPDATE `d3importerdesc` SET `OXDESC` = (@TEMP1:=OXDESC), `OXDESC` = `OXDESC_1`, OXDESC_1 = @TEMP1;","tags":"","url":"installation\/Neuinstallation\/Datenbankanpassungen.html"},{"title":"TMP-Ordner leeren","text":"im Adminbereich Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. oder auf der Kommandozeile Alle TMP-leeren-Aktionen stehen Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3cleartmp Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus. Beim Kommandozeilenaufruf werden Ihnen weitere Optionen gezeigt, mit denen Sie die Aktion gezielt steuern k\u00f6nnen.","tags":"","url":"installation\/Neuinstallation\/TMP-Ordner_leeren.html"},{"title":"Lizenzschl\u00fcssel eintragen","text":"im Adminbereich Das Modul verwendet Lizenzschl\u00fcssel, um die Lizenzverwaltung f\u00fcr Sie und auch f\u00fcr uns einfacher zu gestalten. Hierbei haben Sie je nach Modul die Wahl zwischen einer kostenfreien Testlizenz und einer Lizenz f\u00fcr den Einsatz im Livebetrieb. Klappen Sie den Eintrag des jeweiligen Moduls aus. Sofern erforderlich, k\u00f6nnen Sie hier den Lizenzassistenten starten, der schnell und einfach ihr Modul aktiviert. Hinweis: Bitte beachten Sie, dass der Aktivierungsident nur einmal verwendet werden kann. Wenn sich Ihr System als Testshop unter einer vor\u00fcbergehenden Domain (URL) befindet, empfehlen wir das Modul vorerst als Testversion laufen zu lassen. Im Testmodus gibt es bei diesem Modul Einschr\u00e4nkungen: Artikelimport: es k\u00f6nnen max. 4 Profile angelegt werden es werden max. 10 Zeilen importiert Bilderimport: es werden max. 5 Bilder (bzw. externe Bilder) importiert","tags":"","url":"installation\/Neuinstallation\/Lizenz_eintragen.html"},{"title":"Admin neu starten","text":"Im linken Men\u00fc finden Sie einen neuen Eintrag: Module \/ Importer. Sollte dieser Men\u00fcpunkt bei Ihnen noch nicht vorhanden sein, melden Sie sich vom Shop-Admin bitte kurz ab und anschlie\u00dfend wieder an.","tags":"","url":"installation\/Neuinstallation\/Admin_neu_starten.html"},{"title":"Updatef\u00e4higkeit","text":"Bei individuellen \u00c4nderungen von Moduldateien empfehlen wir, jeweils die \u00dcberladungsm\u00f6glichkeiten des Shops daf\u00fcr zu verwenden. So brauchen Sie die originalen Moduldateien nicht zu ver\u00e4ndern und erhalten sich so die Updatef\u00e4higkeit des Shops und des Moduls. Weitere Informationen zu den \u00dcberladungsm\u00f6glichkeiten verschiedener Dateien finden Sie in unserer FAQ.","tags":"","url":"installation\/Neuinstallation\/Updatefaehigkeit.html"},{"title":"Wann kann ein Update ausgef\u00fchrt werden?","text":"Die Updateanweisungen k\u00f6nnen verwendet werden, wenn dieses Modul schon fr\u00fcher mit Hilfe von Composer installiert wurde. Wurde die Installation bisher noch nicht durchgef\u00fchrt oder die Installation wurde nicht \u00fcber Composer durchgef\u00fchrt (weil das Modul dies z.B. fr\u00fcher nicht unterst\u00fctzte), verwenden Sie bitte die Beschreibung unter Neuinstallation.","tags":"","url":"installation\/Update\/Updatedefinition.html"},{"title":"Modul deaktivieren","text":"im Adminbereich Deaktivieren Sie das Modul unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Importer auf den Button Deaktivieren. oder auf der Kommandozeile Alternativ k\u00f6nnen Sie die Moduldeaktivierung auch \u00fcber die Kommandozeile (CLI) im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) durchf\u00fchren. .\/vendor\/bin\/oe-console oe:module:deactivate d3importer Enterprise Edition: Achten Sie darauf, dass das Modul in allen weiteren Shops (Mall) ebenfalls deaktiviert werden muss. Enterprise Edition: Zur Deaktivierung in einem bestimmten Shopmandanten verwenden Sie das --shop-id-Argument (...oe-console --shop-id 1 oe:module...)","tags":"","url":"installation\/Update\/Modul_deaktivieren.html"},{"title":"Dateien erneuern","text":"auf der Kommandozeile Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). F\u00fchren Sie dort diesen Befehl aus: php composer require d3\/importer:^5.0.5.0 --update-no-dev Im weiteren Ablauf werden Sie gefragt, ob die Moduldateien \u00fcberschrieben werden sollen. Best\u00e4tigen Sie dies f\u00fcr den Eintrag d3\/importer. Achten Sie darauf, dass Composer f\u00fcr die Installation die selbe PHP-Version verwendet, in der auch Ihr Shop ausgef\u00fchrt wird. Sie erhalten sonst m\u00f6glicherweise unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Update\/Dateien_erneuern.html"},{"title":"Providerspezifische Installation","text":"Manche Provider erfordern besondere Einstellungen f\u00fcr installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterst\u00fctzung ben\u00f6tigen, kontaktieren Sie uns bitte f\u00fcr weiteren Support.","tags":"","url":"installation\/Update\/Providerspezifische_Installation.html"},{"title":"Modulinformationen aktualisieren","text":"im Adminbereich Wechseln Sie im Adminbereich zu Erweiterungen -> Module. Klicken Sie nach Auswahl von Importer auf den Button Aktivieren. oder auf der Kommandozeile Alternativ k\u00f6nnen Sie die Modulaktivierung auch \u00fcber die Kommandozeile (CLI) im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) durchf\u00fchren. .\/vendor\/bin\/oe-console oe:module:activate d3importer Enterprise Edition: Achten Sie darauf, dass das Modul in weiteren Shops (Mall) ebenfalls aktiviert werden muss, um dessen Funktion dort auch zu nutzen. Enterprise Edition: Zur Aktivierung in einem bestimmten Shopmandanten verwenden Sie das --shop-id-Argument (...oe-console --shop-id 1 oe:module...)","tags":"","url":"installation\/Update\/Modulinformationen_aktualisieren.html"},{"title":"Shopanpassungen installieren","text":"im Adminbereich Ob Shopanpassungen notwendig sind, ist von der Versions\u00e4nderung des Moduls abh\u00e4ngig. M\u00f6glicherweise sehen Sie nach dem Neuaktivieren des Moduls den Installationsassistent, der Sie durch die \u00c4nderungen f\u00fchrt. Folgen Sie dann den einzelnen Schritten. M\u00f6chten Sie die \u00c4nderungen manuell installieren, k\u00f6nnen Sie sich \u00fcber diesen Assistenten ebenfalls eine Checkliste erstellen. Wird der Assistent nicht gezeigt (Sie sehen wieder die Modul\u00fcbersicht), waren keine Anpassungen am Shop notwendig. Ob erforderliche Updates ausgef\u00fchrt werden sollen, k\u00f6nnen Sie jederzeit im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung -> Modulinstallation pr\u00fcfen. oder auf der Kommandozeile Der Installationsassistent steht Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3modules_install","tags":"","url":"installation\/Update\/Shopanpassungen_installieren.html"},{"title":"TMP-Ordner leeren","text":"im Adminbereich Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. oder auf der Kommandozeile Alle TMP-leeren-Aktionen stehen Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3cleartmp Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus. Beim Kommandozeilenaufruf werden Ihnen weitere Optionen gezeigt, mit denen Sie die Aktion gezielt steuern k\u00f6nnen.","tags":"","url":"installation\/Update\/TMP-Ordner_leeren.html"},{"title":"Lizenzschl\u00fcssel aktualisieren","text":"im Adminbereich Wird f\u00fcr die neue Modulversion ein aktualisierter Lizenzschl\u00fcssel ben\u00f6tigt, tragen Sie diesen im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung ein. Klappen Sie dazu den Eintrag des jeweiligen Moduls aus und starten den Lizenzassistent.","tags":"","url":"installation\/Update\/Lizenzschluessel_aktualisieren.html"},{"title":"Erweiterungen anpassen","text":"Haben Sie f\u00fcr dieses Modul eigene Erweiterung entwickelt, gleichen Sie dies bitte mit der neuen Fassung des Moduls ab.","tags":"","url":"installation\/Update\/Erweiterungen_anpassen.html"},{"title":"Installationspr\u00fcfung","text":"Um die erfolgreiche Installation zu pr\u00fcfen, k\u00f6nnen Sie die folgende Checkliste verwenden: Einstellungsunabh\u00e4ngige Pr\u00fcfungen Backend Modul ist unter Erweiterungen \/ Module aktiv geschaltet Modul ist unter Module \/ Modul-Connector \/ Modulverwaltung aktiv geschaltet Modul zeigt unter Module \/ Importer einen eigenen Bereich f\u00fcr Einstellungen","tags":"","url":"installation\/Installationspruefung.html"},{"title":"Schnellstart","text":"Das Modul Importer bringt einen umfangreichen Adminbereich mit, in dem Sie die Konfigurationseinstellungen des Moduls setzen k\u00f6nnen. \u00dcber das Men\u00fc Module \/ Importer sehen Sie folgende Men\u00fcpunkte: Einstellungen - Definieren Sie die Grundeinstellungen f\u00fcr die ImportProfile Artikelimport - \u00dcbersicht f\u00fcr die Importprofile + Einstellungen f\u00fcr den Artikelimport eines jeweiligen Importprofils Bildimport - \u00dcbersicht f\u00fcr die Importprofile + Einstellungen f\u00fcr den Bildimport pro Importprofil Artikelfelder - \u00dcbersicht der aktuell konfigurierbaren Artikelfeldzuordnungen Arbeiten Sie idealerweise die Optionen einmal durch. Hinweise zu den einzelnen Einstellungen finden Sie in dem dahinter, stehenden Fragezeichenfeld ? . Durch einen Klick darauf \u00f6ffnet sich der Hinweistext. Die meisten Optionen sind zus\u00e4tzlich im Handbuch zum Modul umfangreicher beschrieben.","tags":"","url":"installation\/Schnellstart.html"},{"title":"Demodaten","text":"Wir stellen f\u00fcr das Modul Demodaten bereit, mit denen Sie einfache Tests ausf\u00fchren k\u00f6nnen. Weiterhin k\u00f6nnen Ihnen diese als Vorlage f\u00fcr eigene Importdateien dienen. F\u00fchren Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um die Demodaten zur Installation hinzuzuf\u00fcgen: php composer require d3\/importer-demodata --update-no-dev Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer. Nach der Installation der Demodaten lassen Sie bitte die Shopanpassungen nachtragen. Verwenden Sie dazu bitte diesen Ablauf.","tags":"","url":"installation\/Demodaten.html"},{"title":"Modulerweiterungen deaktivieren und entfernen","text":"Deaktivieren Sie alle vorhandenen Erweiterungen, die auf dem Modul Importer aufbauen und l\u00f6schen bitte alle Dateien dieser Erweiterungen. Entfernen Sie ebenfalls alle individuellen Templateanpassungen f\u00fcr dieses Modul.","tags":"","url":"installation\/Deinstallation\/Modulerweiterungen_deaktivieren_und_entfernen.html"},{"title":"Modul deaktivieren","text":"im Adminbereich Deaktivieren Sie das Modul unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Importer auf den Button Deaktivieren. oder auf der Kommandozeile Alternativ k\u00f6nnen Sie die Moduldeaktivierung auch \u00fcber die Kommandozeile (CLI) im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) durchf\u00fchren. .\/vendor\/bin\/oe-console oe:module:deactivate d3importer Enterprise Edition: Achten Sie darauf, dass das Modul in allen weiteren Shops (Mall) ebenfalls deaktiviert werden muss. Enterprise Edition: Zur Deaktivierung in einem bestimmten Shopmandanten verwenden Sie das --shop-id-Argument (...oe-console --shop-id 1 oe:module...)","tags":"","url":"installation\/Deinstallation\/Modul_deaktivieren.html"},{"title":"Modul aus der Installation entfernen","text":"auf der Kommandozeile Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). F\u00fchren Sie Sie dort diesen Befehl aus: php composer remove d3\/importer --no-update Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Deinstallation\/Modul_aus_der_Installation_entfernen.html"},{"title":"Dateien l\u00f6schen","text":"L\u00f6schen Sie den Ordner d3\/importer und seine enthaltenen Elemente aus dem Verzeichnis source\/modules\/d3 Ihres Shops. Best\u00e4tigen Sie anschlie\u00dfend im Shopadmin unter Erweiterungen -> Module -> Installierte Shop-Module die Nachricht: Es gibt registrierte Erweiterungen im eShop, deren Verzeichnis nicht vorhanden ist. M\u00f6chten Sie alle Modulinformationen einschlie\u00dflich Konfigurationseinstellungen und Blockinformationen f\u00fcr Templates l\u00f6schen?","tags":"","url":"installation\/Deinstallation\/Dateien_loeschen.html"},{"title":"TMP-Ordner leeren","text":"im Adminbereich Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. oder auf der Kommandozeile Alle TMP-leeren-Aktionen stehen Ihnen ebenfalls auf der Kommandozeile (CLI) zur Verf\u00fcgung. F\u00fchren Sie diesen Befehl im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) aus: .\/vendor\/bin\/d3cleartmp Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus. Beim Kommandozeilenaufruf werden Ihnen weitere Optionen gezeigt, mit denen Sie die Aktion gezielt steuern k\u00f6nnen.","tags":"","url":"installation\/Deinstallation\/TMP-Ordner_leeren.html"},{"title":"Demodaten","text":"Wir stellen f\u00fcr das Modul Demodaten bereit, mit denen Sie einfache Tests ausf\u00fchren k\u00f6nnen. Weiterhin k\u00f6nnen Ihnen diese als Vorlage f\u00fcr eigene Importdateien dienen. F\u00fchren Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um die Demodaten zur Installation hinzuzuf\u00fcgen: php composer require d3\/importer-demodata --update-no-dev Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer. Nach der Installation der Demodaten lassen Sie bitte die Shopanpassungen nachtragen. Verwenden Sie dazu bitte diesen Ablauf.","tags":"","url":"manual\/Bedienungsanleitung\/Demodaten.html"},{"title":"Beschreibung Funktionsumfang","text":"Beschreibung \/ Funktionsumfang Modul f\u00fcr den individuellen und wiederkehrenden Import gro\u00dfer Artikelmengen aus einer Excel Datei (CSV-Format) Importiert werden k\u00f6nnen: alle Artikelstammdaten Artikellangtexte (auch HTML) Artikelbilder Kategorien Crossselling (Zubeh\u00f6r \/ \u00c4hnliche Artikel) Attribute Auswahllisten Varianten Staffelpreise Hersteller \/ Lieferanten Wichtige Features: W\u00e4hlen Sie einen von 3 Importtypen aus: Bei "Import und Update" werden Artikel importiert und aktualisiert (Standard Auswahl). Bei "nur Import" werden Artikel nur importiert. Es werden keine vorhandenen Artikeldaten \u00fcberschrieben. Bei "nur Update" werden Artikel nur aktualisiert. Es werden keine neuen Artikel angelegt. Speicherung der verwendeten Import-Profil-ID an importierten\/aktualisierten Artikeln z.B. f\u00fcr Nachimport-Aktionen automatische Importe (z.B. Nachts) f\u00fcr beliebige, gespeicherte Importprofile Speicherung beliebig vieler Importprofile Exportfunktion f\u00fcr Importprofile unter Importer \/ Einstellungen \/ Stamm Variable Strukturen in der Importdatei m\u00f6glich. Die Zuordnungen "CSV zu Shop" k\u00f6nnen \u00fcber das Importprofil eingestellt werden. definierbare Standardwerte f\u00fcr die Einstellungen der Import-Profile Alle Artikel die nicht aktualisiert wurden, k\u00f6nnen Sie nachtr\u00e4glich \u00fcber den Admin im Nach Import l\u00f6schen oder deaktivieren.","tags":"","url":"manual\/Bedienungsanleitung\/Beschreibung_Funktionsumfang.html"},{"title":"Technische Vorraussetzungen","text":"Sie ben\u00f6tigen einen sFTP\/FTPs-Zugang, Zugriff auf den Shop-Admin und den Shop (Backend\/Frontend) zur Kontrolle des Importes. Sofern Sie die CSV-Datei manuell editieren m\u00f6chten, empfehlen wir den Einsatz eines Tabellenkalkulationsprogramm's. Damit k\u00f6nnen Sie Ihre Importdatei \u00f6ffnen (beispielsweise Microsoft Excel oder LibreOffice Calc\/OpenOfficeCalc).","tags":"","url":"manual\/Bedienungsanleitung\/Technische_Vorraussetzungen.html"},{"title":"Teil 1 Artikelimport","text":"\u00d6ffnen Sie im Admin Module \/ Importer \/ Artikelimport W\u00e4hlen Sie im Stamm einen Profilnamen W\u00e4hlen Sie eine vorhandene Datei aus oder w\u00e4hlen Sie eine neue Datei f\u00fcr den Upload. Geben Sie die Datei-Spaltentrennung und ggf. den Texttrenner an. Ordnen Sie unter Artikelfelder alle in Ihrer Liste vorkommenden Spalten den richtigen Datenfeldern zu. Setzen Sie bei Update einen\/mehrere Haken, wenn die Informationen am Artikel aktualisiert werden sollen. wichtiger Hinweis: F\u00fcr den Bilderimport verwenden Sie die Feldnamen "Bild Importfeld 1-10(d3importpic1-10)" anstatt "Bild 1-10(oxpic1-10)". Ordnen Sie die Kategorien zu. Sie k\u00f6nnen beliebig viele Zuordnungen erstellen Ordnen Sie unter Crossselling die entsprechenden Datenfelder f\u00fcr Crossselling und Zubeh\u00f6r zu. Unter Attribute k\u00f6nnen Sie mehrsprachig, den Attributsnamen und den Attributswert am Artikel importieren. Sie k\u00f6nnen beliebig viele Attribute festlegen. Nehmen Sie die Konfiguration f\u00fcr die Auswahllisten vor. Sie k\u00f6nnen beliebig viele Auswahllisten festlegen. Geben Sie bei Varianten die Spalten f\u00fcr Variantenname, Variante von und Variantenbezeichnung an. Geben Sie bei Staffelpreisen die Felder Staffelpreis, Menge von und Menge bis an. Sie k\u00f6nnen beliebig viele Staffelpreise festlegen. W\u00e4hlen Sie bei Hersteller die Datenfelder f\u00fcr Hersteller und Lieferanten Unter Konfig. w\u00e4hlen Sie: Wie viele Dateizeilen pro Durchlauf importiert werden sollen, den Importtyp, die Anzahl Datei-Kopfzeilen und die Artikelidentifikation. Zus\u00e4tzlich k\u00f6nnen Sie die Preis Optionen und Artikel-Ident Optionen (Expertenmodus) einstellen Klicken Sie im Reiter Import auf Artikelimport starten Unter Nach Import werden Informationen zu den -zuletzt mit diesem Profil importierten- Artikeln angezeigt. Alle Artikel deaktivieren - deaktiviert alle Artikel 1. Alle Artikel l\u00f6schen - l\u00f6scht alle Artikel 1. 1. Betrifft Artikel, welche mit dem letztem Import dieses Profils nicht aktualisiert wurden. Wurde ein Artikel bereits mit einem anderen Profil bearbeitet, wird dieser nicht beeinflusst.","tags":"","url":"manual\/Bedienungsanleitung\/Schnelleinstieg\/Teil1_Artikelimport.html"},{"title":"Teil 2 Vorbereitung Bilderimport","text":"\u00d6ffnen Sie vom root-Verzeichnis \/source\/ ausgehend, den Unterordner \/import\/pictures\/. In das Verzeichnis laden Sie alle Artikelbilder, die vom Namen her identisch mit den Bildnamen in Ihrer Liste sind (z.B. \/import\/pictures\/beispielbild.jpg). Externe Bilder werden automatisch \u00fcber den Bildimport in das Verzeichnis \/source\/import\/pictures\/ heruntergeladen.","tags":"","url":"manual\/Bedienungsanleitung\/Schnelleinstieg\/Teil2_Vorbereitung_Bilderimport.html"},{"title":"Teil 3 Bilderimport","text":"Gehen Sie in den Admin unter Module \/ Importer \/ Bilderimport. W\u00e4hlen Sie in der Auswahl Bild Importfeld 1 f\u00fcr das 1. Artikelbild und ordnen Sie die jeweiligen Zielfelder zu (bzw. Vorschaubild, Detailbild 1-10, Icon). Gehen Sie f\u00fcr weitere Bildimportfelder gleich vor, setzen Sie noch gew\u00fcnschte Einstellungen und klicken Sie anschlie\u00dfend auf Speichern. Gehen Sie auf den Reiter Import und w\u00e4hlen Sie optional die Einstellung Externe Bilder einlesen. Mit Bildimportverzeichnis einlesen werden alle Bilder aus dem Verzeichnis \/import\/pictures\/ ausgelesen. (bei aktivierter Einstellung externe Bilder einlesen werden die Bilder vorher in das Bildimportverzeichnis geladen) Danach klicken Sie auf Bilderimport starten. Nachdem Bilderimport wird Ihnen angezeigt, wie viele Bilder bearbeitet und importiert wurden.","tags":"","url":"manual\/Bedienungsanleitung\/Schnelleinstieg\/Teil3_Bilderimport.html"},{"title":"Einleitung","text":"In den folgenden Kapitel wird der komplette Ablauf eines Artikel- und des Bilderimports ausf\u00fchrlich beschrieben. Es wird erkl\u00e4rt, wie Sie Importprofile anlegen k\u00f6nnen, die gew\u00fcnschte Importdatei in den Shop laden und alle Vorbereitungen f\u00fcr den Bild-\/Import treffen. Der Import gliedert sich in folgende Schritte: Anlegen einer eigenen Importdatei Artikelimport Bilderimport wichtiger Hinweis: Der Artikelimport muss immer vor einem Bilderimport durchgef\u00fchrt werden. Siehe Artikelimport \/ Artikelfelder \/ Bildnamen Optional bieten die Men\u00fcpunkte Artikelfelder und Grundeinstellungen fortgeschrittene Konfigurationsm\u00f6glichkeiten.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Einleitung.html"},{"title":"Anlegen einer eigenen Importdatei","text":"Speichern Sie Ihre Importdatei vorzugsweise mit dem Datei-Spaltentrenner ; (Semikolon). Die interne Spaltentrennung (Beispielsweise bei Varianten oder Staffelpreisen) sollten mit Komma oder | (Pipe) getrennt sein. Schauen Sie sich Ihre Importdatei am besten mit einem Tabellenkalkulationsprogramm (Excel, LibreOffice, etc.) an und setzen Sie optional Spalten\u00fcberschriften. F\u00fcr Ihren Import ben\u00f6tigen Sie nur die Spalten, die Sie auch tats\u00e4chlich f\u00fcr Ihren Artikel brauchen. M\u00f6chten Sie eine Liste selbst anlegen, k\u00f6nnen Sie sich an diesem Beispiel orientieren: Beispiel .csv-Datei Artikelnummer;Titel;Langbeschreibung;Suchbegriffe;Preis;Kategorie;Varianten Name;Hersteller 1402;Trapez ION MADTRIXX;Langtext;harness, hip harness, madtrixx;45,00 \u20ac;1208|1302|1303|1304|1401;6454;Beispielhersteller Die Artikelnummer bzw. die Identifikation (EAN, MPN) muss immer eindeutig sein und im Admin als Artikelidentifikation hinterlegt werden. Ein vollst\u00e4ndiges Beispiel einer CSV finden Sie im Modulpaket unter \/setup+doku\/examples\/demo_artikel_klomplett.xls. Diese k\u00f6nnen Sie in das Importdatei-Format umwandeln, indem Sie unter Datei \/ speichern unter klicken und dann als Dateityp "Text Importdatei (.csv )" ausw\u00e4hlen. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Anlegen_einer_eigenen_Importdatei.html"},{"title":"Artikelfelder","text":"Im Admin unter Module \/ Importer \/ Artikelfelder k\u00f6nnen Sie einzelne Felder aus der Tabelle oxarticles definieren. Die Einstellungen eines jeden Felds wird beim Import und in der Adminoberfl\u00e4che des Importers genutzt. So k\u00f6nnen individuelle Feldnamen (bspw. oxarticles__d3newfield) mit einem aussagekr\u00e4ftigen Namen ausgestattet werden. Folgende Einstellungen kann man pro Feld definieren: [Aktiv] De\/Aktivieren Sie das Artikelfeld f\u00fcr die Adminoberfl\u00e4che des Importers [Bild] De\/Aktivieren Sie das Artikelfeld f\u00fcr die Adminoberfl\u00e4che des Bildimports (neue Felder werden im Admin nicht angezeigt) Diese Einstellung wird derzeit nicht effektiv genutzt. [Datenbankfeldname] Tragen Sie hier den Namen des Datenbankfelds von oxarticles oder oxartextends ein. [Artikelfeld Sprache 1] + [Artikelfeld Sprache 2] Geben Sie dem Artikelfeld einen lesbaren Namen in der entsprechenden Sprache an. [Sortierung] Hier k\u00f6nnen Sie die Sortierreihenfolge f\u00fcr den Admin festlegen. Oft benutzte Artikelfelder k\u00f6nnen mit einer niedrigen Zahl weiter oben angezeigt werden. Das Modul verwendet die aktiven Artikelfelder in den Admin-Bereichen unter \/ Module\/Importer\/: Artikelimport\/Artikelfelder Die Dropdown Felder unter [Spalteninhalt und Zuordnung] zeigen den [Datenbankfeldname] sowie dessen gepflegte \u00dcbersetzung [Artikelfeld Sprache n] an. Artikelimport\/Varianten Die Artikelfelder beginnend mit oxvarname (Name der Auswahl) und oxvarselect (Auswahl) werden hier als einstellbare CSV-Zuordnung bereitgestellt. Einstellungen\/Grundeinstellungen\/Auswahl f\u00fcr Artikelidentifikationsfelder Der [Datenbankfeldname] wird in der Mehrfach-Auswahlliste angezeigt.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelfelder.html"},{"title":"Grundeinstellungen","text":"Im Admin unter Module \/ Importer \/ Einstellungen befinden sich die Grundeinstellungen. Die verschiedenen Optionen sind konfigurierbare Voreinstellungen f\u00fcr Importe und Importprofile. Jede Option auf der Seite wird als Voreinstellung bei der Anlage der Importprofile genutzt. Voreinstellung Wo wird diese genutzt? (Admin: \/ Module\/Importer\/) Auswahl f\u00fcr Artikelidentifikationsfelder Artikelimport \/ Konfig. \/ Artikelidentifikation (1.) Definition von "ja" Werten Artikelimport \/ Konfig. \/ Definition von "ja" Werten Definition von "nein" Werten Artikelimport \/ Konfig. \/ Definition von "nein" Werten vordefinierte Werte f\u00fcr Artikelfelder Artikelimport \/ Konfig. \/ vordefinierte Werte f\u00fcr Artikelfelder Dateizeilen pro Durchlauf Artikelimport \/ Konfig. \/ Dateizeilen pro Durchlauf Anzahl Datei-Kopfzeilen Artikelimport \/ Konfig. \/ Anzahl Datei-Kopfzeilen Auswahl f\u00fcr Kategorieidentifikationsfelder Artikelimport \/ Kategorien \/ Kategoriefeld Zuordung Start des n\u00e4chsten Bilddurchlaufes Bilderimport \/ Stamm \/ Start des n\u00e4chsten Bilddurchlaufes lokale Bilder (\/import\/pictures\/) durch Externe \u00fcberschreiben? Bilderimport \/ Stamm \/ lokale Bilder (\/import\/pictures\/) durch Externe \u00fcberschreiben? Masterbilder am Artikel vorher entfernen (empfohlen) Bilderimport \/ Stamm \/ Masterbilder am Artikel vorher entfernen (empfohlen) (1.) Die Sichtbarkeit der Felder im Importer Admin, kann unter Module \/ Importer \/ Artikelfelder editiert werden.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Grundeinstellungen.html"},{"title":"Anlegen von Importprofilen","text":"Wof\u00fcr werden Importprofile ben\u00f6tigt? Bei der t\u00e4glichen Arbeit mit Artikelimporten kommt es h\u00e4ufig vor, dass Sie aus verschiedenen Quellen (bspw. Lieferanten) CSV-Daten erhalten. Meist ist der Aufbau der Quelldaten sehr unterschiedlich. Das Modul erm\u00f6glicht diese einfach in den Shop zu integrieren. Der Kernpunkt eines jeden Imports ist das Importprofil. Sie k\u00f6nnen f\u00fcr jede unterschiedliche Datenquelle schnell und \u00fcbersichtlich ein Importprofil konfigurieren. Danach kann der Importvorgang entweder \u00fcber den Shop-Admin oder per Cronjob gestartet werden. F\u00fcr die Erstellung eines neuen Importprofils \u00f6ffnen Sie Ihren Shop-Admin und navigieren Sie zu: Module \/ Importer \/ Artikelimport Sie k\u00f6nnen direkt die Felder ausf\u00fcllen und das Importprofil mit Speichern anlegen. Alternativ k\u00f6nnen Sie am unteren Fensterrand folgenden Link finden: Neues Importprofil anlegen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/anlegen_von_Importprofilen.html"},{"title":"Stamm","text":"Stammdaten Hinweise Profilname Geben Sie hier Ihrer Importliste einen Namen (z.B. Hersteller XYZ Import ). Importdatei Zeigt die aktuelle Dateizuordnung und zeigt eine Dateiliste des Verzeichnisses \/source\/import\/ Neue Datei hochladen Klicken Sie auf [Durchsuchen] und w\u00e4hlen Sie eine CSV-Datei aus. (Mit [Speichern] wird die Datei auf den Server geladen.) Datei-Spaltentrennung Geben Sie an, welches Trennzeichen Ihre Importdatei f\u00fcr die einzelnen Spalten verwendet. (bspw.: ; oder | oder TAB) Texttrenner (optional) Der Texttrenner umschlie\u00dft in einer CSV-Datei einzelne Zellen. (bspw.: " oder ') Klicken Sie dann auf Speichern. Datei-Info: In diesem Block finden Sie alle wichtigen Informationen zu der aktuell ausgew\u00e4hlten Importdatei: Name Dateigr\u00f6\u00dfe letzte \u00c4nderung Datei-Rechte (ist die Datei lesbar\/beschreibbar) CSV-Daten: bspw. Zeilen\/Spalten Anzahl","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Stamm.html"},{"title":"Artikelfelder","text":"Hier k\u00f6nnen Sie die Spalten Ihrer Importdatei den jeweiligen Artikel-Datenbankfeldern zuordnen. Hinweis: Lassen Sie Felder an dieser Stelle frei, f\u00fcr die es einen eigenen Reiter\/Tab gibt. bspw: Kategorie, Cross-Selling, Attribute, Auswahllisten, Varianten, Staffelpreise, Hersteller, Mall F\u00fcr jede CSV-Spalte wird ein Dropdown Feld angezeigt. Aus der aktuell ausgew\u00e4hlten Zeile wird der Inhalt der CSV-Zelle \u00fcber dem Dropdown-Feld angezeigt. Sie k\u00f6nnen durch die einzelnen Zeilen in Ihrer CSV-Datei navigieren. Wechseln Sie von der Zeile 1 (bspw. Spalten\u00fcberschrift) auf die Zeile 2 (n\u00e4chste Artikeldaten). W\u00e4hlen Sie aus dem Drop-Down Feld die richtige Zuordnung aus. Hier ein paar Beispiele: Titel (oxtitle) Langbeschreibung (oxlongdesc) Suchbegriffe (oxsearchkeys) Preis (oxprice) Bild 1-10 (oxpic1-10): wichtiger Hinweis: Bitte w\u00e4hlen Sie statt oxpic1-10 f\u00fcr den Bilderimport die moduleigenen Felder: Bild Importfeld 1 (d3importpic1) Bild Importfeld 2 (d3importpic2) ... Bild Importfeld 10 (d3importpic10) Pflicht ist die Zuordnung der Artikelidentifikation! wichtiger Hinweis: Das Feld f\u00fcr die Artikelidentifikation muss hier f\u00fcr jedes Importprofil zugeordnet werden. Der Wert muss einzigartig sein, damit keine Artikelduplikate entstehen. Bspw.: Artikelnummer, Hersteller EAN, EAN, etc. Die Checkboxen hinter den Dropdown-Feldern regulieren, ob der Inhalt nur importiert oder geschrieben wird. Checkbox aktiv: Ist ein Artikel bereits in der Datenbank vorhanden, wird der Inhalt aktualisiert. Checkbox inaktiv: Der Inhalt wird nur geschrieben, wenn der Artikel noch nicht existiert. Die Einstellung zur Art des Importprofils (Import & Update, nur Import, nur Update) finden Sie im Tab Konfig.. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Artikelfelder.html"},{"title":"Kategorien","text":"Sie k\u00f6nnen einen Artikel beliebig vielen Kategorien zuordnen. W\u00e4hlen Sie den Importtyp aus. Nur Import Die Kategorien werden normal importiert bzw. dem Artikel zugeordnet Artikel-Kat.-Zuordnungen vorher l\u00f6schen Alle Kategorie-Zuordnungen des aktuellen Artikels werden vor dem Import gel\u00f6scht. Kategoriefeld Zuordnung W\u00e4hlen Sie die gew\u00fcnschte Identifikation der Zuordnung aus. Folgende Werte stehen standardm\u00e4\u00dfig zur Auswahl: oxtitle exakter Name der Kategorie \/ Kategoriebaum oxid shopinterne Identifikation der Kategoie oxsort Sortierungsnummer der Kategorie oxdesc Kurzbeschreibung der Kategorie Spaltenzuordnung n W\u00e4hlen Sie in dem Dropdown-Feld die CSV-Spalte aus, welche den Inhalt der Kategoriefeld Zuordnung hat. interne Spaltentrennung Wenn Sie beispielsweise Hauptkategorie|Unterkategorie|Unterunterkategorie angegeben haben, tragen Sie das Zeichen | ein. Beim Import wird registriert, ob die Kategorie Struktur in dieser Form besteht. Wenn nicht, wird diese mit der Information der Spaltenzuordnung n angelegt. Bitte achten Sie auf die korrekte Schreibweise, Gro\u00df- und Kleinschreibung! Sie k\u00f6nnen einen Artikel beliebig vielen Kategorien zuordnen. Neue M\u00f6glichkeiten der Spaltenzuordnung n werden nach dem Speichern automatisch erweitert. Klicken Sie abschlie\u00dfend auf Speichern. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Kategorien.html"},{"title":"Cross-Selling und Zubeh\u00f6r","text":"Cross-Selling W\u00e4hlen Sie den Cross-Selling Importtyp aus. Nur Import Das Cross-Selling wird normal dem Artikel zugeordnet [Artikel-Cross-Sell.-Zuordnungen vorher l\u00f6schen Alle Zuordnungen des aktuellen Artikels werden vor dem Import gel\u00f6scht. Spaltenzuordnung n W\u00e4hlen Sie in dem Dropdown-Feld die entsprechende CSV-Spalte aus. interne Spaltentrennung Wenn Sie beispielsweise 7353|80085|0815 angegeben haben, tragen Sie das Zeichen | ein. Zubeh\u00f6r W\u00e4hlen Sie den Zubeh\u00f6r Importtyp aus. Nur Import Das Zubeh\u00f6r wird normal dem Artikel zugeordnet [Artikel-Zubeh\u00f6r-Zuordnungen vorher l\u00f6schen Alle Zuordnungen des aktuellen Artikels werden vor dem Import gel\u00f6scht. Spaltenzuordnung n W\u00e4hlen Sie in dem Dropdown-Feld die entsprechende CSV-Spalte aus. interne Spaltentrennung Wenn Sie beispielsweise 1402|1503|0815 angegeben haben, tragen Sie das Zeichen | ein. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Cross-Selling_+_Zubehoer.html"},{"title":"Attribute","text":"W\u00e4hlen Sie den Attribute Importtyp aus: Nur Import Die Attribute werden normal dem Artikel zugeordnet. Artikel-Attribut-Zuordnungen vorher l\u00f6schen Alle Attribut-Zuordnungen des aktuellen Artikels werden vor einem Update gel\u00f6scht. In Version 4.4.1.0 gab es eine Umstellung der Attributszuordnungen. Weitere Informationen finden Sie in unserer FAQ: Anleitung zur Umstellung von Attributszuordnungen. n. Attributszuordnung Sie k\u00f6nnen mehrere Attribute importieren. Jede Attributszuordnung wird als Attribut angesehen. D.h. f\u00fcr 1 Attribut kann nur eine Attributszuordnung verwendet werden. pro Sprache k\u00f6nnen Sie Name und Wert definieren: Attributsname W\u00e4hlen Sie die CSV-Spalte mit dem Namen des Attributs aus. Bspw. "Material", "H\u00f6he" oder "Farbe" (ohne Anf\u00fchrungszeichen). Attributswert am Artikel W\u00e4hlen Sie hier die zugeh\u00f6rige CSV-Spalte mit dem Wert des Attributs am Artikel aus. Bspw. "Aluminium", "30cm" oder "matt" (ohne Anf\u00fchrungszeichen). Neue M\u00f6glichkeiten der n. Attributszuordnung werden nach dem Speichern automatisch erweitert. Klicken Sie auf Speichern um die Attributszuordnung zu sichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Attribute.html"},{"title":"Auswahllisten","text":"Auswahllisten-Importtyp Nur Import Eine neue Auswahlliste wird erstellt und dem Artikel zugeordnet. Alle Auswahllisten vorher l\u00f6schen Alle Auswahllisten, die ausschlie\u00dflich dem aktuellen Artikel zugeordnet sind, werden vor dem Update gel\u00f6scht. Titel der Auswahlliste n Geben Sie hier die CSV-Spalte an, worin der Titel z.B. "Farbe" hinterlegt ist. Alternativtitel Ist kein "Titel der Auswahlliste" vorhanden oder ist der Inhalt teilweise leer, so kann hier ein Alternativtitel z.B. "Auswahl" angegeben werden. Auswahlfelder n W\u00e4hlen Sie die CSV-Spalte aus, welche die Auswahlen (Werttrenner-separiert) z.B. "rot|gr\u00fcn|blau" enth\u00e4lt. Werttrenner Stehen mehrere Werte im CSV-Importfeld "Auswahlfelder", so muss der verwendete Werttrenner angegeben werden. Z.B. "@" wenn in der CSV "rot@gelb@gr\u00fcn" steht. Preistrenner Zus\u00e4tzlich k\u00f6nnen Preis\u00e4nderungen (absolute Werte und in %) importiert werden. z.B. "rot|2,34@gelb|5%@gr\u00fcn|1,23". In dem Beispiel m\u00fcsste als Werttrenner "@" und als Preistrenner "|" eingetragen werden. Es sind beliebig viele Auswahllisten mit entsprechenden Werten pro Artikel importierbar. Hinweise: Auswahllisten werden immer neu angelegt. Eine Zuordnung wird nicht unterst\u00fctzt, da eine Auswahlliste nicht eindeutig sein muss. Fallbeispiel: Zwei Artikel haben jeweils eine Auswahlliste mit Namen Farbe: T-Shirt A: Name der Auswahlliste: Farbe Werte: rot, blau T-Shirt B: Auswahlliste: Farbe Werte: gelb, gr\u00fcn Die Auswahlliste hat keine eindeutige Identifizierungsm\u00f6glichkeit. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Auswahllisten.html"},{"title":"Varianten","text":"Varianten Importtyp Nur Import Die Varianten werden dem Eltern-Artikel neu zugeordnet oder aktualisiert Varianten vorher l\u00f6schen Alle Varianten-Artikel des aktuellen Eltern-Artikels werden vor dem Update gel\u00f6scht. Variantenerkennung Geben Sie hier die CSV-Spalte mit der Artikelidentifikation (z.B. Artikelnummer, EAN, etc.) an. Der Eltern-Artikel wird daran identifiziert und dient der Zuordnung der Variante. Name der Auswahl Diese sollte nur am Eltern-Artikel hinterlegt werden und definiert, wie die Auswahl zwischen den verschiedenen Varianten hei\u00dfen soll. Z.B.: "Gr\u00f6\u00dfe", "Farbe", "Material" Sprache 2: Name W\u00e4hlen Sie optional die CSV-Spalte f\u00fcr die 2te Sprache (Sprach-ID 1, Name der Auswahl hat die Sprach-ID 0) aus. Z.B.: "size", "color", "material" Varianten: Auswahl Hier w\u00e4hlen Sie die CSV-Spalte mit den Inhalten f\u00fcr die Variante aus. Z.B.: "rot", "gr\u00fcn", "blau" Varianten Sprache 2: Auswahl W\u00e4hlen Sie optional die CSV-Spalte f\u00fcr die 2te Sprache (Sprach-ID 1, Varianten: Auswahl hat die Sprach-ID 0) aus. Z.B.: "red", "green", "blue" Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Varianten.html"},{"title":"Staffelpreise","text":"Importtyp Nur Import Die Staffelpreise werden dem Artikel neu zugeordnet oder aktualisiert. Staffelpreise vorher l\u00f6schen Alle Staffelpreise des Artikels werden vor dem Update gel\u00f6scht. Jede Preisstaffel ben\u00f6tigt mind. 3 Datenfelder: Staffelpreis n CSV-Spalte mit dem jeweiligen Staffelpreis w\u00e4hlen Menge von CSV-Spalte mit dem "ab Preis" w\u00e4hlen Menge bis CSV-Spalte mit dem "bis Preis" w\u00e4hlen ist % Rabatt Preis? Hier definieren Sie (optional), ob die Preisstaffel als prozentual importiert wird. Alternativ k\u00f6nnen Sie in der CSV-Datei den Wert in der Spalte Staffelpreis n mit % versehen (bspw. 5% oder 10%). Klicken Sie abschlie\u00dfend auf Speichern. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Staffelpreise.html"},{"title":"Hersteller \/ Lieferanten","text":"Lieferanten Importspalte \/ Hersteller Importspalte Ordnet die Dateispalte mit dem Lieferanten- bzw. Herstellernamen zu. Ja Existiert der Lieferant\/Hersteller nicht im Shop, wird er neu angelegt und dem Artikel zugeordnet. Nein, nur Zuordnung Der Artikel wird nur einem vorhandenen Lieferant\/Hersteller zugeordnet. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Hersteller_Lieferanten.html"},{"title":"Grundeinstellungen","text":"Importtyp Import und Update Alle CSV-Daten werden erst aktualisiert und anschlie\u00dfend -wenn nicht vorhanden- importiert. Nur Import Alle CSV-Daten werden nur importiert. Vorhandene Artikeldaten werden nicht \u00fcberschrieben. Nur Update Alle CSV-Daten werden nur geschrieben, wenn bereits ein Artikel in der Datenbank gefunden wurde. Dateizeilen pro Durchlauf Legen Sie fest, wie viele Zeilen pro Importdurchlauf geladen werden sollen. Wenn Sie z.B. 100 eintragen, werden die ersten 100 Zeilen importiert. Danach wird die untere Seite neu geladen und die n\u00e4chsten 100 Zeilen werden importiert, solange bis die komplette CSV-Datei eingelesen ist. Damit wird sichergestellt, dass der Importvorgang nicht abbricht (durch bspw. eingestellte Server Limitierungen). Anzahl Datei-Kopfzeilen (werden nicht importiert) Wenn Sie eine Spalten\u00fcberschrift in Ihrer Import-Datei haben, k\u00f6nnen Sie die Anzahl der zu \u00fcberspringenden Zeilen eintragen. Artikelidentifikation Legen Sie die eindeutige Artikelidentifikation fest. Das gew\u00e4hlte Feld muss zwingend unter Artikelfelder, einer Importspalte zugeordnet werden. Definition von "ja" und "nein" Werten In einer CSV-Datei k\u00f6nnen verschiedene Werte f\u00fcr einen "Aktiv"-Haken stehen. bspw.: Ja\/Nein, true\/false, 1\/0, j\/n, aktiv\/inaktiv. Geben Sie die einzelnen Werte zeilenweise getrennt ein, damit beim Importvorgang die Werte f\u00fcr den Shop \u00fcbersetzt werden k\u00f6nnen. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Konfiguration\/Grundeinstellungen.html"},{"title":"Preis Optionen","text":"Importierten Artikelpreis um x % erh\u00f6hen. Hier k\u00f6nnen Sie den importierten Artikelpreis prozentual erh\u00f6hen. Importierten Artikelpreis auf x Nachkommastellen runden. Geben Sie hier einen Wert ein, um den Artikelpreis zu runden. Beispiel: "2" bedeutet, dass von 12.3456 auf 12.35 oder von 1.95583 auf 1.96 gerundet wird. bei "1" wird von 12.3456 auf 12.3 oder von 1.95583 auf 2 gerundet. Hinweis: Beide Optionen greifen lediglich bei dem normalen Artikelpreis (oxprice)!","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Konfiguration\/Preis_Optionen.html"},{"title":"Artikel-Ident Optionen (Expertenmodus)","text":"Artikelidentifikationsfeld als Ident (Datenfeld "oxid") nutzen Mit dieser Einstellung wird die verwendete Artikelidentifikation als interne Shop-Identifikationsnummer (oxid) genutzt. Der Shop verwaltet die eindeutigen Shop-Identifikationsnummern selbst, daher sollte die Option mit Bedacht genutzt werden. Zus\u00e4tzlich das Identfeld mit MD5 codieren Damit kann ein \u00e4hnlicher Ident wie bei einer oxid erzeugt werden. Diese Option greift nur mit der aktiven Option Artikelidentifikationsfeld als Ident (Datenfeld "oxid") nutzen. Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Konfiguration\/Artikel_Ident_Optionen.html"},{"title":"Mall (nur EE)","text":"Diese Seite betrifft nur EE-Funktionalit\u00e4t. Spaltenzuordnung Setzen Sie die CSV-Spalte mit einer Liste von beliebig vielen Shop-ID's. Z.B. 1,2,3,4,5,6... interne Spaltentrennung Sofern mehr als ein Shop zugeordnet wird, geben Sie das verwendete Trennzeichen an.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Mall.html"},{"title":"Import","text":"Wenn Sie nun alle Einstellungen gespeichert haben, k\u00f6nnen Sie den Artikelimport starten. Danach zeigt Ihnen der Import, wie viele Zeilen aus Ihrer CSV-Datei importiert wurden, sowie das Ergebnis der bearbeiteten Artikel.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/Import.html"},{"title":"Nach Import","text":"Sie sehen eine \u00dcbersicht, wie viele Artikel bereits mit diesem Profil bearbeitet wurden. (Die Informationen orientieren sich an Eintr\u00e4gen aus der Spalte d3importprofileid in oxarticles.) Folgende Einstellungen k\u00f6nnen Sie vornehmen: Artikel pro Durchlauf Legen Sie fest, wie viele Zeilen pro Durchlauf geladen werden sollen. Wenn Sie z.B. 100 eintragen, werden die ersten 100 Artikel bearbeitet. Danach wird die untere Seite neu geladen und die n\u00e4chsten 100 Artikel werden bearbeitet. Alle Artikel deaktivieren - deaktiviert alle Artikel 1. Alle Artikel l\u00f6schen - l\u00f6scht alle Artikel 1. 1. Betrifft Artikel, welche mit dem letztem Import dieses Profils nicht aktualisiert wurden. Wurde ein Artikel bereits mit einem anderen Profil bearbeitet, wird dieser nicht beeinflusst.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Artikelimport\/nach_Import.html"},{"title":"Upload der Bilder in das Importverzeichnis","text":"wichtiger Hinweis: Der Artikelimport muss vor einem Bilderimport durchgef\u00fchrt werden. Siehe Artikelfelder: Abschnitt Bild 1-10 \u00d6ffnen Sie das sFTP-Programm und begeben Sie in das Shoproot Verzeichnis. Wechseln Sie in das Verzeichnis: \/source\/import\/pictures\/ und laden Sie die Bilder hoch. Extern definierte Bilder werden im Admin (oder per Cronjob) vom Modul in das Verzeichnis \/source\/import\/pictures\/ heruntergeladen. Mehr dazu unter Bilderimport \/ Import. Weitere Informationen finden Sie unter H\u00e4ufig gestellte Fragen","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Bilderimport\/Upload_Bilder_in_Importverzeichnis.html"},{"title":"Stamm","text":"Importiere W\u00e4hlen Sie ein Bild Importfeld n in dem Dropdown Feld aus. Dieses wurde von Ihnen unter Artikelimport \/ Artikelfelder zugeordnet. Danach w\u00e4hlen Sie f\u00fcr das Bild Importfeld n das zugeh\u00f6rige Ziel aus (Thumbnail, Icon, Bild 1-10). Nach jedem Speichern \u00f6ffnet sich ein neues Feld f\u00fcr die Zuordnung. Start des n\u00e4chsten Bilddurchlaufes Mit den Einstellungen nach 50 gelesenen Bildern bzw. nach 10 importierten Bildern k\u00f6nnen Sie den Start des folgenden Import-Durchlaufs regulieren. (Bei leistungsstarken Servern k\u00f6nnen die Einstellungen ggf. h\u00f6her gesetzt werden.) lokale Bilder (\/import\/pictures\/) durch Externe \u00fcberschreiben? Aktiv: Sofern ein externes Bild den gleichen Namen hat, wird das lokale Bild \u00fcberschrieben. Inaktiv: Sofern ein externes Bild den gleichen Namen und eine unterschiedliche Gr\u00f6\u00dfe zu dem lokalen Bild hat, wird der Name des externen Bilds mit einem Zusatz (DateinameZusatz.Endung) versehen. Masterbilder am Artikel vorher entfernen (empfohlen) Aktivieren Sie diese Option, um Bilder-Altlasten auf dem Server zu vermeiden. W\u00e4hrend des Importvorgangs werden vorherige Artikelbilder \u00fcber die Shop Logik entfernt. Die L\u00f6schung umfasst die Bilder des aktuellen Artikels im "\/master\/" und die generierten Bilder im "\/generated\/" Verzeichnis. Deaktivieren Sie diese Option, so werden die Bilder direkt importiert. Es k\u00f6nnen dabei in den \/source\/out\/master\/product\/*\/ Verzeichnissen ungenutzte Bilddateien entstehen. Aktion nachdem ein Bild importiert wurde W\u00e4hlen Sie eine entsprechende Option aus, damit die Bilder im \/source\/import\/pictures\/ Verzeichnis gel\u00f6scht oder in ein anzugebendes Verzeichnis verschoben werden. Das Verzeichnis ist mit absolutem Pfad anzugeben, bspw: \/var\/www\/myshop.de\/{VerzeichnisName}\/ Klicken Sie abschlie\u00dfend auf Speichern.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Bilderimport\/Stamm.html"},{"title":"Import","text":"Wenn Sie externe Bilder importieren m\u00f6chten, aktivieren Sie die Option Externe Bilder einlesen. Klicken Sie danach auf Bildimportverzeichnis einlesen. Damit werden die Artikelbilder (von extern heruntergeladen, wenn aktiv und) f\u00fcr den Import registriert. Wenn alle Bilddateien korrekt in der Verzeichnis-Info gezeigt werden, k\u00f6nnen Sie den Bildimport starten. Der Vorgang liest die Metadaten des Bildes und \u00fcbergibt Sie geordnet dem Shop-Framework. Der Shop versetzt das Bild in das korrekte Verzeichnis.","tags":"","url":"manual\/Bedienungsanleitung\/Importanleitung_ausfuehrlich\/Bilderimport\/Import.html"},{"title":"Einleitung","text":"Ein Cronjob ist eine zeitlich wiederkehrende Aufgabe, die auf dem eingesetzten System\/Server gestartet wird. Der Importer unterst\u00fctzt die Funktion. Ein Cronjob der \u00fcber die Konsole eines Systems (nicht via HTTP Aufruf!) eingerichtet wird, hat meist weniger serverseitige Limitierungen als ein Webaufruf (Shop-Admin). Je nach Gr\u00f6\u00dfe der CSV-Datei und Menge der Artikelbilder stellt dieser Vorgang einen hohen Anspruch an die Systemressourcen. Wichtiger Hinweis: F\u00fcr die korrekte Einrichtung der Dateien bzw. der Cronjobs selbst, ist ein gewisses technisches Verst\u00e4ndnis notwendig. F\u00fchren Sie die Einrichtung nur aus, wenn Sie \u00fcber dieses Wissen verf\u00fcgen. Alternativ sollte Ihr betreuender OXID-Partner die Einrichtung des Cronjobs \u00fcbernehmen. Worin besteht der Unterschied zum Import via Shop-Admin? Im Shop-Admin wird die gesamte CSV-Datei in kleineren Teilen bzw. Durchl\u00e4ufen importiert. Dabei werden pro Durchlauf die eingestellte Menge an CSV-Zeilen verarbeitet. Diese Unterteilung reduziert die ben\u00f6tigten Ressourcen pro Aufruf. F\u00fcr einen Cronjob gelten andere bzw. geringere Beschr\u00e4nkungen. Das erm\u00f6glicht einem Konsolen-Aufruf mehr Ressourcen f\u00fcr den Import zu verwenden. Jeder eingerichtete Import-Cronjob arbeitet alle CSV-Zeilen auf einmal ab. Hinweise Sprechen Sie die Details zum Einrichten eines Cronjobs mit Ihrem Serverprovider ab. Es gibt f\u00fcr die Einrichtung via Konsole verschiedene Faktoren, die je nach Serverprovider unterschiedlich sein k\u00f6nnen. Generell empfehlen wir den Einsatz von Import-Cronjobs auf eigenen Serverumgebungen. Managed-\/Hosting Pakete unterliegen meist strengeren Beschr\u00e4nkungen. Weiterhin sollte bei der Planung eines Cronjobs, der Einsatz von geringeren Datenmengen bevorzugt werden. Ein Beispiel w\u00e4re der Abgleich des Lagerbestandes oder der Preise. Ein Gegenbeispiel ist ein kompletter Import mit Artikel- inkl. Bilddaten. Als Eckpunkte kann man sich an der Anzahl der CSV-Spalten + CSV-Zeilen + Gr\u00f6\u00dfe der Importdatei orientieren. Es empfiehlt sich die Ausf\u00fchrung des Imports innerhalb der Ruhezeiten (wenige Besucher) im Shop durchzuf\u00fchren (bspw. in der Nacht). Je nach System kann es kurzfristig zu serverseitigen Auslastungen kommen (RAM, CPU). Um mehrere Importprofile per Cronjob ausf\u00fchren lassen zu k\u00f6nnen, muss f\u00fcr jedes Profil eine neuer, eigener Eintrag (Shell-Datei, Crontab Zeile) angelegt werden. logischer Ablauf eines Cronjobs Starten des Artikelimports Starten der "Nach Import" Funktion (optional) Herunterladen der externen Bilder (optional) Starten des Bilderimports (optional)","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Einleitung.html"},{"title":"Grunds\u00e4tzliche Informationen","text":"Die anzusprechende Datei befindet sich unter: {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php Die Cronjob-Datei kann folgende Parameter (Reihenfolge beachten!) entgegennehmen: 1. Profil-ID Anhand der ID wird das dazugeh\u00f6rige Importprofil aus der Datenbank geladen. Die Profil-ID des Importprofils finden Sie im Shop-Admin. W\u00e4hlen Sie unter \/Importer\/Artikelimport\/ das gew\u00fcnschte Importprofil aus und gehen Sie auf den Reiter [Stamm]. Dort finden Sie die Ident in der Zeile [Profil-ID]. Dieser Parameter muss immer \u00fcbergeben werden. 2. Aktion des Nach Imports Mit diesem Parameter kann die Aktion des Nach Imports gesteuert werden. Folgende Aktionen stehen Ihnen optional zur Verf\u00fcgung: inactive Diese Aktion steuert dieselbe Funktion wie im Admin unter \/D\u00b3 Module\/Importer\/Artikelimport\/Nach Import\/Alle Artikel deaktivieren an. delete Diese Aktion steuert dieselbe Funktion wie im Admin unter \/D\u00b3 Module\/Importer\/Artikelimport\/Nach Import\/Alle Artikel l\u00f6schen an. none (oder frei lassen) Es wird keine \"Nach Import\" Aktion angesteuert. Mehr Informationen zu den \"Nach Import\" Funktionen finden Sie hier 3. Shop-Id (nur EE) In der Shop Edition Enterprise k\u00f6nnen Sie diesen Parameter verwenden, um einen Import Vorgang innerhalb eines definierten Subshops zu starten. Folgende Ausgaben werden bei einem erfolgreichen Aufruf produziert (kann variieren): 2019-11-29 12:47:37: Starting database article import... 2019-11-29 12:47:38: Imported: 0 articles 2019-11-29 12:47:38: Updated: 10 articles 2019-11-29 12:47:40: starting picture import. 2019-11-29 12:47:40: start picture download. 2019-11-29 12:53:31: Downloaded: 30 pictures 2019-11-29 12:53:31: Reading picture directory... 2019-11-29 12:53:32: start importing pictures. 2019-11-29 12:53:36: finished picture import. 2019-11-29 12:53:36: Handled: 30 Pictures Bilderimport Der Bilderimport wird immer abh\u00e4ngig von den Einstellungen am Importprofil durchgef\u00fchrt. Ausgenommen sind die Limitierungen des Bilderimports (siehe "Start des n\u00e4chsten Bilddurchlaufes" unter Bilderimport).","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Grundsaetzliche_Informationen.html"},{"title":"Einrichtung per Crontab","text":"Aufbau eines Cronjobs in crontab: # Minute Hour Day of Month Month Day of Week Command # (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat) 0 2 12 * * \/usr\/bin\/find Tragen Sie bei {Shoproot} den absoluten Pfad zum Shop Hauptverzeichnis ein. Beispiel 1 In diesem Beispiel werden die CSV-Daten mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und der "Nach Import" Funktion "Alle Artikel deaktivieren" ausgef\u00fchrt. Die Zeitangabe entspricht "jeden Tag um Mitternacht": 0 0 * * * Bei pfad\/zu\/php sollte die vom Shop verwendete PHP Version genutzt werden. Bspw.: \/usr\/local\/php7.2\/bin\/php 0 0 * * * pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 inactive Beispiel 2 In diesem Beispiel werden die CSV-Daten mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und ohne "Nach Import" Funktion ausgef\u00fchrt. Die Zeitangabe entspricht "jede volle Stunde": 0 * * * * 0 * * * * pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 Beispiel 3 (nur EE) In diesem Beispiel werden die CSV-Daten mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725", ohne "Nach Import" Funktion ausgef\u00fchrt und in den Subshop 3 importiert. 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","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Einrichtung_per_Crontab.html"},{"title":"Anlage einer Shell Datei","text":"Der Pfad zu einer Shell Datei kann im Crontab oder in einer Server Configuration (Profihost: ServerCon) hinterlegt werden. Welches Importprofil per cronjob ausgef\u00fchrt wird, wird in der .sh-Datei (bzw. bei Windowssystemen mit der .bat-Datei) gesteuert. Ebenso die Nach Import-Aktion. Tragen Sie bei {Shoproot} den absoluten Pfad zum Shop Hauptverzeichnis ein. Beispiel 1: !\/bin\/bash pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 In diesem Beispiel wird das Profil mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und ohne "Nach Import"-Aktion ausgef\u00fchrt. Beispiel 2: !\/bin\/bash pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 delete In diesem Beispiel wird das Profil mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und als "Nach Import"-Aktion das L\u00f6schen nicht ge\u00e4nderter Artikel ausgef\u00fchrt. Beispiel 3 (nur EE): !\/bin\/bash pfad\/zu\/php {Shoproot}\/source\/modules\/d3\/importer\/public\/d3_importer_cron.php smf5cf2bb7668594e9e7c37a7698f725 inactive 3 In diesem Beispiel wird das Profil mit der Profil-ID "smf5cf2bb7668594e9e7c37a7698f725" und als Nach Import-Aktion das Deaktivieren nicht ge\u00e4nderter Artikel, im Subshop "3" ausgef\u00fchrt. Die korrekte Konfiguration der .sh-Datei kann \u00fcber einen manuellen Testlauf per Konsole am Webserver gepr\u00fcft werden.","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Einrichtung_per_Shell.html"},{"title":"Einrichtung per Web-Aufruf","text":"Wie bereits in der Einleitung erw\u00e4hnt, sind die Ressourcen via Web-Aufruf st\u00e4rker limitiert. Daher wird diese Ausf\u00fchrung derzeit nicht unterst\u00fctzt und nicht empfohlen.","tags":"","url":"manual\/Bedienungsanleitung\/Cronjob_Einrichtung\/Einrichtung_per_Web_Aufruf.html"},{"title":"H\u00e4ufig gestellte Fragen","text":"Kann ich mit Ihrem Modul ein t\u00e4gliches Update meiner Artikeldaten durchf\u00fchren? Ja, Sie k\u00f6nnen so oft Sie m\u00f6chten, einen Import durchf\u00fchren. Ich habe eine CSV-Datei mit ca. 50.000 Artikeln.Ist ein Import mit diesem Modul m\u00f6glich oder w\u00fcrde es zu einer Zeit\u00fcberschreitung und einem Abbruch beim Import kommen? Ein Import ist in jedem Fall m\u00f6glich. Das Modul importiert Teile Ihrer Importdatei. Die Gr\u00f6\u00dfe der Teile k\u00f6nnen Sie unter \/Artikelimport\/Konfig.\/Dateizeilen pro Durchlauf\/ einstellen. Die Serverkonfiguration (RAM\/CPU\/etc.) spielt dabei eine Rolle. Der Importer kann in 3 Kategorien die Artikel integrieren, ist das auch in Treppenkategorien m\u00f6glich? Sie k\u00f6nnen den Artikeln beliebig vielen Kategorien zuordnen. Auch k\u00f6nnen Sie damit gleich den kompletten Kategoriebaum (Treppenkategorie) zuordnen. Die CSV-Datei meines Lieferanten enth\u00e4lt zus\u00e4tzlichen HTML-Code f\u00fcr den Artikellangtext. Dabei kommen die im Admin definierten Trennzeichen ; und \" vor. Kann der Importer die Daten sauber verarbeiten? Ja, wenn die Trennzeichen (Datei-Spaltentrennung + Texttrenner) eindeutig vergeben werden und die Kombination \";\" nicht im Langtext vorkommt. K\u00f6nnen auch andere Dateiformate importiert werden (wie xml, xls,...)? Nein, es werden lediglich csv-basierte Textdateien unterst\u00fctzt. Muss ich alle Bildgr\u00f6\u00dfen einzeln importieren? Nein, das Artikelbild wird bei dem Import dem Shop als Masterbild \u00fcbergeben. Der Shop generiert aus dem Masterbild die restlichen Bilder. Wie erfolgt die Angabe der Staffelpreise f\u00fcr \"abs\" und \"%Rabatt\"? Die Angabe des Staffelpreises kann mit \"%\" oder per Option \"ist % Rabatt Preis?\" erfolgen. Dabei ist es egal ob \"10%\" oder \"%10\".","tags":"","url":"manual\/Bedienungsanleitung\/Haeufig_gestellte_Fragen.html"},{"title":"Hilfe und Support","text":"Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unten genannten Kontaktdaten Bescheid. Haben Sie Fragen oder Unklarheiten in Verbindung mit diesem Modul oder dessen Installation, stehen Ihnen Hilfetexte in unserem HelpCenter zur Verf\u00fcgung. Finden Sie darin die ben\u00f6tigten Antworten nicht, kontaktieren Sie uns bitte unter den folgenden M\u00f6glichkeiten: per E-Mail: support@shopmodule.com oder \u00fcber das Kontaktformular auf Oxidmodule.com oder per Telefon: (+49) 37 21 \/ 26 80 90 zu unseren B\u00fcrozeiten Geben Sie bitte an, wo und wie wir gegebenenfalls vorhandene Schwierigkeiten nachvollziehen k\u00f6nnen. Sind Ihre Fragen shopspezifisch, ben\u00f6tigen wir m\u00f6glicherweise Zugangsdaten zum betreffenden Shop. Wir w\u00fcnschen Ihnen mit Ihrem Shop und dem Modul viel Erfolg! Ihr D\u00b3-Team.","tags":"","url":"support\/Hilfe-und-Support.html"}]} \ No newline at end of file diff --git a/src/Application/Controller/Admin/Articleimport/AdminList.php b/src/Application/Controller/Admin/Articleimport/AdminList.php index fb94b4f..9ca5708 100644 --- a/src/Application/Controller/Admin/Articleimport/AdminList.php +++ b/src/Application/Controller/Admin/Articleimport/AdminList.php @@ -1,42 +1,56 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use OxidEsales\Eshop\Application\Controller\Admin\AdminListController; + +/** + * Importer list manager. + * Performs collection and managing (such as filtering or deleting) function. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_AdminList extends AdminListController +{ + /** + * Current class template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_list.tpl'; + + /** + * Name of chosen object class (default null). + * + * @var string + */ + protected $_sListClass = 'd3_importer_Application_Models_ImportConfig'; + + /** + * Default SQL sorting parameter (default null). + * + * @var string + */ + protected $_sDefSortField = "oxtitle"; + + protected function _prepareWhereQuery($aWhere, $sqlFull) + { + $sQ = parent::_prepareWhereQuery($aWhere, $sqlFull); + + $sTable = getViewName("d3importconfig"); + + $iShopId = $this->getConfig()->getShopId(); + $sQ .= " AND {$sTable}.oxshopid = '{$iShopId}' "; + + return $sQ; + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Afterimport.php b/src/Application/Controller/Admin/Articleimport/Afterimport.php index 995a0b9..5a898c6 100644 --- a/src/Application/Controller/Admin/Articleimport/Afterimport.php +++ b/src/Application/Controller/Admin/Articleimport/Afterimport.php @@ -1,100 +1,181 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Core\DatabaseProvider; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +/** + * Importer import manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Afterimport extends d3_importer_Application_Controller_Admin_Base +{ + /** + * @var d3_importer_Application_Controller_Import_Article + */ + protected $importer; + + protected $currentProfileName = 'd3_importer_afterimport'; + + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_afterimport.tpl'; + + /** + * + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + public function __construct() + { + parent::__construct(); + + if (false == oxNew(Request::class)->getRequestParameter("action")) { + Registry::getSession()->deleteVariable('notimported_all'); + } + } + + /** + * doing Import + * + * @return bool|string + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function doAfterImport() + { + $request = oxNew(Request::class); + $soxId = $request->getRequestParameter("oxid"); + $sAction = $request->getRequestParameter("action"); + $iTicker = (integer)$request->getRequestParameter("afterimportticker"); + if (false == $sAction) { + $this->addTplParam("isfailconfig", 15); + + return; + } + + $oImportConfig = $this->getD3ImporterConfiguration(); + + if (false == $oImportConfig->getId()) { + $this->addTplParam("isfailconfig", 10); + + return; + } + + if ($iTicker) { + $oImportConfig->saveImportProfile(array('AFTERIMPORTTICKER' => $iTicker), $this->getD3CurrentProfileName()); + } + + $iAllCount = Registry::getSession()->getVariable('notimported_all'); + + if (!$iAllCount) { + $iAllCount = $this->getStatisticData('notimported_all'); + Registry::getSession()->setVariable('notimported_all', $iAllCount); + } + + $tickerMaximum = (integer)$oImportConfig->getImportProfile($this->getD3CurrentProfileName())['AFTERIMPORTTICKER']; + /** @var d3_importer_Application_Controller_Import_Article $articleImport */ + $articleImport = oxNew(d3_importer_Application_Controller_Import_Article::class, $oImportConfig); + $articleImport->afterImport($sAction, $tickerMaximum); + + $this->importer = $articleImport; + $this->addTplParam("oxid", $soxId); + $this->addTplParam("sAction", $sAction); + $this->addTplParam("iActPos", $iAllCount - $this->getStatisticData('notimported_all')); + $this->addTplParam("iAllPos", $iAllCount); + + $this->_sThisTemplate = 'd3_importer_afterticker.tpl'; + + return; + } + + /** + * + * + * @param $sData + * + * @return string + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + public function getStatisticData($sData) + { + $sData = strtolower(trim($sData)); + $soxId = oxNew(Request::class)->getRequestParameter("oxid"); + $sSQLAdd = " AND d3importprofileid = " . DatabaseProvider::getDb()->quote($soxId); + + $oDB = DatabaseProvider::getDb(); + if ("profile" === $sData) { + return $oDB->getOne("SELECT COUNT(oxid) FROM oxarticles WHERE 1 " . $sSQLAdd); + } + + if ("imported" === $sData) { + return $oDB->getOne("SELECT COUNT(oxid) FROM oxarticles WHERE d3importflag = 'imported' " . $sSQLAdd); + } + + if ("updated" === $sData) { + return $oDB->getOne("SELECT COUNT(oxid) FROM oxarticles WHERE d3importflag = 'updated' " . $sSQLAdd); + } + + if ("notimported_all" === $sData) { + return $oDB->getOne("SELECT COUNT(oxid) FROM oxarticles WHERE d3importflag = '' " . $sSQLAdd); + } + + if ("notimported_main" === $sData) { + return $oDB->getOne( + "SELECT COUNT(oxid) FROM oxarticles WHERE d3importflag = '' AND oxparentid = '' " . $sSQLAdd + ); + } + + if ("notimported_variants" === $sData) { + return $oDB->getOne( + "SELECT COUNT(oxid) FROM oxarticles WHERE d3importflag = '' AND oxparentid != '' " . $sSQLAdd + ); + } + + return ''; + } + + /** + * @return mixed + */ + public function isFailImport() + { + return $this->importer->getFailImport(); + } + + /** + * @return mixed + */ + public function isEOF() + { + return $this->importer->isEndOfFile(); + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Attribute.php b/src/Application/Controller/Admin/Articleimport/Attribute.php index 01a3140..8d9603f 100644 --- a/src/Application/Controller/Admin/Articleimport/Attribute.php +++ b/src/Application/Controller/Admin/Articleimport/Attribute.php @@ -1,62 +1,111 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use OxidEsales\Eshop\Core\Request; + +/** + * Importer category manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Attribute extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_attrib.tpl'; + + protected $currentProfileName = 'd3_importer_attrib'; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_category.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + + return $sReturn; + } + + /** + * @param array $aXMLParams + * + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function saveImportProfile(array $aXMLParams = array()) + { + $request = oxNew(Request::class); + $aXMLParams = $request->getRequestParameter("xmlval"); + + if ($request->getRequestParameter("deleteOldSettings") == 'delete') { + unset($aXMLParams['IMPORTCOLUM']); + } + + if (is_array($aXMLParams['IMPORTCOLUM'])) { + foreach ($aXMLParams['IMPORTCOLUM'] as $sIndex => $aImportColum) { + if ($this->isArrayEmpty($aImportColum)) { + unset($aXMLParams['IMPORTCOLUM'][$sIndex]); + } + } + } + + parent::saveImportProfile($aXMLParams); + } + + /** + * @param $mValue + * + * @return bool + */ + protected function isArrayEmpty($mValue) + { + $Result = true; + + if (is_array($mValue) && count($mValue) > 0) { + foreach ($mValue as $Value) { + $Result = $Result && $this->isArrayEmpty($Value); + } + } else { + $Result = $mValue == '';//don't use empty() + } + + return $Result; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Base.php b/src/Application/Controller/Admin/Articleimport/Base.php index 4c3f366..88cd802 100644 --- a/src/Application/Controller/Admin/Articleimport/Base.php +++ b/src/Application/Controller/Admin/Articleimport/Base.php @@ -1,29 +1,32 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cPzMw+iHkXD/hTmflvx2OQy8rDsyfp/V1WUiXa3/HwApVBTRG34Nq8ZJ+rtGMcg5hgYhO2JY3 -KW1gAqLSqsFq67zjgVqjXdAo4VLoZr9AdVEPV/noYO8JHb/vAbp/YUZ9weiHl57hakdZgvHKWX6p -Q+4Lgi44SDPR+FN+iI+h/Cqc/+chrgX0k8DvST1+1l2BmNRPqM85JNBcryHqJ/kbJMoNChpWMBuc -hqhys03FV9rNN8zN6ECmISCkNk4ZAQkBVCN8AzUalfnaaBd+7AOrqLo3cBDzXtI/ezp6bvoQ66mC -Pz87JXYYslY+xn4qD1FrNAVB7ZCKJrQpraVW58QRSJ3BJod0LBk+o10FM8Zn7ipcVVgIEyNTtHTF -oBMGxCCJy5pPyjvVclAOOYArbYbU9zXXgD7974oO/wOoO0W6yhEI7sMV1Fxtv0YpPWpGGJvWNN+v -4lsOaD2zfCSebxqLH2srEmDs4ZsmKwfKMFS9ZlglpFv4Xdwh/8pAonWKDI/og0p2vCoIKJsscF5b -N51s9PH6/gUc3mkOb7kRNwPlGaMD0z43ai2PlLq+x5Kk8+4Ep61dak7dHBRotOvdfLrmQ154sPwh -yQVz01avewwZE09KTuQih0yk4OIo4/oMEqdeTLuibVmZRahu1VyZpubCHZtbFLUc6G3ovXYvgB26 -cVXJV93/CyGa3efuRk/owtj9UfWe7P7l+3uGXJE/FdCC8s2kKm2Em3dUDKSn5QCXlQ5yX+SB6EWP -DGI8NqdKKuVAjzXP1TvTj9PrCpeiNsH92BAoxW0XBmoUOg1tWiCXJocR27Qzo7g2Lz9gVKha8sTI -cIwL6JPJja6b/v3En5XUzjN8kAGzakKVUo/0dL+faBhnbGmkfGr/KDAgGDTjwvUgGI2edEi6Nv4b -SCeYkPEt8PVLVjLZcfD1ULzzeKOSbvQWTrd/UT6ebqSWoJWz4p1G/QBK5jETKI0gwEI+ds2E0n5J -3aTpYrPcISLK/+rplCrg64IXVhV+xY1k5kgSahZ7ZlvuGP3uEBKvaetobcIZ1PmYqynazgZ0uXry -rctT6PZtwuzxuL4fmsAQkT3q1DkzCHRgHbrw1eOzt7JyUVpW9KzYA3gBmAZts7Qb4zml+txLn+v3 -xwkApYYVsysidTp1qhf1ZnuuxcKptKs7nTQhY5YQ0iFEU02poUkVclBLrnwUUJR6YAHih+8YbYVC -T943fxHDyrhfzUJCQ/fg0SMYS/46R0QVAdRhEuJwFuSES5BaDwVHIMQnRuYzO45xA6LT0KB8RcW4 -uXpGGNWNlSY03zVYozb/e0gejC0nKgpCiMiOYDBReUuBTP2eOpl/40gUl3emoa+GC3Obkvb00I80 -pzMEhpY/JX9/Ejud/V0g60EukTWRWoFix7Wi0IJJQ5C/xfgj0A8F2CIF9EA07x1LC3rS0Kw6Wdq5 -DLi/+H5rVgQhg3YUMrOYsbRiuGXu/zf3TCxmoxiPBA9xr468R84mJB7lSWZ2ZRPZoUH+AHNpoy2E -GF8Wa9aE0Jux3tfivSbU80sWsmP0db6Tgtam1+0Oomr5RA9c/3c3C5suJWDpg15vOh+xGUH9Fvqf -w7FCz5ztJgCnH8oTVzRu2+/GT06DZflQBScs4NkhK16XD2fkUQiZeDWhilbyUmLa7Tqnws4Zrjuf -HDFj9sDQsboZFtba8TPoGziAmdQz77hJfGD/Hsr1Wec5wYsl35PcJo6lYrwCnKQbvxOH+yLmN1Ts -etl8k72aOXbScc+o2nm16xjvajtZK3itirZWLNXXL1Az2X2mDxwayI3F/3aXKR8Uowtgybx5Gm47 -T75zIaG8yIpp5JW76mZChtbRlQuv11C= \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Application\Controller\Admin\AdminController; + +/** + * Importer manager. + * Returns template, that arranges two other templates ("d3_importer_list.tpl" + * and "d3_importer_main.tpl") to frame. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Base extends AdminController +{ + /** + * Current class template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer.tpl'; +} diff --git a/src/Application/Controller/Admin/Articleimport/Category.php b/src/Application/Controller/Admin/Articleimport/Category.php index 01cd2af..b632465 100644 --- a/src/Application/Controller/Admin/Articleimport/Category.php +++ b/src/Application/Controller/Admin/Articleimport/Category.php @@ -1,52 +1,85 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cPycJOUR7C5hAdbxqnQ0z/vfW78CvKVGWduku8xd1pgehkgYQpHlKoyRQHIm9N+EpCqnQOQwS -Zg1LepzqqmMwjMNlzTkKUH1jvkDVm8Exr81GWcbY8lIJFtZbaTE3NJlVEcmeGRSG9NVXEzga4Cvr -+zgf+3kFZLJmYBsEV9fgAyURzzwcGBqUR8rNAp3giSlj0Mf6FUA0r4B3oCZaagTe3EI6+QpRc9Ps -NIiSX0/VCTs7s/53pkaR+ps+RQf5Z13gV0nSfBwSP92v/XocDT5SWvYpVNDopqtuQb5J/A0aUMVA -sKrj/yKaqFTNFc0trReRbgcfx6wk+zgNT1uWSdiGdzxVOxrmgs8b4NHwyYfdJYWHxAE8ITn5qkP+ -8eBiGnHAynJ3YC9Ci9d8Hg7I9MxZbfCzjtRKO607J7/FX48FFonBLoZTykIHf+LzW7LTQESdyAV2 -RUG9xH+ASormp6kqD2TpQ6liBSAyq7I4YBX514PehiT/FiKtIP0wrccxXJTjVVwtB9XNGLoJ6/f1 -ittYherGoCnXlOE73wJXFvVvu6Ffa1fXgfzw4YZlpc0xxJZ9Pb2RIGSpnih18/NaFfkKhhoaetAh -STnNf7OYxqI8r0c2hFUZnW0rCyRNXiBR3JuGzDB+OLmmTPZhkmrukg5cwdJv2NQDPkLbTTF4apyL -dETIsythylhBTmEJu4O+rqKsUz3j7iq4d2qPfnuqpzgEZqvCgUAjKiR299Yn9JRsCHb/UD0QteRP -UzWxco0BDaUMow7wlw575I8Z2+j7yL+DdMZczcbzcKBFxOg96dEHhDBEeSoRLyn60M6JXYGXwYea -B+t0+GY0v5YTDnE4CxapJVv1N9mNYRZ7M909ihi8N85sKA1Wt8fAvZYICifPeZUHZoNe2o3ZVaGX -2iqtxg9jDqi7B6rS1YoiJMHoxh2VYnttcMKO9jJmLX1zHwDenno1EtSzZTSg1kUGQeSLNKkSxKK2 -64/unjdS9pgmEJZ1c9M4JNduI4LApCnc3K3g3cXvSxfBAWC7CDpU99VaAd1dDPYjkuwqOf+MHj7P -0VBt/O5MqWt8PPbz4nfrP5ZylaUkqgZUJ87lo33+q/OFXgT5d9lzLPDoIgHdCoOFfLWb8W5IYcN/ -rPwCbstRdeumuX4gNrOYHnBiI+kV13Z5kdGAXfttIBuxVTGWWetk8zANQQotYWsaEcH3UkYEAXOT -9wTgjd3/xT5l4+uTz4vwrz9vm39zj7H4XYL0lj8zzS53aOyUt875zJ8QYYvV3pGnSZRkL4iQkjZI -GTyizKvDiIdOyVXGB+rmI73QDTtC84MEIBxFHjZNoTF7KcQkPeenO0PAOE4Qg6Ss/+T1BEJy3OOm -48k17n+JW6zKJ1zC3XnPtGPYIAxp/D/XjAr2JmEgEej9C9fRdfhpZxqltTstEU0oBsTghYrDX+BT -UVWV2JJjqA5fHWChgH78qd+Zf+Ex2JRYYZeYUZz86dW4n5U6WO7ctPLj4KauidwJsOFCsSC6hFOt -1Tfprr2YdFUyK4HfCQKSKZzpMMYl1taV6H4Cr9WTW4FFQQGesQ9ZxQhRP0Vif42TpJ9S0zNdpzPY -aBt/MfmTdOz1/WJXmTVvuLB8I5rgOsngCtp3nAHBRSpQIlL7/nQ954RLFZRnk3VDheTSdScBKQTw -QkKpTzcWcp7DcJsWLbf+QrBES6s76sslngxf91s8cwN26zkcSYm6C3JwKjfGsxhajPngiYl4v3Fw -xdvic0N3ckoS76kuWwv2Ij4gYpAo8PDtNMHm3mTRTfiH2i6rwfjgIvq3Q1x+FeqRzjbWj9C2by2y -CveBkHZDOjfX7qxE8/Wet/5PMfNqB2xQRtR8FUNhFHU/xXfzp68lMXTEZH19TmvxIWdItp3r1hbD -+LAB3ihdCx1jO1KfC8PD71s0C8Dhmhy5EnmmI1QvtroNWTx7KMrne6g9a+yUY6fFwZUNW1TJV1/X -C+7SGFw+cBl83GiGw92AVF20k/A/1C0Y088CBPkAnkMz1sOGnd2Zp1Bvt8A0VdPBmjIG6su7qX+3 -JSNPrD4IEnFUQ4bEjoSrQFlCdpaF/TMUog34DjP+7C+7uogG/7PBE5w8tKjDwLeqZ/SOqqTJtRoF -V6DmJCOaNeVMOHy1849nabk0D1lY2P4idrkuCP+KAIohEWEwzj2y1dr81dS+yM0Fyvj4Ban61jkF -9liHN9B77iV//n1SsJL5SLTEumlkazLTEkdCt3/4coyakccPiRbw6VQvIdd6P2dsYlSXkG8nN2Ad -lqK5GluxGEii5xkyYmSfZk9bGwMaYZPZBqs5uXjX0HzG26JumurOdSApchyG500tT90sInThoHh1 -DQLolTHy8+ADwavVwAaZnb/2nwzjnVgDT35FJIKp/tKL3zhOwraZEcYs51m3zecOtHrB/qZJk3ek -XeX17OfbKqXkhqgbniy2byqWp8UhLr+uXYJg/TSlCLdV2dhdlA4I0sbgVgdEw2Rt3sHIwcO1SzfP -S3vIfwrBG/4YchAI3VWOu6DkYPZWeO8ckZL54OCHWu9jUiKZlcT7FdwgvBZrGas2QNg/KXtNHbVx -CgyDohUanBhrfOe9tfQXfa+P8DNriQbhxx20E+6c/HWbqR9qus2eV8K2dp7wlPpnw2MOl22oj6fT -jPrjDh0M7cR8XJxhEE0j5CF8abPVcqlsB6JUxKZxoy+PD84dh/VT7PKfPcH1TCyW05IuV5cp3mWZ -Wad//KM2q+AKe9pUXRRywcyfuLsNRWB/6ooIglawqKI+O5DzRMzJ4ObEaTjWFIdOXCsqwANS+QYA -THEfoMUnve1URVOuT9fW+ReoazMTqUYhfWNeIXQhZItqjlR8ZVsOQlGZnZx4tlJAn/mV+H/j4RPO -LaDzquuBDV8D8hMGT0OgZA7tVqHMIyjFuHF3o7vgz5t63vnf/od1AsUV0e1MbhaKMcKe2ShcUcA1 -hSyk4oXpV2TM5gb7luiYE6gzHRPCqDCA5+wDiCfepV1e/CtmUf7XEEFGY2CRLiZXwG2W6ph1da+I -zfE1zLgCYazJrrRw8TipmYJ5QU5JUMp4m6qm76wAP6vg18d7Jxxwk5z2kTi3FQnia2pWIXgXic4d -cOvm1pcj33eL1gyEzZaOUfZHVARbz8CYPtYgw5gpCzsCkepvYueBkYIMf7GlU6rxcP4hHt2RMtvN -n1pSEoBVLXeCqi2f18Ps99FMkafxJcyz1+As7uIF4f0sQbS/x3JL373ch+t6ASnCUNuf4EfmfBYC -FPeiavJ6JiC8TCX4TOs7dbtzrWqkcbzwxd4NCFePl5O8Sc6tB2Kr7t3pCK+uXNQb/micjv4O1Rb0 -ZvjL0aYiQnef0b34AaR5kC9M3Ypz1bXPin4VIiVAY+c4KHMLbaYWGxnJ9YTgOXEf9Ec3BelmzVO3 -BRFFqXOtQ/GOXCTdou/aFoghxA2YZKjc+DlDWEi2CRsGyIevtxDWFrcPL3PJAyv5guJBN9DXtU2g -cgsUjI6OJ7rBmr+kt5VjZjN4iItRDOeRd6hhcRPUGtWGmhfY/VG4V9xMPLoxnBIVWUWQe7V96RPD -evh0Y+C= \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use OxidEsales\Eshop\Core\Request; + +/** + * Importer category manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Category extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_category.tpl'; + + protected $currentProfileName = 'd3_importer_category'; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_category.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + + return $sReturn; + } + + /** + * @param array $aXMLParams + * + * @return void + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function saveImportProfile(array $aXMLParams = array()) + { + $aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval"); + + foreach ($aXMLParams['IMPORTCOLUM'] as $iIndex => $sValue) { + if ('' == $sValue) { + unset($aXMLParams['IMPORTCOLUM'][$iIndex]); + unset($aXMLParams['COLUMSEPARATOR'][$iIndex]); + } + } + parent::saveImportProfile($aXMLParams); + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Config.php b/src/Application/Controller/Admin/Articleimport/Config.php index 68658ac..3556a03 100644 --- a/src/Application/Controller/Admin/Articleimport/Config.php +++ b/src/Application/Controller/Admin/Articleimport/Config.php @@ -1,56 +1,83 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -/jee93Xe3iZLEx7I7hUGOwfG94/u \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Core\Request; + +/** + * Importer config manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Config extends d3_importer_Application_Controller_Admin_Base +{ + + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_config.tpl'; + + protected $currentProfileName = 'd3_importer_config'; + + /** + * @param array $aXMLParams + * + * @return void + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function saveImportProfile(array $aXMLParams = array()) + { + $aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval"); + + if ($aXMLParams['MD54OXID']) { + $aXMLParams['ARTNUM2OXID'] = 1; + } + + $oImportConfig = $this->getD3ImporterConfiguration(); + + $aXMLParams['aDefaultBooleanSettings'] = $oImportConfig->prepareMultilineSettings( + $aXMLParams['aDefaultBooleanSettings'] + ); + $aXMLParams['aArticleSettings'] = $oImportConfig->prepareMultilineSettings( + $aXMLParams['aArticleSettings'] + ); + + parent::saveImportProfile($aXMLParams); + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + * @throws Exception + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + /** @var d3_importer_Application_Models_Profilemapper $oMapper */ + $oMapper = oxNew(d3_importer_Application_Models_Profilemapper::class, $oImportConfig); + $oSetting = $oMapper->getSettingFromController($this->currentProfileName); + + /** @var d3_importer_Application_Models_Formbuilder $oFormBuilder */ + $oFormBuilder = oxNew(d3_importer_Application_Models_Formbuilder::class, $oSetting); + $aElements = $oFormBuilder->getElements(); + + /** @var d3_importer_Application_Models_Groupbuilder $oGroupBuilder */ + $oGroupBuilder = oxNew(d3_importer_Application_Models_Groupbuilder::class); + + return $oGroupBuilder->groupify($aElements, $this->getD3CurrentProfileName()); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Crosselling.php b/src/Application/Controller/Admin/Articleimport/Crosselling.php index 282c354..2ec2618 100644 --- a/src/Application/Controller/Admin/Articleimport/Crosselling.php +++ b/src/Application/Controller/Admin/Articleimport/Crosselling.php @@ -1,42 +1,63 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -yZgS8B0DCsfOGra8/h8onMwG \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +/** + * Importer cross manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Crosselling extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_cross.tpl'; + + protected $currentProfileName = 'd3_importer_cross'; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_category.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + + return $sReturn; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Fields.php b/src/Application/Controller/Admin/Articleimport/Fields.php index 7cf7bd5..4dfcdd0 100644 --- a/src/Application/Controller/Admin/Articleimport/Fields.php +++ b/src/Application/Controller/Admin/Articleimport/Fields.php @@ -1,105 +1,205 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -vV0NL6DNh/gXCrG= \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Core\Model\BaseModel; +use OxidEsales\Eshop\Core\Model\ListModel; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +/** + * Importer fields manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Fields extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_fields.tpl'; + + /** + * @var string + */ + protected $currentProfileName = 'd3_importer_fields'; + + /** + * @var array + */ + protected $articleFieldnames = []; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_fields.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + $this->addTplParam('aFieldList', $this->getArticleFieldList()); + + return $sReturn; + } + + /** + * @return array + */ + public function getArticleFieldList() + { + if (false == empty($this->articleFieldnames)) { + return $this->articleFieldnames; + } + $aFieldList = []; + $tplLanguage = Registry::getLang()->getTplLanguage(); + $descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc'; + + /** @var \OxidEsales\Eshop\Application\Model\Article $article */ + $article = oxNew(\OxidEsales\Eshop\Application\Model\Article::class); + $article->setEnableMultilang(false); + $fieldnames = $article->getFieldNames(); + $fieldnames = $this->addLongdescFields($fieldnames); + + /** @var ListModel $importFields */ + $importFields = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); + /** @var d3_importer_Application_Models_ImporterDescription $importerDescription */ + $importerDescription = $importFields->getBaseObject(); + $importerDescription->setLanguage($tplLanguage); + + $sSelect = "SELECT * FROM d3importerdesc ORDER BY oxorder"; + + $importFields->selectString($sSelect); + + foreach ($fieldnames as $val) { + $temporaryClass = new stdClass; + $temporaryClass->fldname = isset($val) ? strtolower((string)$val) : ''; + + foreach ($importFields as $importField) { + /** @var $importField BaseModel */ + if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) { + continue; + } + + $temporaryClass->fldshowname = $importField->getFieldData($descriptionName); + + if (substr_count($temporaryClass->fldname, "oxvar") || $importField->getFieldData('oxisdisabled')) { + continue 2; + } + } + + $aFieldList[$temporaryClass->fldname] = $temporaryClass; + } + + return $this->articleFieldnames = $aFieldList; + } + + /** + * @param array $aXMLParams + * + * @return void + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function saveImportProfile(array $aXMLParams = array()) + { + $request = oxNew(Request::class); + $aImport = $request->getRequestParameter("import"); + $aUpdate = $request->getRequestParameter("update"); + + foreach ($aImport as $iIndex => $sField) { + if (empty($sField)) { + unset($aImport[$iIndex]); + unset($aUpdate[$iIndex]); + } + } + + parent::saveImportProfile(array('fields' => $aImport, 'update' => $aUpdate)); + } + + /** + * @param $iteration + * + * @return string + */ + public function getColumName($iteration) + { + settype($iteration, "integer"); + + if (false == $iteration) { + return ""; + } + $added = ''; + + $aSheetSymbols = range("A", "Z", 1); + + $iRange = count($aSheetSymbols); + $iSecondSymbolPos = 0; + if ($iteration > $iRange) { + $iSecondSymbolPos = floor($iteration / $iRange); + } + + $iFirstSymbolPos = $iteration % $iRange; + + if (0 < $iSecondSymbolPos) { + $added = $this->getColumName($iSecondSymbolPos); + } + + if (0 == $iFirstSymbolPos) { + $iFirstSymbolPos = $iRange; + } + + return $added.$aSheetSymbols[$iFirstSymbolPos - 1]; + } + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } + + /** + * @param array $fieldnames + * + * @return array + */ + protected function addLongdescFields(array $fieldnames) + { + $fieldnames[] = 'oxlongdesc'; + $language = Registry::getLang(); + $languages = $language->getLanguageArray(null, false); + foreach ($languages as $language) { + if (0 < $language->id) { + $fieldnames[] = 'oxlongdesc_' . $language->id; + } + } + + return $fieldnames; + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Import.php b/src/Application/Controller/Admin/Articleimport/Import.php index 0429b2d..312522c 100644 --- a/src/Application/Controller/Admin/Articleimport/Import.php +++ b/src/Application/Controller/Admin/Articleimport/Import.php @@ -1,68 +1,107 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Core\DatabaseProvider; +use OxidEsales\Eshop\Core\Request; + +/** + * Importer import manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Import extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_import.tpl'; + + /** + * + * @return bool|null + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function doImport() + { + $request = oxNew(Request::class); + $soxId = $request->getRequestParameter("oxid"); + + $oImportConfig = $this->getD3ImporterConfiguration(); + + if (false == $oImportConfig->getId()) { + return false; + } + + //pruefe auf Profilfehler (keine Datei, Separator etc.) + $this->configurationErrorLevel = $this->validateImportConfig($oImportConfig); + if ($this->configurationErrorLevel) { + $this->addTplParam("isfailconfig", $this->configurationErrorLevel); + + return false; + } + + /** @var d3_importer_Application_Controller_Import_Article $articleImport */ + $articleImport = oxNew(d3_importer_Application_Controller_Import_Article::class, $oImportConfig); + $articleImport->import($request->getRequestParameter("lpos"), $request->getRequestParameter("fpos")); + + $this->addTplParam("iFailImport", $articleImport->getFailImport()); + $this->addTplParam("blEOF", $articleImport->isEndOfFile()); + $this->addTplParam("iFilePos", $articleImport->getFilePointerPosition()); + $this->addTplParam("iLinePos", $articleImport->getActualLinePosition()); + $this->addTplParam("oxid", $soxId); + $this->_sThisTemplate = 'd3_importer_ticker.tpl'; + + return null; + } + + /** + * @param $sData + * + * @return string + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function getStatisticData($sData) + { + $oDB = DatabaseProvider::getDb(); + switch ($sData) { + case "imported": + return $oDB->getOne("select count(oxid) from oxarticles where d3importflag = 'IMPORTED'"); + break; + case "updated": + return $oDB->getOne("select count(oxid) from oxarticles where d3importflag = 'UPDATED'"); + break; + default: + return ""; + break; + } + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Main.php b/src/Application/Controller/Admin/Articleimport/Main.php index bf4bcb7..124ca6f 100644 --- a/src/Application/Controller/Admin/Articleimport/Main.php +++ b/src/Application/Controller/Admin/Articleimport/Main.php @@ -1,162 +1,289 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cPmSUbu7gscksyyW2eiR7UwLlw14w8qC90QUue7rdXLp4yD5bsq103CbPGW+p8NFeIrx1stkO -shkl17bIjjTuhYyh5/h1kZ6TrjOYmtOmW6xhIt+iSIfBf+ZwqhSXAXj+PRpoMDxrUyh0j/XSmrAA -nQ31mCjHqTspcHYT9leNUIyaTsr94wmcGYusEvE94QzfjR3IcMs98fDUJwvyba06rzoBDy91MY4o -kHtp3ynOof6By0OeT2/cmfqAX2HUDO+/AsJrfBwSP92v/XocDT5SWvYpVNzgRqyTzJL7Aah9j6VQ -v4qc/naYo+fth4rId1Yl8km3Qmkv9xXUXWgHITTwH0ER72mFfHl+0J1TuJ655ojbq6uz/xMbZOjy -ORslBakkCAkK6MXq+tD9fdheg3YzMtaJmvY4s1qas+G/BbjkE3SukXV415P4UwdS082AcsRX9iGv -/8X2OslB94BQMM8CX8Ur4PZ72qxdMymUsVUA8jkZEHBltXiTtmL86MOiT3HjzkeLTq35rAGvPhZc -Q0IdVmt5X7fFvecs4lGxoBoyhxAMTgfAo1gwJMqmreRdHOYKPm3S9FQWj0RUb5RgiPQAPEB638C7 -d3DrDiBDced4Sydp8asE9EZ7XWWi6TQsYTX+7tSFD4p/9+sKuFuRr2LHSBixQ0LMuIOV75Dh0qz0 -cYHBgFo5onhSqL6iz5prayhyq8qAD/okIrImq2szZTYbVT88ivwsvoGf3E6/hAgfm1HlBajGrczE -WWNkrjpVi8uuVpfgCiD2jreuj4c0uI6oFfESAJ1R5qlB5MnzZHVbAON8ue6kK+8aJuBEkYGu3XiQ -ZXBeH0TVHjdWAXnHS8ePjT/cp6OV2LFyyvsXiF6coGGaWT+RSUjhaDY4PJbkGHzszwN6afPh2MUN -TqTEvHhyLxVvJaJ/3jwKJW5PBFPzXTG6yyhC3mN01mvtXBDKccfw9emHSeu5tuTARCY6ehUHxubQ -3QBKGoiRKwmhaVd+v+2aceXP8zy95orEkTRUUpy043ziQmo3z0LqYmcQuwcUvRj5Ww8L0dVjbIri -qEWUurY/ABqwkTWW8vNqmkQfhFqOOogd6lcUIjcPr4JXMkm5kY5w6/DIkDWO+4xkk2Lo8F6Y9dkh -KzlbIkSdjy9SrcdgLFAACsvyqpOOaud9843PcrA8BDSuzJKwUTJliDKFU6bwTD5UU5ZLjGAd2uij -EX4c/opauGcqJMXUObwNCorbOqfauQaPjjXbGJ2wlPfed7AbuXwendX6cPIW09THNHbFetT6Z+ft -0RQZoQ7fjk4P0gzjTglLC2NAYxxtDjf+PVxlP4/CLG3cOwIE+Uado0zmIteX4aLXOwVem2q74BQI -+2cwo5Dmw7Y+HBGE2jexVuISm7PyiPMus1z61GsTGin0sXqjWv3Xm9h46DxkfoeVdEt9bQuI7uyx -Q545QJKAKbDywfsjKC9La/swc/SIoWJRoM+Tjl4/4SHj8Ki6+OybDffaKO3lkOWJKpCWDqIArroz -drmUzcIHhv0ud5FXW1qrio2nv0ihrn/UIkIIdPN3Jk5xEp/XcJPxMPun4uhCfmexRQ2WA5k0wwPX -IMknS7tmuhO4ogAsXxXJ1vBih00ga+wJQWWk++yinRuVfIl/FN/XxNLczpxRMvNfBCdqqZePw2AA -NAAVWAXFcy3ULukGQO5EM29sPOMw6hpo6fOFXWEEim9JbCu3U8ME70RgOAsCdQ/LcU/QLFg45uzX -ELtnATEmckKYXwM35EyVlomSC/Q7ezWp6JxIzHG6XYs20KGnO0t0Yu0FjOcC2FQDMRWUvNg3NVfP -8PDhN8W6ha4fGg1RknKgPcYX6CnJmeBh9dwCWhkgGkl4TvaeT21IusPuc6CCon0Piw992ycbfIgw -qom+xRr+Bp+ISFqShGtA9FMyIFN8ADJ1noc5kZj8BftGdozDoiFPiozTp1KkZ3Df/hUGv6TItIoN -Qp7AdgYMbCmZlPLRX81Qp75zFX6u9IVx06SUepHyKNeYIl2bEMI6Pqi9QiyHZXigSnU50AM9xSCe -OTgWzYwwoogetxD6TEq4P0x37GH/QJdnQAWldFcQOBAHo7KeZ2ZY3MecRiwwg1STFn0bUa4HnXEv -hqd+sOX560Xi6wuAEN2altxTeYoj1m4vG6ONacNT6xjtLd+B/Ep/u/Xw16lhVWESCEFXzDaN/C2V -Kv7ecsobrHcGWPuFK1dkfQOF6jemp35Td1cMtg/haPr4aS6yjhuqrvULvsT93xk0YN5Pb16P6b6O -ln/F4ZuP48IIo6+edkhMNXiZQ5Gut+oKkjui9jDEipgfUlBaxovkhdNf30SMV0dDVPSbOzSEZ75T -VsXagvo7pTfv6swnbJ+80xPhpCVkIzd8rfzD/m4qNpAWczQAdMMcWHenHLd4NEoIa8mhnkdc51bb -H4MaTYW+Ph3hLbZmk4/If8Dm702l1w+EvpjxtnD7NJsMfh5999RuHe5uuMwk9IhyIaW08TvA3drf -8JKe/mM8vCcMv5mbsySxGrTTf53WrIhPd6zvHP0PQ4yLDbfb1rVCoupZYbUuu5NAmHmXpM7snXmA -tHlf0e375drchjLOET+uem0CC25q1/zAuDSRUnnMWuUc59XBgYNQs9etEC7LKLBFBvywKnkDqnsj -mMXKl0Nx3L3xsX3agj80bSV+q07PgHe6v89GMHGtToyPx3Rb95akFmm2TOrHl62r3Cj0uEHYsGl/ -DX/N7IdyOh545xwy130DfWpEhVAeD7f6ZDh5J8XH9MHsgktxD6MxHGy5cjFfgfuq84hURqMfWRix -1mfO7eewfGk8ABiNvazii4/t1ZSj/Wsc95466gV7fzF36suxk24x6Ym+helpwZR++eeCZq4NPO59 -2osMaZjUMbl8bm+SUjf544fGRvypKylzYk1Y9FD61ysiG3j+SC0hUn3t25iKSc7jm+sBM1JHwFOF -zzVOZ/Dm0CWL7+nrzIsS6RuBK2M+jCxNBKmpeIvnPk8wYdjrgx1TTUUa60Pd9I9a7aMvHpCSAT3E -7r1xjCH/c1o0y2OgjIfWe6lm5A51jHTdMx57A/+p/pcPd6wiH6x+Jj7wZjL/gLfos25uWNBJAlSx -w4XKX0hmCpKh6aMyFqLNwTy5Av4AbG6OC6FvBXMQ4+ZdEv8Imx0PiAHYvJBKEJgMQuFC3oTvj3Da -TcKX9p59seYkTvQgBmV5d2ijrb42gH3k1419vVn7u9LYs22FpD5qoKP6II/dFjyOoHKjdnZDdDX4 -Sj+t3HGQUTWboTcVVWMMc0MI1zBByKicUO3wQKuOOwGH8yFdNEtzaJjuB64H321NzkxusIgrgUoh -nYXOLLwE3bocqkiSQl9lF+1qx7A01Y7SJHjv0mkbUAUbOghggf3yBk9q/3NRBy7hQDVKaLXTnx04 -aUl0YiwZDRJv8B1vckj7wB4xfcB2ShvRjsNiDiHBE1HyPfy2mvmHdJPXcy5Rqn16uSxBqZ6Tq7lE -/Ovv1JksyqWnOWfQ2mqzp3u2XnePS4B84oyFYAPeItq4pjM3Y1ozUNKgzlG5ekhh8d916KjHiKu+ -hutxGvFaE/4BXL4AwiEm2kNiGLZHPPn0J2vdFHvnp9E411jjTrCECqocqJbtCB2cG7JR78Xn9ar7 -HmCb3sMFLPYFn2tKxBfeq9/ca9rgOcsXnVq2CJFgFbesu7jO9/kkV8wCxz4xCOVypFf0fdhELszi -oLEX9N7S0XelOxN32zwOcHVggXosTKxczFlY1x6DCZjQcArox15jiVusvnpXUW8kloPwg9YdC/+R -7Ky7HP0VK9mp5rxxpbRoUsJQZCw1za7dX2nzn+XWYQyYCWkpmNW9iFT6/2KuDBiroOm8aF2Bq3WB -qVvWsnk2YhCBctSmXqYfQc5INgbwVASpPHNoJ8HOcWfVOkskPXGt+kHrjy4UKNW5FszYy0u6/z9n -YFB9QwlBcsOVPXvYW8qiRgG9IgYhkR4mNZCKwptPWK4K1ikrnjTtxoh2pBHYCUSfU0FBl13ml/lm -S4YfhCFKAQ80QPpIfPgFOi+B+qDbNBwc8lx7Xvm7SfUnef0pUXo0kWaWRFqW/Qr35MkNnTA2O7oB -pFIfl2Hjjp3aCE1K4c8GK/JlqvV33wzrYArYP9u7pJ3FkvSntobyuIbfeF384SV4Zzja/i7nr//3 -wtMgihJBMR3VSHcjsKtzzGAJMK/YWioELFcG7p6Ed7XDiNOUljdKcFn7ozWaazxrurDnI5RivM8i -pq99EfzGUn0FbRYao7COukqH4oguDu7P6nb6r3RkAc6J7qDAw6D9cs6H9zBfz5WB/9tMpZIIwTwY -tmP8zJkmBDSbGT3FUcIXijNJmgVesH7VwincGzO+dvaW1zZ10SxnrrVz2m+tm8os1xdQBKgYaIr0 -y8r6Z2t8rf28M1uDth29VHBw6roW1qDzEPFsBKCueh0EgUHyJgJACfur/+2jl2uXlQcer4nDO9ep -sPcmCw2CV1zt0iIRbhdhpUcUaFhYL2nSKpIAm9zDNZWC+4Z6RBYRO5WYuPGGd8krPr3tX0YNhd+1 -HFn87WlUPlhCqFPAbsRptrCsOZJcrMgDy79ni30AYGhbQrfvfY+NqaX7znZH56EY2K8TOC5PmjhX -vkTbiC9x8HviyU2p0q06MMkvLdS0AM4wnKcKEh8acZ29Bf6Gcr8A8QRf8pbKm2N5mg0RfMT5/+uX -yW13V0dsxbKTIztilJ0u3UvUw3in0BtRRK9M/UKa60vBncfIVXflFKgaRgcqHIgh48t+N6wwNt5c -NiN7iew820uStXe+l14zMKk/VFs4tIkRoBc3v4vRtFZLpW2np5WHJ0aUSnQjT1c4BnbtG2gEXFsh -CT8CU5nJY8LyXnxFdo04fKEL6f4OOt6a5rfRbiKjnLhvlypTQPYNBRbXCPGDZ44o2C+sQpI2d/sc -ybfC3idDtj0wqZ2lOOwxQCx73LEHE6wXQ8wYNKXMAI7I7sdkn1p2YLAGbZVoRluxc9Un/ADN1s5E -xSCFDTspy7BDbyxgJBtuDCkTfJR2p8FQQq+wSpbjUYuoH68zN/a/n5UIFW0unoT8vexAM9RA+sTz -WwYf90EDY/tLxpL+gXoA9X/0bzrnBB7fXY6vMCP8rlTqBLqQCXnsfqdOwNGvopbRTKjjgd8YTPaq -i9TxAHclLHmeEcEZxl+aVVjrXrH5MzI42k320DBFnKN4FlN1n/AqLvTh0eWDNYXnNxfzRCRfcsQ1 -lbNfotWGYOfuyCYL804U3ST0W8NA9a1GC49j4+4LQ+LeIpHASMT2W+N8TBJuWLrlB4AT8VYomPuX -sotLL0hoWvr7sSZvX6F3w3S10aW2akuDXrRR0jbCa8hTK1JZZ/m2PptRgiRc+kHjTYJHx7S2iO4h -OUFn5tipZSAnIQk7DuLA7tMjToRvBURjtR2zR9F3n9kM7HwEizdP2V6KKNzQMgBPgGIUHV3fKlMH -ZGAS+O823laiKqcB7diUA+/MOo+qi1b4m6FsRcHDu6v+ITkZ1/Go3TBAEiij3PSnXKcml1nFGXEu -JCovETrOz/nSRyPu+SG4QXEHNfdCCjAU4MopJoaIIuwEnjOVbhxm30VshaQ/Mav4hwBJBoCk/gZ2 -UiAUgbDtuwBB5AKnbPT9pErW79foZUm5nC04eHRqxuSTE/XVt9pKCiezjq9usbsWjaAfwDhEmobm -KpV4OMXWvh1J33jqxK1KhdPn0tFXV7MKdqZL5mDe8FkmROh1u1oRCllypMDRB/bICd93xnMXpEde -N+r5+/P4VxgjemBhp7sKhpUJKGJyu2Pxge2hZLzj7ZQ7GG+akZrUbiz8KyhkTRSqSgvnQnrq8eYy -Quw4J4687aui656zErzO63sAwpO/xZJZim8MBLP0D7mcfnaZfS4aai/o7lxBNP7fuEKfXDkdNlxD -VStz6uRkLz8Vof9ys+McA2c7hJqwVmJsZ+eBmcIKVzVtfpMHPB4VOZWpt60p4674ybovzp1R6M4b -T4ykJsTWlH40pgSCyZB0z+zSorCk1qCfOKhdTe57QdOmuJw+THA6djS7Ik/gEf9y5J91fG9qHWzy -vqzZjg7IAb/yPNMqMWGw4P2xKGvg5oP/9eZg7bhCOOUTutXvgDHtkIf/c5q7rJ+BjwuXi8iQo+A3 -i0IiCKbeqeTGeo55IpCL5wiEyMoIo1wQwH7MDoKmNrD1WBnCL/+4W9IrRDDhJ4kxsOgslOFYZgqI -eIFBEMNUci2T5OpbfWbHHYnenTVabWn/BdvXz272xzvHF+37D2wOSyZmkwQNCGsdiOV0enV4MlAI -px9ZLa7GybZ1e987/tcrBruilk+RC6jSxWGSNjRRAMPa/Un7uUe+C46Oj1V87oSfVq6blMHYv6jQ -vGr+AIpTgTkKRSqxsSBkSYKY/A4xJsSZ8i7T1g+iZr4PLcfXF+Y13Ro3hOpIopJlce9Yn1ph180p -TogrzPb/3GTHcPZqcF6pqCI0bBF9rWdWv4N04S7ucjk7mXuIFkpKScgnJ59o7yYOGCT5Pufwuwld -SvW1bePB1gGv3c8rSrR5mwPNZUxNZT/mcNauql9bW4mNVmixj4eFbSk+PVXnKnEEv2/eAlb29OnE -+kCgop9bWvjd51rplb7cwiB3/8yNRKVEIJLKuF37z6c6Xf3MxkPmV7yPAkbjwzWVbzZEn9SZ/jvX -okQIN/x2gRTwXjorZ+sztB0w7/L5/mbJ0wyRnkxMZHLf1M6T5Q6jKMWo0qlTu7VOUIdWTjaKUJ+d -+r9u2ptbt1yUfTOGOkkTSGLtw0uxs5cSw/gmw7yqY5eqEZR1ikM1Dbdh/fneTw16y7+06jBIKtNj -qOuMik8LqDz6APWYBnr3TfTO4ctZ+gWt/7saXKcvMMa+IscgxhDwy+CO5M2iMwVNVILZPqZj+HgG -eBdK/StXwVhiNn/OD72pkYprcFoO2Pmk56LlGzg1pHl2rx+i2+g7bAnEaEpCwbxFaBO0qKSNWVZU -k9C5qiWpixiB/AC7DfZlbYVww+M1sv7XpRr3vouTeqwc9VVibIXM6OwratFe5YYp62vR5awLZII4 -i3v3w+aTM8+6gwBE+sAe+HD61692MmglsCoytNMEtquKCXtQ5hbO9AaD2ZwJru3nCbBugsx+O+G/ -tzf/S4kCPEwRjF47+KbOHVTm5WaAkikWTAmi6uzOat5ECktXYD4hzYoeZqYcuFNp8AiiUyRMH/2t -1DV9kivHW+nRjNPAksNGNMZ5HQ4VXtu78MBu7+IqnfBu/H053hw89/7Ljlka4LSHqCbVjbugKa5w -t9wM3IiYo/AHleZq70mahd/WwMjbtKxHKtHtwKVj7x7a5pzx9+zSoWFUmpwK+MSuEPmnLSS14zHA -AEVOGTUkWWF6+iii49Wvd8Zeiau8M4Emub9EYuOkAZMl1EV6I2D7NDunpH4NqZchoh8wwIorC9+D -HHoo2m7IZryd88LFM5rt5g69GFd1iDxS8eehHrpdumq0KQGGK4YSMDZ/MA0q92fOvRH5QBszJw6o -QncjtkyTNwaAAp6BIVa355afbCJjkyN+AhrGlPjP8mDl0T7zMwFxUmOpjH4xh+a9Nu8LrcBLvQ6W -xRn37XMT/mabyBjc5F7cDP7PW5FT4oVHNfe+XkoBrjjN8xut5hGH8CD1/1r2UdahKb2NPu/KdnkN -ULtIfnU1MuYZ6aHJUOyb0I2gR7iV9C/jMdELGryKqOZCry6EEWpIn84sgSoka01fwvfUAWtCsq1u -IfTyA6k53wu/C+BKWOgPvTGX/shdQlLOsQTluKB5I2uU993LWKcFIhejvVr70FG+HAbGTl4XhSG2 -iMTFxK0nbUabYR1ecpiw8yLIeBXuCK4e1Bn7LD/gN5QYQOzencwLV0WemtVLlXDCbNN5CEr/Hfvz -fKICn5Hw9NAdmC3S8vJXitazINPolNv4ya6REDNLm0Nns9PS91x159eizANPt9CY7noSOK4cLDny -a7FYhOLMgaPqYzYapVuXqgzo/DQrG9+W/ZCs6oy2GHVdiipjsrR6CpkZNj08a56eULmgAaN0C5JR -EV33It3N4g6z//+RFYEpi9k1H570l0LhLha6bxoqZBTx5TvgWzug6BGmvzV81ie1OhvNzlHjX9Ii -2CsyEGe5Qiik8as17NPZa1xhs2mGW4bEvbGMkJ0/gLWHaBVCLF2CfAA0c0LJeQep5t2UZA3jM/Bq -BlqifQHiZmB/dIphN49QReRIUICBWm9e7dCT7XqDHDRJxEftU9VHp4mCZZ9rpNFNzzA+flDwyWEH -A3/E1dUpb22zOlkbGu7UAcRnlUVTKrv7JlkxlBywO3ErmErzOPOEo8LYI9kJnNRusU7u16xQfSCo -6YMZOpCiqY28/GM/aMna1xQsSJQwTbbhWd/0f6qgh3EEZZx7pYMD74U1yDka2FnULMI36bPcqZvP -3cm33bX3kUVGC0XE6HC1n+GNEIQIeaZWq8VCnxRic6/1hIiixqU1BXoYDvLNxo4bLakjME6wihhQ -vjfhnMZyTvcDUpjcX4yO6uJvdjneNF7aD9m9mIO8iX9iRzQ/DPjR+G8RnDkLXr6zLaeeFkAccDuT -tvxIzezrPMdTgcl/NuDV9/S70VPF6eM/VIIsLl0bjsGSHf/HyUeErLvEd/N6hmky7DGG2yxrYUQM -Vewxd2KABSGRSlwlHvf4f6y6mH1/GyXHKDmbUbBOWnBVP2AGthTLg7+77WRyGBMSgKku2KfDfRZ9 -a7ju2XBRoCCVT8QyQ1wx7vWMT+ZAtF0HPClw1IQB+4HtwM2bos1z9vNjZ44euFtsWSNa44GKO5G3 -IDoWfpXmj0hVaNO7hq65EYs4l75E4z0EVCkzI9OMZpgv15MPa+hHBlHYyVbXKLnf393uGxPixWko -hRZgjRFgFsFuUp9Fdgl6FPuUfBureHd83D6OtjiMwaFaKeWnvvxKMgLP0XYWMJ/nXzFKksM7hJ7q -gxcUTbEkEqokusx9xgpAhXHrv2DN7PK39vcrz8Kfy9UgkjVKR9g2OtKZNT96KDTCsde0FR6Qc/Z+ -El28t2/4nYEZvQ4tHBjrHcEW4tzrzjpVK3Fv2knLltxuPlGxtLNWAYeleSx6MgA9qqwodK6WPy5D -q0rFg9kHA3kwyBT0LfN1At/BdBP3FW/Mrx/KnftuzABFbWRoHriNLhI5kIMOrcPOXiANHe/II7JQ -TUjcgEjJ/bNA9zvXZ6iR2XFAW8Psm+1gsTsRup154afPac50C/rLdwyMSAUupip4yfUarn6ooVQP -5ViWpSjrv9xUPopkrpYO8AvA6dhiGMImysmVd0nswMRW4HpvscE1ANwcEV/Io7HaKrX1iCtd57ZH -juKe8A45JWJH5pBO2GxQzO4mM3/ohSMj+WYzinGQ/XQDDjMoXKWPzC0i3q6r00Cs/PqelspdAzZZ -E6Y88YQOZRQo/obIsG3Gqj8oBlPaGej8jxIQcV9UZjKqCIa+X4moGA3Xo4hfX7/CrQRZgLsgOKnR -VxqYkQ6W0xa9phnBJv3xmKBRT4r+XsrRmOcMcZkWcjacTzSZH/bRqHKECUtCmyGd7vzMHrF+DfQ/ -motYUmnxbn/xEa+bmeKTZjOoMNSwYfbkfFFC/nH0dTIbHi+EHc5SWEEhGQoZaj42NDOpLnKPFbzw -mQ+jn6F0sjb9J5xGV15ZRXgyFdYE+Mh0zk5q3Sp/mfwSwTB3v2ZqjPssIaB3+UYMFX+sqnOoVdw6 -tMYoIg2yCOPnhufa15/wzT+f9d0zB9KQEycdiJ1CbQRdb4oz40Y0A8Frm+kNDRLoKY4M3HSXvdSC -e7YbBZvDlSCO8DTFWqeSQcjjJKKBXn+92rMyLP4HXk+8FukCEptwQajY1CuvAX9T/gjA27M3uWTX -VtjP3dqRqd4TkkkyloKMHr2DqZ02xOMtyplCyBsVVlQ7uVc7BSX0oVGxL9VtN3st13NMnWq1l9ih -sLGxBvKzjUwSqZubC5l+5XK4/IeRBIuo6h+tVQGVYmKXbrsNvFtj74p0y7S5C1vBonTquGRw8KNu -R848joyf1YoPJ/0UdBa40yqubM8G7T0a0zIHFvx5vLL7rCzgizsgdcv8WM+a2S+1qYtybeT5tF8m -CfzdpcgokqoTD+9t/a0Gcp4nAUklFYsChahffXKStFV+H72zZak13PrRqfVSpBkRkaP6xZ6NnH5G -euGGs7+EV1K3XGkTHCFW7D9881U7sTRQwvl2b21v6kEKJaHJxlHGIrAUTuav37qx80BeXrDTEj+c -J2vVsq8bSRQttsiRmv5yYwaOvEonNGEHc5avg0prxBWSitThXK+1J6ezx64fWdR/e0fQTsVrNOKu -CluHTKYdb2fh7LkZslFaJIUNA+KhmAv9t09OO7GEM/7TLifKRg/1NulCJbs/bhjTjld5m9kZ47Qk -gDQa3OWXuMKkPKKlUB2Rn/T1osOzN25EP+WmcFWlHsNFHuSnL+Xt/JWuHELQl1EIresTMj5vHNLV -xdr0RVH3z8lg/ElXrHNNrjhwWHz9A0mQwA5GO40UCe0XM2KkDvXyIF9ocf2PcKsjxfw7QMKAOEBh -tt9ZIGj+ZB4Q9YrUDG2ecFbZ8AR1YyW0wxAbRhB2dny3pDfkWBvcR/6ipsJlyCM/MPhsWnOMGw5M -rFTgcahlyZuRZQ1S3qn8AnELYfCovo9daA2mk37AZNEkTvxzzglHUQfVQ7BmYINE+CpHKMV/RUVY -O3uvh6dOMviWJ7z+hWpoG1CxOYxEp99wMbSCOoD+PFS6z89EghyoAgH5lXRZ0TQLcxNP1Ij1FMK7 -R2hk8R54vt+QCgP2Sf+LEUo43Q9INZs7qy36gwI0JoUowbODp0YfmGhHmRlsQncpCEXY8LxCk715 -7IBsS2G0M3qE0hA/sjYy3bmZP16tbpSnWwcdZuEw7wYFfXD83nG0TQrnwfICa2b3gVr0zs5ctpUo -IQNGAS+EYsLby+vnrxe0+w7jWc1O/z+Xp3hsEFvAKDE5UrGNrp//fvUBMBF8knPcVa4xlF33W0/p -3peJHNO50r9vSO8WHc+3iPMESMMD9392VbMDKg8trNTjFoTI2xd/iWzbSMUU31ad7TSPHcUdkRfx -8GnDXn3yFxc1U1iiL6hHtV2su+GtEQV4mbdZCQDX4UY42krym6eCmsCAst4AT+cG9qjuH5VSFnFV -f8tMqqQHOlAJbhA8stHHDKbQsE8z+K7gWu0n++6FBg+xsjXQDvdXxHKgTyzVWpJ6RH+G/oW6Dzgd -1PT/o2fjx+dCHK0zxG3r26IZa/TuQ6j/14wHqmTvyLrAfmbgKQFOcbjsO/A6W7ZGNH1cZakwxR6g -6C+DBhi5xphbuKjnZnDSNAG6BzfL5/eKyr/hbrkBd2omsbFh1KEFR0BwvOgElfwYxNFLwjQWOA3D -Xd7UvRW3TpEeGBn130QX1DSv21KP5TEaEH33qizAI9TzlWx4PddB8ewjMfb9CkcT1HRTGNwmvsTG -no4pohs4tsrV2Wnb5VRkT6DTz1TA/7hGakkb5R0VMSkbHpHDJ+keeZ8erMMbnOodGADYEXa4/tob -JKlGeE8pwrdL44Mxe3cJjpvuwQaPlwAnTtNapr81AJf9psVr8nJEb2HK6F2dUtkSkAmjXYrH6ayW -rhge9MV7IpCTo7VItIJHSVtJ3AHLE2rj/zJVGtv6H2vwAaqjIakEQAKQ3p6TupvETkxiNupd0Xw7 -2YHFhIxSvrTJxMrhhjXRQc788DOr7c/2aWi+hcEyQtMauMlnaPMPWjBL2w+XCnBcAn//AtwO8jP+ -8Hw9m4ZTGsVemaNeYuEo31DPk4FZX54ovzWCoPWlJnsTFTG8tS9wZqBeHju0th+7Zt13E09KcLUZ -WqfpeG3AOzHviUwB5yOkhffjj4soD1hhcW1lqyyXZk9fpW2RQSYbpmJgTZe6TR5WUX1u0DsW/gH2 -2axtJd/bKrzluh2KTV3EGdGP5ADRMVRZJkOUMYwYnsJmdoE+B/4XkW== \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use D3\ModCfg\Application\Model\d3filesystem; +use OxidEsales\Eshop\Core\DatabaseProvider; +use OxidEsales\Eshop\Core\Request; + +/** + * Class d3_importer_main + */ +class d3_importer_Application_Controller_Admin_Articleimport_Main extends d3_importer_Application_Controller_Admin_Base +{ + + /** + * boolean Upload file failed + * 10 = Dateiname falsch, keine Größe + * 11 = nicht erlaubte Dateiendung + * 12 = /import Dir nicht vorhanden + * 13 = Datei konnte nicht in /import abgelegt werden + */ + protected $isUploadFailed = false; + + /** + * array allowed file extension + */ + protected $allowedExtensions = array("csv", "txt"); + + protected $_sThisTemplate = "d3_importer_main.tpl"; + + protected $currentProfileName = 'd3_importer_main'; + + protected $requireProfileCheck = false; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_main.tpl". + * + * @return string + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function render() + { + $sReturn = parent::render(); + $oImportConfig = $this->getD3ImporterConfiguration(); + + //Liste aller Dateien in /import laden + if (false == is_dir($this->getD3ImportDir())) { + $this->isUploadFailed = 12; + $this->addTplParam("isfailupload", $this->isUploadFailed); + + return $sReturn; + } + + $handle = opendir($this->getD3ImportDir()); + if (false == $handle) { + $this->isUploadFailed = 12; + $this->addTplParam("isfailupload", $this->isUploadFailed); + + return $sReturn; + } + + list($aImportedFiles, $aFileInfo) = $this->getCSVInformationsFromFile($oImportConfig, $handle); + closedir($handle); + //TODO: $aFileInfo should be an object! + $this->addTplParam('aFileInfo', $aFileInfo); + $this->addTplParam('aImportedFiles', $aImportedFiles); + $this->addTplParam("isfailupload", $this->isUploadFailed); + + return $sReturn; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * @param $handle + * + * @return array + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + protected function getCSVInformationsFromFile(d3_importer_Application_Models_ImportConfig $oImportConfig, $handle) + { + $aFileInfo = $aImportedFiles = array(); + $iLines = 0; + $iColumns = 0; + + $aProfile = $oImportConfig->getImportProfile($this->currentProfileName); + while (false !== ($file = readdir($handle))) { + if ($file != '.' && $file != '..') { + $oFS = oxNew(d3filesystem::class); + $aFile = $oFS->splitFilename($file); + $sCompareExtension = strtolower($aFile['ext']); + if (is_file($this->getD3ImportDir() . "/" . $file) && $this->isCSVExtension($sCompareExtension)) { + $aImportedFiles[] = $file; + + if (false == isset($aProfile['FILE']) || $file != rawurldecode($aProfile['FILE'])) { + continue; + } + + $aFileInfo = $oImportConfig->getFileSystemData($file); + $iMaxLength = $oImportConfig->getCSVFileLineLength($file); + + $aProfile['FILELENGTH'] = $iMaxLength; + + $oImportConfig->setCSVFileLineCount($iLines, $iColumns); + + if ($iLines && $iColumns > 1) { + $aFileInfo['is_csv'] = true; + } + + $aFileInfo['lines'] = $iLines; + $aFileInfo['colums'] = $iColumns; + $aFileInfo['seperator'] = $aProfile['FILESEPARATOR']; + $aProfile['FILEROWS'] = $iLines; + $oImportConfig->saveImportProfile($aProfile, $this->currentProfileName); + } + } + } + + return array($aImportedFiles, $aFileInfo); + } + + /** + * @param $sCompareExtension + * + * @return bool + */ + protected function isCSVExtension($sCompareExtension) + { + return in_array($sCompareExtension, $this->allowedExtensions); + } + + /** + * @param array $aXMLParams + * + * @return void + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function saveImportProfile(array $aXMLParams = array()) + { + $request = oxNew(Request::class); + $sOxid = $request->getRequestParameter("oxid"); + $aParams = $request->getRequestParameter("editval"); + $aXMLParams = $request->getRequestParameter("xmlval"); + + $oImportConfig = $this->getD3ImporterConfiguration(); + + if (false == $oImportConfig->isLoaded()) { + $aParams['d3importconfig__oxvalue'] = ''; + } + + if ('-1' == $sOxid) { + $aParams['d3importconfig__oxid'] = null; + + $aXMLParams['IMPORTTYPE'] = "standard"; + $aXMLParams['IMPORTTICKER'] = 100; + $aXMLParams['OMITLINES'] = 0; + $aXMLParams['ASSIGNIDENT'] = "oxartnum"; + } + + if (false == $aParams['d3importconfig__oxtitle']) { + $aParams['d3importconfig__oxtitle'] = '-- no title --'; + } + + $aFileData = $_FILES['newuploadfile']; + + if ($aFileData && $aFileData['name']) { + $aXMLParams['FILE'] = $this->saveUploadFile($aFileData); + $aXMLParams['FILELENGTH'] = $oImportConfig->getCSVFileLineLength($aXMLParams['FILE']); + $oImportConfig->setCSVFileLineCount($aXMLParams['FILEROWS'], $aXMLParams['FILECOLUMS']); + } elseif ($aXMLParams['FILE']) { + $aXMLParams['FILELENGTH'] = $oImportConfig->getCSVFileLineLength($aXMLParams['FILE']); + $oImportConfig->setCSVFileLineCount($aXMLParams['FILEROWS'], $aXMLParams['FILECOLUMS']); + } + + $oImportConfig->assign($aParams); + + $blIsSaved = $oImportConfig->save(); + if ($blIsSaved) { + $this->setEditObjectId($oImportConfig->getId()); + parent::saveImportProfile($aXMLParams); + } + } + + /** + * Speichert die hochgeladene Datei im Filesystem + * + * @param array $aFileData + * + * @return boolean|string + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + protected function saveUploadFile($aFileData) + { + if (!isset($aFileData) || !$aFileData['name'] || !$aFileData['tmp_name'] || !$aFileData['size']) { + $this->isUploadFailed = 10; + + return false; + } + + $sFilename = $aFileData['name']; + $sSourceFile = $aFileData['tmp_name']; + + $oFS = oxNew(d3filesystem::class); + $aFile = $oFS->splitFilename($sFilename); + $sCompareExtension = strtolower($aFile['ext']); + + if (!$this->isCSVExtension($sCompareExtension)) { + $this->isUploadFailed = 11; + + return false; + } + + if (!is_dir($this->getD3ImportDir())) { + $this->isUploadFailed = 12; + + return false; + } + + $sDestination = $this->getD3ImportDir() . "/" . $sFilename; + + move_uploaded_file($sSourceFile, $sDestination); + chmod($sDestination, 0777); + + if (!is_file($sDestination)) { + $this->isUploadFailed = 13; + + return false; + } + + return $sFilename; + } + + /** + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function exportConfig() + { + $oObject = oxNew('d3_importer_Application_Models_ImportConfig'); + + if ($oObject->load($this->getEditObjectId())) { + $oDb = DatabaseProvider::getDb(); + $sProfileName = oxNew(Request::class)->getRequestParameter("sProfileName"); + $sContent = "INSERT IGNORE INTO `" . $oObject->getViewName() . "` SET "; + + foreach ($oObject->getFieldNames() as $sFieldName) { + $sFieldProperty = $oObject->getCoreTableName() . "__" . $sFieldName; + $sContent .= " `" . $sFieldName . "` = " . $oDb->quote($oObject->{$sFieldProperty}->rawValue) . ", "; + } + + $sContent = trim($sContent, ', '); + /** @var $oFS d3filesystem */ + $oFS = oxNew(d3filesystem::class); + $oFS->startDirectDownload('d3importprofile_' . $sProfileName . '_' . date('Y_m_d') . '.sql', $sContent); + } + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Mall.php b/src/Application/Controller/Admin/Articleimport/Mall.php index fe3c637..b7844cd 100644 --- a/src/Application/Controller/Admin/Articleimport/Mall.php +++ b/src/Application/Controller/Admin/Articleimport/Mall.php @@ -1,53 +1,82 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\UtilsView; + +/** + * Importer cross manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Mall extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_mall.tpl'; + + protected $currentProfileName = 'd3_importer_mall'; + + /** + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + + return $sReturn; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + $return = array(); + + /** @var d3_importer_Application_Models_Profilemapper $oMapper */ + $oMapper = oxNew(d3_importer_Application_Models_Profilemapper::class, $oImportConfig); + + try { + $oSetting = $oMapper->getSettingFromController( $this->getD3CurrentProfileName()); + + /** @var d3_importer_Application_Models_Formbuilder $oFormBuilder */ + $oFormBuilder = oxNew(d3_importer_Application_Models_Formbuilder::class, $oSetting); + $aElements = $oFormBuilder->getElements(); + + /** @var d3_importer_Application_Models_Groupbuilder $oGroupBuilder */ + $oGroupBuilder = oxNew(d3_importer_Application_Models_Groupbuilder::class); + $return = $oGroupBuilder->groupify($aElements, $this->getD3CurrentProfileName()); + } catch (\Exception $exception) { + Registry::get(UtilsView::class)->addErrorToDisplay($exception); + } + + return $return; + } + +} diff --git a/src/Application/Controller/Admin/Articleimport/Scales.php b/src/Application/Controller/Admin/Articleimport/Scales.php index d11b807..f69f3aa 100644 --- a/src/Application/Controller/Admin/Articleimport/Scales.php +++ b/src/Application/Controller/Admin/Articleimport/Scales.php @@ -1,42 +1,68 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -I0GmGzDK8U06C130g1EgpDe= \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +/** + * Importer price2art manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Scales extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_price2art.tpl'; + + /** + * defines profile name + * + * @var string + */ + protected $currentProfileName = 'd3_importer_price2art'; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_category.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + + return $sReturn; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/SelectList.php b/src/Application/Controller/Admin/Articleimport/SelectList.php index 12316fa..0cc420e 100644 --- a/src/Application/Controller/Admin/Articleimport/SelectList.php +++ b/src/Application/Controller/Admin/Articleimport/SelectList.php @@ -1,53 +1,92 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cPrUxynUNAyXORdPcDBz+BpryblzsG75uKC4gOQHZFMMNnsa8flBTmUm+bMTu89b4y0Ozdwz0 -sPYQAIJZzt8/S1E1zAYQk8r+gIfFVenuFT3ol5rCEuQN9sLAvf7gB4hMCbDpPGq3DaDz/rRfsTQ7 -vvFCUvzAOPh2UZk/shdZUkeLrFqG4KORwiSmue+FvhjzzPICmAeaFII1/rbzVaPl1cRdFHNM4VBv -1QLCXvIFfj5FXYHDF+oHn7Rt/aef0R1qqDFKzwI+d6IGkVuSfZNHN8EOitsiRSKT7mrfyLSN5y9d -KkHDEPLkoULtrFKMtSvjMckRsDrDx7HFX/S9fFWdDP+F0FVSavQgzPApBWPKQyQbevsm/mkMsZCZ -yKeCJt53WaMRZ2d196gkFSUd6lvYD2xWafEQ3gsZBbYvfqfMvkJTeRBVZLDPBDesSGNGPu23UQwE -Ob3xgrvFTMWdhC0WPnMmAxKh37YGlPWaLgZiP3COJvv7koSnqw/1APbkGbb7EA6lZKyBZOIE/3zq -mqrEuc48FOR0m8DOqtuIijeRREDH10b+ki+xRklHn3lMdllFa7Y1TsWNunhLzmiUVm73fQxOBcL5 -hwGsWOLna1n3f3u+YB8a0akPiOBtCGz4j/yFzAyIY0sqh3tMvKe5rZxbm9MLXFoii/xA/kNemyOT -FjDWNPZYWysH7IJ6zR4YGYVM8ME1/RWZC/qO1etUli4FByWWVeZG+YUCKTnpAWLcj9EuBgeDuJZw -hD/UAiv4Fco7DAMHjYPp+xpeBiaV1aigk+WXO8hCLFIUedd284l9M/hcwJ0r2noBal2/vM2KOvP1 -pAgDVoILi5H5e2zhzSQl7BvZoOYRVeyt3RyPhnQP6ux/YFH7ceLXgrUQOeQqD2XHKpCAAdglOFgW -9WzuXy2s2u12OqZuzCqBkUPjpYMQgd+Wysw5V70eliLHAG2SserwGSR8u7GSICd0lu5QKAC72WNY -+nutrQxHD3rmAaFI/n/C0a8wvIGgTHTWaMr9By97xpFwXEyFdjy1387jIq9cMFBevxLhjlmpVMTe -KNP3/IlJv6mFpxpamr0nld4m+nFJqVCeAQ9B7nGjxVdDRY0RzoeJ0sJCvux1BS1fNgh0vKD/f+53 -MPvohmdZuNiDvz8D9eT4sT47mwp/WsT3IT1gZEQ8Lws1Dk1/buVulMlncrCxIK68jZ5ep6KN7gaB -Q+d2aSj9j+62/WDvlMFl6ig/pfHI0ja4K8vQC8PdO+sPYZQQb+Hgf4+ypFa0oqCfdxzdCjoUC/dp -rJeD67M0ad3P9xyeGDzTUhzb3Hp8cRMAxV5nLkswvSCfB6HuhMW2mLzmXDdCDq9tyUDJ7u7hcOhy -VvZT/uw2zaFTJGi9Ynn9htmQB6TlmOxW2qcNbUe8t3MbAqVbT72ZIyW86IMBZnka0xk9zRYhJFQN -WcIyLEJ1J7SkdwbD9qe/pvZeRfD1zfZq0mxXOr9GklFjk5bRdGnv08m7FutSq6IYceWPDaaqWhO8 -V4bOBNVbb5WBtZsIfKwYatHENgmqylxe4CzyXXRYksGxnsF2S7qIJpxAHmNv6+CToTAIkWgH1Oqw -gYfxk40bt4tHflDU6/dq8NhKjb/Q69f6f4/hxPVMPZZPWLphodSIOG8xg9wSnWyf9zwtRFeJI9yA -4IaXn2A8laa3ws88SuuRDWIMN6Sk0UIEqctzQmeejGWg/hvUQyRgsn08nliXg/KAg/cOsLj1+jxM -V29R+9WaKfHZmbSfCJyZqjDz9KuGwaYkydVhkpCjKG4WCSbV3iw3EMN8yMIRvEczYuIPYKkQItDo -sbsjcuIw7FMlk/sJNrzb0jZTozBYIcWXuxvQNtXvTiElrpgT0tQFkyZ+/5vKKgJn93WWkoR68O0n -Xha3Ji7DlnZ3KyuVIT2t4qaklkHJ4dj/uS76GRH9jAUZjYAEf3QWamhSX24tPYy6+TNkWDR5lxj8 -DD4LYvgbzqUhkWMZrrGwLDdImg2WCPC4VqAzodNNB6+YGD2FIHvPzqnJbHZ0/W8mlFYLSHB/T6kx -CW9aeU8SugwRG5zfFZu/pcE00K4JUUV69g67t18eHch9CBWW1NkTUI/kV9hwlX/L34DIcKiXygnu -r3hfDVfmBcHYjiHKDmL7AoQF2/D7BvyxlJAmpnzD3OauAZebRPOCmEt0fOtsL6t1lAEGLuXeY87o -CldjUALjbp463m0O3r8qw0iHWLkvJpPXbRWulbfBojgQNIAHUdFq7gli857atAMV5ulLw+cLB5ZQ -3NvJxecDq9/97lxMJKQGwlvrKFnKPvTMvGokZMf/QDQEvgWnC9pcHiUCRI/XHO41ZBHkB/ebQV+U -H/5Yr8ZbVPCzpCAQyRIuNEqEYAawSz+SURpKfjP5yICirz2Cly0QKdoZ0NtNrdhvJT0FIBZUZpO0 -yxTs2HdvbV5Cw8zE5+o8xfFpzNXzcKxNiJ4t48/NayirGBGZfbJNw68nwpA2kI/tJT9V2e1sykqs -PLnJj6zr3nbqkahqfXA/nVOD6zt/LaBAK2/3cHfOY2dl1kvh9H83W6lJtRn0J1sDzTtnAnurJIY9 -pbIe7qPkqBRbPWNQmudD/h8pzWbHDen3BrZjhVr97puhP1MiXcnZdMr4K9aYSqAwkhRFBnXubLGp -XrDd9QXEktOkuGy4ZV9ukJryUJrkEXQRd71s82kFyVbVm5LuEjTV7jbpHirr9dSn9nTVQ95vikqA -/xc4+4K+5RtU/KQ2/uEX2U8sHjfCMgaziTYxq6WZATpv+MXvYG7lfYbqA8W/J8JN1yUpm1suv10J -qjq8S9dAl2U3InJP51cKFrsb+wBWY+d4+P1+hnyaZjItaLWwhtNjlaW+adRUeS70Zuy3p2jIyEOX -mvovStAmtmQ8eBnG3jNlB04JtXUV3sVTIzIRsF2QDqWicKVq4nf7u0jtEpZ8Hq8eBSFhvJ7M3uXQ -7ZGrDF7wopLPhoDLulzndzp6xGv0rQf//AiUMu+7jOY9hYz/cMXp00GCRFh8ccgAIHHyTcOAl6aE -EYl1YwelZM6ad3hXzacleZRUoY7z22AT37XhzWT6t1T+MQt1JsJCHorGjuuYXy5WKmgG0fFk4Ebo -GzOlKiM/UaA4E+Cv7xWeyR4+Ep6faQ/d/jHhXvIwkHzhwOrr4WUtIr0HTeSdKRZbW8Yxbf8FqRWV -ksgkzCYNLpDC7SLZCkFx2BnUvtJsJnQfebpTNyCLzON0Smbu3OFZEA+4teJcl1YN8soE/Nh8u8aJ -osj3CuEXKEbs8OuqsP5SQLP+0UYfgAByVbqsfmzxT/LOKYGoMXIO5Q8fUGC+/4jyCuLWQSFFDspL -iNUUlKbJ3X9l+bAthsb6GZMkxY8aYGUD7THP5IUbzzPUXQUtA8lV9kpJXRzHtbssjjAU8oz20DRI -mT8tDsx6smlgRx7tywellwksQckZ0v9qQnjBS4PD3urMCDQjztLDweNmL5/DiscOohpPK3eo0FyS -GOWWKC9u+wGZaXw+RCtD6/Y9zesimjWPIR3T12CAYs9OllzJJhDBsHjxG+V1t9gPyJrQ2wegBp4m -lfVE1LcCvWTynJKxwg4GUNmuv4qKK4N2e300Aa8908BTkB+XA3CkTKg9GueFR2ml8L+QVmLtJaRg -/yg93xMrsA9inVCIQTE+zI+x0S/68+J/DUfJUkzp5SOdSeifyBylynAJ \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Core\Request; + +/** + * Importer selectlist manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_SelectList extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_selectlist.tpl'; + + /** + * defines profile name + * + * @var string + */ + protected $currentProfileName = 'd3_importer_selectlist'; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_category.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + + return $sReturn; + } + + /** + * extension of d3_d3importer_controllers_admin_base::save + * + * @param array $aXMLParams + * + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function saveImportProfile(array $aXMLParams = array()) + { + $aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval"); + + foreach ($aXMLParams['IMPORTCOLUM'] as $iIndex => $aValue) { + if (false == isset($aValue['NAME']) || empty($aValue['NAME'])) { + unset($aXMLParams['IMPORTCOLUM'][$iIndex]); + } + } + + parent::saveImportProfile($aXMLParams); + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Variants.php b/src/Application/Controller/Admin/Articleimport/Variants.php index 8e8f37b..520a48e 100644 --- a/src/Application/Controller/Admin/Articleimport/Variants.php +++ b/src/Application/Controller/Admin/Articleimport/Variants.php @@ -1,92 +1,176 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Core\Model\BaseModel; +use OxidEsales\Eshop\Core\Model\ListModel; +use OxidEsales\Eshop\Core\Registry; + +/** + * Importer variants manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Variants extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_variants.tpl'; + + /** + * @var string + */ + protected $currentProfileName = 'd3_importer_variants'; + + /** + * @var array + */ + protected $articleFieldnames = []; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_category.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + $this->addTplParam('aFieldList', $this->getArticleFieldList()); + + return $sReturn; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } + + /** + * @return array + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + public function getArticleFieldList() + { + if (false == empty($this->articleFieldnames)) { + return $this->articleFieldnames; + } + $aFieldList = []; + $tplLanguage = Registry::getLang()->getTplLanguage(); + $descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc'; + + /** @var \OxidEsales\Eshop\Application\Model\Article $article */ + $article = oxNew(\OxidEsales\Eshop\Application\Model\Article::class); + $article->setEnableMultilang(false); + $fieldnames = $article->getFieldNames(); + $fieldnames = $this->addLongdescFields($fieldnames); + + /** @var ListModel $importFields */ + $importFields = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); + /** @var d3_importer_Application_Models_ImporterDescription $importerDescription */ + $importerDescription = $importFields->getBaseObject(); + $importerDescription->setLanguage($tplLanguage); + + $sSelect = "SELECT * FROM d3importerdesc WHERE oxfield LIKE 'oxvarname%' ORDER BY oxorder"; + + $importFields->selectString($sSelect); + + foreach ($fieldnames as $val) { + if (!substr_count($val, "oxvarname")) { + continue; + } + $temporaryClass = new stdClass; + $temporaryClass->fldname = isset($val) ? (string)$val : ''; + + foreach ($importFields as $importField) { + /** @var $importField BaseModel */ + if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) { + continue; + } + + if ($importField->getFieldData('oxisdisabled')) { + continue 2; + } + + $temporaryClass->fldshowname = $importField->getFieldData($descriptionName); + } + + $aFieldList[$temporaryClass->fldname] = $temporaryClass; + } + + $sSelect = "SELECT * FROM d3importerdesc WHERE oxfield LIKE 'oxvarselect%' ORDER BY oxorder"; + $importFields->selectString($sSelect); + + foreach ($fieldnames as $val) { + if (!substr_count($val, "oxvarselect")) { + continue; + } + + $temporaryClass = new stdClass; + $temporaryClass->fldname = (string)$val; + + foreach ($importFields as $importField) { + /** @var $importField BaseModel */ + if ($importField->getFieldData('oxfield') != $temporaryClass->fldname) { + continue; + } + + if ($importField->getFieldData('oxisdisabled')) { + continue 2; + } + + $temporaryClass->fldshowname = $importField->getFieldData($descriptionName); + } + + $aFieldList[$temporaryClass->fldname] = $temporaryClass; + } + + return $aFieldList; + } + /** + * @param array $fieldnames + * + * @return array + */ + protected function addLongdescFields(array $fieldnames) + { + $fieldnames[] = 'oxlongdesc'; + $language = Registry::getLang(); + $languages = $language->getLanguageArray(null, false); + foreach ($languages as $language) { + if (0 < $language->id) { + $fieldnames[] = 'oxlongdesc_' . $language->id; + } + } + + return $fieldnames; + } +} diff --git a/src/Application/Controller/Admin/Articleimport/Vendors.php b/src/Application/Controller/Admin/Articleimport/Vendors.php index 3723295..b0c720a 100644 --- a/src/Application/Controller/Admin/Articleimport/Vendors.php +++ b/src/Application/Controller/Admin/Articleimport/Vendors.php @@ -1,42 +1,63 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -fIUe/V0= \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +/** + * Importer vendors manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Articleimport_Vendors extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_importer_vendors.tpl'; + + protected $currentProfileName = 'd3_importer_vendors'; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_category.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->readCurrentCSVLine(); + + return $sReturn; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Base.php b/src/Application/Controller/Admin/Base.php index 1c80aac..0512643 100644 --- a/src/Application/Controller/Admin/Base.php +++ b/src/Application/Controller/Admin/Base.php @@ -1,149 +1,265 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link http://www.oxidmodule.com + */ + +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use D3\ModCfg\Application\Model\Log\d3log; +use OxidEsales\Eshop\Application\Controller\Admin\AdminDetailsController; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +if (false == function_exists('posix_getpwuid')) { + /** + * @param $uid + * + * @return bool + */ + function posix_getpwuid($uid) + { + if ($uid !== false) { + $uid = false; + } + + return $uid; + } +} + +/** + * Class Base + */ +abstract class d3_importer_Application_Controller_Admin_Base extends AdminDetailsController +{ + /** + * array allowed file extension + */ + protected $importDirectory = 'import'; + + /** + * @var int + */ + protected $configurationErrorLevel = 0; + + /** + * @var string + */ + protected $currentProfileName = ''; + + /** + * @var bool + */ + protected $requireProfileCheck = true; + + /** + * @return string + */ + public function getD3ImportDir() + { + return $this->getConfig()->getConfigParam('sShopDir') . $this->importDirectory; + } + + /** + * @param $sMessage + */ + public function setErrorMessage($sMessage) + { + $aImporterErrors = $this->getViewDataElement('aImporterErrors'); + + if (false == is_array($aImporterErrors)) { + $aImporterErrors = array(); + } + + $this->addTplParam('aImporterErrors', array_merge($aImporterErrors, array($sMessage))); + } + + /** + * @param $oImportConfig + * + * @return int + */ + protected function validateImportConfig(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + $aProfile = $oImportConfig->getImportProfile('d3_importer_main'); + + if (empty($aProfile)) { + return 10; + } + + if (false == isset($aProfile['FILE']) || empty($aProfile['FILE'])) { + return 11; + } + + if (false == isset($aProfile['FILELENGTH']) || empty($aProfile['FILELENGTH'])) { + return 12; + } + + if (false == isset($aProfile['FILESEPARATOR']) || empty($aProfile['FILESEPARATOR'])) { + return 13; + } + + if (false == isset($aProfile['FILEROWS']) || empty($aProfile['FILEROWS'])) { + return 14; + } + + return 0; + } + + /** + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->addTplParam('sHelpURL', ''); + $this->addTplParam('oModuleConfig', d3_cfg_mod::get('d3importer')); + $this->addTplParam('isImporterDemoMode', d3_cfg_mod::get('d3importer')->isDemo()); + $this->addTplParam( + 'hasReachedProfileLimit', + d3_cfg_mod::get('d3importer')->isDemo() && $this->getD3ImporterConfiguration()->countImportProfiles() >= d3_importer_Application_Models_ImportConfig::D3IMPORTERPROFILELIMIT + ); + $this->addTplParam('d3ModConfigErrorMessage', d3_cfg_mod::get('d3importer')->getErrorMessage()); + + $oImportConfig = $this->getD3ImporterConfiguration(); + $this->addTplParam('aElements', $this->getFormularElements($oImportConfig)); + + if (false == d3_cfg_mod::get('d3importer')->isActive()) { + $this->configurationErrorLevel = 20; + $this->addTplParam('isfailconfig', $this->configurationErrorLevel); + $this->addTplParam('readonly', true); + + return $sReturn; + } + + if ($this->requireProfileCheck) { + $iResult = $this->validateImportConfig($oImportConfig); + if ($iResult) { + $this->configurationErrorLevel = $iResult; + $this->addTplParam('isfailconfig', $this->configurationErrorLevel); + } + } + + return $sReturn; + } + + /** + * @return string + */ + public function getD3CurrentProfileName() + { + return $this->currentProfileName; + } + + /** + * @TODO: verify if only one instance of d3importconfig is possible + * + * @return d3_importer_Application_Models_ImportConfig + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function getD3ImporterConfiguration() + { + $oImportConfig = oxNew('d3_importer_Application_Models_ImportConfig'); + if ($this->getEditObjectId() && "-1" != $this->getEditObjectId()) { + $this->addTplParam('edit', $oImportConfig); + + $blLoaded = $oImportConfig->load($this->getEditObjectId()); + + if (false == $blLoaded) { + $this->configurationErrorLevel = 10; + $this->addTplParam('isfailconfig', $this->configurationErrorLevel); + $sMessage = Registry::getLang()->translateString('D3_IMPORTER_FAILCONFIG_10'); + $sMessage .= PHP_EOL . '
ID: ' . $this->getEditObjectId(); + d3_cfg_mod::get('d3importer')->d3getLog()->log( + d3log::WARNING, + __CLASS__, + __FUNCTION__, + __LINE__, + 'failed to load importer profile', + 'error:' . $sMessage + ); + + $this->setErrorMessage($sMessage); + } + + $this->addTplParam('aProfile', $oImportConfig->getImportProfile($this->getD3CurrentProfileName())); + $this->addTplParam('aProfileMain', $oImportConfig->getImportProfile('d3_importer_main')); + } + + return $oImportConfig; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + abstract protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig); + + /** + * Saves profile parameters changes. + * + * @param array $aXMLParams + * + * @return void + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function saveImportProfile(array $aXMLParams = array()) + { + if (empty($aXMLParams)) { + $aXMLParams = oxNew(Request::class)->getRequestParameter("xmlval"); + } + $oImportConfig = $this->getD3ImporterConfiguration(); + + if ($oImportConfig->isLoaded()) { + $oImportConfig->saveImportProfile($aXMLParams, $this->getD3CurrentProfileName()); + } + } + + /** + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function readCurrentCSVLine() + { + startProfile(__METHOD__); + $lineNumber = (int)oxNew(Request::class)->getRequestParameter("line"); + $lineNumber = $lineNumber <= 0 ? 1 : $lineNumber; + + $oImportConfig = $this->getD3ImporterConfiguration(); + $aProfileMain = $oImportConfig->getImportProfile('d3_importer_main'); + + //open file resource... + $aLine = $oImportConfig->getCSVData($lineNumber); + + $this->addTplParam('actcsvline', $lineNumber); + $this->addTplParam('maxcsvline', $aProfileMain['FILEROWS']); + $this->addTplParam('aCSVLines', $aLine); + stopProfile(__METHOD__); + } +} diff --git a/src/Application/Controller/Admin/Config/AdminList.php b/src/Application/Controller/Admin/Config/AdminList.php index 431391e..4bbcd9a 100644 --- a/src/Application/Controller/Admin/Config/AdminList.php +++ b/src/Application/Controller/Admin/Config/AdminList.php @@ -1,36 +1,48 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -o0EUIQiaw+gwOn8Xam== \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_list; + +/** + * Class d3_importercfg_list + */ +class d3_importer_Application_Controller_Admin_Config_AdminList extends d3_cfg_mod_list +{ + + /** + * @var bool + */ + protected $_blD3ShowLangSwitch = false; + + /** + * d3_importercfg_list constructor. + */ + public function __construct() + { + parent::__construct(); + + $this->_blD3ShowLangSwitch = false; + } + + /** + * @return string + */ + public function render() + { + parent::render(); + + $this->addTplParam("default_edit", d3_importer_Application_Controller_Admin_Config_Support::class); + + return $this->_sThisTemplate; + } +} diff --git a/src/Application/Controller/Admin/Config/Base.php b/src/Application/Controller/Admin/Config/Base.php index 6419988..84509a9 100644 --- a/src/Application/Controller/Admin/Config/Base.php +++ b/src/Application/Controller/Admin/Config/Base.php @@ -1,34 +1,42 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -0T/FjD/GsWwLXxrvptMg \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_; + +/** + * Class d3_importercfg + */ +class d3_importer_Application_Controller_Admin_Config_Base extends d3_cfg_mod_ +{ + + /** + * @var bool + */ + protected $_hasListItems = false; + + /** + * @return string + */ + public function render() + { + + $this->addTplParam('sListClass', d3_importer_Application_Controller_Admin_Config_AdminList::class); + $this->addTplParam('sMainClass', d3_importer_Application_Controller_Admin_Config_Support::class); + + $sRet = parent::render(); + + $this->addTplParam('oxid', null); + + return $sRet; + } +} diff --git a/src/Application/Controller/Admin/Config/Settings.php b/src/Application/Controller/Admin/Config/Settings.php index a4553dd..56b4203 100644 --- a/src/Application/Controller/Admin/Config/Settings.php +++ b/src/Application/Controller/Admin/Config/Settings.php @@ -1,86 +1,152 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; +use OxidEsales\Eshop\Application\Model\Article; +use OxidEsales\Eshop\Application\Model\Category; +use OxidEsales\Eshop\Core\Model\ListModel; +use OxidEsales\Eshop\Core\Request; + +/** + * Class d3_d3importer_controllers_admin_basesettings + */ +class d3_importer_Application_Controller_Admin_Config_Settings extends d3_cfg_mod_main +{ + protected $_sModId = 'd3importer'; + + protected $_sThisTemplate = 'd3_d3importer_views_admin_tpl_basesettings.tpl'; + + protected $_blHasDebugSwitch = false; + + protected $_sDebugHelpTextIdent = 'D3_IMPORTER_SET_DEBUG_DESC'; + + public function save() + { + $aValue = oxNew(Request::class)->getRequestParameter('value'); + + if ($aValue != 0 && count($aValue) > 0) { + foreach ($aValue as $sKey => $aGroup) { + $aGroup = $this->prepareMultilineSettings($sKey, $aGroup); + $aValue[$sKey] = $aGroup; + } + } + + //2014-09-02 KH: this is necessary, because we change the data (string to array) + $_REQUEST['value'] = $_POST['value'] = $_GET['value'] = $aValue; + + parent::save(); + } + + /** + * @param $sKey + * @param $aGroup + * + * @return array + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + public function prepareMultilineSettings($sKey, $aGroup) + { + if (in_array($sKey, d3_importer_Application_Models_ImportConfig::$multiLineSettings)) { + $oImportConfig = oxNew('d3_importer_Application_Models_ImportConfig'); + $aGroup = $oImportConfig->prepareMultilineSettings($aGroup); + } + + return $aGroup; + } + + /** + * @return array + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + public function getArticleFields() + { + $aArticleIndentificationFields = (array)$this->d3GetSet()->getValue('aArticleIndentificationFields'); + $aFields = array(); + foreach ($this->getArticleFieldsFromDb() as $sField) { + $oField = new stdClass(); + $oField->title = $sField; + $oField->selected = (int)in_array($sField, $aArticleIndentificationFields); + + $aFields[] = $oField; + } + + return $aFields; + } + + /** + * @return array + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + protected function getArticleFieldsFromDb() + { + $oArticle = oxNew(Article::class); + $fieldNames = $oArticle->getFieldNames(); + + /** @var ListModel $importerDescList */ + $importerDescList = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); + $getDisabledFieldQuery = <<getBaseObject()->getCoreTableName()}` +WHERE oxisdisabled = 1 +MYSQL; + + $importerDescList->selectString($getDisabledFieldQuery); + foreach ($importerDescList->getArray() as $importerDesc) { + /** @var $importerDesc d3_importer_Application_Models_ImporterDescription */ + if (in_array($importerDesc->getFieldData('oxField'), $fieldNames)) { + $key = array_search($importerDesc->getFieldData('oxField'), $fieldNames); + unset($fieldNames[$key]); + } + } + + return $fieldNames; + } + + /** + * @return array + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + public function getCategorieFields() + { + $aCatIndentificationFields = (array)$this->d3GetSet()->getValue('aCategorieIndentificationFields'); + $aFields = array(); + foreach ($this->getCategorieFieldsFromDb() as $sField) { + $oField = new stdClass(); + $oField->title = $sField; + $oField->selected = (int)in_array($sField, $aCatIndentificationFields); + + $aFields[] = $oField; + } + + return $aFields; + } + + /** + * @return array + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + protected function getCategorieFieldsFromDb() + { + $oCategorie = oxNew(Category::class); + + return $oCategorie->getFieldNames(); + } +} diff --git a/src/Application/Controller/Admin/Config/Support.php b/src/Application/Controller/Admin/Config/Support.php index 2c97fc3..aa1b716 100644 --- a/src/Application/Controller/Admin/Config/Support.php +++ b/src/Application/Controller/Admin/Config/Support.php @@ -1,29 +1,43 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cPptAcTfY568TUteC+JlwQsHYA+ix9qrsGzO3K8LHjxILiPwbrvd2uBiuphRLlUUchPdXxWLO -FuJV+dbmsWKod/eWmuvejQwmYQA2gVE4ltXdf4CanCPrjYnTn5IXG8GTSidvuReMS0RSYl2LP+fp -K1zpXJ4QOAK0Fgw0gozbd6/OEwIb1xxSMitBxtOhiSnx2ByNzjLDRfZpnC9B1DlWETEmsg6Nll67 -iJhr1CRVakVWIEn3Ko/rORE5khK40AvxuJ+gnQI+d6IGkVuSfZNHN8EOittnSXEycdSZiByHEkfd -skHDQs71uAzLWJOLZCO6yWToAggrsXPywrIuhpG6vbFSIftj6BlVLpdyE8TdQEGl9qX2CFN0/UBY -WL+AkX25+YOxFhUvi9oWEzRUYcgGKSqFr+VducZmmhItiRhWeB56xiPBbCIaYvy/XB6rHnZjEw1A -iPfiu10qOdbxfgFmVYqiZHQo032esK1FGcK81+MSzaw+mf5iqhF4NqJXMxCQzY6LTQINO99oy22N -06lpc9hvJlDtlDbF5Ht0N0S+9P6Hqk2yqixA30xIZQiZxfhCKALkfKBTi++ekVaJYM9l5aJ2vesM -9WQg3BgU5ZQKLPyCLnZfcrYLLuaiiMwEO8jvpNaeMcUld+YCpk16qAty8xjP9wK8AjpQNdWoHvEB -eLYOUSYjOJdDSIzI22D6Vxx3q9aqcUdwD+xqonqFXjDo3163nL13Bklkca2r09JXuTT9vdXPWFo5 -EPW22gRrDX3DaNq1U4ebcp9v3HY2uBJIGn/DOzeLwMibbsK2rvJWQuNUw1M1LZ1vmLudAXN+BBuB -Ix8+klD7G6niqVJuf93bB8xnPFtP6xHxuFNawekmGtO1f768NBrDtABEUotn6/EJm4i12E8tsnvJ -SLUbcedR9MkqHpwi1CXMGtuSMew64qWkQjf6LMn31N05AwjLbg8Q78tTKtW4CZL9KGKWgRsOYjPL -r6zySDGWh/VpQNdWmJ7/5CbsXiDpChXhM7v9UXvH6OTsEP4Mi9HIATrJHRf/VgwNkSCAz6GLwpwq -Qg4zAhnETOIEPeCJBrbAEY6ruV90wm5CL/TaWpS+cFZvKtX7+U60g2MkiWNOC8KfwYHZzRIPC3+T -Fcc/gt9yndztLtokqCJ/3B5jAzhcuCsCo1ssZLj3m06VDn9YYcdQ6Zv2a7kD68HGJWBkb5oR9YBd -dR7qpGndunMd7K57cWIo2mXAIpFMHDGoEpwWsQVnwh0GLWf3pb3COQC6LwdnTh5GePWAeu0sTkGC -ky7Ke8H5iSVQfyJIMkHhYvE7PTccdgl9NINCuVHM0rphwJGofYEX7MUAQui4o4JVLB2XJDJQBtWS -LBz5U+AWB6cnzIbnUM6LxYEBAzPzXlwB4ubmLuZrwXauRKIwBTb9zYhBkfYEEYzJGSktvkxad2gR -EspFLctuTqN/evvxxfaSA3YkgCEDdt5/e7BIoYUAVjpkJlsZn+PtQBZdfotBOHUnLaOhRC39uO6s -2iVJVej4iUnyhReJYnLzSqt7X/GQ7ynjlOyRzd0Fg77YkXEb1GzTYZOhkEXECQghslsOg3CzCWbJ -/F6QZKMJ6zk/UOGC4wEib9IoXCiisnLokqWGxFpExb2Pw0pn418nNrXLbe8YntH06wtswg6Gzs/3 -1DULnQDRW1IC8a6uDl4ql8XnQ5Fn3/iefobiHWt+iSaXVmqzR5SdAkEO7rGgYS2zXJbirmtMiOmV -yfAKONorGwNCG6QfkRM84BUwtpKZTAArf8uq5aPYBlyb71/iNFCGAm52+cUWlTdgRILMmqFphhcc -STi/Ju5KdjlYaP0U8HqxIuBqW2PSW9dFjGuj5OxJH8Pr+njA6sF9IHckYOqo2hhKKA9K \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_licence; + +/** + * Class d3_importercfg_support + */ +class d3_importer_Application_Controller_Admin_Config_Support extends d3_cfg_mod_licence +{ + + /** + * @var string + */ + protected $_sModId = 'd3importer'; + + /** + * @var bool + */ + protected $_hasNewsletterForm = false; + + /** + * @var bool + */ + protected $_modUseCurl = false; + + /** + * @var bool + */ + protected $_hasUpdate = true; + + protected $_sHelpLinkMLAdd = ''; +} diff --git a/src/Application/Controller/Admin/Desc/Base.php b/src/Application/Controller/Admin/Desc/Base.php index ec4732a..ca859dd 100644 --- a/src/Application/Controller/Admin/Desc/Base.php +++ b/src/Application/Controller/Admin/Desc/Base.php @@ -1,26 +1,23 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cPxCzaLwZ16gHkee4VRDS7l06N8DmtiRy0EEHBO1tkRqTaR0Z5+M9LnG12xZ5kAZLw2FVvgRd -ikDgAWJRbeOSZ7S3icPLtrTdPe5sahdPMtzDPckPNUeFj0e07gdaQ2pC2NZqb+pzMCTftTa7OayO -zxGIMdgMRKKOESXcIuTET9grLACZype5IgIS54NiHIr0ZPlk6m3v8fF8HA0KHao0OxEGh5EAJWGQ -LT6N1jmDdA2bo2etwtLZFWhp6O4Ozp/6M4BgQTgalfnaaBd+7AOrqLo3cBDz76O7eYhe567z6x2X -PrBaJMapiX1gWYgDy6Ga85+6YoA6rs9iARyfEvJDrc6YgEbXCEkmpmYaPsr1cTdx6A63P7M4f9W6 -YQrEomet5keom/hhtmwGCBaQceKB/b99b0CjdxiQZUYo2O9mgv4XvnRrrApXdxWlC/j5jttnWE0g -Ty1cQ8a21zp3xPELZmBdDDFH/H8l21sA+uIQsXz9BRpVQdyLWawTqw08ZndGoDBAv3IeIImvX8y5 -95uSFJ825WVImYpK5BloOFY8LlBQOW79glm2uqK52zWX6QB44rLqoOYaMoIL7ajWSeoLQEqQwkhJ -xip3Dw8MIV3QtV+r/92QBlmSwTLEieGu2l4c09kXAoYBQbi6F/+U8rFRtDsTwgZZ9AhOG6K1GvgD -xV1S5K02kKkTY5kmAUG7Q2XUXqaQvLBYvXkc4Sv5/0K9i23Uk+q5AEEQvj91ZVVgXFzCKL0XlNo6 -niFfp3JW1W0Cp7e17RE1saZigNA1Fq90iDP1Qvr05ApoiVsiqVd9FOyw0E4nMTXQuGjELib7mli0 -uBEzHgxXAWvHUywcg7vO/ZgX+CvYHuqlrXJVIGCVupWIXh5c4cIEW7qLUXSp4iZcIBp3DkJvl8zW -gC3gaYO4JthvYo88PIiW5uRyqMiPVgjluUGVf3UHtMSAWn9fy86TNSUVgLHn/t8BOVs1He5lhjiB -U0dazh3DbbzO/qgrS23RMF2eiD9VImEx+qFK2JVN/GbFWlSIfLvkuYm3tCuzNWsSgzorelHr+9Nu -YzktNtploqiUbqm14+yzMFLt7OBJcoAnMCM/Be7kfC9eL7CZQoKo+utUEXwo/NdV7KAhz3/s1Edh -SPreicP/+EnvQCpub6ARjNW6cQZmnrRAz+fsAJ0KkryfR9khX995MDw79MZks/YD/UIh5QefcB7+ -YarH1Uq9QJcXQkmeyse/SxpBH0XjgyyT/H5U4CdjnXIxLadg9vnRoxD/XcM1RKbZgjKzdbsALSC0 -W7uZmaPlj0MiPoIJ802FFrzPiTPnOVO/laaf6D9v+sFVQRfEo22eIZvFPYKOn9/mw+eVk3frDy9F -pQUh7NO0ut+Y1j6MH736T9aEYtnlBT44JVZn5jFnwCNrS15Rm/pfgdNV1ptaLP7dcnA8BbuFacEg -UwOgMURdgrjKUgJ/D+DqPtlrDtwIfAqV0HyAonVQnti1DqryKjxb/DNdMza7LPNfnwM9VHMcqceH -P+sCME6N6snZkH4xdhgRdVnPkbkqOk8PTDBvPSRNmk575q5cW9nDAQcIagfPZQH0AMsswrl8r0lN -Gf3Zu1JjZLGsLE7YV+m/YdoAZWppL77GeUdtG0G= \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use OxidEsales\Eshop\Application\Controller\Admin\AdminController; + +/** + * Class Item + */ +class d3_importer_Application_Controller_Admin_Desc_Base extends AdminController +{ + protected $_sThisTemplate = 'd3_d3importer_views_admin_tpl_desc_base.tpl'; + +} diff --git a/src/Application/Controller/Admin/Desc/Itemlist.php b/src/Application/Controller/Admin/Desc/Itemlist.php index 716b84e..a7f443f 100644 --- a/src/Application/Controller/Admin/Desc/Itemlist.php +++ b/src/Application/Controller/Admin/Desc/Itemlist.php @@ -1,29 +1,25 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cPo1eyc7roiPMWDXdGi0b/RZ/3yTj3Zc9D/6C3WDAjgNPN8pGAgurKiNHRXyxMNXhfg0DOI8a -n3Z9bw59yRKAlhdF3Sx65avFn6bdkh5kQcOlwfOgv+K5/jdhxGu9JZAc23kwIcedfmwNQozFE5tc -sCaYMkbV29HIRzqSdth4FNoWs4AcpF+3dLP5VRtUpafrAask2dshbZM9JGBQRd7ZdpIgptKJou68 -AzPy0VZFZNGe7bk2x2ICBcAiK8pGoxGjvT/VZgI+d6IGkVuSfZNHN8EOitr9QhfKW8VIs2/l5tXd -skHD0BCRchFXFcZoPlKCjx2VYfh1ElXf3/c6lBw8yRV7omt83q4AE5VePOTPtHTOume4HibG1gop -sb9u+xTZ0g7+TlGSyIE1STphyJYPmWN7YFhNifZC/3AMts8mpuJqllzBT4XluRIslVaGOkqCLXcQ -o4BWzKXW7OrnfEBNPObMkiNoZNCutFqvu7aSujl6rO1T0OMcTZLWg7n5J4zYfmMbsrXX6+Wf8eA9 -e5BmcSf+8Lj4EF7Gfu3kP4jgnzOmPAzLXjHEY/yxkvDg1BgmM9j1kuG7+0VmAzfwPr1KD+wHAWb9 -pMUYRb3heBc/P9M5oFo8ADmayR3+Xt864V71r9Ylb6NskCm2/pt5lmepfJN89oAk28L+2+SBZYN0 -80Ea0WviTrXT9mzI/hnG5yFP6GRW+1v1LeW0Uf/Eo4EnwgideCXrYn+m/1usB+g884bOB2CCuZ3L -w921LmvyzNzCoeZKyQNfk2nMgcKGz6G15n1vXuciZFIB+uDaB0SzhcmOF+4MWAI6AoVPoGA5Ndr1 -l8jmgyNF03RbDQAAn0HyZGvb3YlElqaPkiOM1La/bla6lRUR0ZZ6BtuIfpvgn7UdgY4ohpCQJ72b -BmeifiXC61JQ1w6Px7LHHDd7jPxwhUxKkYulY5+nLrHEWtWMz1viFMmOZ1Q8dVWxRkwtvTlDThWa -EcqhdU43OpNijRDEUKfMv3rBE3QFFi75rgQsJZLB+HxGepq6lIIkkoMd36mRyCOMztwmHyOSP6Lf -cXF7j9dn6NUfr9CMpcPs7KPsJ0QvPxhtX3kSLLnt90kVl37LpUtzCLJf4CiMaaZk2ZOZAJcUhG57 -AepXgtnTIfaMG31tUoKGmMN3PQO+5xRft6AeDwpcv7a3ZGLCB3jFZNd+tEeh/EduH9Ptz3Z81Arw -kSfiaUv149HtjDcgUH7xpFLKHb7NqKCZtfDKW4Brf76Ya87iIRgtgtQT1Idu0tLaToj3+RN1o5EG -uztrB/dkPIkU4w9xUWq4nbULe28Il6wjtIUbFvikAXrww+wMQDsM1/+4+9XjxI1X9EI0OpxCimJ9 -TLcLV6lMsRhUkgt+1WRvD/1z5bkMkH5CZs5dHmnwSh980yE/HReKyGwrIvBX7KlzJjPEfKeRUAny -OQG5KifD+JhccOhiAzsRSihSMhhPFmVp3j9VY5HgAPgv97MwlwivMuXsAMMm5E8rGkKhLGch/0YF -JUNgyGFMcYAyylwcEkkzZT/trDWVmvzaTfvr0T+6e4eLB/QjwmnjxH1COvWdPkBL10LzG7WTQJGQ -29CXhaSLqdhWmQUSZQcPIP4xSX3+8Ue7UsBjpdDUlIr1okI1jlFCTuZb5APoZjPbiJPXZzB0cA6F -jdWTualW63yzbsSRBiVY25Ms5SwsiP+Oao5QmyzT1yjRy3guzdBQaekThhLT2A364f45LB4DlDcF -c06RG7uc/D9Lc1DQtrEFajokRAIzEX5oE+tf/cHe32May2bWicPkyn6afcYU770TQ5cyIBWVZgJd -NSljZbDpSt1RG9N5dYtU5ymxpAMXeqCo5m== \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use OxidEsales\Eshop\Application\Controller\Admin\AdminListController; + +/** + * Class Itemlist + */ +class d3_importer_Application_Controller_Admin_Desc_Itemlist extends AdminListController +{ + protected $_sListClass = d3_importer_Application_Models_ImporterDescription::class; + protected $_sThisTemplate = 'd3_d3importer_views_admin_tpl_desc_list.tpl'; + protected $_sDefSortField = 'oxorder'; + protected $_blEmployMultilanguage = false; +} diff --git a/src/Application/Controller/Admin/Desc/Main.php b/src/Application/Controller/Admin/Desc/Main.php index 3dff9f0..6fc7fa5 100644 --- a/src/Application/Controller/Admin/Desc/Main.php +++ b/src/Application/Controller/Admin/Desc/Main.php @@ -1,63 +1,88 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Application\Controller\Admin\AdminDetailsController; +use OxidEsales\Eshop\Core\Request; + +class d3_importer_Application_Controller_Admin_Desc_Main extends AdminDetailsController +{ + protected $_sThisTemplate = "d3_d3importer_views_admin_tpl_desc_main.tpl"; + + /** + * @return string + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + public function render() + { + $sRet = parent::render(); + $editObject = oxNew(d3_importer_Application_Models_ImporterDescription::class); + $editObject->setEnableMultilang(false); + $editObject->load($this->getEditObjectId()); + $this->addTplParam('edit', $editObject); + $this->addTplParam('sHelpURL', null); + + return $sRet; + } + + /** + * @throws Exception + */ + public function save() + { + $oxid = $this->getEditObjectId(); + $requestParameter = oxNew(Request::class)->getRequestParameter("editval"); + + $importerDesc = oxNew(d3_importer_Application_Models_ImporterDescription::class); + $importerDesc->setEnableMultilang(false); + if ($oxid != "-1") { + $importerDesc->load($oxid); + } else { + $requestParameter['d3importerdesc__oxid'] = null; + } + + $importerDesc->assign($requestParameter); + $importerDesc->save(); + + $this->setEditObjectId($importerDesc->getId()); + + parent::save(); + } + + /** + * exampleItem: array('new' => array( + * 'sScript' => 'top.oxid.admin.editThis( -1 );return false;', + * 'sTranslationId' => 'foo', + * ) + * @return array + */ + public function getNaviItems() + { + return array( + 'new' => array( + 'sScript' => 'top.oxid.admin.editThis( -1 );return false;', + 'sTranslationId' => 'D3IMPORTERDESC_NEW', + ) + ); + } + + /** + * build and get url to help page + * + */ + public function getHelpURL() + { + } +} diff --git a/src/Application/Controller/Admin/Log/AdminList.php b/src/Application/Controller/Admin/Log/AdminList.php index 2572f55..3f486c4 100644 --- a/src/Application/Controller/Admin/Log/AdminList.php +++ b/src/Application/Controller/Admin/Log/AdminList.php @@ -1,26 +1,22 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cP+QQnvleOV/YtFKjKhXc1jRw77lB52fYs8Qu5kWxepQqOZOoFspFETvvDfqGJBJ9evL0f5MO -jCkO82xK+iXPRqneg77Jks4baHu3E8oaP4CL/EhQ/ickHdZMVxDZe9e5AVMvqy2Dbg3YIhz6ockQ -QYaucZ65EvSUOXLACGCcPwEjSKOFOArfl0xfBT9BmAEXOQBfHDnj4dtVvJNd4tY8qudoQNr2rZgf -OHcOavLvc1B3ueojjMH+1uDvGVmC7+W6abJdfBwSP92v/XocDT5SWvYpVM1hrRmnx34+UzWd7sVQ -v4qo/pyEeZNSmfVD+mHwNf19Pb87XkyBeRMXwVRIOVfSEgB1zr6CCMhwpvIL3S0FqUHpc2Sp+26h -BcHatNcYnvF2zHyQdiMRay46xVn058vR/UuI4qDqAsfWWDBibDimJ9tZtp02TyodsLEzcL6+aSXu -mvuON62u1eQnNh0z6TdDCTKRpjDD6Mj84eW+3MWvDHyv5CGUjE7UPIhE15dFO0jO85FEmICbyTKJ -isPKXsnAHx7w50GXDoJ2ns63ZYP17JPW66rxry85q+J6fwo9Jqoo7xHxwq7bpvQykiS7CQoGlRVq -JBFujRGaHa1xnNQWgXP7kHVkZG6sVlaUDXI0rGmHw4x/p4yOx8Gzd4RVR0JRxW/otimff9+PYWdM -WPYnUeOHfqF3/6kzUvhJUSx7pYaTrN4zLjReLmz7JT8OMz9AUM9yvZQx60FCPFSwULASmp/bo+6o -OTrrbPRlNcZMKVxyPhiGPt91cU7TGcsV/xfw8uZyPHBwzxSxgJ9JdULD3AAH/+QuBzOnPkCSu3gb -E2fdN33HvADB/KtvFzH5n/zBiuN3P9bHwPtRmT+FHNh7hrCKYDRlyb6v7Q9pgRP4KN2ucWIXcoHy -lUomlKwnRqVg/QR06oPHgrJ80V5Xg+HhSZKtfrILT0L8XUrkXlYfNiPCVjRhLyotH/EMvUAVNNsE -83S2UyK1//X19twirC41UKIA0JRQG9BQePBDpn3S3qDC2RkjOeHTBLak3IxMT40c5Y2d16kv9e4V -7zosEpe1SvUek8NvrSzlzPgHVG9j4oCzmWRp4SyvrUPTQu+MYv/JXAk/N85cuVaobF38BzMbZFSp -x+vPJnwn441GcWHubUzvv6geW66jDtft9qbKLoMOn2EzkDQ1aUBIwCaS9hT9FUng4zqmvhJ2hvIA -seghxS4CaEmlT2jF1TgatYsWmAcADwCb+t6S2fBPmvlM6JaciL8+7wsZyHUk57wtuS2IxvDo+QY4 -dy6ANfEm4Gp1JfVl8nCrc4NVa7v/gKM9lKeJUVhAN5mKw4nHpM5H1DQ+EhZIT7rUYqvUyUYTwCSS -ZtupbLE9advzw1SBEOLh83dndHq8LshogfAau4ZQQ6IUiBmLUgJ4ED7xbZfiqIvK7gSfruwGZifC -RntCA1nNCXlXiRjUeX4XeM2j9UiH0oyheoTpcd6Cx3cPJDNB/HgKVtlDsXCMS7zwIbA3H8H3KoHq -dp940Hm9DD/PKYYzeYpOwnRIpZsvWS5XE4/ytzdC/8cZviyJLVW2JUFV4rZHDfj7JFQOx1iK8Y/W -ie2b6/18LqElpbSmNVkprl4JHG== \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log_list; + +/** + * Class d3_cfg_importerlog_list + */ +class d3_importer_Application_Controller_Admin_Log_AdminList extends d3_cfg_log_list +{ + protected $_sModId = 'd3importer'; +} diff --git a/src/Application/Controller/Admin/Log/Base.php b/src/Application/Controller/Admin/Log/Base.php index 3da108b..eb3af90 100644 --- a/src/Application/Controller/Admin/Log/Base.php +++ b/src/Application/Controller/Admin/Log/Base.php @@ -1,32 +1,39 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -tW== \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log; + +/** + * Class d3_cfg_importerlog + */ +class d3_importer_Application_Controller_Admin_Log_Base extends d3_cfg_log +{ + + /** + * @var string + */ + protected $_sModId = 'd3importer'; + + /** + * @return string + */ + public function d3getAdditionalUrlParams() + { + $sRet = parent::d3getAdditionalUrlParams(); + if ($this->_sModId) { + $sRet .= '&sD3ModId=' . $this->_sModId; + } + + return $sRet; + } +} diff --git a/src/Application/Controller/Admin/Pictureimport/AdminList.php b/src/Application/Controller/Admin/Pictureimport/AdminList.php index aedf233..867697a 100644 --- a/src/Application/Controller/Admin/Pictureimport/AdminList.php +++ b/src/Application/Controller/Admin/Pictureimport/AdminList.php @@ -1,42 +1,56 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +use OxidEsales\Eshop\Application\Controller\Admin\AdminListController; + +/** + * Picture list manager. + * Performs collection and managing (such as filtering or deleting) function. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Pictureimport_AdminList extends AdminListController +{ + /** + * Current class template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_picture_list.tpl'; + + /** + * Name of chosen object class (default null). + * + * @var string + */ + protected $_sListClass = 'd3_importer_Application_Models_ImportConfig'; + + /** + * Default SQL sorting parameter (default null). + * + * @var string + */ + protected $_sDefSortField = "oxtitle"; + + protected function _prepareWhereQuery($aWhere, $sqlFull) + { + $sQ = parent::_prepareWhereQuery($aWhere, $sqlFull); + + $sTable = getViewName("d3importconfig"); + + $iShopId = $this->getConfig()->getShopId(); + $sQ .= " AND {$sTable}.oxshopid = '{$iShopId}' "; + + return $sQ; + } +} diff --git a/src/Application/Controller/Admin/Pictureimport/Base.php b/src/Application/Controller/Admin/Pictureimport/Base.php index f679f02..4534d14 100644 --- a/src/Application/Controller/Admin/Pictureimport/Base.php +++ b/src/Application/Controller/Admin/Pictureimport/Base.php @@ -1,29 +1,32 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -HR+cP//ZMjqhpgGb39VgI0Yk2yL4cpDlwZsUWvMuM/R+P+ROC3CUNmwa7T4wLfGjWkXveCYTCdqW -vb5QhxYZDlWPQ/+iqj4EmpRq4H7a++3erT/yqvrEiICpEYxu03hPuVDHSQA1n9HwvbUsuOdck25R -k29rACs5OEFCSf0IBHVN7AsB/53mPnoRbknYgPcWnTTCAo0wBazWn3fgv6Tutipi4wQnhdMYeHyu -ACnhriDL4bPv5ilacTfpkyAGn/DlDutujOKxfBwSP92v/XocDT5SWvYpVQTm7FR8yBCeVdf5NcTI -v4ri/yRqtyujnJv9DAXpuhxTXHOrc27yIJN2P6FB2pJkAvVgB2gr77kvqK/SB/AcTMC573R24dYO -VgEIin1TYTRE41ijaVFMOkK+dh380KflnWHMEiwa1UiACuu5UnncoXkiyJ+P42LAOW4OmQiUYv/U -/NZEQysz+nlhvLVWULgi3jzVMh25a6SGIYymmrEv8gO0oMmSOsbC/MsUaOFKhYRqnM4MBI6O3C/c -WP1f19NWTTy4CTjL06DOVSqpoGrEFgu3DFnwGhz0XI7Fx5tLHisuLEcY/c29ItUggqVCRcVmPbPa -SCrWL0PeS5oLDF7ysOyF68G0Wvht6Mg0ttyV+mEPWmV/m/eYjfUbKFnwUiDPOSwfl6maqowuM3Kb -8vZqvf1zQNZAaN0Ag0pk36UCYDyxv96mMnvufQP6DvpwpZ0cuCxgSAD5q/ILQBrVOEp93wUtl5cz -JO1ILhPbWQxOZ6IRVwcqgeKhI829Se4wUat04hyqXOjZYrHrCmblhnI+XVcNTkosxqqlpyO8KGF1 -iUsJReehhtLie9vdCljiBdCLox2ofjnnhX+vhg+GPjorOY+bwa4D1G9ROknbCQX16XWacUvPT2zc -l7aGu685ngdNC1gpM7sgHLf2ISR2roP7hQFEycgRZDh3+glOptdtzMnavPEqbokDZ6gQXeQf5+ns -u6PCKlKONv7EYCj9rq9YY4OWSGKnH2xC6FCxCGmJeGpmEWaRkFv15/JKSZyqjgFLzWRg6FNjUprh -H9c3W6O9VBpy77NIAIRjwDO0uM2i0SrnFlFYcElfaACGB33lYCR431FLlBimb0je1A4pX+bJZW/9 -j77tXeaaWsp7JwXWBIAcrV4UO+KLmH1SUyqfOakZ+yG4Ui+uwDTP9X5s5xzxjRbuYkKogMSXhq9Y -wGZ1HW4Gn1+jSVfrSMy8vbzPclR8uzP7Q6W6XDOUfysTroJ1kLOiDjG+WN+DM6yrckRD5TBM6Gzj -saYwNlypD5l56G+iSm2VH0jjxhI0Q9B4TGbgCOyjfj6Yt3GxkR45EV1PbbRva0hFehKfkeDrbC6J -yoYNPFKWzwCXptOkQgFUN0B9ZcHZlpTqIhUuqYDDN1ekN0scgHCPmmNS8CEE8AVqqcXlSc1j9lYr -Es1NM3uEmgj86Tq0XyB2hX4e9WxbWf4RLTYeAo9nECorYmkZ+Y4S1HP3DUFbhn144p/98TnBUvVn -l5YScLrhl3xO+Cj6/QuHGF0GS5IvCT8Elmx0uWHXU/cHT/qN/QLz/q7tTbnZ4QRl4GSoc+96HSRP -IQl83cSBs0/opGKQQMBi56wAcGXHpPXrWHQW4gdkrikgOd6BNtxu1OZX//V0Q3wMFcvLtVUs6zpL -qwxM9gEUBtPKlL9nHCJqzSWHiaL6LmMaLMOv1fFwIRYcQtRSS63HI/zf4bxzlKhmIlweDlMRyNp4 -skMsRjrwJwTBvK0FTYczucmfzz04wFf06tBmekfBm+3peguxIXZqMU+GT1X2ii7/woeu+OCmyvcF -hgaG8xs7gETeNlwnIq1ZRm== \ No newline at end of file + + * @copyright (C) 2008, D3 Data Development + * @see https://www.shopmodule.com + */ +use OxidEsales\Eshop\Application\Controller\Admin\AdminController; + +/** + * Picture manager. + * Returns template, that arranges two other templates ("d3_picture.tpl" + * and "d3_importer_main.tpl") to frame. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Pictureimport_Base extends AdminController +{ + /** + * Current class template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_picture.tpl'; +} diff --git a/src/Application/Controller/Admin/Pictureimport/Import.php b/src/Application/Controller/Admin/Pictureimport/Import.php index 60557d7..f91d791 100644 --- a/src/Application/Controller/Admin/Pictureimport/Import.php +++ b/src/Application/Controller/Admin/Pictureimport/Import.php @@ -1,122 +1,252 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 -kl9v8ZK= \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Core\DatabaseProvider; +use OxidEsales\Eshop\Core\Request; + +/** + * Picture import manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Pictureimport_Import extends d3_importer_Application_Controller_Admin_Base +{ + /** + * @var array + */ + protected $displayErrors = array(); + + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_picture_import.tpl'; + + /** + * Speichert den aktuellen Fehlercode + * + * @var integer + */ + protected $failConfigCode = 0; + + protected $importDirFilesSummary; + + protected $importedFilesSummary; + + protected $finishedFilesSummary; + + protected $currentProfileName = 'd3_picture_import'; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_importer_category.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + + $this->setPictureDumpInformations(); + + $dirinfo = []; + $dirinfo['sumfiles'] = $this->importDirFilesSummary; + $dirinfo['importedfiles'] = $this->importedFilesSummary; + $dirinfo['finishedfiles'] = $this->finishedFilesSummary; + $this->addTplParam('dirinfo', $dirinfo); + + return $sReturn; + } + + /** + * get data from db table d3picdirdump + * + * @return void + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + protected function setPictureDumpInformations() + { + $oDB = DatabaseProvider::GetDB(); + + $this->importDirFilesSummary = $oDB->getOne("select count(oxid) from d3picdirdump where 1"); + $this->finishedFilesSummary = $oDB->getOne("select count(oxid) from d3picdirdump where oxisfinished = '1'"); + $this->importedFilesSummary = $oDB->getOne("select count(oxid) from d3picdirdump where oxisimported = '1'"); + } + + /** + * Liest alle externen (http(s)) Bilder ein und speichert sie ins Bildimportverzeichnis + * + * @param null $downloadExternPictures + * + * @return void + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function getExternPictures($downloadExternPictures = null) + { + $request = oxNew(Request::class); + $soxId = $request->getRequestParameter('oxid'); + $iActImportExtPictureCount = $request->getRequestParameter('d3ief'); + + $oImportConfig = $this->getD3ImporterConfiguration(); + + if (false == $oImportConfig->getId()) { + $this->setFailConfigCode(10); + + return; + } + + /** @var d3_importer_Application_Models_PictureImport $oImporter */ + $oImporter = oxNew(d3_importer_Application_Models_PictureImport::class, $oImportConfig); + $oImporter->numberOfExternImportedPictures = $iActImportExtPictureCount; + $oImporter->ImportExternPictures(); + + $this->displayErrors = $oImporter->getErrors(); + $this->addTplParam("blEOD", $oImporter->isPictureImportFinished); + $this->addTplParam("iImportedFiles", $oImporter->numberOfExternImportedPictures); + $this->addTplParam("iSumFiles", $oImporter->getExtPictureTableSum(1)); + $this->addTplParam("oxid", $soxId); + + //Am Ende des externen Imports noch das Bildimportverzeichnis neu einlesen + if (is_null($downloadExternPictures) && $oImporter->isPictureImportFinished) { + $this->scanPictureDir(); + } + + $this->_sThisTemplate = 'd3_picture_extticker.tpl'; + } + + /** + * Speichert den aktuellen Fehlercode + * + * @param integer $iError + */ + protected function setFailConfigCode($iError) + { + $this->failConfigCode = $iError; + } + + /** + * scan picture import directory + * + * @return void + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function scanPictureDir() + { + $request = oxNew(Request::class); + $downloadExternPictures = $request->getRequestParameter('downloadExternPictures'); + if ($downloadExternPictures) { + $this->getExternPictures($downloadExternPictures); + } + + $oImportConfig = $this->getD3ImporterConfiguration(); + /** @var d3_importer_Application_Models_PictureImport $oPictureImporter */ + $oPictureImporter = oxNew(d3_importer_Application_Models_PictureImport::class, $oImportConfig); + + $this->setFailConfigCode($oPictureImporter->scanPictureDir()); + + return; + } + + /** + * @return array + */ + public function getDisplayErrors() + { + return $this->displayErrors; + } + + /** + * doing Import + * + * @return void + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function doImport() + { + $request = oxNew(Request::class); + $soxId = $request->getRequestParameter('oxid'); + $iPrevCheckedFiles = $request->getRequestParameter('d3cf'); + $iPrevImportedFiles = $request->getRequestParameter('d3if'); + + $oImportConfig = $this->getD3ImporterConfiguration(); + + if (false == $oImportConfig->getId()) { + $this->setFailConfigCode(10); + + return; + } + + $oImporter = oxNew(d3_importer_Application_Models_PictureImport::class, $oImportConfig); + $oImporter->setActCheckCount($iPrevCheckedFiles); + $oImporter->setActImportCount($iPrevImportedFiles); + $oImporter->import(); + + $this->setFailConfigCode($oImporter->getConfigFailure()); + + $this->addTplParam("blEOD", $oImporter->isPictureImportFinished); + $this->addTplParam("iSumFiles", $oImporter->numberOfPictureFiles); + $this->addTplParam("iCheckedFiles", $oImporter->getActualCheckCounter()); + $this->addTplParam("iImportedFiles", $oImporter->getActualImportCounter()); + $this->addTplParam("oxid", $soxId); + $this->_sThisTemplate = 'd3_picture_ticker.tpl'; + } + + /** + * Wird fuer die Rueckgabe ans Template benoetigt + * + * @return int + */ + public function getConfigFailure() + { + if (isset($this->failConfigCode) && !empty($this->failConfigCode)) { + return $this->failConfigCode; + } + + return 0; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } +} diff --git a/src/Application/Controller/Admin/Pictureimport/Main.php b/src/Application/Controller/Admin/Pictureimport/Main.php index 7c1ffb9..7e9174f 100644 --- a/src/Application/Controller/Admin/Pictureimport/Main.php +++ b/src/Application/Controller/Admin/Pictureimport/Main.php @@ -1,120 +1,212 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ + +use OxidEsales\Eshop\Application\Model\Article; +use OxidEsales\Eshop\Core\Model\BaseModel; +use OxidEsales\Eshop\Core\Model\ListModel; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +/** + * Importer main manager. + * + * @package admin + */ +class d3_importer_Application_Controller_Admin_Pictureimport_Main extends d3_importer_Application_Controller_Admin_Base +{ + /** + * Current class default template name. + * + * @var string + */ + protected $_sThisTemplate = 'd3_picture_main.tpl'; + + /** + * Speichert den aktuellen Fehlercode + * + * @var integer + */ + protected $failConfigCode = 0; + + protected $isUploadFailed; + + protected $requireProfileCheck = false; + + protected $currentProfileName = 'd3_picture_main'; + + /** + * Executes parent method parent::render(), creates oxlist object, + * passes it's data to Smarty engine and retutns name of template + * file "d3_picture_main.tpl". + * + * @return string + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function render() + { + $sReturn = parent::render(); + $tplLanguage = Registry::getLang()->getTplLanguage(); + $descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc'; + + $aImageFieldList = new stdClass; + + $oArticle = oxNew(Article::class); + + $oImporterDesc = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); + /** @var d3_importer_Application_Models_ImporterDescription $baseObject */ + $baseObject = $oImporterDesc->getBaseObject(); + $baseObject->setLanguage($tplLanguage); + + $sSelect = "SELECT * FROM d3importerdesc WHERE oxispic = '1' AND oxisdisabled != '1' ORDER BY oxorder"; + $oImporterDesc->selectString($sSelect); + + foreach ($oArticle as $key => $val) { + if (substr_count($key, "oxarticles__")) { + $val->fldname = str_replace("oxarticles__", "", $key); + + $blDelete = true; + foreach ($oImporterDesc as $oDesc) { + /**@var $oDesc BaseModel */ + if ($oDesc->getFieldData('oxfield') != $val->fldname) { + continue; + } + $val->fldshowname = $oDesc->getFieldData($descriptionName); + $val->flddisabled = $oDesc->getFieldData('oxisdisabled'); + $blDelete = false; + } + + if ($blDelete) { + unset($aImageFieldList->{$val->fldname}); + } else { + $aImageFieldList->{$val->fldname} = $val; + } + } + } + + $this->addTplParam("imagefieldlist", $aImageFieldList); + $this->addTplParam("importfieldlist", $this->getPictureFields($this->getConfig()->getConfigParam('iPicCount'))); + $this->addTplParam("iPicCount", $this->getConfig()->getConfigParam('iPicCount')); + $this->addTplParam("sNextKey", 0); + + return $sReturn; + } + + /** + * @param array $aXMLParams + * + * @return void + * @throws Exception + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + */ + public function saveImportProfile(array $aXMLParams = array()) + { + $request = oxNew(Request::class); + $aXMLPictureParams = $request->getRequestParameter("xmlpictureval"); + $aPictureSettings = $request->getRequestParameter("aPictureSettings"); + + foreach ($aXMLPictureParams as $iIndex => $aXMLParam) { + if (empty($aXMLParam['IMPORTFIELD'])) { + unset($aXMLPictureParams[$iIndex]); + } + } + + usort( + $aXMLPictureParams, + function ($a, $b) { + $iA = (int)substr($a["IMPORTFIELD"], strlen("d3importpic")); + $iB = (int)substr($b["IMPORTFIELD"], strlen("d3importpic")); + if ($iA == $iB) { + return 0; + } + + return ($iA < $iB) ? -1 : 1; + } + ); + + parent::saveImportProfile( + array('aXMLPictureParams' => $aXMLPictureParams, 'aPictureSettings' => $aPictureSettings) + ); + } + + /** + * Wird fuer die Rueckgabe ans Template benoetigt + * + * @return integer $this->_iFailConfig + */ + public function getConfigFailure() + { + if (isset($this->failConfigCode) && !empty($this->failConfigCode)) { + return $this->failConfigCode; + } + + return 0; + } + + /** + * Speichert den aktuellen Fehlercode + * + * @param integer $iError + */ + protected function setFailConfigCode($iError) + { + $this->failConfigCode = $iError; + } + + /** + * @param d3_importer_Application_Models_ImportConfig $oImportConfig + * + * @return array + */ + protected function getFormularElements(d3_importer_Application_Models_ImportConfig $oImportConfig) + { + // TODO: Implement _getFormularElements() method. + return array(); + } + + /** + * + * @param int $pictureSlots + * + * @return array + * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException + */ + protected function getPictureFields($pictureSlots) + { + $tplLanguage = Registry::getLang()->getTplLanguage(); + $descriptionName = $tplLanguage ? 'oxdesc_'.$tplLanguage : 'oxdesc'; + $oImporterDesc = oxNew(ListModel::class, d3_importer_Application_Models_ImporterDescription::class); + $aImportFieldList = []; + $nameList = []; + for($i = 1; $pictureSlots >= $i; $i++) { + $nameList[] = "'d3importpic{$i}'"; + } + $nameList = implode(', ', $nameList); + + $sSelect = "SELECT * FROM d3importerdesc WHERE oxfield IN({$nameList}) ORDER BY oxorder"; + $oImporterDesc->selectString($sSelect); + + foreach ($oImporterDesc as $obj) { + /** @var $obj BaseModel */ + $aImportFieldList[$obj->getFieldData('oxfield')] = $obj->getFieldData($descriptionName); + } + + return $aImportFieldList; +} +} diff --git a/src/Application/Controller/Import/Article.php b/src/Application/Controller/Import/Article.php index 4ecc7c1..8b654e4 100644 --- a/src/Application/Controller/Import/Article.php +++ b/src/Application/Controller/Import/Article.php @@ -1,190 +1,453 @@ -1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); -?> -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 \ No newline at end of file + + * @link https://www.oxidmodule.com + */ +class d3_importer_Application_Controller_Import_Article +{ + /** + * @var d3_importer_Application_Models_ImportConfig + */ + protected $importConfig; + /** + * @var int + */ + protected $importFailCode = 0; + /** + * @var int + */ + protected $filePointerPosition = 0; + /** + * @var + */ + protected $actualLinePosition; + /** + * @var + */ + protected $isEndOfFile; + /** + * @var array + */ + protected $importProfile; + + /** + * Article constructor. + * + * @param d3_importer_Application_Models_ImportConfig $importConfig + */ + public function __construct(d3_importer_Application_Models_ImportConfig $importConfig) + { + $this->importConfig = $importConfig; + $this->importProfile = $this->importConfig->getImportProfile(); + } + + /** + * @param int $actualLine + * @param int $actualFilePointer + * + * @return bool + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + public function import($actualLine = 0, $actualFilePointer = 0) + { + $this->actualLinePosition = $actualLine; + $this->filePointerPosition = $actualFilePointer; + $importFields = $this->getImportFields(); + + if (false == $this->isStartProcedereSuccessful($importFields)) { + $this->isEndOfFile = true; + + return false; + } + + if (false == $this->filePointerPosition) { + // set flags + $oDB = DatabaseProvider::getDb(); + $oDB->execute("UPDATE `oxarticles` SET `d3importflag` = '' WHERE `d3importflag` NOT IN ('', 'manually')"); + /* TODO: Hier muss spaeter nochmal die Importdatei geprueft werden! */ + } + + // + /** @var d3_importer_Application_Models_Csvconverter $csvConverter */ + $csvConverter = oxNew(d3_importer_Application_Models_Csvconverter::class, $this->importConfig, $this->importProfile, $this->filePointerPosition); + $csvLines = $csvConverter->convertCsvToArray(); + + $aConfigProfile = $this->importProfile['d3_importer_config']; + $articleFieldIdentification = (string)$aConfigProfile['ASSIGNIDENT']; + /** @var d3_importer_Application_Models_Collector $collector */ + $collector = oxNew(d3_importer_Application_Models_Collector::class, $articleFieldIdentification); + + // jetzt aktualisieren wir noch die Uebergabeparameter fuer den naechsten Tick + $this->filePointerPosition = ftell($this->importConfig->fpCsv); + $this->actualLinePosition += count($csvLines); + if (feof($this->importConfig->fpCsv)) { + $this->isEndOfFile = true; + } + fclose($this->importConfig->fpCsv); + + /** @var ArticleList $articleList */ + $articleList = oxNew(ArticleList::class); + $articleList->renewPriceUpdateTime(); + + // + $shop = Registry::getConfig()->getActiveShop(); + $languageId = $shop->getLanguage(); + $shopId = Registry::getConfig()->getShopId(); + $isSuperShop = (bool)method_exists($shop, 'isSuperShop') ? $shop->isSuperShop() : false; + + // + /** @var d3_importer_Application_Models_Service_Import $importService */ + $importService = oxNew( + d3_importer_Application_Models_Service_Import::class, + $collector, + $this->importConfig, + $importFields, + $this->importProfile, + $csvLines + ); + + $importService->addProperty('isSuperShop', $isSuperShop); + $importService->addProperty('shopId', $shopId); + $importService->addProperty('languageId', $languageId); + +// $models = [ +// oxNew(d3_importer_Application_Models_Models_Import_Article::class, $importService), +// ]; +// foreach ($csvLines as $index => $csvLine) { +// $oxid = $collector->collectArticleIdent($csvLine[$columnIdentification]->import); +// if(false == empty($oxid)) { +// $csvLine['oxid'] = $oxid; +// } +// +// foreach($models as $model) { +// /** @var d3_importer_Application_Models_Models_Import_Article $model */ +// $oxid = $model->importLine($csvLine); +// +// if(empty($oxid)) { +// continue; +// } +// $csvLine['oxid'] = $oxid; +// } +// } +// +// die; + /** @var d3_importer_Application_Models_Models_Import_Article $importer */ + $importer = oxNew(d3_importer_Application_Models_Models_Import_Article::class, $importService); + //TODO catch exception + $importer->import(); + + /** @var d3_importer_Application_Models_Models_Import_Category $importCategories */ + $importCategories = oxNew(d3_importer_Application_Models_Models_Import_Category::class, $importService); + //TODO catch exception + $importCategories->import(); + + /** @var d3_importer_Application_Models_Models_Import_Accessories $importAccessories */ + $importAccessories = oxNew(d3_importer_Application_Models_Models_Import_Accessories::class, $importService); + //TODO catch exception + $importAccessories->import(); + + /** @var d3_importer_Application_Models_Models_Import_Crossselling $importCrossselling */ + $importCrossselling = oxNew(d3_importer_Application_Models_Models_Import_Crossselling::class, $importService); + //TODO catch exception + $importCrossselling->import(); + + /** @var d3_importer_Application_Models_Models_Import_Attributes $importAttributes */ + $importAttributes = oxNew(d3_importer_Application_Models_Models_Import_Attributes::class, $importService); + //TODO catch exception + $importAttributes->import(); + + /** @var d3_importer_Application_Models_Models_Import_Price2Article $importPrice2Article */ + $importPrice2Article = oxNew(d3_importer_Application_Models_Models_Import_Price2Article::class, $importService); + //TODO catch exception + $importPrice2Article->import(); + + /** @var d3_importer_Application_Models_Models_Import_Vendor $importVendor */ + $importVendor = oxNew(d3_importer_Application_Models_Models_Import_Vendor::class, $importService); + //TODO catch exception + $importVendor->import(); + + /** @var d3_importer_Application_Models_Models_Import_Manufacturer $importManufacturer */ + $importManufacturer = oxNew(d3_importer_Application_Models_Models_Import_Manufacturer::class, $importService); + //TODO catch exception + $importManufacturer->import(); + + /** @var d3_importer_Application_Models_Models_Import_Selectlist $importSelectlist */ + $importSelectlist = oxNew(d3_importer_Application_Models_Models_Import_Selectlist::class, $importService); + //TODO catch exception + $importSelectlist->import(); + + /** @var d3_importer_Application_Models_Models_Import_Selectlist $importManufacturer */ + if (class_exists(\OxidEsales\Eshop\Application\Component\Service\Element2ShopRelationsService::class) && $isSuperShop) { + /** @var \OxidEsales\Eshop\Application\Model\Article $article */ + $article = oxNew(\OxidEsales\Eshop\Application\Model\Article::class); + $importService->addProperty('coreTable', $article->getCoreTableName()); + $importService->addProperty('className', $article->getClassName()); + + /** @var d3_importer_Application_Models_Models_Import_Mall $mallImport */ + $mallImport = oxNew(d3_importer_Application_Models_Models_Import_Mall::class, $importService); + + //TODO catch exception + $mallImport->import(); + } + // + + /** + * reset ArticleCountCache, as last action on ticker + */ + $this->resetArticleCount(); + + return true; + } + + /** + * @param $importFields + * + * @return boolean + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + */ + protected function isStartProcedereSuccessful($importFields) + { + if (false == d3_cfg_mod::get('d3importer')->isActive()) { + $this->importFailCode = 20;//TODO: use constant! + $this->isEndOfFile = true; + + return false; + } + + $profiles = $this->importConfig->getImportProfile(); + + if (empty($profiles)) { + /** @var \OxidEsales\Eshop\Core\Exception\StandardException $exception */ + $exception = oxNew( + \OxidEsales\Eshop\Core\Exception\StandardException::class, + 'import profiles are empty!' + ); + throw $exception; + } + + $this->importConfig->validateImportFile(); + + if (false == isset($this->importConfig->fpCsv)) { + $this->importFailCode = 10; //bedeutet "import-datei konnte nicht geoeffnet werden" + return false; + } + + $aConfigProfile = $profiles['d3_importer_config']; + $sArticleAssignmentFieldname = (string)$aConfigProfile['ASSIGNIDENT']; + + // + //pruefe, ob das Feld fuer die Artikelidentifikation auch zugeordnet ist + if (empty($sArticleAssignmentFieldname) // + || false == isset($importFields[$sArticleAssignmentFieldname]) // + || false == strlen($importFields[$sArticleAssignmentFieldname]->import) + ) { + $this->importFailCode = 11; // bedeutet: Artikelidentifikation nicht zugeordnet + return false; + } + // + + return true; + } + + /** + * @return array + */ + protected function getImportFields() + { + $importFields = array(); + + /** @var $oArticle OxidArticle */ + $oArticle = oxNew(OxidArticle::class); + $oArticle->setEnableMultilang(false); + + $fieldNames = $oArticle->getFieldNames(); + $fieldNames = $this->addLongdescFieldnames($fieldNames); + $csvCells = $this->importProfile['d3_importer_fields']['fields']; + $aUpdateFields = $this->importProfile['d3_importer_fields']['update']; + $aVariantFields = $this->importProfile['d3_importer_variants']['FIELD']; + + foreach ($fieldNames as $fieldName) { + foreach ($csvCells as $csvColumn => $csvCell) { + $csvColumn = trim((string)$csvColumn); + + if ($csvCell != $fieldName || false == isset($csvColumn) || false == strlen($csvColumn)) { + continue; + } + + $temporaryClass = new \stdClass(); + $temporaryClass->import = $csvColumn; + if (isset($aUpdateFields[$csvColumn]) && (bool)$aUpdateFields[$csvColumn]) { + $temporaryClass->update = $csvColumn; + } + + $importFields[$csvCell] = $temporaryClass; + } + + if (false == empty($aVariantFields)) { + foreach ($aVariantFields as $csvCell => $csvColumn) { + $csvColumn = trim((string)$csvColumn); + + if ($csvCell != $fieldName || false == isset($csvColumn) || false == strlen($csvColumn)) { + continue; + } + + $temporaryClass = new \stdClass(); + $temporaryClass->import = $csvColumn; + $temporaryClass->update = $csvColumn; + + $importFields[$csvCell] = $temporaryClass; + } + } + } + + return $importFields; + } + + /** + * @return int + */ + public function getFilePointerPosition() + { + return $this->filePointerPosition; + } + + /** + * @return int + */ + public function getFailImport() + { + return $this->importFailCode; + } + + /** + * @return mixed + */ + public function getActualLinePosition() + { + return $this->actualLinePosition; + } + + /** + * @return mixed + */ + public function isEndOfFile() + { + return $this->isEndOfFile; + } + + /** + * @param $action + * @param int $tickerMaximum + * + * @return bool + * @throws \D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException + * @throws \D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception + * @throws \Doctrine\DBAL\DBALException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException + * @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException + * @throws \OxidEsales\Eshop\Core\Exception\StandardException + * @throws Exception + */ + public function afterImport($action, $tickerMaximum) + { + if (false == d3_cfg_mod::get('d3importer')->isActive()) { + $this->importFailCode = 20; + $this->isEndOfFile = true; + + return false; + } + + if ($action != 'delete' && $action != 'inactive') { + $this->importFailCode = 12; + $this->isEndOfFile = true; + + return false; + } + + if (false == $this->isStartProcedereSuccessful($this->getImportFields())) { + $this->isEndOfFile = true; + + return false; + } + + $oDB = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC); + $oxarticlesViewname = getViewName('oxarticles'); + $sSelect = <<quote($this->importConfig->getId())} +LIMIT 0, {$tickerMaximum} +MySQL; + + $articleIds = $oDB->getAll($sSelect); + if (empty($articleIds)) { + $this->isEndOfFile = true; + + return false; + } + $afterImport = oxNew(d3_importer_Application_Models_Afterimport::class); + $result = $afterImport->afterimport($action, $articleIds); + + $this->resetArticleCount(); + return $result; + } + + /** + * reset ArticleCountCache, as last action on ticker + * -on Category + * -Manufactorer + * -Vendor + */ + protected function resetArticleCount() + { + $oUtilsCount = Registry::get(UtilsCount::class); + $oUtilsCount->resetCatArticleCount(); + $oUtilsCount->resetVendorArticleCount(); + $oUtilsCount->resetManufacturerArticleCount(); + } + + /** + * @param array $fieldnames + * + * @return array + */ + protected function addLongdescFieldnames(array $fieldnames) + { + $fieldnames[] = 'oxlongdesc'; + $language = Registry::getLang(); + $languages = $language->getLanguageArray(null, false); + foreach ($languages as $language) { + if (0 < $language->id) { + $fieldnames[] = 'oxlongdesc_' . $language->id; + } + } + + return $fieldnames; + } +} diff --git a/src/Application/Models/Afterimport.php b/src/Application/Models/Afterimport.php index 5f50f0d..18c3989 100644 --- a/src/Application/Models/Afterimport.php +++ b/src/Application/Models/Afterimport.php @@ -1,40 +1,40 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -KmTIg4mlLz0eeQ/tRCow38SdP0== \ No newline at end of file +HR+cPpCcacbw3cTE0vG7IhrWThyYhkcj4om2y/8AXwhTUQQVUvFhaUEV5NTH+/iuSyN5mXKqf55L +q3vM2WW6JnHwAyKDQsyk7q81SV+7V0+etRJ5tL+V1QbVHrBKU6bNwYLZh3PsnUolLSRVho+PbACd +kP8EsI0ApTpW0n8aiSGan4X3t9eO6Z/AU5d/viEI8XH/msIU4WPLic0ekt4KX6LyUDWjI1yo6ypc +W7A019vvq01vinPnocLcbMPjVYlJnGpDvNRvfj3lhGt6PUQuysGBmCwoi3LB3MNUlToMWOMwc4F5 +U65mG2bLDBYtSDXGS1kZiCrvJ+YneICbgHYor1jDIGMnHDqVi8n5MyOkV6PyJHvn1CJ9+NNgpJZ/ +aFEnvzigjZO07RuF5/cWWvWGUL1Zj9pOVQnku/4v8KnFj8b1GwcQZLC1z2kfK3AZVNtsEwL6hcx4 +6ilXJkaZ9j9I2v4gwOtKkAHW8bOk3/d2SPPI1RfMwvI6zsOVSPL9ctS0Gv2bPjk67G60VRVTmVQi +h/GCGxoqfPC9MWYHXL/pa0uaRnZuY0XZApZ3OKLq1MV0yoc6GfXD3ZOcXJPEQ0FCQ0okj0Mm3d8n +eA57ReT4pxcfkw4tdmUAvZE/pHlsxAYMtg99+wd615RVMK4M8tPhlDst94NMOzTXX7j70kbzgVMW +3BFjp3dnUivFOb3OyTglaIsCtLMZj5C5rT/40dCDb/Ol9pzabHikD4B8Mpjkil/b4VZxyvIIuZHd +tCnLKrF8Oks4VsfZdusfhGC2Ik3/KGVUblmCZ9EfYDIbpxWTsTEOHAffWvyTQHIm2b4n+Juqg500 +r97a3D3/m7ViLdzVQK2zNosMp4VgHfi2CofvVmqlu2BKVN6CjnHSZ6G/ySeGAxX3t5oBpmcVzNQY +7kxIfUboaPdXxT7iU8TeVsfkmbyBfjVxKnIEVHbgH1J13g8Lffsu8nw6BPKz2nzH54/IiPJWaTTY +EEhVyyMuf2b1ehcz7juN/rf9wIu3Ddh7/Oa2tuZxfpHzyg4T0rh8kB2CyJN3owl3L9H/FVC2zILj +U0bYtZSquPaA/I1r0zHP5GO6Aqvv7bpBfqDD2jxTVaLmhui0o2AvJ5K6zgGxvGH9YHpjHkPpHG9s +xSXumdQjD6XWMhO3An9ziUhsABwYqKUe7JAvX06ljmyccH1xI9/+43ExImxJQe1ouBKgYly8t4JA +soc1BrJqWI5rkWN8/E+YpHfk5qgxmm1ovMSfuCbRJhdjJIJ0SHibFlKSnHYC+FbWu/hHntiW55Yu +4jnnxQeESP3uPtbV4tbIaWOrZDztfycvD14f3ZZIepkcrVn8edUROvl3EscgSInQAaEzy6QgeaX8 +NFOHl8EAsL60Ck/FpS42Q8DE+OIURWDoubl+OUdaVb/KMTcfwX4muA6fiMMtUwLGxRmWHlJgWtc3 +4naRFx27jZxRkvGOrrGBnEiiwHBFP9SOaRAeLPZP0530HtFj5x5vCbjEY7VgwsI6qaIHXmHqV0Aq +c7FxznG6HGp0kaxoqKFMcdzZsn7zbK0NkiEHlf28eqGcdbXt6eAvk8LJXsQ9nLXKGHdgdiKeEqm0 +AJjqYIrEMGybp1Rs9mzHZylvzwmSrX3jWyDRnLjHdUDG676HELkNETfKrD0KSXWo53PKp7QQbCmc +KXhS5NcNy31Ma2lw5flU2C1HOlXW+fbtSIVNWrkJQDY3GtduXJsf3MM7jN4XYrtK1cRtPZFdrR2J +0HXXbmZajKcjKgQyjTO+7Fz+UZqsKLfuJK8jC/XjRblX3ukXp/Vhtz/P08mWU3TJYgoS8eAe2Ph5 +RGgQrVMddMd2s8rQH7GJipKNHCiPMPsiRfKHSgNZ0Vg3w4XKhyxiRtT7m6PmIhjTwZv0SWknB6GJ +8OS8RzHdr+brhVTd+jqDCp+bDYFlZHdbm4yFKnPbpti9YROeDtIaDNcjEJuU/orxPNdh+pMKMPhb +mdtjMKpP3v8i1q8bdq6S6bX/LRLK/Oa/MYZRN4ZmckMC6OG62QGV9eABV0RkE8enyh0X/zDTArsp +5onFzQ25DN6zVTAj4lfSf1qvyq5BaOPdb2W/h+/++S4z+lJhtRMB58NvscuQRd6YY33X+kWU/Vlz ++57H+6xYfdogadOLa1HZUuIKhI8KH39VIORKhiXrAhnrKt/OfIaHQRXkAoeq+BC3g8IhYx9g2xkW +IWuDifwzhes6hvGK3D7HXNX9DQTxoj81sA/ksf0vFqatT5pVRjZM90Jafzo+XYNyiKPfGpyOn/tD +KGuRHwJ7Ouhzp1G5LBDMEEnxJSAa2zOYQOpKx0O3j3FdJL6dZGjVKn/8hkA4r78uglLHIMmNmY7q +MYC2wtajhCkYOZMF17B9JOrXdnoigX6me78/PkcJ429GBgM06EGH9FiWlEmlAX/8gtCQuPoeP8sa +txAg1xiJKuXoZxCP8L9TQetu6FSXelmZOhvXODgD+0618/qznThocJupePR68SXgrxfXTV5IEpBJ +OL5GoJXgRN6Hafyq4LchRAcQ8UH/s1ATZyb8GLjjd1eVo8cv7H+1ecPpAm3KcEDEl4Q0SEQ5ij0J +eik5CrfA7DRjk0fN8lMPUWadzibyOqdsPvpJsD2HoL0fQSTL/bjQccE3TgaloeAipMx3QqCwuSsJ +ZsMEsr2GwKOJZSLW3s6WvQQiT6tvFG== \ No newline at end of file diff --git a/src/Application/Models/Collector.php b/src/Application/Models/Collector.php index fbfd77c..a6ab6a0 100644 --- a/src/Application/Models/Collector.php +++ b/src/Application/Models/Collector.php @@ -1,32 +1,32 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 +kaMMC+zIq/eqs1+/6VAtvqEhmucyoOpM2m== \ No newline at end of file diff --git a/src/Application/Models/Csvconverter.php b/src/Application/Models/Csvconverter.php index 9cbdbba..eb6ed7a 100644 --- a/src/Application/Models/Csvconverter.php +++ b/src/Application/Models/Csvconverter.php @@ -1,59 +1,59 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Formbuilder.php b/src/Application/Models/Formbuilder.php index 5ccc70c..2ef8f16 100644 --- a/src/Application/Models/Formbuilder.php +++ b/src/Application/Models/Formbuilder.php @@ -1,45 +1,44 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -d0J2VB2X/fOR \ No newline at end of file +HR+cPtl7SJE8AKe5LNJa4482vsc7zxPx/N3BKDYMRUadqgi3P1ePvhOn/XfNncTnYVWAwcfAY527 +IXsExCxh3cjVjdqAHneW1JOKiCgRa0s3SqW9e2UDcA7MZizh7Yrz/bBI7W9EGUQXyYIePfEW8F2P +modBJyc+1e/j/eBrr8c532wOzglMwtiJoe/NA+lmBNpweHWtEKTU1B7lnrhQ4j8xki9j5Ez7igMs +2kFQbACpXMsFxmb1xSP0sUItzu7W2TytEcNDDdVGxviDncNckFDa2y3Eih0rIrTjAybbVvVTfT4m +ctZ1za0EklIqPOZnfyGhAsbaHpke2DqwjHYWPfkeKi1fd3KlW5SRkl6rmxxNXJ+y51CAcZknksHm +npRYlEKtIT6b/KMSdkmPig//RPipPuH/SmR2TccKH7X2N4uTZPiAsKIse82iZy/MrGhGbs2LG3hX +ua5Ti+xwsLuFpG0Gjz9+YWG230+rX00erOyT63ukTVI9Bato9VAKo6J4T9GQoFv33w76LkXTmGby +uyvkxeENtWh9fKBX2mMjRCWM7zpRqOulAqGicXBRg+zys7a5N31aBOFDCTK/g6RJN1+PKORkC1yz +OKY5zaAB9xC1SMvttLkKNfBixS3Re581YfzlETOdcoDPW7IYxZl/klsD5OKsA7A8Hl56qwbKEabm +BoFQiXCQjrwVlvGJr6Hof+Mv5fzu23H91MHSZP1fXny793SBlbRulVWCp9NMXxWb2QzaIYB53swA +w1Kne+/ihR4HJ+189KaEQ6KPrR/NYAiToH2JEik8ZlfMEcAxcq+XjgDzJGfLYLHyr44Dn+hNCqhh +WIAasQHTh1WPVbWZWVz9qCcNZ0FnVUtAFYINcuYwBmyUBKn6Wzt7/SQAud+qLkg3bJSYaeAYk4uN +wO7zWOq3s1eWZPSeEq5lIr81MUtV3vTyVgE+T+l+mK7u+Z8zhw8uLwgOZILu2YXFAwXVOFQmWXKC +zZl0K8+2FRqCCHTfdK2t6XEPMOaBfcCrdxWGcm4UZqx/2P5SB+TRSnnt/0rZaRFZlZPhRsO47ifD +vyulvAV2hbsPdVTiUi9lPvb/fCHOQu/9sfYgjX/n3xjB8AGBpnuIu2uDxEWoHNDU18wCaiTmOih0 +O3RQur0pbwJjSTBLn0KPTSyWf2Rok9EwesvvkNT39+GlE6iG1ubTB0vuGroENyQX6rJ3+v+BzNYs +9zOWVFsAr5Ga1VMNeXIlD1Lyp0Pkx9Vk6HtZGkRQawbv5yyzzlkZzg9D9529lI3of5JoZ1ubK5uf +aaUhqEJCI1kYruADLgylO6HS/b1V0LbdLby3NWrP+cJ2d93AIuSbZ/id/wh0VIkVOnNDELYtm2UD +HFJHxW5+iC5GRjsKPdakAHQZ5q8j8BZ9WBtF5LaY9xghWcDrHgZgFi1WunON7OEUS7CBUfMs36LJ +iPT8351emRvyPt2wC9wyrX8X0RB3n4qk/2xdqY31rjg3S0mnfnQNqG5pY5jKdooy+JDd68RTqIzM +j2yNFKlyjO/FiWiISc9DGuMR1vgUGkv+M8vg3TP7liF5wK1hA3YKiaCOyhLsBtAY4hLHfx5SjNoJ +q1FfnmvJdz3u+YUu28xlr8tkpx0SIw1oNVhqPCA4mIg+ZxOBp7g7+Ps6c7un+/sEZk964+WHT1R9 +sBJltPeufgUtnJVyCbSQCYcOmvR299qjvwN3oG1k/rixW8FoZHWwcL+NaHFaYnawzDx445eHAM3e +BZIcisZF/UMdz+229YEP48CpheLC7UcxMV5hEQ1qeTkv02w0DJPBADO5KH0wKEtyPDspdCdUy5Hu +m+S1zYvkOpF5qZlPc0I1BN1jL5r/at82t7t3qiSV+V3XYAEKIFhDWaYthXew5/duFfDAy61PUwq9 +IYLOjgTfxO9GDMQpuAW6zccP4Q98WACl7zAkitlpwOKcohMaVGrYcguIiSnFuuc1TZIROn6TLCX4 +XLlkpNRJ4wUx3ISJGhw5Bbyi9OH8FsKdd7iYbhp7LcM+Yczh7wkTV0qxX7PI4IepIqB9DmejHkxD +BOWCdGfoMxPyrTBtj9O17m3ZGCHD0mQkejCbbHf1y3wHIt7KLjwfHOh75b4ZQWGoOpNUY2liMJUq +X59zgfSwVaUmfuDFxHoj0WDbIx7UjDgFBP/pAO94JNRaZ6kgSTNgeXiNvdUu/3qfRZ2ipo8R+Qfu +Qo3GUryRULiSM4vgL2x0V9L6Foi2GnCXINE50rNBV7q8H3CHMlBz9prqHsAavi+DQO10l4BmWpz9 +GSwhThYcfYG1OhlDozbNBtiWJMkqy2uNsjDP7QGL3Y9LHXT5pg50918GJdLAT5wYyFScJQwrTKf6 +LFutoldTLQpDFuUeqOrxxotI8LSW/xl75VarooMvWfX7SGfUaBar+dQN7xgagZfrtYBFA6J4UVWJ +uX99qhxnZAe59QEcaBvDapAzHQN/6onDKl4mBcBL0RmUUrAMsWkq0/4qVMlkYo439RU8FKw+rXJ2 +QHiXCKod+5KwWEV3ZQuKTDaAnp7bulC+SqgLAdKwV6ZrgObP3dqr2dcgjDYmkZYSGLqaT+MZYh3R +1tvAhwxQSbYhHdmcfrL0nbJH4M4iVmDqUFLrT1FVzI9CTAE468s9pDf5+x2xxO6uSfb5G/7uNLgb +8a985L3+w8aGuUyVfMHgzumadkk5yZYNbxVXJFWpOAgzX4WeExisICKIAzBG2wzDSXi6uOT1L9vf +czCFrj2Ip0T8feFU+Wv+C4WunTHGD5GpXq4C4VRtMaEqXVSRaEYD3vlAWtpw7Xa1WI9xhau5dSNR +mVJ36Az18Wx06Ce8bfIgeCjsgDQxiEUXxemkad4dcIxvc8+KtR0zDJ/+WrRxIHxyrjOpHnmp2klj +raF/I0zii2QMh8DTawBj198rsFAhkvf8l2TIXx7cZZ5AWxNlemChJaIIAdfdD8GPqm2Ah+H0+LiG +sgg2Swn1s+8lIdAyTfRg6ldG/rLvb506xpJotOh+Nedc81GoEnrWYK9BHW3OOOUvCTySWG== \ No newline at end of file diff --git a/src/Application/Models/Groupbuilder.php b/src/Application/Models/Groupbuilder.php index e974dbd..156c2a5 100644 --- a/src/Application/Models/Groupbuilder.php +++ b/src/Application/Models/Groupbuilder.php @@ -1,29 +1,29 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -HR+cPoOB1jFvr/haXBkJyDbfJcdwGsnOv8FMRT0EZCWd//Cw9YtfqDVzq1gLgLwrAqRfbltvO94n -ug8c64K+B8JR+Cg6VTHn04HISl1EcqKAkbBjaw2WyZeKlW+rgj+i87Hin/7liEKajutWIni/ReA6 -FJq2v3zO3t9C0ykm9BNAEFbAmT06HlJitj8hJ67vnd5T88axFZyKMURHjcoqJZc0iby060L1XLeC -+9FkXD/Mt3aTKGJ5T6WPKfrf9yeeLaOnrRztWwI+d6IGkVuSfZNHN8EOitq8R7rZkT1n+u8atX5d -qWTE9Hrw5vNsgIvDDhmuSeFNQEPDJDZlDSCt/ODf+G/mNeMZM+54rSQKA1hrEyFyQRyp/IEe0R2E -cDq/pHKKhB3THf41cIYHt2BIIuEvn6pmgO/exFwLiaFRbZTYoU8XgOfRWbpl54/jNMS7VAJw+WPu -3R8GeaGFwSkCMIrEEl8VbxjrjGasFi0+pwsX1kmSFgWblrngy6DbuUDcR+qjBRWXG7tHC+PVVoex -L6kafqqawVkoaOkVtLMaE8YI+VO1A3dkO0sA1TCCos9GbekFty4R9cJizIz1BP54PiYEIPDkOn1u -A6rHk4w3Txb+UdPwlQLKZ3sgLWZlAjjYLNDJOS+QiW9yEB1nkMVM27lCNIUd36oerarhPQdgdV6F -HRXbmtO/VeIv4c+uySztZB/tuRu7Se/YMd51GxdQV5mAmT8ElLWbXrdODMmiyUpi4BhCt9HRkuyL -NvUxQ/MCCZh0KUUc+n3OHJx+vLdpEI21TxFLrg2Ir3+pu4wvsySbOocE6pGHJHdzh/efP5H2J8Nn -D7A1iTAXmEhNSXvpKedq9AR1IWRvpykxrammTDxC37IcvtzhcOfBVdwUofhzPospzokJaGOEHJvR -cjs7eDZcSg36/zsFf65U8ebLlbwH3OZvQIUbQzzYVxMTdgoS4QVAsUgpYP45NH9phHas7jcljKiF -XMJlwwngpIMcodbV6cMwbEI+Oi7df73YvZMjs/zUR8G0iWW9UgQL/IW3gtFuEqW1UtCXtLwX7hfH -/1OdEZ273URKksjrrTIzog6rkZrgcMAoGSAK2FPNOUOpNZ7hckQHcf2bcS6/r2cV9R+P4mwVvxmG -iMTUUn6ZsU/pRX99AG4RLXmgnx7FuEEkajdWNGu9FbNjo5lKhxu2d8W07lLAenpgjXndN3EStRlJ -8G65Rhw0pjBf3KuVzGY4GPDzxBTdp9k25qSTSDwXwCZAyD49L6xNGIJhb1J3aW1oii1tQOWIDZNz -pCDK6YEpaA5LVx79klzTLAbNRPEBQHatSJHM89q3mN1L1s+O2rx5J1JRECVbjdSEDN52YV8iMVvW -CvyIIveLYnueMU7wIra+lDKkmMB2nfXMBO27Iq1xFipFpGhzXetE/RaLNwPTiLZLzdS313e21iIK -QxIWPaguiyD4L9BXz5ijMPgs2eYiukTiyiKT1IH6fv4OZLUDI4mjQINb4mLEZH7XuseiG54JaN/E -q6g+MF8SJtcrRv6qE2NIZLi+VkqV3CVDt6or0mfGRMA39IN6xcIay748YlISXqiEBgOJ90aFFOLy -ydPjvWcRdJbR14Hd3qoHc4GsDzy+ey5KguGxm9+FQBtShiVdmdsWCtOlvMhn8uRPX+0jtwxLzZ/E -o6veCWCRpCQOiDFp8DRY8qfuSQfskbvm8l9KwlGAgtadLHxVXOZShnVrA+n6l+hdmv3bOEz20RVk -y0kZ4ePSSrVL587BEFFxhUpeYaQBwQmPSsN8JFeGorsLk3W5sNpYpDG/voBl0RQTySMuD8OR4nt+ -E16xoaYfABFJl8cywQnRefzJevbAn5K= \ No newline at end of file +HR+cPpZLOGYKE5eWOMNqAsyvzGKza4/9JJFVZVPLbI4LkVbW835a+Tm1xSw84VomWTlCy7gVW8bF +qpgHttxeH0QC8Cjv0lE9K6bSMlro/IxbrlHMaIpoQ0Jo6P7fpUpjtVs0DUhs46ghCYSLNwtYbass +DVyDJMs4n12dpuhjyoQDVFuDC539i52ECgkIxi99lkmualcoqREi00MN60ocyG1iYgkN0D+QccF8 +n4qtIdoSVegMzuHx7NXdaNDXK8sW2sB9JzvMTNlhqE+a3SPbvhZpP0l0phAmDKjSSBk1MsbRmU/D +YlLumVP01v13cBBz5xY20pBf3exS1ziFFX40JCSie3H2ztiq7Mt9/VwUWE09MceQhxfP5JvyMRRT +tm1/Zedbi1XXtsSrwrpuXOvDEaJ1fEHaFxVLzmJrAmFuTvuXXE952w0TEA5uEi+R1WckcMzvmVc5 +eQWlms3F2FBaYBmNz6mU1PvQgKmD4toABe+s/WfJnsgNniVpHZg7f7bkMANINmWp6gKLG0diC22k +fdGrvBe7yV/e46AQ+11fe5tCXf961dgHIRvqwl8EDW7zmfzoiqEuVLPgZmsM/I4bGKlTWeuQINFr +HqtUy1qZZObTeuojGUBaE8FFb264VnuGlb+2SRTl8X2RUhTqoxSl0nGkROzW7DYX5fvP0ecGmZtz +diuGMmemPRUSQzJP+RA93Hu3B9xXz80xJq0aValnqyALv+JIVqqYpXlnUGHdXt4FYdG3RAUDvOVk +08V/Jj9e5U44zB9I5Bl1AAqOq4ii8h0xjyv891gZsj94gCwv483rvrYk0eDE5Yq2HYVyHouDg+dH +wq5mDCv0QT0gPCMmc2hD4IZ84rOBn/ZkoCsmB+dnnQkCjTh/LwxDRgTwivrwxblRnqXOEYf9/joJ +uvvw9GOZwFvvQokVsLfUlbe5Z/in4ChB8jh8iqeF9daIvcsS2JSYj34H5IsYrboiCOw/v+EKZSqW +iVGJ5UAfEdCkk69+vPZDE4x/dLTQa3hUE57S/kgfVPXos3q8+SIgsKpDGt8m+tXQH+rlv+lrtsbO +J/WBat4ShTTNvdmk3ZTDVfR7W/YdU5OjJ0dtzzTuLlM2+/GDoRWHfZH/WMNg+lvNNlTqYnqNLA6Z +YskPOY98cRGI254/hBvE28r55U4gq+81nQj64+gR67o6CF3fRdgQuRnsgBzCDdzCGu86YdBNW2Xi +vOW6G2GOjWJt5/MqoReaDjZAOnUu6X+B05BpjdYTCZL3GP1Thrpdgnov9vM4C1vQlMEKvaaGxoBa +pU7i8ZAWn7iSUzQnPKB9YLDHSH75Lp0fXcF+7/yx0yODJ1hG5S/KBF1khRiG3Vz4GnIsESY/1NON +emhcnBEAT2dwA+kJrk/4jrMjTmLZpHd3PjFe71MS4Oc/PbnklBoRjqwED5yvynrtXTPF1iPOzsq8 +1NUXXn1Q1LA9LR9f34oJDI9Wue2SOACEpfFIa8KzS9IDFKNjtgQgfMgcLuwEvCEzTmGwG7JTUljA +2kVbNdO9jqKwC/Ja+RJshmRz87NUv5cbaQWr5Xa8OxKMjZ/5pOlC3MkpM3FrzfXvHXJcUcAdv+bn +ZkM6DlQyw9UMFi8MH0dIXBozHMNuSAC8kjHYpPY74yMoayIrVLfOiTgLCxkqiGUTveoweojxnfF9 +LcQtkWT6pdVxrGCriFmRmjnmVD8V1IUGnMjqVGbDUT7UpVXdBH7p+vR+xzizAH0YV25zqkujj0lC +RRGCNK6+DrqLpZ8rUHYyTNvTryhZV4YACDUAMvSQ2LRCXBP/Nm3isCDszuGLl7KlVzzAwDCirhWq +zPJv2RKtmJwG1FexDuszrRgZAKjU+4uj84dmO9Ep6aB8c0== \ No newline at end of file diff --git a/src/Application/Models/Import/Accessories.php b/src/Application/Models/Import/Accessories.php index 6de4a53..b4c7e05 100644 --- a/src/Application/Models/Import/Accessories.php +++ b/src/Application/Models/Import/Accessories.php @@ -1,91 +1,91 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -Szblq2ZTRejmJYwXpOAog4/gjCSchpC= \ No newline at end of file +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 +g7013GG= \ No newline at end of file diff --git a/src/Application/Models/Import/Article.php b/src/Application/Models/Import/Article.php index b76f983..02fe832 100644 --- a/src/Application/Models/Import/Article.php +++ b/src/Application/Models/Import/Article.php @@ -1,238 +1,239 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Import/Attributes.php b/src/Application/Models/Import/Attributes.php index c7bde0e..0f45139 100644 --- a/src/Application/Models/Import/Attributes.php +++ b/src/Application/Models/Import/Attributes.php @@ -1,125 +1,124 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Import/Category.php b/src/Application/Models/Import/Category.php index ee014f1..30d9701 100644 --- a/src/Application/Models/Import/Category.php +++ b/src/Application/Models/Import/Category.php @@ -1,196 +1,196 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -InHRqQrWbeiY7nyEkS+yMRe= \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Import/Crossselling.php b/src/Application/Models/Import/Crossselling.php index 7bd8d7b..13fb6df 100644 --- a/src/Application/Models/Import/Crossselling.php +++ b/src/Application/Models/Import/Crossselling.php @@ -1,93 +1,92 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -6xj8/aW25oLWInoc7PzSDeRYHeh9PVVDXtvKvlINZl15m8TNNygWclX3lKZLLaDSPsxH/CZ/hPYs -MaLqsuwPG3X3vihrQpePnskAIxt9Fr0c74lznAjrZPXCHKYoieMJiPTmvXJjwEgKCNBLeDG5maQ2 -7fW/23WW/PKiiS1iPUt4uxG0YEecC8n5CHzb5OfD11aEcG1kZBa+Hi4ZY/c384dmdM83pGe2QGS4 -GYEwh7XlfsxZPuncQWW1NhiIIltrihYxUbXzO+IzrRWJKJu7mqbb4WweSVHwpFHZuKXGP+p6Xq1o -X3SFRDfvo2NFIiUn5o1eZnK1fUC3grJl3eW537y6tnJGZNrT8yzbS5tVHla9EuNNMyNgKku0u9qb -G0+Tgl/Muv7NvvD0+ilfkqsir1dghzZliQcJiVMs/QA4stve9dhW82V0tXdtGnBLKh9qQqBICza6 -MXa2TeXFKX/9vz1oPmNIAXPcJoPi2hCj508qDUNn/tw0qcq1f2jQWXeWDxepZAG3Kyp/Llsq+rKu -u2uOida48VF4GCJopXALQqWz7tERR2/TH8OKDojpMGH1MvB64jrL04LX++aDzoEcwCALhTV6yfXb -mj/eoPsTCtV6EGxaLMuqefmm59e= \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Import/ImportAbstract.php b/src/Application/Models/Import/ImportAbstract.php index 5138f71..ae002bb 100644 --- a/src/Application/Models/Import/ImportAbstract.php +++ b/src/Application/Models/Import/ImportAbstract.php @@ -1,29 +1,29 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -HR+cPzJQMbzh9B+GSchFV9QE00IbGUH69NW3XhYuSnJIy10ii5spQh41z2GGBq7z6S6JjQkjQh/M -gVvCN0ZIgbmV1ICYIqTV8P8BhcysMASlrnJ+ekR2b7BLdVKqdFNF9qpKd7y/qRN43hxOBLLtpd5I -SIv6KthbH0lJhKq0TEjclvReA64Ww+h2QxfiktU0LZFtUQuqEmn0HPTOcobw64X409wLxAKc6sdT -QaFRGt2CBjABhNi0VHKXRW8RrID98/fGDms+fBwSP92v/XocDT5SWvYpVKfZDLAwGaYSzPYV66VI -1qv7/mFLVO2z9uzoE88ww9E3IZGXh7q5C8rnPmQcYADs/J+AFngvvUtVjEV32HzEPK2qqzg9P6XM -MiBMr3OgqPGrO3v6EWlusgOi1hDmzAmnyRqTVR17m/+t8dOln5Pl5+IyKWOB3YDqQFqlZ4SXVZI4 -hurv1Au65Usb1wxhN/CoDIDeTzeiaT7VPMiOCliAoKWn76N1ObnOoHWf4NL0MNc0w8iAitSjPucu -qT1hAJB6Q5NJW5Ln/qiSvCp4hJbXe1utr57SxaEiRV/M9U36LWLOr53G1FEOR3GD05b9HYIz8weN -V/Vq1655Wb3WSNSFLqLUDe6VBaBuYYvJ/qrg0Gfmemp+LiAcByWbPxIOH4DQ8qlBNxub6HkGDve/ -VVRtvOpZjrUvGJIeYfldqmLoYW9LXWT5hEQ6UAe+eKmXzqAgeQvQK8joAoTXZZTTzQcxRP4Bm2GW -TQfCJLkjTSuuOd38OZxwYLET/ZM4dkI9m3X8+IrEWee2AQmtMoH/n2OQS6iAeEhkxaR1AqA+0Hoz -Qrd98x0lAICOw6bL8MDktbjKvNaEkmtQeU8n+CYEc936eeSft2ikQ7BBWS17g2wTymY8LVE/LpvL -+BaPVxyGj8D/KygcaM1Hz5cSVVKDKgO220lJl+8si9uh7a7q66OeXtzH9ECpHyoQDN4HeE+fJX/W -2X2CTY2Y/kMEXVq+E4+Arfd/U1VXjX+0GBD9jLkS3aP7oFB6PBMc5ioec5pp7522iSWcqtaTdVSE -WM3mETOYzqygn3rIlgM1hV/QJwqYh9EjshwkbmO2Z+U4CbV71cGCBqNskysGAU1jTDK0sHXNBB9q -thG4dX/pg7hyS53nCxIIUIuAi/f8PxGH81KpSJ7cO22ONKdUKTv35HVafnP2XuFvV36EdIJMW4bt -N5kYHYi+yw8ri3JvG9XK9hm9UVLBMnNKfPqQte1pq9RX8UK8pXklAN8/H1D5QQmW6TP5hchf9nGL -8dostceM/Bf1WBZxp8n7D3OiHVias3G+VE41lt3IANTE+lGHK0JNR/yRa34gEqraA6VkTvW7ApVB -Z4J2JX5GlyV3etefriRtOk5tNUdRLsXe45+f2rClqHsucQLyRP7cNMjDrI6G0xd+YcD2V3s1n5pF -0tNEIetaTEbE2suH/bi+eQPkB9rSxeuzJjnHoXF/vXfzs3+PM9kTjrLsVJ3NngJmOwPdIu8XA7LN -g4XFMk/TeA/CFbMcGEJ6HS24DCHByEqIqCO4UZsHeZ8AQXoOd/31S0uaswPdxRT+m5XMyLD7ASzG -nxhsPwI2YW51bIlfYSq5ZzGsXknJzbewXwCErmcpj8l1IQLu2a/4DQdbpHnmvubyWco5xYMYqw/O -1QXxXWcrS4c4te6owR0fpePI2DgoxkuYPM3facX0O7rkNVvYz19zpPEqX1sDji8irrQOJg1o1REF -d8tNYPFQK/chjVtN9O2dJUv7J2fgFQgsBQ9dvBS74IDWDqT/OVZk950RV3g8VvAEoA6PpWtCFokF -ybZ0jel+izlKNmtlGALYBl+Ih0== \ No newline at end of file +HR+cPwGHHyDm/Rlq3Q7IuANGLQor1O5eSIhgAzH+kRPhKRXbSD9ITHUDGxIU4fF7gZZeJ9FCtHGp +x7TT1btJ+e0IutRdtGwLjCOTuvtYTXrtYrTTnTAQDuoVUNBKS15PDutqNuSQdhh8UoeB7TGOqYLI +rgfUN9DalCWZ3gnZ06UDwqFrI9OabGeoeOTW9u0X6TY9wCqRfZOQJFoZm2kPhkkjo33sijUN+cr+ +R9YiyVnfJ3qZ9jsIcYwcVMpQZKjaQsD6ApF+Qj3li0t6PUQuysGBmCwoi3LB/+bjbOSa0BR09OW8 +UC7sG6lPPsnxp2AC6xsR0BggRe9Xy37x9N0eEoeOiAtTGBKWRwWUfJz8agErMA3KYVo4OCVxua8Y +I3a/pbzCkgA3pzbMVUlLywYBQqiZM29BIAc4Hnrhg8CKEsYydNThZ9mr0Fc54HJAiCslot+ne4NP +9FQ1qvWsvVWYY6Lx50Pta0tDbAtq+xw1+IeqRMfUWK1rUcUW/cCsqGTbHksp8AY53WKAb6mnJm74 +WdyL5EPKyy0lCS8qKH+H0dDdnIxQMS/E9WzXhdZ3OFXFowVDcK9gdGjSx5pwrZ1+U1Dxbuk/O2Ny +Iqfresr1GyUMiXqPiySwYpJqJ/UjJc0awn/JP0zYfyrjKZjEOqBUomKhi11CIXjPA9TJs/ioHCbZ +DcG4gqfvVAvy2pd3RLVaJbvt1ziKNgArjuPkipdDqo9tscftgq6IaJB70rO6/EA3lv2/0hilfdUc +LpKRdRxpEhsOyC6CTwsZbEci7Qi+jwVQ4Ovk+J1MfcYr0hGvkxgFiuOVKujFmCulofQtkIeckWsg +763t6H+qjUBzgbhKlGKSFU2ENDi8nXC8nxujnlI7Vd9Uk95FukOfw/v4nActVmrwtBVC/dhZmJWd +lxVUe7fwb6kcqRLlS3252O0OuEhXRfiXFNGCnpDd85jMrAmxDcgJs3dhnIb2om2JFW9Qy3gl41+i +Wg56rXElfjZcY8DNPqBEhxRZgT0p61gGcHCK3RPg/JWEX2PC5VVi3+CHyCIt0Vx5MDzlbP45t2CX +rwoi5sYKbSxqRGKBqZ/hCX+JAjrguWo7xJ6yVzL/AdvRMDYFP4BaPLh9wHi7s4QNK0IRYl69wmW5 +61BfbhPIw6qGuMyDSi+zpP3Keh0xdFdBXzDO9hCp4geOjncxW9SiVLEplBLLnsghQ8YiibpqbIKs +mHb2P3InnjZ88HIDSmBQ+qeazfH7ieh1yQkFCAMPvoT/QQ37eQmxGWB883smwDOgzwImTQbMXsoQ +JEBPLWL82ylEmykzFK2RsEbChsHLgUel8EXUCg9iNh5e3lmSy9s+xhRzqPedIbC6o7t3s428OVin +1THVO+tlsD45kmb3Ku7wy6H7WAP3OriaAJ9nWPp5VlWv0N2+Txhu7ZZd8j3agNZUyAfFYOHdndPD ++LXX32GtXy0jjEpjUT4i02GZW35ZkoKRszZQDu5l6eR19Y16uAzJOyV+8Z4KDrbszaXsXwPrZMzW +gyxaymlrpMSYaHlQzx11P1HpYAoEwAnbXnhQcgV0DN3NJc7gv/+5a/qEOOT4YVxhCI6D2QL4I+tI +xQ50zRgnPOmsQJF4eoA/S+Cx5xy21DtvSd2CH8SZXdFk5dZ+JOvJYrScNb4KvmbjueoV1FBgO4y7 +00tBaELJA4b3LmLYLFpnNm8h9HLfAjsijeQjmSDDcy5jiakaiPEQtdmlU2Avg2+ks5/YQQemucaV +Xo0uSUx5qGaqGBTyrJDniDneIJlnCoecy8qb7AYroV5i4VDSoniBxSXF5h7wH4Mqvl45L+kugJ5P +Y+hMFSH62r+XBNztj4l/xmSx \ No newline at end of file diff --git a/src/Application/Models/Import/Mall.php b/src/Application/Models/Import/Mall.php index 1c9924b..d9a370c 100644 --- a/src/Application/Models/Import/Mall.php +++ b/src/Application/Models/Import/Mall.php @@ -1,62 +1,62 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -KWT4m/OtsDvMsf2WGWD3DaQ/7FdnD0== \ No newline at end of file +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 +GCXMNWUNa0wbmiAwqsIllk8UFm== \ No newline at end of file diff --git a/src/Application/Models/Import/Manufacturer.php b/src/Application/Models/Import/Manufacturer.php index 55395c4..84f4f19 100644 --- a/src/Application/Models/Import/Manufacturer.php +++ b/src/Application/Models/Import/Manufacturer.php @@ -1,78 +1,78 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 +h5cUBgW= \ No newline at end of file diff --git a/src/Application/Models/Import/Price2article.php b/src/Application/Models/Import/Price2article.php index 18400b0..5413ff9 100644 --- a/src/Application/Models/Import/Price2article.php +++ b/src/Application/Models/Import/Price2article.php @@ -1,88 +1,88 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 +gdpzetMTHGze8SYWWZs8D28Nf3qCoguCmlP2 \ No newline at end of file diff --git a/src/Application/Models/Import/Selectlist.php b/src/Application/Models/Import/Selectlist.php index f8d0d1e..ed3135d 100644 --- a/src/Application/Models/Import/Selectlist.php +++ b/src/Application/Models/Import/Selectlist.php @@ -1,93 +1,93 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -hZO+eBz1aymWq9VA+Q0ZFkspUbxf4G== \ No newline at end of file +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 +KkOi \ No newline at end of file diff --git a/src/Application/Models/Import/Vendor.php b/src/Application/Models/Import/Vendor.php index fe638fa..3f746b0 100644 --- a/src/Application/Models/Import/Vendor.php +++ b/src/Application/Models/Import/Vendor.php @@ -1,77 +1,77 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/ImportConfig.php b/src/Application/Models/ImportConfig.php index ae39596..7c18906 100644 --- a/src/Application/Models/ImportConfig.php +++ b/src/Application/Models/ImportConfig.php @@ -1,309 +1,308 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -44vx \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/ImporterDescription.php b/src/Application/Models/ImporterDescription.php index 2289a07..d7fc23b 100644 --- a/src/Application/Models/ImporterDescription.php +++ b/src/Application/Models/ImporterDescription.php @@ -1,30 +1,30 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -HR+cPpYIGYIAVxSBKoBN1qDnUqFZL5d1lmkL7/SbekGWx9sKRpR41x6PRztG+02EfFPiPotN7o8z -0GjiRnJ+Tcu8zRgIc/Qhi+npcYHI9kFkc4a8lB5XS/CUaOJaZ5q5kMJHr10zJjgP8zHeMLRrX9mS -3nleYbIFzT0p9nVFO3HBtMBfX/6CqoJgKF40V5Fwmy16Pzq/Ic3Dvo+K76XRxVzGhBU5gpMb80x6 -DcP/CJUi8CKWHF124DmrAuN7+uveAYc7U3isTQI+d6IGkVuSfZNHN8EOitrSPpvQb37oKdm2HOLd -qWTETlzgxyOLkBMg/cfiyckRzptUp/QN2vv8bPLA0Sr537WlfzLpAAMNWPbeEUd+zmWgGzCdRBvH -5eq8oOpanp76AMfbM4cQusig06GYgX6RM1as7PlwAXXWIY+s6Y6ezO6SeZ8ipD5JG6svfh2UVgOu -81RvKFf8wFNGRLuPfl7aVQ6jkQs9z3R1jmzpmFzphVgDDZ3U5Er/RiNkZj/DFRiDIKSSC/CAyZGf -XMQuKx25K07Mf3TJ58AMt2ZQ0DJhNaO+j+ldHsryKZb8etcPOvDepKMX2NXsqKV/SOKvA+jScB6+ -ByUbQhuNxf1q1XIsg6sqlfPOwlkq9LNcNoALfiejdL5w4VLtzpO1JaECR+W9gNOBSRlbcbKilg5J -YKbAq8vsWAOOMfnKYdQCAVrNRxp0ZwOhb95jx4NS8Oi9kByIrHEJbhzcQYY7AtAV+NCs21PoelB0 -JnC1PaSATLLryFQV2Z5PA+J4RoGxaxC7sx7G4IQhhYQfDn37fb+OqLsen/ODPuUJ/N9adpP7aY7h -wpSO2ownqqJefsPgf0VcS/TsmsxN0c8ThI0KuIzvyr/V9sjHR6vzhNNefRJd32P7xy5Qu1tT5z4W -KgO5o/y0t9y1iRpciUjFte2CcYGkHOhMWjUYzNo6jITT2cPbC9oPUvVA0lsmzr2jz1ZSkjKRZfCo -LHbForxRQ/Zz9W3/jjBtIwREYR8sFOJmTQMIU6RrSRlZbp/uVrI2A+At2Nlsy93c6bUAkhRIw8+r -X+e5p05UHjU1J6PuwZBziEsu2GkSwa/UH6r8PcQNSxvS7kYiL8AOIDAlw3J/NJHeAchlB4I2FOJK -qIqQxBLw2cdfzbXkL5G1d7M8yyiu4aidbrgjXXGKt1UuNQgltLaAKHkOfRYKFPkBl1KzVXxbiTIX -fo7z7wgsUnxyqAc5GpVfm5LfPBypxyChWt6tQmwc0Fxcl0r8+jwS7oXeb7PUrVkBd6HWN6ucgVIY -PiYZ6Tqx3Bq0jl+YKRksNKkDFeRFaqedSFw5GxXt1Nt67wRCcRpLQ4qqcTuUdy4SaS+t/7gqA0Oi -vf7nDHyba12iFVOQ+HR0lazGyiGcOpY6rvrP/890B00ghPsHf4RuPKea4vBDVepVX6XHBjsc6xCR -65XyheZ1TIuV7P3M2fO6yIqBIYwi5jCPHfP8ypwCH+7pxajoEOK8krXoMZjPlA58Wz2Rqy2ebQ0g -Wj1TXdc8o7qOqlJndlQ3nb81cgJA8mksY5+xtP6bDLTtWx6yfDpAXxKQ9gCLY2XnAcQzeuir91CW -YtloZEx791m+I2M3jJXwKFpQFKN8dLjTs1d5z43r78cxQyXd8IRPo9GAX30ps0OaK1toyxKA4DMQ -EwpavI7cPP5MyDTpEmCUgq444UVrFlJpBsn+m6qbUMRGc0jiX2HODX/XesXqDg8E2Jt0t17CY/UT -gKsCbvyCmMASjdpLHNW8OpwRr9grmDHuJYiUtgcNKnhA3VhN+vW5EbiqKCRAjR79pWa4mUGm3wOO -9By821OezKSa+MyjPnFqvwUgg8WzPT8kbeIzVmrAa12sEzdjQXGBR7wJwbcElaEyYBDwe6oj6s6R -ZjyAmqeUPfcXmshD7bySnAE2egzRb3W= \ No newline at end of file +HR+cPv3oko3yN00N+K8k0vXZMGHZDgSD+rTqpy+grSOjHuusQ+8c833gUIeaLtQ6yxNS18FmFTnv +Me6hNee0vWi2j6OSWnB+TAceGW28sG278izKq3eh6BH+GyqJ0JGj9Fy1TElWukF2uArCuqPSDacq +P+x+NXDtErv7vIma+0t5P9v+ipuL0x1rIR0T6WG0eJdHjizj11/QL/Q+lgYJ3bP93Cd0JpTxypKn +v5zzidzDf9VLsjRN6ofXF/PTWPH/2WSXNWztqE+53SPbvhZpP0l0phAmDKlPOWb69MYDArANhW1u +mVP01bmNUsWjkGnlhBTd+46mmJlhGGendVlWEUSoRk7bhIHdRXBWseh9pQpMRo5IL703Fc9myntT +u5uTdrZ+lk9WfqA1AHURf+wY5TXUG4+4dX+7n19TDubnLk94x6gZ9uQgU6/Pocb7BB02bmdh5Gmv +0cG9MRKBs0P+Eb0Ir8NG9gr1diKBVGeek9pK+NdkKK0EKspQTsr7/A2A5IPgIqumBP1HP9ijLMLO +TGZ6jh6+hbDeLPGSuajUnekzar4br8ASX/dbn0V3hOwGf6KDuBxr8WIO2K4oPdycBwuGHcjYiz/i +RAwhgzWbMdDe/31lrZ8O/XGphg1UaSZNfX59yKM/OVfhC6J+4z4l/vORZy9T8NtoPxpyhFXR1PQL +BWUdQO9q+XIeepvu69zh4tfG2AsuOKJ+Vtun9Fu0+CWl+BqQ8cdDG4KJTAouJKcMHCOZiaTgmhLN +OdzVqPDv3uTgjKbKP7tP8wHQWgOrfR4zM5MtmDnqqDSa1BHvGLP3+dU5aAbbXYmA9p0/4fGi1Gd7 +fRBrdp/9cj0GaBLk524DEtT/G0U5laeQbHXyelx3MD52uzTFA1fOAo4PKWOHxMrtg8/4Q2niIxFy +i0EefXm3NlHUASuO/erKZNnFzEJ4Yyjxi3Fvn9rC5a/OzCR+qNBluNyhuDxdp/TEtK4VXHtrCQKu +yscI7/QSNuvm1ZI3Uy51y0V4Lza669HB8WCkH1ozG1/WmHTiayqhwYq9RFV7ZH5pgBJbnEpBCrWc +4K3sCQWXiaazw1ymixqLS+BvvVm4gV1l6Tb+dG4j+QtYAhC9X0lkULeB5Y3ANJaW68lE0IF4X0s3 +fwPxkvdLNnty3200nkPwGT4AgrqijP1Z2H/Oi42KV2b4hyt9fKJqFnaaixEPwgvdOgbNMSrtKeN1 +vS9dtQz+tuOfzpIn6eWLulB0/cyVjbefW1us7v510JNjcsIim1jo375aPqA9nmGsW1R2mQII/Nji +74nSbxWz2ywCdHN4kenDFjODfnkckdgHEvz171cbFWr5AFPkfa/32BtAOjnu2W+4q9i0MCN+H6FR +SyNfZIEAKK7T72sbRxEJfhkP4VKSjGJtdu3gQdI+NvkbxtYSZON+ugS3VYgSKegUOnOecf62XEZf +jBgmxzdxgcyUpaFmMzuXdtmW8+he8AuNayQDtiJhomolHawlyTU7GZaGlMFIoOLlmCHhG/pwlcon +tKNwNXd9KUg523zpCfLrmlQ2m7AH2aTzBJSJOVDj74EdbBXRfxOTI8EyQ7A03o2g4vJoo84tx1nw +H6fizbYqTXeBvgfrqRA8axXBvvpIsgAZaMTCRSI5iYhCc1qesbQWAoltVy3nl9G0JjYTFloOicX2 +uNA12NuHaHEXloQbGRPwDgojcOBImeH4Le4ihcoF66vG9SzoiQupbqUf85uQlECnqPVvtYts4MOm +BGKM4pwULx7NgXzkz9fkxhhuufkgoqA+yzmZzD0ZjHCvAR64VK6PY196Wcv7dG/j1P1b5OsHX6PV +0hCndwHlHb+abX2RMecqtNvCHDq+xMarV7kUwp4ValdGYAQNkOI/0UFRGBjOOdJ6tD/h+6fuAZlz +UuaKhPWJV2cWbYKafTgehaqXQWUuBL7lX0== \ No newline at end of file diff --git a/src/Application/Models/Interface/Import.php b/src/Application/Models/Interface/Import.php index 5e3ad96..b5f63d1 100644 --- a/src/Application/Models/Interface/Import.php +++ b/src/Application/Models/Interface/Import.php @@ -1,21 +1,21 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -HR+cP/YVjf7uPGkcXIaZid5gfnWZBtszFbwjRPkuboPr4iFPiRmV3hyvKxrwUiuBoAliMhBFZTw3 -m4cxodKHnlpWcGDwe06btjcce/pJjL17Mt/tEzniVRb89WtflnmA5rr8jYEiu63nhfeEnjSGy8ng -UMagdUJtLHNe3SyA/hxtxScpxiGWbJg7uomISgpSEkYDhC8qYfkc6c0E4xqrJ0H+ceNNWUkmQQNG -8y+WunTi7KzFujEmnFFQtUxG7iv6U/R95rA2fBwSP92v/XocDT5SWvYpVRPmLP+RWJl4NGjz9cVQ -v4ru/srbV/VzyytIGOSbBNyR2+TQ//fqtDX7TSZkeJJZpECmaTdirukWBvCoLtafibWDx81TcAWX -jDKQwONiY9WlMKQo7XRA3jiKYXVU0l1swR1Z4Oij267csPoua8rDZMNHIKELMdMWe6NAzPRkVXAQ -d6snoHDUp7Z5wzF901tUtnpSXwj+sx3G6n4D8vX8UKtbxnn8NyZv3WIKhae371wAEASeo8rhwom9 -jF0G1XbW8MJFRFHwjEDSX6N0MWeXLPCrX4TssiyZuU5vxuIN3T2gTFZgB2ysRlHmmtTf52EvKxHg -y1wEKwFc9Oh3mtpUeRp/oz82r/trCCJzb02bSlkUaWQbY0jtBD2s7t7cFGJ7qWHG9HtotbI5YDRo -pPwPvM1131h36RsF7xmTSkSgX8DMSslQmF9yzvNHiJBCOzM7A4uLHitzN9DTAkEMlRtmPS7p0y53 -Zc5HDohw8lDaFnWd0fu0zxBZpt/xmudRcHoB/MbGzHTzm2SWwEaOIwBxmE1nR/1gSBsPx7CNfps4 -scUyNSzzV9cz30+PHY9gkwBvWfrrAmzNUsOoXd9/MN5gTAAD+0jcl2QQsq5poE5R9ynp4BFFdvl0 -gansT032HaJ0Gq3Q3BtrZN2f0YApV8ZzSA57h9L/8R+rQfXGBhdFVB+/u0MnbTasRtsI1mjnCqTU -9DwLZ3am6eEeIvNev3JboFrlhWvxqjTSti2IdC2vgMe+OBNWrsFmzft5TH0H4s8ZN2GvmZdBdy2y -Hrzaro4sna7nw3bTlPdP3c+VNWGXV2VAoBfNRfAchqIniC5qQb21Qq9uM0JILy7wksdg8xgqUSqT -gLuh9Z16byfJJTiQEqpngk2lpwbSqMbwM9enK1mr23RJW1tQPGl2d/4cSI0Tvxptvut1wzrOcXV/ -k/yJNhYU \ No newline at end of file +HR+cPwsZVpa5YKG/q1Ng6ja+WrK457KZ1iDXlDqpKUhGVPILIn9PO4J/6pZczLGvhGrp4DMaUmv4 +us8AISm3IBKBf/2XZ4LsXllvVCktDw/VztP4Nlkfq5ZaZTZTiQl58wY07tlGpXJwqJbqTFZ9E/02 +LsSHslMpg8M/dP9cUMQdw4aG8B6786iQ0yLcuWE+45doKQXdNjyXmRttFegOn+He1n1ni7kp/eni +eTWB5i02x3uJRGWQM1xPFcuK9cn13xcF9ODSkz3ldmt6PUQuysGBmCwoi3LBc6XtEZvVq9d+s4uG +U1bsG53/ucI3s0IGS7VP6y9SbwZRCuHAvUv29PAFYV285czhnrqJf+3T4Ijr1Y9wXzaqj/TXLI5g +/UiarLVf1i2RglQHNIe9FvyotNFOrTYlFOJ5nhfdgZRpFUAN8CCxgxnkhoFe2NONJKJU/NpXjWSH +DpclibHbIfXOmGRPWBn1A/w9A8QlYEl0R+uotjXgya4MPa7nNmRhKyY5Baae7OrRdL+EcG5pdKkJ +Wa5kQYHcaqxqW7m2cIwXTDAQQ/i3iLNYdfy48F1+Xyw45yY6WTD6XluxB3Quo/6bYD8MutyMlnb5 +2g/92ptB6GUlPRVwdqRJULnyFZ1Wr3lqRC6uqa/m0PKFBVyRgw8JCfsWm80ftXAbfEQe50h7CmyG +hx7RbDGugbalwIHCnn+JzWpWw+bFg4RwpZGAZ2q6llH2+BA3h5evNunzDuSf7F0rEeAWNLPTyu52 +lRACZoHZ/ckMbPgpNas4KRnvGqiwZmYcHXQJx5qMIzaMt4P50dEu+1BpfEkTEIKWC5agQHn44cXc +Cn1hIVipJkD+3z2AUPZTErwZGdVxRZSzCAJuoUqkl2AoOMLueBCaDqNKMIOxePQPQ682mkidm09O +ysCIz4r0J7cj5LKHY2LyBMOxkcZxhFtEdg7SJi0+v3DzXQcc2cKgldJXcRuIfzRO388oJsZPY/SR +Te2QSJqLLd9vqyMoT3JSACIFSd2Cjl/CjYcBQH+lXCwzTGhu5InMtk+5X6qxiYs6g2EhOLW3ZkiO +AXcREqYpQbzHLrq1UF6A3yObuv43skwmFc/ZoyhPALSFYPfGbGnnCY+X5PhrB6nZw25YBfHBtENs +LW4Dw7x4ltX+c/BtGBFrUoBr7fENXrXswPnKX1i0JN/DaI8w5VmWPHFxnFY2q+l2z5MEnKfIugf6 +kQ2QJV7v \ No newline at end of file diff --git a/src/Application/Models/PictureImport.php b/src/Application/Models/PictureImport.php index ba5abd1..4eda235 100644 --- a/src/Application/Models/PictureImport.php +++ b/src/Application/Models/PictureImport.php @@ -1,685 +1,687 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Profilemapper.php b/src/Application/Models/Profilemapper.php index bafe8c3..61f5630 100644 --- a/src/Application/Models/Profilemapper.php +++ b/src/Application/Models/Profilemapper.php @@ -1,39 +1,40 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 +TG== \ No newline at end of file diff --git a/src/Application/Models/Service/Import.php b/src/Application/Models/Service/Import.php index b9ba53f..f917f1e 100644 --- a/src/Application/Models/Service/Import.php +++ b/src/Application/Models/Service/Import.php @@ -1,63 +1,63 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -Das6B3zd6gJjt+Tl \ No newline at end of file +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 +fIe4Mum= \ No newline at end of file diff --git a/src/Application/Models/Settings/Combined.php b/src/Application/Models/Settings/Combined.php index ee4b2f7..a04ae4b 100644 --- a/src/Application/Models/Settings/Combined.php +++ b/src/Application/Models/Settings/Combined.php @@ -1,33 +1,33 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Settings/Complex.php b/src/Application/Models/Settings/Complex.php index 94a05be..e536c9c 100644 --- a/src/Application/Models/Settings/Complex.php +++ b/src/Application/Models/Settings/Complex.php @@ -1,66 +1,66 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -2s5bXo6woJvmwW== \ No newline at end of file +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 +6F8= \ No newline at end of file diff --git a/src/Application/Models/Settings/Config.php b/src/Application/Models/Settings/Config.php index df4ef12..bac1c44 100644 --- a/src/Application/Models/Settings/Config.php +++ b/src/Application/Models/Settings/Config.php @@ -1,58 +1,57 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -+LzbgkRef45svAm= \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Settings/Defaultboolean.php b/src/Application/Models/Settings/Defaultboolean.php index 4deea36..d84f42a 100644 --- a/src/Application/Models/Settings/Defaultboolean.php +++ b/src/Application/Models/Settings/Defaultboolean.php @@ -1,46 +1,46 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -YOIAq8Mvjny3uG== \ No newline at end of file +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 \ No newline at end of file diff --git a/src/Application/Models/Settings/Element.php b/src/Application/Models/Settings/Element.php index bad18f0..6a08115 100644 --- a/src/Application/Models/Settings/Element.php +++ b/src/Application/Models/Settings/Element.php @@ -1,38 +1,38 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -eRKkCxuT \ No newline at end of file +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 +ZRW/GzMo9gNmZ6i5TfEp9J3H+m== \ No newline at end of file diff --git a/src/Application/Models/Settings/Mall.php b/src/Application/Models/Settings/Mall.php index 54c05a9..a139010 100644 --- a/src/Application/Models/Settings/Mall.php +++ b/src/Application/Models/Settings/Mall.php @@ -1,47 +1,47 @@ 1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> -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 -O5yAZ1VLHTd6mTmp6xQDHD2G \ No newline at end of file +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 +h9VQ3Q6S3ntfktWwSzi= \ No newline at end of file diff --git a/src/Application/views/admin/de/d3_importer_lang.php b/src/Application/views/admin/de/d3_importer_lang.php index 0aa9d0d..3128f35 100644 --- a/src/Application/views/admin/de/d3_importer_lang.php +++ b/src/Application/views/admin/de/d3_importer_lang.php @@ -23,7 +23,7 @@ $aLang = array( //Navigation 'charset' => 'ISO-8859-15', - 'd3mximporter' => 'Importer', + 'd3mximporter' => ' Importer', 'd3mxarticleimport' => 'Artikelimport', 'd3mximporter_cfg' => 'Einstellungen', 'd3mximporter_cfg_main' => 'Stamm', @@ -279,7 +279,7 @@ $aLang = array( 'D3_IMPORTER_PICTURE_PICSPERTICK' => 'Start des nächsten Bilddurchlaufes:', 'D3_IMPORTER_PICTURE_PICSPERTICK_HELP' => 'Der Ablauf eines Bildimports ist wie folgt (grobe Umschreibung): ' // . '
  1. Alle Bilder aus dem Bildimportverzeichnis werden eingelesen.
  2. ' // - . '
  3. Pro Bild(name) wird in der Datenbank (oxarticles__d3importpic1-10) nach einer Zuordnung gesucht.
  4. ' // + . '
  5. Pro Bild(name) wird in der Datenbank (oxarticles__d3importpic1-XX) nach einer Zuordnung gesucht.
  6. ' // . '
  7. Werden alle Kriterien erfüllt, gibt es einen oder mehrere Treffer, die daraufhin importiert werden.
', 'D3_IMPORTER_PICTURE_MAXPICTURECOUNT' => 'nach', 'D3_IMPORTER_PICTURE_MAXPICTURECOUNT_2' => 'gelesenen Bildern', @@ -464,6 +464,14 @@ Diese sind in zwei getrennten Importvorgängen anzuwenden und auszuführen.

' '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', diff --git a/src/Application/views/admin/en/d3_importer_lang.php b/src/Application/views/admin/en/d3_importer_lang.php index e270260..3595558 100644 --- a/src/Application/views/admin/en/d3_importer_lang.php +++ b/src/Application/views/admin/en/d3_importer_lang.php @@ -23,7 +23,7 @@ $aLang = array( //Navigation 'charset' => 'ISO-8859-15', - 'd3mximporter' => 'Importer', + 'd3mximporter' => ' Importer', 'd3mxarticleimport' => 'Article import', 'd3mximporter_cfg' => 'Settings', 'd3mximporter_cfg_main' => 'Main', @@ -286,7 +286,7 @@ $aLang = array( 'D3_IMPORTER_PICTURE_PICSPERTICK' => 'Start next run of pictures:', 'D3_IMPORTER_PICTURE_PICSPERTICK_HELP' => 'The process of a picture import is as follows:' // . '
1. All pictures from picture import directory will be read.' // - . '
2. Looks for a relation in database (oxarticles_d3importpic1-10) per picture(name).' // + . '
2. Looks for a relation in database (oxarticles_d3importpic1-XX) per picture(name).' // . '
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', @@ -436,6 +436,14 @@ $aLang = array( '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', diff --git a/src/Setup/InstallRoutine.php b/src/Setup/InstallRoutine.php index df4889d..7cb6122 100644 --- a/src/Setup/InstallRoutine.php +++ b/src/Setup/InstallRoutine.php @@ -3,6 +3,7 @@ use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; use D3\ModCfg\Application\Model\Install\d3install_updatebase; use Doctrine\DBAL\DBALException; +use OxidEsales\Eshop\Application\Model\ShopList; use OxidEsales\Eshop\Core\DatabaseProvider; use OxidEsales\Eshop\Core\Exception\ConnectionException; use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException; @@ -26,20 +27,20 @@ class d3_importer_Setup_InstallRoutine extends d3install_updatebase /** * @var string */ - public $sModVersion = '5.0.4.2'; + public $sModVersion = '5.0.5.0'; /** * @var string */ - public $sModRevision = '5042'; + public $sModRevision = '5050'; /** * @var string */ - public $sBaseConf = 'mrRv2==Rmd0ZCs0aXBSVDllSEVKUHZWcjQ0RFgvRnFTV1pPNnJqTUdKSHM1OVAzZEM1SzdBQWtMRE51V -3o4cmU5RWVPN0xsb2hCOW1kdUtzWFBVMUhrNmgvWWFPclZYVU52d1JpTnZEMTkrMnY5Q1dyMGc4angyV -kpxYXJ2MmRnTFZDZDduSkZjYTB0eVZhNFVmVmlkNnBQT0lIUW1VMHQySk5LcTc5eTRQTS9QS29YdWZtb -GdMdUk2L090RFVXZkIxS0NneURaR2RpN0RVQW41SDlDM2xpN01mUy9mSVVvL0RjM3dVdWJJdXNaVjN1Y -XRuM00zUXp2WmhScDhiZk1FQUlxc2ZURXczNmZGckdjckVoS216bzdKcEhiVkE0YWVXWURuWFhWQ2lHU -HkrOWFpUGtQM2JmZXgzTjdqK0JJamltQ0gyS1p0TzA1NzJkL3pVQ05TYWVjOTVnPT0='; + public $sBaseConf = '7GAv2==MTBTaHlsZTkzTUEvdld1MllrOUppcmZjWk1Ha2hTMmtyclZqa3JPSDJtVzJuMk5LRFZKY2RYS +0hFOE1zOUFEUmJCUzI3SGNPSTdteGJxVmNzTGVPRE43aFpoQXYrSWlxR0ZMK2x2R2tNbEtKUGNYdW1va +WE1NlJ3eHhSQjF1aWVrOEIvY05rYlFFVklaMnZvM0lhTlNvMmQ1MUdVWFpWbnBJVzhWNk9HMTlBbEdBd +U9GaS9lSENKdUNaL0x3YzJaMFRMVzR2WUltdi8wblV2TnUxVUQzZU1ETkxKOFN1Tm5rQUhLdkFKczhZa +mt5djF6ci8wRVJ4WXFudEFYTkZLQmtuZUZOdndBYWxQUTU2eTZuVHVBM2ZuN1BPRVlhcUpkV0tBL2tBO +DNLb2NLS1RkMGhPUUFQVU1tZmNxeG9Gd3NyYlRpeU1QTjdyak5BT2NUV21sY2h3PT0='; /** * @var string */ @@ -292,227 +293,7 @@ HkrOWFpUGtQM2JmZXgzTjdqK0JJamltQ0gyS1p0TzA1NzJkL3pVQ05TYWVjOTVnPT0='; 'sExtra' => '', 'blMultilang' => false, 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC1' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC1', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC2' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC2', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC3' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC3', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC4' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC4', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC5' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC5', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC6' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC6', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC7' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC7', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC8' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC8', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC9' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC9', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC10' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC10', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC11' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC11', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC12' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC12', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC13' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC13', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC14' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC14', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC15' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC15', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC16' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC16', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC17' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC17', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC18' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC18', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC19' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC19', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC20' => array( - 'sTableName' => 'oxarticles', - 'sFieldName' => 'D3IMPORTPIC20', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => false, - 'sComment' => false, - 'sExtra' => '', - 'blMultilang' => false, - 'blAddBreak' => true - ), + ) ); /*******************************************************************************************/ @@ -619,207 +400,7 @@ HkrOWFpUGtQM2JmZXgzTjdqK0JJamltQ0gyS1p0TzA1NzJkL3pVQ05TYWVjOTVnPT0='; ), 'blMultilang' => false, 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC1' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC1', - 'aFields' => array( - 'D3IMPORTPIC1' => 'D3IMPORTPIC1', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC2' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC2', - 'aFields' => array( - 'D3IMPORTPIC2' => 'D3IMPORTPIC2', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC3' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC3', - 'aFields' => array( - 'D3IMPORTPIC3' => 'D3IMPORTPIC3', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC4' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC4', - 'aFields' => array( - 'D3IMPORTPIC4' => 'D3IMPORTPIC4', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC5' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC5', - 'aFields' => array( - 'D3IMPORTPIC5' => 'D3IMPORTPIC5', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC6' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC6', - 'aFields' => array( - 'D3IMPORTPIC6' => 'D3IMPORTPIC6', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC7' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC7', - 'aFields' => array( - 'D3IMPORTPIC7' => 'D3IMPORTPIC7', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC8' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC8', - 'aFields' => array( - 'D3IMPORTPIC8' => 'D3IMPORTPIC8', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC9' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC9', - 'aFields' => array( - 'D3IMPORTPIC9' => 'D3IMPORTPIC9', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC10' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC10', - 'aFields' => array( - 'D3IMPORTPIC10' => 'D3IMPORTPIC10', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC11' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC11', - 'aFields' => array( - 'D3IMPORTPIC11' => 'D3IMPORTPIC11', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC12' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC12', - 'aFields' => array( - 'D3IMPORTPIC12' => 'D3IMPORTPIC12', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC13' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC13', - 'aFields' => array( - 'D3IMPORTPIC13' => 'D3IMPORTPIC13', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC14' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC14', - 'aFields' => array( - 'D3IMPORTPIC14' => 'D3IMPORTPIC14', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC15' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC15', - 'aFields' => array( - 'D3IMPORTPIC15' => 'D3IMPORTPIC15', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC16' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC16', - 'aFields' => array( - 'D3IMPORTPIC16' => 'D3IMPORTPIC16', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC17' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC17', - 'aFields' => array( - 'D3IMPORTPIC17' => 'D3IMPORTPIC17', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC18' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC18', - 'aFields' => array( - 'D3IMPORTPIC18' => 'D3IMPORTPIC18', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC19' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC19', - 'aFields' => array( - 'D3IMPORTPIC19' => 'D3IMPORTPIC19', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), - 'OXARTICLES_D3IMPORTPIC20' => array( - 'sTableName' => 'oxarticles', - 'sType' => '', - 'sName' => 'D3IMPORTPIC20', - 'aFields' => array( - 'D3IMPORTPIC110' => 'D3IMPORTPIC20', - ), - 'blMultilang' => false, - 'blAddBreak' => true - ), + ) ); // Standardwerte für checkFields(), _addTable() und fixFields() @@ -954,10 +535,56 @@ HkrOWFpUGtQM2JmZXgzTjdqK0JJamltQ0gyS1p0TzA1NzJkL3pVQ05TYWVjOTVnPT0='; { parent::__construct(); + $this->addPictureDatabaseFieldDefinitions(); $this->setOxconfigEntriesOnFirstInstallation(); } + public function addPictureDatabaseFieldDefinitions() + { + $sCurrentShopId = Registry::getConfig()->getActiveShop()->getId(); + /** @var ShopList $oShopList */ + $oShopList = $this->getShopList(); + + $iMaxPicCount = 0; + + /** @var Shop $oShop */ + foreach ($oShopList as $sKey => $oShop) { + $this->_changeToShop($oShop->getId()); + + $iPicCount = Registry::getConfig()->getConfigParam('iPicCount'); + + $iMaxPicCount = $iPicCount > $iMaxPicCount ? $iPicCount : $iMaxPicCount; + } + + $this->_changeToShop($sCurrentShopId); + + for ($i = 1; $i <= $iMaxPicCount; $i++) { + $this->aFields['OXARTICLES_D3IMPORTPIC'.$i] = array( + 'sTableName' => 'oxarticles', + 'sFieldName' => 'D3IMPORTPIC'.$i, + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => false, + 'sExtra' => '', + 'blMultilang' => false, + 'blAddBreak' => true + ); + + $this->aIndizes['OXARTICLES_D3IMPORTPIC'.$i] = array( + 'sTableName' => 'oxarticles', + 'sType' => '', + 'sName' => 'D3IMPORTPIC'.$i, + 'aFields' => array( + 'D3IMPORTPIC'.$i => 'D3IMPORTPIC'.$i, + ), + 'blMultilang' => false, + 'blAddBreak' => true + ); + } + } + /** * @throws ConnectionException * @throws DatabaseConnectionException diff --git a/src/metadata.php b/src/metadata.php index 1b3ed62..3acce07 100644 --- a/src/metadata.php +++ b/src/metadata.php @@ -19,15 +19,14 @@ use D3\ModCfg\Application\Model\Install\d3install; * Metadata version */ $sMetadataVersion = '1.2'; +$sLogo = '(D3) '; /** * Module information */ $aModule = array( 'id' => 'd3importer', - 'title' => - ' '. - 'Importer', + 'title' => $sLogo . 'Importer', 'description' => array( 'de' => 'Umfangreiche Importmöglichkeiten der Artikel inkl. dem Import von Bildern, ' . 'sowie alle Datenfelder von Artikeln, Kategorien, Crossselling, Attribute, ' @@ -35,7 +34,7 @@ $aModule = array( 'en' => 'n/a', ), 'thumbnail' => 'picture.png', - 'version' => '5.0.4.2', + 'version' => '5.0.5.0', 'author' => 'D³ Data Development, Inh. Thomas Dartsch', 'email' => 'support@shopmodule.com', 'url' => 'https://www.oxidmodule.com/',