prefix}posts LIKE 'adl_exportiert';"; $zeilen=$wpdb->query($sqlBefehl); if ($zeilen==0) { /* Tabelle _posts um das erforderliche Feld erweitern */ $sqlBefehl="ALTER TABLE {$wpdb->prefix}posts ADD adl_exportiert BOOLEAN NOT NULL DEFAULT FALSE;"; $wpdb->query($sqlBefehl); } /* Exportverzeichnis anlegen, wenn es nicht schon existiert */ $pfad=substr(DATEIPFAD,0,strlen(DATEIPFAD)-1); /* ohne den / am Ende */ if (!is_dir($pfad)) { mkdir ($pfad); } } /** * Menü erstellen * * @since 0.1 * @change */ function adlib_erstelleMenu() { add_menu_page(__('Datenexport', 'adlib-woo2lex-manuell'),__('Datenexport', 'adlib-woo2lex-manuell'),'export','adlib_export_manuell','fuellePluginmenu',plugin_dir_url( __FILE__ ).'export.png','81.10001'); } /** * Pluginmenü mit Infos füllen * * @since 0.1 * @change */ function fuellePluginmenu() { ?>
prefix."posts` WHERE post_type='shop_order' AND adl_exportiert=0 ORDER BY ID"; $ergebnis=$wpdb->get_results($abfrage); /* debug_view("Anzahl",$wpdb->num_rows);*/ $anzahlBestellungen=$wpdb->num_rows; if ($anzahlBestellungen==0) { return false; } /* debug_view("abfrage",$abfrage);*/ /* debug_view("ergebnis",$ergebnis);*/ /* Dateiname erzeugen, Datei anlegen und öffnen */ $dateiname=DATEIPFAD.date('Ymd-His').".xml"; $datei=fopen($dateiname,"wb"); fwrite($datei,HEADER1); /*jede Bestellung anschauen */ foreach($ergebnis as $wert) { /* debug_view("wert",$wert);*/ $bestellID=$wert->ID; /* debug_view("bestellID",$bestellID);*/ $adlib_bestelldaten['bestellnummer']=$bestellID; $adlib_bestelldaten['bestelldatum']=strftime('%Y-%m-%dT%H:%M:%S+01:00',strtotime($wert->post_date)); $adlib_bestelldaten['remark_order']=ersetzeSonderzeichen($wert->post_excerpt); $abfrage="SELECT meta_key, meta_value FROM ".$wpdb->prefix."postmeta WHERE post_id=".$bestellID; $ergebnisPostMeta=$wpdb->get_results($abfrage); /* jetzt haben wir die Kundendaten */ /* debug_view("ergebnisPostMeta",$ergebnisPostMeta);*/ foreach($ergebnisPostMeta as $wertPost) { /* debug_view("wertPost",$wertPost);*/ switch ($wertPost->meta_key) { case "_order_currency": $adlib_bestelldaten['waehrung']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_billing_country": $adlib_bestelldaten['rechnung_land']=ersetzeSonderzeichen($wertPost->meta_value); if (in_array($wertPost->meta_value,$EU_Laender)) { $adlib_bestelldaten['remark_tax_area']="Merchant"; } else { $adlib_bestelldaten['remark_tax_area']="Non_EU"; } break; case "_billing_first_name": $adlib_bestelldaten['rechnung_vorname']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_billing_last_name": $adlib_bestelldaten['rechnung_nachname']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_billing_company": $adlib_bestelldaten['rechnung_firma']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_billing_address_1": $adlib_bestelldaten['rechnung_strasse']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_billing_city": $adlib_bestelldaten['rechnung_ort']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_billing_postcode": $adlib_bestelldaten['rechnung_plz']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_billing_email": $adlib_bestelldaten['rechnung_email']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_billing_phone": $adlib_bestelldaten['rechnung_fon']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_shipping_country": $adlib_bestelldaten['liefer_land']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_shipping_first_name": $adlib_bestelldaten['liefer_vorname']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_shipping_last_name": $adlib_bestelldaten['liefer_nachname']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_shipping_company": $adlib_bestelldaten['liefer_firma']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_shipping_address_1": $adlib_bestelldaten['liefer_strasse']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_shipping_city": $adlib_bestelldaten['liefer_ort']=ersetzeSonderzeichen($wertPost->meta_value); break; case "_shipping_postcode": $adlib_bestelldaten['liefer_plz']=ersetzeSonderzeichen($wertPost->meta_value); break; } } $adlib_bestelldaten['zahlung_zahlart']=56; $abfrage="SELECT order_item_name,order_item_type,order_item_id FROM ".$wpdb->prefix."woocommerce_order_items WHERE order_id=".$bestellID; $ergebnisArtikelliste=$wpdb->get_results($abfrage); /* jetzt haben wir die Artikelliste */ $schleifenzaehler=$wpdb->num_rows; /* debug_view("#Datensätze",$wpdb->num_rows);*/ /* debug_view("Inhalt",$ergebnisArtikelliste);*/ $artikelzaehler=-1; /* debug_view("ergebnisArtikelliste",$ergebnisArtikelliste);*/ foreach($ergebnisArtikelliste as $wertArtikelliste) { if ($wertArtikelliste->order_item_type=='line_item') { /* debug_view("Trenner---------------",$dummy);*/ /* debug_view("Artikeltyp",$ergebnisArtikelliste[$i]->order_item_type);*/ $artikelzaehler+=1; /* debug_view("artikelzaehler",$artikelzaehler);*/ /* debug_view("Schleife",$i);*/ /* debug_view("ergebnisArtikelliste",$ergebnisArtikelliste[$i]->order_item_type);*/ $artikelnummer=$wertArtikelliste->order_item_id; $adlib_bestelldaten['artikel'][$artikelzaehler]['artikel_bezeichnung_kurz']=ersetzeSonderzeichen($wertArtikelliste->order_item_name); $abfrage="SELECT * FROM ".$wpdb->prefix."woocommerce_order_itemmeta WHERE order_item_id=".$artikelnummer; $ergebnisArtikel=$wpdb->get_results($abfrage); /* jetzt haben wir die Artikeldaten */ foreach ($ergebnisArtikel as $wertArtikeldaten) { /* debug_view("wertArtikeldaten",$wertArtikeldaten);*/ switch ($wertArtikeldaten->meta_key) { case "_qty": $adlib_bestelldaten['artikel'][$artikelzaehler]['artikel_anzahl']=$wertArtikeldaten->meta_value; $menge=$wertArtikeldaten->meta_value; break; case "_product_id": $adlib_bestelldaten['artikel'][$artikelzaehler]['artikel_nummer']=$wertArtikeldaten->meta_value; $abfrage="SELECT post_content FROM ".$wpdb->prefix."posts WHERE ID=".$wertArtikeldaten->meta_value; $ergebnisBeschreibung=$wpdb->get_results($abfrage); /* jetzt haben wir die lange Produktbeschreibung */ $adlib_bestelldaten['artikel'][$artikelzaehler]['artikel_bezeichnung_lang']=ersetzeSonderzeichen($ergebnisBeschreibung[0]->post_content); break; case "_line_total": $preis=$wertArtikeldaten->meta_value; $adlib_bestelldaten['artikel'][$artikelzaehler]['artikel_zeilenpreis']=$wertArtikeldaten->meta_value; break; case "_line_tax": $steuer=$wertArtikeldaten->meta_value; break; } } $adlib_bestelldaten['artikel'][$artikelzaehler]['artikel_preis']=$preis/$menge; $adlib_bestelldaten['artikel'][$artikelzaehler]['artikel_steuersatz']=$steuer/$preis; } /* Frachtart und Frachtkosten */ if ($wertArtikelliste->order_item_type=='shipping') { $adlib_bestelldaten['remark_delivery_method']=ersetzeSonderzeichen($wertArtikelliste->order_item_name); $frachtID=$wertArtikelliste->order_item_id; $abfrage="SELECT * FROM ".$wpdb->prefix."woocommerce_order_itemmeta WHERE order_item_id=".$frachtID; $ergebnisFracht=$wpdb->get_results($abfrage); /* jetzt haben wir die Frachtdaten */ foreach ($ergebnisFracht as $wertFrachtdaten) { if ($wertFrachtdaten->meta_key=="cost") { $adlib_bestelldaten['remark_shipping_fee']=$wertFrachtdaten->meta_value; } } } } /* debug_view("adlib_bestelldaten",$adlib_bestelldaten);*/ /* debug_view("ergebnisArtikelliste",$ergebnisArtikelliste); debug_view("artikelnummer",$artikelnummer); debug_view("ergebnisArtikel",$ergebnisArtikel);*/ /* alle Daten ermittelt, jetzt in Datei schreiben */ fwrite($datei,HEADER2); fwrite($datei,"\t\t\t$name: ";
if ( is_array( $what ) ) {
print_r ( $what );
} else {
var_dump ( $what );
}
echo "\n";
}
?>