Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php// zu verarbeitende Shops einlesen$shops = file( "shops.txt" );// wichtige Konstantendefine( "FILE_PATH", "/var/www/HQStransfer/" );define( "ARCHIVE_PATH_BASE", "/var/cronjobs/HQSexport/archiv/" );define( "ARCHIVE_PATH_EXT", date( "Y" ) . "/" . date( "m" ) );define( "ARCHIVE_PATH", ARCHIVE_PATH_BASE . ARCHIVE_PATH_EXT . "/" );define( "TRENNER", "\r\n" );//wichtige Variablen$zeit = date( "Y-m-d-Gi" );$handle = date( "Y-m-d G:i:s", time() );//Archiv-Verzeichnisse erstellenif ( !file_exists( ARCHIVE_PATH ) ){chdir( ARCHIVE_PATH_BASE );$p = explode( "/", ARCHIVE_PATH_EXT );foreach ( $p as $dir ){if ( !file_exists( $dir ) ){$res_d = mkdir( $dir );if ( !$res_d ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de","Konnte Verzeichnis $dir NICHT erstellen!\n","FROM: info@mediaran.de", "-F info@mediaran.de" );}chdir( $dir );}}}// SQL-Abfragen und Dateien erstellen$conn = mysql_connect( "localhost", "root", "" );if ( !$conn ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de",mysql_error() . "\n", "FROM: info@mediaran.de","-F info@mediaran.de" );exit;}$db = mysql_select_db( "mediaran_de" );if ( !$db ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de",mysql_error() . "\n", "FROM: info@mediaran.de","-F info@mediaran.de" );exit;}foreach ( $shops as $shop ){$shop = trim( $shop );$sql = "updateartikel_to_Bestellung,Bestellung,shopssetartikel_to_Bestellung.exported_rechnung = '$handle'WHEREartikel_to_Bestellung.rechnungStatus = 'schreiben'andartikel_to_Bestellung.Bestellung = Bestellung.IDandBestellung.shops_ID = shops.IDandshops.Name = '$shop'";$res = mysql_query( $sql );if ( !$res ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de",mysql_error() . "\n$sql\n", "FROM: info@mediaran.de","-F info@mediaran.de" );exit;}/*---- Liste der Bestellungen erstellen*/$sql = "create temporary table bestellungID engine=heapselectBestellung.ID as Bestellung,shops.Language,shops.Namefromartikel_to_Bestellung,Bestellung,shopswhereartikel_to_Bestellung.exported_rechnung = '$handle'andartikel_to_Bestellung.Bestellung = Bestellung.IDandBestellung.shops_ID = shops.IDandshops.Name = '$shop'group byBestellung.ID;";$res = mysql_query( $sql );if ( !$res ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de",mysql_error() . "\n$sql\n", "FROM: info@mediaran.de","-F info@mediaran.de" );die();}/*---- Auswählen aller Bestellungen die jetzt exportiert werden sollen*/$sql_b = "selectdistinctBestellung.ID as A001,LCASE(Logins.E_Mail) as A002,Bestellung.ID as POSI,if (trim(concat(Bestellung.liefer_Firma,Bestellung.liefer_Vorname,Bestellung.liefer_Name,Bestellung.liefer_Strasse,Bestellung.liefer_Str_Nr,Bestellung.liefer_PLZ,Bestellung.liefer_Ort,Bestellung.liefer_Land)) = '',Bemerkung,concat('LIEFERADRESSE:\n',Bestellung.liefer_Firma, '\n',Bestellung.liefer_Vorname, '\n',Bestellung.liefer_Name, '\n',Bestellung.liefer_Strasse,' ',Bestellung.liefer_Str_Nr, '\n',Bestellung.liefer_PLZ,' ',Bestellung.liefer_Ort, '\n',Bestellung.liefer_Land, '\n\n',repeat('-',50), '\n\n',Bemerkung)) as A003fromLogins,Bestellung,shops,artikel_to_BestellungwhereLogins.ID = Bestellung.Loginandartikel_to_Bestellung.exported_rechnung = '$handle'andartikel_to_Bestellung.Bestellung = Bestellung.IDANDshops.Name='$shop'ANDBestellung.shops_ID=shops.ID";$res_b = mysql_query( $sql_b );if ( !$res_b ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de",mysql_error() . "\n$sql_b\n", "FROM: info@mediaran.de","-F info@mediaran.de" );die();}if ( mysql_num_rows( $res_b ) ){//Kundendaten liegen vor$fName = FILE_PATH . "export_$shop" . ".txt";$fName_archive = ARCHIVE_PATH . $zeit . " $shop.txt";$f = fopen( $fName, "a" );fwrite( $f, TRENNER );while ( $row_b = mysql_fetch_assoc( $res_b ) ){/*---- Auswählen aller Kundendaten der Bestellungen die jetzt exportiert werden sollen*/$sql_l = "selectdistinct-- Logins.ID as K001,LCASE(Logins.E_Mail) as K001,IFNULL(Logins.Anrede,'') as K002,IF (Logins.Name2 = '', IF(ISNULL(Logins.Vorname), Logins.Name1, concat(Logins.Vorname, ' ', Logins.Name1)), Logins.Name2) as K003,IF (Logins.Name2 != '', IF(ISNULL(Logins.Vorname), Logins.Name1, concat(Logins.Vorname, ' ', Logins.Name1)), Logins.Name2) as K004,concat(Logins.Strasse,' ',Logins.Hausnummer) as K005,concat(Logins.PLZ,' ',Logins.ORT) as K006,'' as K007,Logins.Telefon as K008,'' as K009,LCASE(Logins.E_Mail) as K010,Logins.Fax as K011,'' as K012,'' as K013,'' as K014,'' as K015,'' as K016,'' as K017,'' as K018,'' as K019,'' as K020,'' as K021,'' as K022,'' as K023fromLogins,Bestellung,artikel_to_Bestellungwhereartikel_to_Bestellung.exported_rechnung = '$handle'andartikel_to_Bestellung.Bestellung = Bestellung.IDandBestellung.Login = Logins.IDANDBestellung.ID=" . $row_b["A001"];$res_l = mysql_query( $sql_l );if ( !$res_l ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de",mysql_error() . "\n$sql_l\n","FROM: info@mediaran.de", "-F info@mediaran.de" );die();}fwrite( $f, "<KUNDEN>" . TRENNER );$row_l = mysql_fetch_assoc( $res_l );foreach ( $row_l as $l_feld => $l_val ){if ( $l_val ){fwrite( $f, "\t<$l_feld>$l_val" . TRENNER );}}fwrite( $f, "</KUNDEN>" . TRENNER );fwrite( $f, "<AUFTRAG>" . TRENNER );foreach ( $row_b as $b_feld => $b_val ){if ( $b_val ){if ( $b_feld == "A003" ){$b_val = str_replace( "\r\n", '\R\N', $b_val );$b_val = str_replace( "\r", '\R\N', $b_val );$b_val = str_replace( "\n", '\R\N', $b_val );}fwrite( $f, "\t<$b_feld>$b_val" . TRENNER );}}/*---- Artikeldaten aller Artikel der georderten Bestellungen*/$sql_d = "SET @pos = 0";mysql_query( $sql_d );$sql_a = "select distinctartikel_to_Bestellung.Bestellung as P000,@pos:=@pos+1 as P001,artikel.kennung as P002,artikel_to_Bestellung.Menge as P003,artikel_to_Bestellung.Preis_pro_Stueck as P004,IF (artikel_to_Bestellung.Bezeichnung!='',substring(artikel_to_Bestellung.Bezeichnung,1,30),substring(artikel.kurzbezeichnung,1,30)) AS P006,IF (artikel_to_Bestellung.Bezeichnung!='',substring(artikel_to_Bestellung.Bezeichnung,31,30),substring(artikel.kurzbezeichnung,31,30)) AS P007fromartikel_to_Bestellung,bestellungID,artikelwhereartikel_to_Bestellung.Bestellung=bestellungID.BestellungANDartikel_to_Bestellung.Bestellung=" . $row_b["A001"] . "andartikel_to_Bestellung.artikel = artikel.IDandartikel.Language = bestellungID.Languageand(artikel.Father = -3orartikel_to_Bestellung.rechnungStatus = 'schreiben'orartikel_to_Bestellung.rechnungStatus = 'geschrieben')order by artikel.Father asc";$res_a = mysql_query( $sql_a );if ( !$res_a ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de",mysql_error() . "\n$sql_a\n","FROM: info@mediaran.de", "-F info@mediaran.de" );die();}while ( $row_a = mysql_fetch_assoc( $res_a ) ){fwrite( $f, "\t<POSI>" . TRENNER );foreach ( $row_a as $a_feld => $a_val ){if ( $a_val ){if ( $a_feld == "P006" || $a_feld == "P007" ){$a_val = str_replace( "\r", '\R', $a_val );$a_val = str_replace( "\n", '\N', $a_val );}fwrite( $f, "\t\t<$a_feld>$a_val" . TRENNER );}}fwrite( $f, "\t</POSI>" . TRENNER );}fwrite( $f, "</AUFTRAG>" . TRENNER );}fclose( $f );// Datei sichern$res_f = copy( $fName, $fName_archive );if ( !$res_f ){mail( "tiefland@weban.de","Fehler beim Export der Bestellungen auf www.mediaran.de","Konnte Datei $fName NICHT nach $fName_archive kopieren!\n","FROM: info@mediaran.de", "-F info@mediaran.de" );}/*---- Aufräumen*/$sql_d = "drop table bestellungID";mysql_query( $sql_d );}}?>