artikel rework artikelexport returncode messages

This commit is contained in:
OpenXE 2024-06-24 14:44:34 +02:00
parent ef8825faa8
commit 8e950b5185

View File

@ -2831,25 +2831,21 @@ class Artikel extends GenArtikel {
return ['status'=>$isOk, 'info'=>$info, 'msg_encoded' => $msg, 'error' => $error]; return ['status'=>$isOk, 'info'=>$info, 'msg_encoded' => $msg, 'error' => $error];
} }
public function ArtikelShopexport() public function ArtikelShopexport() {
{
$id = $this->app->Secure->GetGET('id'); $id = $this->app->Secure->GetGET('id');
$shop = $this->app->Secure->GetGET('shop'); $shop = $this->app->Secure->GetGET('shop');
$artikel = array($id); $artikel = array($id);
$artikelshopid = (int) $this->app->Secure->GetGET('artikelshopid'); $artikelshopid = (int) $this->app->Secure->GetGET('artikelshopid');
if($artikelshopid > 0) if ($artikelshopid > 0) {
{
$shop = $this->app->DB->Select("SELECT shop FROM artikel_onlineshops WHERE id = '$artikelshopid' AND artikel = '$id' AND aktiv = 1 LIMIT 1"); $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', ''); $this->app->User->SetParameter('artikel_shopexport_shop', '');
} else { } else {
if ($shop == '1') { if ($shop == '1') {
$shop = $this->app->DB->Select("SELECT shop FROM artikel WHERE id='$id' LIMIT 1"); $shop = $this->app->DB->Select("SELECT shop FROM artikel WHERE id='$id' LIMIT 1");
} } elseif ($shop == '2') {
elseif($shop=='2'){
$shop = $this->app->DB->Select("SELECT shop2 FROM artikel WHERE id='$id' LIMIT 1"); $shop = $this->app->DB->Select("SELECT shop2 FROM artikel WHERE id='$id' LIMIT 1");
} } elseif ($shop == '3') {
elseif($shop=='3'){
$shop = $this->app->DB->Select("SELECT shop3 FROM artikel WHERE id='$id' LIMIT 1"); $shop = $this->app->DB->Select("SELECT shop3 FROM artikel WHERE id='$id' LIMIT 1");
} }
} }
@ -2859,74 +2855,59 @@ class Artikel extends GenArtikel {
$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"); $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) if ($externenummer) {
{
$extartikelnummer = array($externenummer); $extartikelnummer = array($externenummer);
} else { } else {
$extartikelnummer = ''; $extartikelnummer = '';
} }
$pageContents = $this->app->remote->RemoteSendArticleList($shop,$artikel,$extartikelnummer); $remote_result = $this->app->remote->RemoteSendArticleList($shop, $artikel, $extartikelnummer);
$check = strpos((string) $pageContents ,'error:'); if (is_array($remote_result)) {
$msg = ''; $remote_status = $remote_result['status'];
if(!empty($pageContents) && is_array($pageContents)) { $remote_message = $remote_result['message'];
if(!empty($pageContents['status']) && !empty($pageContents['message'])) { } else if (is_numeric($remote_result)) {
$msg = $this->app->erp->base64_url_encode('<div class="info">'.$pageContents['message'].'</div>'); if ($remote_result == 1) {
$remote_status = true;
} else {
$remote_status = false;
$remote_message = "Der Artikel konnte nicht zum Shop &uuml;bertragen werden!";
} }
elseif(isset($pageContents['status']) && !empty($pageContents['message'])) { } else if ($remote_result === null) {
$msg = $this->app->erp->base64_url_encode('<div class="error">'.$pageContents['message'].'</div>'); $remote_status = false;
$remote_message = "Keine Aktion durchgef&uuml;hrt";
} else {
$remote_message = $remote_result;
if (strpos((string) $remote_result, 'error:') === 0) {
$remote_status = false;
} else {
$remote_status = true;
} }
} }
elseif($pageContents=='1') {
$pageContents='success';
}
if(empty($msg) && $pageContents!='') { if ($remote_status) {
$pageContents = " ($pageContents)"; $msg = $this->app->erp->base64_url_encode('<div class="info">' . $remote_message . '</div>');
} else {
$msg = $this->app->erp->base64_url_encode('<div class="error">' . $remote_message . '</div>');
} }
$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)); $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 // keine fehlermeldung vom shop
if(empty($msg)) { if ($remote_status) {
$linkToImporterSettings = ''; $linkToImporterSettings = '';
if ($this->app->erp->RechteVorhanden('onlineshops', 'edit')) { if ($this->app->erp->RechteVorhanden('onlineshops', 'edit')) {
$url = 'index.php?module=onlineshops&action=edit&id=' . $shop; $url = 'index.php?module=onlineshops&action=edit&id=' . $shop;
$linkToImporterSettings = "<a href='$url' class='button button-primary'>Zu den Shopeinstellungen</a>"; $linkToImporterSettings = "<a href='$url' class='button button-primary'>Zu den Shopeinstellungen</a>";
} }
}
if($check === 0){
$msg = $this->app->erp->base64_url_encode("<div class=\"error\">Es gab einen Fehler beim Aktualisieren des Artikels im Shop!$pageContents</div>");
}
else if($pageContents == ''){
if($artikelexport != 1 && $lagerexport != 1){
$msg = $this->app->erp->base64_url_encode("<div class=\"error\">Der Artikel konnte nicht zum Shop &uuml;bertragen werden! In den Shopeinstellungen ist festgelegt, dass die Artikelinformation- und Lagerbestands&uuml;bertragung nicht erlaubt ist!$pageContents $linkToImporterSettings</div>");
}
else{
if($pageContents === '0' || $pageContents === 0){
$msg = $this->app->erp->base64_url_encode("<div class=\"error\">Es gab einen Fehler beim Aktualisieren des Artikels im Shop! Stellen Sie sicher, dass die Zugangsdaten und URL's korrekt sind! M&ouml;glicherweise kein Artikelpreis hinterlegt</div>");
}else{
$msg = $this->app->erp->base64_url_encode("<div class=\"error\">Es gab einen Fehler beim Aktualisieren des Artikels im Shop! Stellen Sie sicher, dass die Zugangsdaten und URL's korrekt sind!$pageContents $linkToImporterSettings</div>");
}
}
}
else{
if($artikelexport != 1 && $lagerexport == 1){
$msg = $this->app->erp->base64_url_encode("<div class=info>Es wurde nur der Lagerbestand (nicht die Artikelinfos entsprechend der Einstellungen) im Shop aktualisiert!$pageContents $linkToImporterSettings</div>");
}
else if($lagerexport != 1 && $artikelexport == 1){
$msg = $this->app->erp->base64_url_encode("<div class=info>Es wurde nur der Artikel (nicht der Lagerbestand entsprechend der Einstellungen) im Shop aktualisiert!$pageContents $linkToImporterSettings</div>");
}
else{
$msg = $this->app->erp->base64_url_encode("<div class=info>Der Artikel wurde im Shop aktualisiert!$pageContents</div>");
}
}
}
$this->app->erp->LagerSync($artikel); $this->app->erp->LagerSync($artikel);
$this->app->Location->execute("index.php?module=artikel&action=edit&id=$id&msg=$msg#tabs-4"); $this->app->Location->execute("index.php?module=artikel&action=edit&id=$id&msg=$msg#tabs-4");
} }
public function ArtikelShopexportFiles() public function ArtikelShopexportFiles()
{ {
$id = $this->app->Secure->GetGET('id'); $id = $this->app->Secure->GetGET('id');