Revision 1 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** @author Patirck Lautsch <lautsch@weban.de>* @copyright 2009 Webagentur Niewerth* @package Content-management* @version $Rev: 2614 $* @license propietary* @filesource**//*** PARAMETER (GET):* - shops_id (Pflicht)* - bestellart_id (Pflicht)* - sqlDebug (wenn gleich 1, dann werden alle Query ausgegeben)* - debug (wenn gleich 1, dann wird die XML ausgegeben)* - nachricht (wenn gleich 1, dann beim Neueintrag eine Mail verschickt)* - SKU: Bei Ebay die 'Lagerhaltungsnummer'. Hier das Feld im Artikel angeben, das mit dem Parameter übereinstimmt (z. B. SKU=ID : SKU entpricht der Artikel.ID) Aktuell funktioniert dies nur mit der Artikel.ID*/// Wenn $_GET['shops_id'] nicht gesetzt ist oder leer ist -> Fehlermeldung und dieif ( empty( $_GET['shops_id'] ) ){die( "Es wurde vergessen die Shop ID anzugeben!<br />Bitte geben Sie diese über die Get-Variable \"shops_id\" an." );}// Wenn $_GET['bestellart_id'] nicht gesetzt ist oder leer ist -> Fehlermeldung und dieif ( empty( $_GET['bestellart_id'] ) ){die( "Es wurde vergessen die Bestellart ID anzugeben!<br />Bitte geben Sie diese über die Get-Variable \"bestellart_id\" an." );}// connect-Datei einbindenrequire_once "../../Online-Shop/connect2.php";// Binde Funktionen einrequire_once "includes/funktionen.inc.php";// hole den Ort der Config-Datei aus 'eBay_settings'$sql = "SELECTInhaltFROMeBay_settingsWHERETyp = 'confDatei'AND shops_id = '" . $_GET['shops_id'] . "'";$result = mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' . mysql_error() .'<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'eBay_settings: <br>' . $sql;}$row = mysql_fetch_assoc( $result );$confDatei = $row[Inhalt];$_GET["confDatei"] = $confDatei;// hole die XML-Datei in der die Transactions sindob_start();require_once "/web/apache/content-management/cronjobs/ebay/holeXML.php";$file = ob_get_contents();ob_end_clean();if ( $_GET['debug'] == 1 ){echo 'Start = ' . gmdate( 'Y-m-d H:i:s', $start ) . '<br>';echo 'End = ' . gmdate( 'Y-m-d H:i:s', $end ) . '<br>';echo 'Jetzt = ' . gmdate( 'Y-m-d H:i:s', $now ) . '<br>';echo 'Diff. Stunden = ' . ( $end - $start ) / 3600 . '<br>';}// Definition welcher Teil der XML-Datei gelesen werden soll$start = "<TransactionArray>";$ende = "</TransactionArray>";// speichere den XML-Ausschnitt in Treffer$treffer = get_string_between( $file, $start, $ende );// Sonderzeichen wie spitze Klammern werden in Entities geschrieben,// deshalb müssen diese mit html_entity_decode() zurückverwandelt werden$treffer = html_entity_decode( $treffer );// packe ein Root-Tag um den ausgeschnitten XML-Teil$treffer = "<ebay>" . $treffer . "</ebay>";// erzeuge ein Objekt aus dem ausgeschnitten XML-Teil$xml = simplexml_load_string( $treffer );if ( $_GET['debug'] == 1 ){print_r( $xml );}// Gehe alle Transactions durchforeach ( $xml->Transaction as $ta ){/*** Notiz:* When an item is listed as a Chinese auction type ( the default value of the AddItem.Item.ListingType property), the TransactionID* always returns a value of '0' as described in the online document :* http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/GetItemTransactions.html**/// Wenn das ListingType = "chinese" ist, nehme die ItemID als TransactionIDif ( "Chinese" == $ta->Item->ListingType ){$ta->TransactionID = $ta->Item->ItemID;}// Überprüfe ob die Transaction schon in der Datenbank ist$sql = "SELECTTransactionIdFROMeBay_BestellungWHERETransactionId = '" . $ta->TransactionID . "'";$result = mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' . mysql_error() .'<hr />' . $sql ) );$row = mysql_fetch_assoc( $result );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'eBay_Bestellung: <br>' . $sql;}// Transaction vorhanden?if ( null == $row[TransactionId] ){// Transaction nicht vorhanden:// Trage Transaction und dazugehörige Daten in die Datenbank// Attribut-Inhalt löschen wenn Inhalt gleich "Invalid Request"if ( $ta->Buyer->Email == "Invalid Request" ){$ta->Buyer->Email = "";}if ( $ta->Buyer->RegistrationAddress->Phone == "Invalid Request" ){$ta->Buyer->RegistrationAddress->Phone = "";}if ( $ta->Buyer->BuyerInfo->ShippingAddress->Phone =="Invalid Request" ){$ta->Buyer->BuyerInfo->ShippingAddress->Phone = "";}// ME: bei Usern aus dem Ausland wird die Rechnungsadresse nicht korrekt gefüllt// das muss hier behoben werden:// wenn keine Rechnungsadresse eingetragen ist, wird die Rechnungsadresse mit den Daten der// Lieferadresse gefülltunset( $RegistrationAddress_Name );if ( strlen( $ta->Buyer->RegistrationAddress->Name ) == 0 ){$RegistrationAddress_Name = $ta->Buyer->BuyerInfo->ShippingAddress->Name;}unset( $RegistrationAddress_Street );if ( strlen( $ta->Buyer->RegistrationAddress->Street ) == 0 ){$RegistrationAddress_Street = $ta->Buyer->BuyerInfo->ShippingAddress->Street1;}unset( $RegistrationAddress_PostalCode );if ( strlen( $ta->Buyer->RegistrationAddress->PostalCode ) == 0 ){$RegistrationAddress_PostalCode = $ta->Buyer->BuyerInfo->ShippingAddress->PostalCode;}unset( $RegistrationAddress_CityName );if ( strlen( $ta->Buyer->RegistrationAddress->CityName ) == 0 ){$RegistrationAddress_CityName = $ta->Buyer->BuyerInfo->ShippingAddress->CityName;}unset( $RegistrationAddress_CountryName );if ( strlen( $ta->Buyer->RegistrationAddress->CountryName ) == 0 ){$RegistrationAddress_CountryName = $ta->Buyer->BuyerInfo->ShippingAddress->CountryName;}// Ist der eBay-Benutzer schon vorhanden in der Datenbank?$sql = "SELECTID,ebay_UserIDFROMLoginsWHEREebay_UserID = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->UserID ) ) . "'";$result = mysql_query( $sql ) or die( mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql );$row = mysql_fetch_assoc( $result );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Logins: <br>' . $sql;}if ( $row['ebay_UserID'] == mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->UserID ) ) ){// eBay-Benutzer ist schon vorhanden$user_id = $row['ID'];// UPDATE der Logins-Tabelle$sql = "UPDATELoginsSETName1 = '" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_Name ) ? $RegistrationAddress_Name :$ta->Buyer->RegistrationAddress->Name ) ) . "',Strasse = '" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_Street ) ? $RegistrationAddress_Street :$ta->Buyer->RegistrationAddress->Street ) ) . "',PLZ = '" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_PostalCode ) ? $RegistrationAddress_PostalCode :$ta->Buyer->RegistrationAddress->PostalCode ) ) . "',ORT = '" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_CityName ) ? $RegistrationAddress_CityName :$ta->Buyer->RegistrationAddress->CityName ) ) . "',Land = '" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_CountryName ) ? $RegistrationAddress_CountryName :$ta->Buyer->RegistrationAddress->CountryName ) ) . "',E_Mail = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->Email ) ) . "',Telefon = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Phone ) ) ."',liefer_Name = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) ) . "',liefer_Strasse = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) ) ."',liefer_PLZ = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->PostalCode ) ) ."',liefer_Ort = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->CityName ) ) ."',letzte_Aenderung_am = NOW(),ebay_FeedbackScore = '" . $ta->Buyer->FeedbackScore ."',ebay_PositiveFeedbackPercent = '" . $ta->Buyer->PositiveFeedbackPercent . "'WHEREID = $user_id;";mysql_query( $sql ) or die( mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Logins(UPDATE): <br>' . $sql;}}else{// eBay-Benutzer ist noch nicht vorhanden// SQL: Benutzer anlegen$sql = "INSERT INTO Logins(Name1,Strasse,PLZ,ORT,Land,E_Mail,Telefon,liefer_Name,liefer_Strasse,liefer_PLZ,liefer_Ort,erstellt_am,erstellt_von,letzte_Aenderung_am,letzte_Aenderung_von,ebay_UserID,ebay_FeedbackScore,ebay_PositiveFeedbackPercent)VALUES('" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_Name ) ?$RegistrationAddress_Name : $ta->Buyer->RegistrationAddress->Name ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_Street ) ?$RegistrationAddress_Street : $ta->Buyer->RegistrationAddress->Street ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_PostalCode ) ?$RegistrationAddress_PostalCode : $ta->Buyer->RegistrationAddress->PostalCode ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_CityName ) ?$RegistrationAddress_CityName : $ta->Buyer->RegistrationAddress->CityName ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( ( $RegistrationAddress_CountryName ) ?$RegistrationAddress_CountryName : $ta->Buyer->RegistrationAddress->CountryName ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->Email ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Phone ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) . " " .deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->PostalCode ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->CityName ) ) . "',NOW(),'ebay-cronjob',NOW(),'ebay-cronjob','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->UserID ) ) . "','" . $ta->Buyer->FeedbackScore . "','" . $ta->Buyer->PositiveFeedbackPercent . "')";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Speichere die gerade eingefügte UserID$user_id = mysql_insert_id();// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Logins(INSERT): <br>' . $sql;}}// eBay-Shops sind unter "shops.ebay = 1" markiert$shops_id = $_GET['shops_id'];// SQL: Bestellung$jetztBezahlen = ( $ta->Status->CheckoutStatus =="CheckoutComplete" ) ?"Der Käufer hat die Kaufabwicklung nach dem Kauf abgeschlossen\nZahlungsart: " .$ta->Status->PaymentMethodUsed :"Der Käufer hat die Kaufabwicklung nach dem Kauf noch nicht abgeschlossen";$erstellt_am = $ta->CreatedDate;// Wenn $erstellt_am nicht gesetzt, dann nehme das aktuelle Datum$ts = ( $erstellt_am ) ? strtotime( $erstellt_am ) : time();$ts = date( "Y-m-d H:i:s", $ts );// Gibt es bereits eine offene Bestellung des eBay-Nutzers$sql = 'SELECTMAX(b.ID) AS idFROMBestellung AS bJOINartikel_to_Bestellung AS a2bONb.ID = a2b.BestellungJOINeBay_Bestellung AS ebONa2b.ID = eb.a2b_IDLEFT JOINLogins AS lONl.ID = b.LoginWHEREb.Status = \'offen\'ANDb.Login = ' . $user_id . 'ANDb.erstellt_am > "' . $ts . '" - INTERVAL 6 HOUR';$result = mysql_query( $sql ) or die( mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql );$row = mysql_fetch_assoc( $result );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Bestellung: <br>' . $sql;}// Offene BestellId-Variable löschenunset( $offeneBestellId );// Offene BestellId-Variable$offeneBestellId = $row['id'];if ( $offeneBestellId > 0 ){// Es gibt eine offene Bestellung, die nicht älter als 6 Stunden ist// Füge die Artikel dieser Auktion, in die mit der BestellId = $offeneBestellId ein// Wenn SKU als Parameter gesetzt ist und SKU vorhanden istif ( ( $_GET['SKU'] ) and ( $ta->Item->SKU ) ){$artikelID = $ta->Item->SKU;}else{$artikelID = 999999;}if ( $ta->Item->VariationTitle ){$titel = $ta->Item->VariationTitle;}else{$titel = $ta->Item->Title;}$sql = "INSERT INTOartikel_to_Bestellung(artikel,Bestellung,Menge,Preis_pro_Stueck,status,Bezeichnung)VALUES('" . $artikelID . "'," . $offeneBestellId . "," . $ta->QuantityPurchased . "," . $ta->TransactionPrice . ",'offen','" . deutsche_umlaute( $titel ) . "')";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );$a2bId = mysql_insert_id();// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'artikel_to_Bestellung(INSERT): <br>' . $sql;}// SQL: ebay_Bestellung$sql = "INSERT INTOeBay_Bestellung(a2b_ID,PaymentMethodUsed,TransactionId,eBay_Auktionen_ID,CheckoutAfterSales)VALUES('" . $a2bId . "','" . $ta->Status->PaymentMethodUsed . "','" . $ta->TransactionID . "','" . $ta->Item->ItemID . "','" . $checkoutStatus . "')";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'eBay_Bestellung(INSERT): <br>' . $sql;}}else{if ( $ta->BuyerCheckoutMessage ){$buyercheckoutmessage = '\nAnmerkung des Käufers: ' .mysql_real_escape_string( deutsche_umlaute( $ta->BuyerCheckoutMessage ) );//echo $ta->Buyer->RegistrationAddress->Name . ' $buyercheckoutmessage ' . $buyercheckoutmessage .'<BR>';}if ( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ){if ( preg_match_all( "/[0-9]/", $ta->Buyer->BuyerInfo->ShippingAddress->Street1, $matches ) && !preg_match_all( "/[0-9]/", $ta->Buyer->BuyerInfo->ShippingAddress->Street2, $matches2 ) ){$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) );$liefer_Firma = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );}else{$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );$liefer_Firma = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );}if ( $_GET['nachricht'] == 1 ){mail( "admin@weban.de", 'Bestellung mit STREET2 ' .$ta->PayPalEmailAddress, "\nName: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) ) . "\nStreet1: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) ) ."\nStreet2: " . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) ) . "\nAddressOwner: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->AddressOwner ) ) ."\nName: " . $liefer_Name . " Strasse: " . $liefer_Strasse ." Firma: " . $liefer_Firma );}}else{$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );$liefer_Firma = '';}$sql = "INSERT INTO Bestellung(Bemerkung,Login,shops_ID,bestellart_id,erstellt_am,erstellt_von,liefer_Firma,liefer_Name,liefer_Strasse,liefer_PLZ,liefer_Ort,liefer_Land)VALUES('" . $jetztBezahlen . "\n" . $buyercheckoutmessage ."','" . $user_id . "','" . $shops_id . "','" . $_GET['bestellart_id'] . "','$ts','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->UserID ) ) . " (" . $ta->Buyer->FeedbackScore ." - " . $ta->Buyer->PositiveFeedbackPercent . "%)','" . $liefer_Firma . "','" . $liefer_Name . "','" . $liefer_Strasse . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->PostalCode ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->CityName ) ) . "','" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->CountryName ) ) . "');";if ( $_GET['nachricht'] == 1 ){mail( "admin@weban.de", 'Neue Bestellung ' . $ta->PayPalEmailAddress, 'User: ' . $ta->Buyer->UserID .'SQL: ' . $sql );}mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Bestellung(INSERT): <br>' . $sql;}// Speichere die gerade eingefügte BestellID$bestell_id = mysql_insert_id();// Wenn der CheckoutStatus auf "CheckoutComplete" steht, setzte $checkoutStatus = 1$checkoutStatus = $ta->Status->CheckoutStatus =="CheckoutComplete" ? 1 : 0;if ( ( $_GET['SKU'] ) and ( $ta->Item->SKU ) ){$artikelID = $ta->Item->SKU;}else{$artikelID = 999999;}if ( $ta->Item->VariationTitle ){$titel = $ta->Item->VariationTitle;}else{$titel = $ta->Item->Title;}// SQL: artikel_to_Bestellung$sql = "INSERT INTOartikel_to_Bestellung(artikel,Bestellung,Menge,Preis_pro_Stueck,status,Bezeichnung)VALUES('" . $artikelID . "'," . $bestell_id . "," . $ta->QuantityPurchased . "," . $ta->TransactionPrice . ",'offen','" . deutsche_umlaute( $titel ) . "')";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );$a2bId = mysql_insert_id();// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'artikel_to_Bestellung(INSERT): <br>' . $sql;}// SQL: ebay_Bestellung$sql = "INSERT INTOeBay_Bestellung(a2b_ID,PaymentMethodUsed,TransactionId,eBay_Auktionen_ID,CheckoutAfterSales)VALUES('" . $a2bId . "','" . $ta->Status->PaymentMethodUsed . "','" . $ta->TransactionID . "','" . $ta->Item->ItemID . "','" . $checkoutStatus . "')";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'eBay_Bestellung(INSERT): <br>' . $sql;}// Versand angegeben?if ( isset( $ta->ShippingServiceSelected->ShippingService ) ){// SQL: Hole die ID des eBay-Versandartikels$sql = "SELECTInhaltFROMeBay_settingsWHERETyp = 'static'ANDshops_ID = $shops_id";$result = mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );$row = mysql_fetch_assoc( $result );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Inhalt(INSERT): <br>' . $sql;}// eBay Versandartikel$ebay_versandartikel_id = $row['Inhalt'];// Falls der Bezeichnung "DE_Paket" für den Versandartikel in der XML ist,// dann nenne ihn "Vorkasse / Versandkosten"$va_bez = ( deutsche_umlaute( $ta->ShippingServiceSelected->ShippingService ) =="DE_Paket" ) ? "Vorkasse / Versandkosten" :deutsche_umlaute( $ta->ShippingServiceSelected->ShippingService );// SQL: Versandartikel in die Bestellung übernehmen$sql = "INSERT INTOartikel_to_Bestellung(artikel,Bestellung,Menge,Preis_pro_Stueck,Bezeichnung,status)VALUES('" . $ebay_versandartikel_id . "'," . $bestell_id . "," . 1 . "," . $ta->ShippingServiceSelected->ShippingServiceCost . ",'" . $va_bez . "','')";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'artikel_to_Bestellung(INSERT): <br>' . $sql;}}}if ( $_GET["from"] == "ebay" ){$sql_sum = "SELECTsum(Preis_pro_Stueck*Menge) AS totalFROMartikel_to_BestellungWHEREBestellung=$bestell_id";if ( $_GET['sqlDebug'] == 1 ){echo 'Bestellsumme: <br>' . $sql_sum;}$res_sum = mysql_query( $sql_sum );$row_sum = mysql_fetch_assoc( $res_sum );$sum = $row_sum["total"];$sql_log = "INSERT INTOshop_log(verwendung,eintrag1,eintrag2,eintrag3,eintrag4)VALUES('Bestellung','" . $_GET["from"] . "',$sum,$bestell_id,'" . $_SERVER["REMOTE_ADDR"] . "')";if ( $_GET['sqlDebug'] == 1 ){echo 'shop_log: <br>' . $sql_log;}mysql_query( $sql_log );}}else{// Transaction ist vorhanden:// CheckoutAfterSales in der Tabelle 'eBay_Bestellung' = 0 und $ta->Status->CheckoutStatus = "CheckoutComplete", dann update die Tabelle 'eBay_Bestellung' und 'Bestellung'$sql = "SELECTCheckoutAfterSales,a2b_ID,a2b.Bestellung AS bestellIdFROMeBay_Bestellung AS ebJOINartikel_to_Bestellung AS a2bONeb.a2b_ID = a2b.IDWHERETransactionId = '" . $ta->TransactionID . "'";$result = mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' . mysql_error() .'<hr />' . $sql ) );$row = mysql_fetch_assoc( $result );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'eBay_Bestellung: <br>' . $sql;}$CheckoutAfterSales = $row["CheckoutAfterSales"];$Bestellung_ID = $row['bestellId'];// Wenn '$Bestellung_ID' nicht vorhanden ist, heißt das der Transaktion nicht vorhanden ist,// in diesem Fall soll auch kein Update gefahren werden.if ( $Bestellung_ID ){// Wenn der CheckoutStatus verändert wurdeif ( 0 == $CheckoutAfterSales && "CheckoutComplete" == $ta->Status->CheckoutStatus ){$sql = "UPDATEeBay_BestellungSETCheckoutAfterSales = 1,PaymentMethodUsed = '" . $ta->Status->PaymentMethodUsed . "'WHERETransactionId = '" . $ta->TransactionID . "'";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'eBay_Bestellung(UPDATE): <br>' . $sql;}if ( $ta->BuyerCheckoutMessage ){$buyercheckoutmessage = '\nAnmerkung des Käufers: ' .mysql_real_escape_string( deutsche_umlaute( $ta->BuyerCheckoutMessage ) );}if ( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ){if ( preg_match_all( "/[0-9]/", $ta->Buyer->BuyerInfo->ShippingAddress->Street1, $matches ) &&!preg_match_all( "/[0-9]/", $ta->Buyer->BuyerInfo->ShippingAddress->Street2, $matches2 ) ){$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) );$liefer_Firma = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );}else{$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );$liefer_Firma = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );}if ( $_GET['nachricht'] == 1 ){mail( "admin@weban.de",'Update Bestellung mit STREET2 ' . $ta->PayPalEmailAddress, "\nName: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) ) ."\nStreet1: " . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) ) . "\nStreet2: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) ) ."\nAddressOwner: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->AddressOwner ) ) . "\nName: " . $liefer_Name ." Strasse: " . $liefer_Strasse ." Firma: " . $liefer_Firma );}}else{$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );$liefer_Firma = '';}$jetztBezahlen = ( $ta->Status->CheckoutStatus =="CheckoutComplete" ) ?"Der Käufer hat die Kaufabwicklung nach dem Kauf abgeschlossen\nZahlungsart: " .$ta->Status->PaymentMethodUsed : "";$sql = "UPDATEBestellungSETBemerkung = CONCAT(Bemerkung,'\n" . $jetztBezahlen ."\n" . $buyercheckoutmessage . "'),liefer_Firma = '" . mysql_real_escape_string( $liefer_Firma ) ."',liefer_Name = '" . mysql_real_escape_string( $liefer_Name ) ."',liefer_Strasse = '" . mysql_real_escape_string( $liefer_Strasse ) ."',liefer_PLZ = '" . deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->PostalCode ) . "',liefer_Ort = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->CityName ) ) ."',liefer_Land = '" . deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->CountryName ) . "'WHEREID = '" . $Bestellung_ID . "'";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Bestellung(UPDATE): <br>' . $sql;}// Versand angegeben?if ( isset( $ta->ShippingServiceSelected->ShippingService ) ){// SQL: Hole die ID des eBay-Versandartikels$sql = "SELECTIDFROMartikelWHEREkurzbezeichnung = 'eBay-Versand'ANDFather = -3";$result = mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );$row = mysql_fetch_assoc( $result );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'artikel: <br>' . $sql;}// eBay Versandartikel$ebay_versandartikel_id = $row["ID"];// Falls der Bezeichnung "DE_Paket" für den Versandartikel in der XML ist,// dann nenne ihn "Vorkasse / Versandkosten"$va_bez = ( deutsche_umlaute( $ta->ShippingServiceSelected->ShippingService ) =="DE_Paket" ) ? "Vorkasse / Versandkosten" :deutsche_umlaute( $ta->ShippingServiceSelected->ShippingService );// SQL: Versandartikel in die Bestellung übernehmen$sql = "INSERT INTO artikel_to_Bestellung(artikel,Bestellung,Menge,Preis_pro_Stueck,Bezeichnung,status)VALUES('" . $ebay_versandartikel_id . "'," . $Bestellung_ID . "," . 1 . "," . $ta->ShippingServiceSelected->ShippingServiceCost . ",'" . $va_bez . "','')";mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'artikel_to_Bestellung(INSERT): <br>' . $sql;}}}else{$sql = "SELECTliefer_Strasse,liefer_FirmaFROMBestellungWHEREID = $Bestellung_ID";echo $sql;$res = mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Bestellung(UPDATE): <br>' . $sql;}$row = mysql_fetch_assoc( $res );echo 'liefer_Strasse: ' . $row["liefer_Strasse"];echo 'liefer_Firma: ' . $row["liefer_Firma"];echo ' ShippingAddress->Street1: ' .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );if ( $row["liefer_Strasse"] != mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) ) || $row["liefer_Firma"] !=mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) ) ){if ( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ){if ( preg_match_all( "/[0-9]/", $ta->Buyer->BuyerInfo->ShippingAddress->Street1, $matches ) &&!preg_match_all( "/[0-9]/", $ta->Buyer->BuyerInfo->ShippingAddress->Street2, $matches2 ) ){$str = $ta->Buyer->BuyerInfo->ShippingAddress->Street1;preg_match_all( "/[0-9]+.*$/", $str, $matches_hnr );$hnr = $matches_hnr[0][0];$str = substr( $str, 0, strlen( $str ) -strlen( $hnr ) - 1 );$liefer_StrasseNr = $hnr;$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $str ) );$liefer_StrasseNr = mysql_real_escape_string( ( deutsche_umlaute( $hnr ) ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) );$liefer_Firma = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );}else{$str = $ta->Buyer->BuyerInfo->ShippingAddress->Street2;preg_match_all( "/[0-9]+.*$/", $str, $matches_hnr );$hnr = $matches_hnr[0][0];$str = substr( $str, 0, strlen( $str ) -strlen( $hnr ) - 1 );$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $str ) );$liefer_StrasseNr = mysql_real_escape_string( ( deutsche_umlaute( $hnr ) ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );$liefer_Firma = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );}if ( $_GET['nachricht'] == 1 ){mail( "admin@weban.de",'Update Bestellung mit STREET2 ' . $ta->PayPalEmailAddress, "\nName: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) ) . "\nStreet1: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) ) . "\nStreet2: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Street2 ) ) . "\nAddressOwner: " .mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->AddressOwner ) ) . "\nName: " .$liefer_Name . " Strasse: " . $liefer_Strasse ." StrasseNr: " . $liefer_StrasseNr ." Firma: " . $liefer_Firma );}}else{$str = $ta->Buyer->BuyerInfo->ShippingAddress->Street1;preg_match_all( "/[0-9]+.*$/", $str, $matches_hnr );$hnr = $matches_hnr[0][0];$str = substr( $str, 0, strlen( $str ) - strlen( $hnr ) - 1 );$liefer_Strasse = mysql_real_escape_string( deutsche_umlaute( $str ) );$liefer_StrasseNr = mysql_real_escape_string( ( deutsche_umlaute( $hnr ) ) );$liefer_Name = mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->Name ) );$liefer_Firma = '';}echo $Bestellung_ID;$sql = "UPDATEBestellungSETliefer_Firma = '" . mysql_real_escape_string( $liefer_Firma ) ."',liefer_Name = '" . mysql_real_escape_string( $liefer_Name ) ."',liefer_Strasse = '" .mysql_real_escape_string( $liefer_Strasse ) ."',liefer_Str_Nr = '" .mysql_real_escape_string( $liefer_StrasseNr ) ."',liefer_PLZ = '" . deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->PostalCode ) ."',liefer_Ort = '" . mysql_real_escape_string( deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->CityName ) ) . "',liefer_Land = '" . deutsche_umlaute( $ta->Buyer->BuyerInfo->ShippingAddress->CountryName ) ."'WHEREID = '" . $Bestellung_ID . "'";if ( $_GET['nachricht'] == 1 ){// mail( "admin@weban.de", 'Update Bestellung ' . $ta->// PayPalEmailAddress, 'User: ' . $ta->Buyer->// UserID . 'SQL: ' . $sql );}mysql_query( $sql ) or die( mail( "admin@weban.de","eBay-Cronjob Fehler", mysql_errno() . ': ' .mysql_error() . '<hr />' . $sql . ' Street1: ' .$ta->Buyer->BuyerInfo->ShippingAddress->Street1 ) );// Debugif ( $_GET['sqlDebug'] == 1 ){echo 'Bestellung(UPDATE): <br>' . $sql;}}}}if ( $_GET["from"] == "ebay" ){$sql_sum = "SELECTsum(Preis_pro_Stueck*Menge) AS totalFROMartikel_to_BestellungWHEREBestellung=$Bestellung_ID";if ( $_GET['sqlDebug'] == 1 ){echo 'Bestellsumme: <br>' . $sql_sum;}$res_sum = mysql_query( $sql_sum );$row_sum = mysql_fetch_assoc( $res_sum );$sum = $row_sum["total"];$sql_log = "UPDATEshop_logSETeintrag2=$sumWHEREverwendung='Bestellung'ANDeintrag1='" . $_GET["from"] . "'ANDeintrag3=$Bestellung_ID";if ( $_GET['sqlDebug'] == 1 ){echo 'shop_log (UPDATE): <br>' . $sql_log;}mysql_query( $sql_log );}unset( $Bestellung_ID );}}?>