Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php//$Id: xml_bestellung.php 3482 2011-03-31 06:45:30Z erling $/*** @author Malte Erling <info@weban.de>* @author Lars Tiefland <tiefland@weban.de>* @copyright 2008 Webagentur Niewerth* @package Content-management* @version $Rev: 3482 $* @license propietary* @filesource**//*** exportiert die Bestellungen als XML-Datei* @author Malte Erling <info@weban.de>* @author Lars Tiefland <tiefland@weban.de>* @copyright 2008 Webagentur Niewerth* @package Content-management*/session_start();require_once "Config.php";require_once "../Warenwirtschaft/includes/bestellungen/system/artikelDatabase.php";// zu verarbeitende Shops einlesen$shops_file = file("xml_bestellung_shops.txt");define( "FILE_PATH", "xml/" );define( "ARCHIVE_PATH_BASE", "xml/archiv/" );define( "ARCHIVE_PATH_EXT", date("Y") . "/" . date("m") );define( "ARCHIVE_PATH", ARCHIVE_PATH_BASE . ARCHIVE_PATH_EXT . "/" );define( "TRENNER", "\r\n" );// connect zur Datenbankrequire_once "../Online-Shop/connect2.php";$main_shop_db = isset($_SERVER['argv']['main_shop_db'])?$_SERVER['argv']['main_shop_db']:"pieper_freizeit_de";//Archiv-Verzeichnisse erstellenif ( !file_exists(ARCHIVE_PATH) ){$res = chdir( ARCHIVE_PATH_BASE );$archive_path_ext = substr( ARCHIVE_PATH_EXT, 0, (strlen(ARCHIVE_PATH_EXT) -1) );$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","Konnte Verzeichnis $dir NICHT erstellen!\n" );}chdir( $dir );}}}foreach($shops_file as $key => $val){$sql = "select ID from shops where Name = '".trim($val)."'";echo "<br>".$sql;if($q = mysql_query($sql)){if($r = mysql_fetch_assoc($q)){$shopID = $r['ID'];$_SESSION[filter][shops_ID] = $shopID;$_SESSION[shops][$shopID][database] = getDatabasefromShopID( $shopID );getOrderInfo($shopID);}}}function getOrderInfo($shopID){global $main_shop_db;$xmlFile = $shopID . "_best_bootdepot.xml";// alle Informationen zu den Bestellungen holen$config = new Config();$bestArr = array();$sql = "selectb.ID as referenznummer,b.erstellt_am as bestelldatum,b.Login as loginID,b.Bemerkung as internebemerkung,l.ID as kundid,l.Anrede as Anrede,l.Vorname as Name1,l.Name1 as Name2,l.Name2 as Name3,l.Strasse as Strasse,l.Hausnummer as Hausnummer,l.Land as Land,l.PLZ as PLZ,l.ORT as Ort,l.E_Mail as Email,l.Telefon as Telefon,l.Fax as Telefax,l.liefer_Anrede as lieferAnrede,l.liefer_Firma as lieferFirma,l.liefer_Name as lieferName,l.liefer_Strasse as lieferStrasse,l.liefer_Str_Nr as lieferHausnummer,l.liefer_Land as lieferLand,l.liefer_PLZ as lieferPLZ,l.liefer_Ort as lieferOrt,a2b.rechnungStatus as rStatusfrom Bestellung b, Logins l, artikel_to_Bestellung a2bwhere b.bestellart_id = 1 andb.Login = l.ID andb.shops_ID=".$shopID." anda2b.Bestellung = b.ID and(a2b.rechnungStatus IN ('schreiben','geschrieben'))order by b.ID desclimit 0,5";echo "<br><br>".$sql;if ( $q = mysql_query($sql) ){$i = 0;while ( $r = mysql_fetch_assoc($q) ){// Auftragskopf Startif(strlen($r['bestelldatum'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['bestelldatum'] =utf8_encode( $r['bestelldatum'] );}if(strlen($r['internebemerkung'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['externebemerkung'] =utf8_encode( $r['internebemerkung'] );}if(strlen($r['bestelldatum'])>0){$bestellDatum = datetime2human( $r['bestelldatum'] );}if(strlen($bestellDatum['Datum'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['bestellzeichen'] =utf8_encode( "Online Order vom " . $bestellDatum['Datum'] );}if(strlen($r['referenznummer'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['referenznummer'] =utf8_encode( $r['referenznummer'] );}$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['agbakzeptiert'] =utf8_encode( "JA" );if(strlen($r['internebemerkung'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['internebemerkung'] =utf8_encode( $r['internebemerkung'] );}// Kundenanschriftif(strlen($r['kundid'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['kundid'] =utf8_encode( $r['kundid'] );}if(strlen($r['Anrede'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Anrede'] =utf8_encode( $r['Anrede'] );}if(strlen($r['Name1'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Name1'] =utf8_encode( $r['Name1'] );}if(strlen($r['Name2'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Name2'] =utf8_encode( $r['Name2'] );}if(strlen($r['Name3'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Name3'] =utf8_encode( $r['Name3'] );}if(strlen($r['Strasse'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Strasse'] =utf8_encode( $r['Strasse'] . " " . $r['Hausnummer'] );}if(strlen($r['Land'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Land'] =utf8_encode( $r['Land'] );}if(strlen($r['PLZ'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['PLZ'] =utf8_encode( $r['PLZ'] );}if(strlen($r['Ort'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Ort'] =utf8_encode( $r['Ort'] );}if(strlen($r['Email'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Email'] =utf8_encode( $r['Email'] );}if(strlen($r['Telefon'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Telefon'] =utf8_encode( $r['Telefon'] );}if(strlen($r['Telefax'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['kundenanschrift']['Telefax'] =utf8_encode( $r['Telefax'] );}// Lieferanschriftif(strlen($r['lieferAnrede'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['lieferanschrift']['Anrede'] =utf8_encode( $r['lieferAnrede'] );}if(strlen($r['lieferName'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['lieferanschrift']['Name2'] =utf8_encode( $r['lieferName'] );}if(strlen($r['lieferFirma'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['lieferanschrift']['Name3'] =utf8_encode( $r['lieferFirma'] );}if(strlen($r['lieferStrasse'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['lieferanschrift']['Strasse'] =utf8_encode( $r['lieferStrasse'] . " " . $r['lieferHausnummer'] );}if(strlen($r['lieferLand'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['lieferanschrift']['Land'] =utf8_encode( $r['lieferLand'] );}if(strlen($r['lieferPLZ'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['lieferanschrift']['PLZ'] =utf8_encode( $r['lieferPLZ'] );}if(strlen($r['lieferOrt'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['lieferanschrift']['Ort'] =utf8_encode( $r['lieferOrt'] );}// Rechnungsanschriftif(strlen($r['Anrede'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['rechnungsanschrift']['Anrede'] =utf8_encode( $r['Anrede'] );}if(strlen($r['Name1'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['rechnungsanschrift']['Name1'] =utf8_encode( $r['Name1'] );}if(strlen($r['Name2'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['rechnungsanschrift']['Name2'] =utf8_encode( $r['Name2'] );}if(strlen($r['Name3'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['rechnungsanschrift']['Name3'] =utf8_encode( $r['Name3'] );}if(strlen($r['Strasse'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['rechnungsanschrift']['Strasse'] =utf8_encode( $r['Strasse'] . " " . $r['Hausnummer'] );}if(strlen($r['Land'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['rechnungsanschrift']['Land'] =utf8_encode( $r['Land'] );}if(strlen($r['PLZ'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['rechnungsanschrift']['PLZ'] =utf8_encode( $r['PLZ'] );}if(strlen($r['Ort'])>0){$bestArr['onlinebestellungen']['bestellung'][$i]['auftragskopf']['rechnungsanschrift']['Ort'] =utf8_encode( $r['Ort'] );}// welche Artikel zur Bestellung?$sql_a = "selecta2b.artikel as artid,a2b.Menge as bestellmenge,a.kurzbezeichnung as artikeltext1,a.beschreibung as artikeltext2,a.preis1 as basispreisfrom ".$main_shop_db.".artikel_to_Bestellung a2b, " .artikelDatabase() . " awherea2b.Bestellung = " . $r['referenznummer'] . " anda2b.artikel = a.IDand((a.Father = -3)or(a2b.rechnungStatus IN ('schreiben','geschrieben')))order by artid";echo "<hr>" . $sql_a;if ( $q_a = mysql_query($sql_a) ){$k = 0;$ordervalue = 0;while ( $r_a = mysql_fetch_assoc($q_a) ){$pos[$k]['positionsnr'] = $k + 1;if(strlen($r_a['artid'])>0){$pos[$k]['artid'] = $r_a['artid'];}if(strlen($r_a['ean'])>0){$pos[$k]['ean'] = $r_a['ean'];}if(strlen($r_a['artikeltext1'])>0){$pos[$k]['artikeltext1'] = $r_a['artikeltext1'];}//$pos[$k]['artikeltext2'] = $r_a['artikeltext2'];if(strlen($r_a['bestellmenge'])>0){$pos[$k]['bestellmenge'] = $r_a['bestellmenge'];}if(strlen($r_a['basispreis'])>0){$pos[$k]['basispreis'] = number_format( $r_a['basispreis'], 2, ',', '.' );$pos[$k]['poseinzel'] = number_format( $r_a['basispreis'], 2, ',', '.' );$pos[$k]['posgesamt'] = number_format( $r_a['basispreis'] * $r_a['bestellmenge'],2, ',', '.' );}$k++;$ordervalue += $r_a['basispreis'] * $r_a['bestellmenge'];}$bestArr['onlinebestellungen']['bestellung'][$i]['positionen']['position'] =$pos;$bestArr['onlinebestellungen']['bestellung'][$i]['auftragsfuss']['poscount'] =utf8_encode( count($pos) );$bestArr['onlinebestellungen']['bestellung'][$i]['auftragsfuss']['ordervalue'] =utf8_encode( number_format($ordervalue, 2, ',', '.') );}$i++;} // end while// die xml-Datei erstellen$xmlFileArchiv = ARCHIVE_PATH . $shopID . "_best_" . date( YmdHi ) . ".xml";if ( $config->parseConfig($bestArr["onlinebestellungen"], 'phparray') ){if ( $config->writeConfig(FILE_PATH . $xmlFile, 'xml', array('name' =>'onlinebestellungen','encoding' => 'utf-8')) ){if ( !copy(FILE_PATH . $xmlFile, $xmlFileArchiv) ){echo "<br>Datei konnte nicht kopiert werden!";}else{echo "<br>kopiert: " . FILE_PATH . $xmlFile . " => " . $xmlFileArchiv;}}}}else{echo mysql_error();}}function getDatabasefromShopID( $shopID ){$db = "";$sql = "select * from shops where ID = " . $shopID . "";if ( $q = mysql_query($sql) ){if ( $r = mysql_fetch_assoc($q) ){$db = $r['database'];}}return $db;}?>