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() {