diff --git a/www/pages/artikel.php b/www/pages/artikel.php
index 4f583554..089b6197 100644
--- a/www/pages/artikel.php
+++ b/www/pages/artikel.php
@@ -2831,101 +2831,82 @@ class Artikel extends GenArtikel {
return ['status'=>$isOk, 'info'=>$info, 'msg_encoded' => $msg, 'error' => $error];
}
- public function ArtikelShopexport()
- {
- $id = $this->app->Secure->GetGET('id');
- $shop = $this->app->Secure->GetGET('shop');
- $artikel = array($id);
- $artikelshopid = (int)$this->app->Secure->GetGET('artikelshopid');
-
- if($artikelshopid > 0)
- {
- $shop = $this->app->DB->Select("SELECT shop FROM artikel_onlineshops WHERE id = '$artikelshopid' AND artikel = '$id' AND aktiv = 1 LIMIT 1");
- $this->app->User->SetParameter('artikel_shopexport_shop', '');
- }else{
- if($shop=='1'){
- $shop = $this->app->DB->Select("SELECT shop FROM artikel WHERE id='$id' LIMIT 1");
- }
- elseif($shop=='2'){
- $shop = $this->app->DB->Select("SELECT shop2 FROM artikel WHERE id='$id' LIMIT 1");
- }
- elseif($shop=='3'){
- $shop = $this->app->DB->Select("SELECT shop3 FROM artikel WHERE id='$id' LIMIT 1");
- }
- }
-
- $artikelexport = $this->app->DB->Select("SELECT artikelexport FROM shopexport WHERE id='$shop' LIMIT 1");
- $lagerexport = $this->app->DB->Select("SELECT lagerexport FROM shopexport WHERE id='$shop' LIMIT 1");
+ public function ArtikelShopexport() {
+ $id = $this->app->Secure->GetGET('id');
+ $shop = $this->app->Secure->GetGET('shop');
+ $artikel = array($id);
+ $artikelshopid = (int) $this->app->Secure->GetGET('artikelshopid');
- $externenummer = $this->app->DB->Select("SELECT nummer FROM artikelnummer_fremdnummern WHERE artikel = '$id' AND aktiv = 1 AND shopid = '$shop' AND nummer <> '' ORDER BY bezeichnung = 'SHOPID' DESC LIMIT 1");
-
- if($externenummer)
- {
- $extartikelnummer = array($externenummer);
- }else{
- $extartikelnummer = '';
- }
-
- $pageContents = $this->app->remote->RemoteSendArticleList($shop,$artikel,$extartikelnummer);
-
- $check = strpos((string) $pageContents ,'error:');
- $msg = '';
- if(!empty($pageContents) && is_array($pageContents)) {
- if(!empty($pageContents['status']) && !empty($pageContents['message'])) {
- $msg = $this->app->erp->base64_url_encode('
'.$pageContents['message'].'
');
- }
- elseif(isset($pageContents['status']) && !empty($pageContents['message'])) {
- $msg = $this->app->erp->base64_url_encode(''.$pageContents['message'].'
');
- }
- }
- elseif($pageContents=='1') {
- $pageContents='success';
- }
-
- if(empty($msg) && $pageContents!='') {
- $pageContents = " ($pageContents)";
- }
-
- $this->app->erp->LogFile($this->app->DB->real_escape_string('manueller Shopexport Artikel: '.$this->app->DB->Select("SELECT nummer FROM artikel WHERE id = '$id' LIMIT 1").' Shop: '.$shop.' Status: '.$pageContents));
- // keine fehlermeldung vom shop
- if(empty($msg)) {
- $linkToImporterSettings = '';
- if($this->app->erp->RechteVorhanden('onlineshops', 'edit')){
- $url = 'index.php?module=onlineshops&action=edit&id='.$shop;
- $linkToImporterSettings = "Zu den Shopeinstellungen";
- }
-
- if($check === 0){
- $msg = $this->app->erp->base64_url_encode("Es gab einen Fehler beim Aktualisieren des Artikels im Shop!$pageContents
");
- }
- else if($pageContents == ''){
- if($artikelexport != 1 && $lagerexport != 1){
- $msg = $this->app->erp->base64_url_encode("Der Artikel konnte nicht zum Shop übertragen werden! In den Shopeinstellungen ist festgelegt, dass die Artikelinformation- und Lagerbestandsübertragung nicht erlaubt ist!$pageContents $linkToImporterSettings
");
+ if ($artikelshopid > 0) {
+ $shop = $this->app->DB->Select("SELECT shop FROM artikel_onlineshops WHERE id = '$artikelshopid' AND artikel = '$id' AND aktiv = 1 LIMIT 1");
+ $this->app->User->SetParameter('artikel_shopexport_shop', '');
+ } else {
+ if ($shop == '1') {
+ $shop = $this->app->DB->Select("SELECT shop FROM artikel WHERE id='$id' LIMIT 1");
+ } elseif ($shop == '2') {
+ $shop = $this->app->DB->Select("SELECT shop2 FROM artikel WHERE id='$id' LIMIT 1");
+ } elseif ($shop == '3') {
+ $shop = $this->app->DB->Select("SELECT shop3 FROM artikel WHERE id='$id' LIMIT 1");
+ }
}
- else{
- if($pageContents === '0' || $pageContents === 0){
- $msg = $this->app->erp->base64_url_encode("Es gab einen Fehler beim Aktualisieren des Artikels im Shop! Stellen Sie sicher, dass die Zugangsdaten und URL's korrekt sind! Möglicherweise kein Artikelpreis hinterlegt
");
- }else{
- $msg = $this->app->erp->base64_url_encode("Es gab einen Fehler beim Aktualisieren des Artikels im Shop! Stellen Sie sicher, dass die Zugangsdaten und URL's korrekt sind!$pageContents $linkToImporterSettings
");
- }
- }
- }
- else{
- if($artikelexport != 1 && $lagerexport == 1){
- $msg = $this->app->erp->base64_url_encode("Es wurde nur der Lagerbestand (nicht die Artikelinfos entsprechend der Einstellungen) im Shop aktualisiert!$pageContents $linkToImporterSettings
");
- }
- else if($lagerexport != 1 && $artikelexport == 1){
- $msg = $this->app->erp->base64_url_encode("Es wurde nur der Artikel (nicht der Lagerbestand entsprechend der Einstellungen) im Shop aktualisiert!$pageContents $linkToImporterSettings
");
- }
- else{
- $msg = $this->app->erp->base64_url_encode("Der Artikel wurde im Shop aktualisiert!$pageContents
");
- }
- }
- }
- $this->app->erp->LagerSync($artikel);
- $this->app->Location->execute("index.php?module=artikel&action=edit&id=$id&msg=$msg#tabs-4");
- }
+ $artikelexport = $this->app->DB->Select("SELECT artikelexport FROM shopexport WHERE id='$shop' LIMIT 1");
+ $lagerexport = $this->app->DB->Select("SELECT lagerexport FROM shopexport WHERE id='$shop' LIMIT 1");
+
+ $externenummer = $this->app->DB->Select("SELECT nummer FROM artikelnummer_fremdnummern WHERE artikel = '$id' AND aktiv = 1 AND shopid = '$shop' AND nummer <> '' ORDER BY bezeichnung = 'SHOPID' DESC LIMIT 1");
+
+ if ($externenummer) {
+ $extartikelnummer = array($externenummer);
+ } else {
+ $extartikelnummer = '';
+ }
+
+ $remote_result = $this->app->remote->RemoteSendArticleList($shop, $artikel, $extartikelnummer);
+
+ if (is_array($remote_result)) {
+ $remote_status = $remote_result['status'];
+ $remote_message = $remote_result['message'];
+ } else if (is_numeric($remote_result)) {
+ if ($remote_result == 1) {
+ $remote_status = true;
+ } else {
+ $remote_status = false;
+ $remote_message = "Der Artikel konnte nicht zum Shop übertragen werden!";
+ }
+ } else if ($remote_result === null) {
+ $remote_status = false;
+ $remote_message = "Keine Aktion durchgeführt";
+ } else {
+ $remote_message = $remote_result;
+ if (strpos((string) $remote_result, 'error:') === 0) {
+ $remote_status = false;
+ } else {
+ $remote_status = true;
+ }
+ }
+
+ if ($remote_status) {
+ $msg = $this->app->erp->base64_url_encode('' . $remote_message . '
');
+ } else {
+ $msg = $this->app->erp->base64_url_encode('' . $remote_message . '
');
+ }
+
+ $this->app->erp->LogFile($this->app->DB->real_escape_string('manueller Shopexport Artikel: '.$this->app->DB->Select("SELECT nummer FROM artikel WHERE id = '$id' LIMIT 1").' Shop: '.$shop.' Status: '.((int) $remote_status)), $remote_message);
+
+ // keine fehlermeldung vom shop
+ if ($remote_status) {
+ $linkToImporterSettings = '';
+ if ($this->app->erp->RechteVorhanden('onlineshops', 'edit')) {
+ $url = 'index.php?module=onlineshops&action=edit&id=' . $shop;
+ $linkToImporterSettings = "Zu den Shopeinstellungen";
+ }
+ }
+
+ $this->app->erp->LagerSync($artikel);
+
+ $this->app->Location->execute("index.php?module=artikel&action=edit&id=$id&msg=$msg#tabs-4");
+ }
+
public function ArtikelShopexportFiles()
{