|
|||
|
Hallöchen mal wider,
habe da, wie könnte es auch anders sein, ein kleines Problem. Habe mir gerade Amicron Faktura 10 zugelegt. Leider klappt das mit der Veyton Schnittstelle noch nicht so ganz. Ich gehe mal davon aus, das ich alle Einstellung für die Schnittstelle bei Amicron richtig gemacht habe, da Amicron auf den Shop zugreifen kann. Die af_xtscript100.php habe ich in den /export Ordner gelegt. Leider werden beim Importversuch über Amicron nur 3 Artikel ohne Namen und ohne sonstiege Bezeichnung zu Auswahl dargestellt. Offenbar gibt es keine Verbindung zu den Artikeln bez. Amicron kann sie nicht abrufen. Meine Frage; muss ich irgendwas beim Export-Manager von Veyton einstellen, damit Amicron Zugriff auf die Kunden, Artikel usw. bekommt? Liebe Grüße CG |
|
|||
|
Laut der Amicron Anleitung muss man bei der Amicron Einstellung die Login Daten von Veyton benutzen um einen Zugang zu bekommen. Habe ich immer gemacht. Testweise habe ich es eben ohne Anmeldedaten versucht; hier erscheint genau das selbe wie zuvor mit den Anmaldedaten. Es werden mir wieder die drei namenlosen Artikel angezeigt. Liegt der Fehler möglicherweise im Login?
|
|
|||
|
Geändert von Horstl (07.09.2010 um 08:25 Uhr) |
|
|||
|
geht bei mir nicht!!!
es kommt im DEBUG LOG von amicron eine leere datei!!! jemand eine IDee woran es liegen kann? Server läuft soweit ! aber ich nehme an veyton macht probleme...... weil der support shcon so geheimnissvoll rum mailt und nix dazu sagt.....
|
|
|||
|
<?php
/************************************************** ********************** * af_xtc4.php * * * * Schnittstellenskript für Artikelabgleich und Auftragsimport * * zwischen xt:commerce 4.0.12 Veyton und Amicron Faktura 10.0 * * * * Version vom 06.09.10 CN * * Amicron Software * * technik@amicron.de * * * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * * as published by the Free Software Foundation; either version 2 * * of the License, or any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * * 02111-1307, USA. * * * ************************************************** ***********************/ // Standard-Defines define('_VALID_CALL', 'true'); define('CHARSET','iso-8859-1'); // Default-Sprache $LangID = 2; // Skriptversion $version_datum = '2010.05.05'; $version_major = 2; $version_minor = 2; // Benötigte Konfigurationsdateien require_once("../conf/config.php"); require_once("../conf/database.php"); require_once("../conf/paths.php"); // POST / GET auslesen if (isset($_POST['action'])) { $aktion=$_POST['action']; } else { $aktion=$_GET['action']; } if (isset($_POST['user'])) { $user=$_POST['user']; } else { $user=$_GET['user']; } if (isset($_POST['password'])) { $password=$_POST['password']; } else { $password=$_GET['password']; } // XML-Header erzeugen header ("Last-Modified:". gmdate("D, d M Y H:i:s"). " GMT" ); header ("Cache-Control: no-cache, must-revalidate"); header ("Pragma: no-cache"); header ("Content-type: text/xml"); // Debug aktiv? if ($_GET['Debug']=="Y") { ShowDebug(); exit; } // DB-Verbindung herstellen, // Authentifizierung und Autorisierung durchführen if (db_connect() && login($user, $password)) { // Aufgerufene Aktion ausführen switch ($aktion) { case 'read_shopdata': // Allgemeine Shopdaten auslesen readShopdata(); exit; case 'read_languages': // Sprachen auslesen readLanguages(); exit; case 'read_hersteller': // Hersteller auslesen readHersteller(); exit; case 'read_categories': // Kategorien auslesen readCategories(); exit; case 'read_artikel': // Artikeldaten auslesen readArtikel(); exit; case 'write_categorie': // Kategorie schreiben writeCategorie(); exit; case 'write_artikel': // Artikel schreiben writeArtikel(); exit; case 'write_hersteller': // Hersteller schreiben WriteHersteller(); exit; case 'delete_artikel': // Artikel löschen deleteArtikel((integer)($_POST['Artikel_ID'])); exit; case 'orders_export': // Bestellungen abrufen ordersExport((integer)($_GET['order_from'])); exit; case 'order_update': // Bestellstatus ändern orderUpdate(); exit; default: // Default: Versionsinfo ReadVersion(); exit; } mysql_close(); } // - - - Shopdaten auslesen - - - function readShopData() { global $n, $hk; echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . "<SHOPDATA>" . $n . " <TAXRATES>" . $n; $cmd = "select tax_class_id,tax_rate from " . TABLE_TAX_RATES; $tax_query = mysql_query($cmd); while ($tax = mysql_fetch_array($tax_query)) { if ((integer)($tax[tax_rate]) > 0) { echo " <TAX>" . $n . " <ID>$tax[tax_class_id]</ID>" . $n . " <RATE>$tax[tax_rate]</RATE>" . $n . " </TAX>" . $n; } } echo " </TAXRATES>" . $n . " <SHIPPINGSTATUS>" . $n; $cmd = "select shipping_id, language_code, shipping_name from " . TABLE_SHIPPING_DESCRIPTION; $ss_query = mysql_query($cmd) or die(mysql_error()); while ($ss = mysql_fetch_array($ss_query)) { echo " <SHIPPINGSTATUS_DATA>" . $n . " <ID>$ss[shipping_id]</ID>" . $n . " <LANGUAGEID>$ss[language_code]</LANGUAGEID>" . $n . " <NAME>" . htmlspecialchars($ss['shipping_name']) . "</NAME>" . $n . " </SHIPPINGSTATUS_DATA>" . $n; } echo " </SHIPPINGSTATUS>" . $n . " <CUSTOMERSSTATUS>" . $n; $cmd = "select customers_status_id, language_code, customers_status_name from " . TABLE_CUSTOMERS_STATUS_DESCRIPTION; $ss_query = mysql_query($cmd) or die(mysql_error()); while ($ss = mysql_fetch_array($ss_query)) { echo " <CUSTOMERSSTATUS_DATA>" . $n . " <ID>$ss[customers_status_id]</ID>" . $n . " <LANGUAGEID>$ss[language_code]</LANGUAGEID>" . $n . " <NAME>" . htmlspecialchars($ss['customers_status_name']) . "</NAME>" . $n . " </CUSTOMERSSTATUS_DATA>" . $n; } echo " </CUSTOMERSSTATUS>" . $n . " <CONFIGURATION>" . $n; $cmd = "select config_key, config_value from " . TABLE_CONFIGURATION; $ss_query = mysql_query($cmd) or die(mysql_error()); while ($ss = mysql_fetch_array($ss_query)) { echo " <CONFIGURATION_DATA>" . $n . " <KEY>" . htmlspecialchars($ss['config_key']) . "</KEY>" . $n . " <VALUE>" . htmlspecialchars($ss['config_value']) . "</VALUE>" . $n . " </CONFIGURATION_DATA>" . $n; } echo " </CONFIGURATION>" . $n . " </SHOPDATA>" . $n; } // - - - Sprachen auslesen - - - function readLanguages() { global $n, $hk; echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . "<LANGUAGES>" . $n; $cmd = "select languages_id,name,code from " . TABLE_LANGUAGES; $languages_query = mysql_query($cmd); while ($languages = mysql_fetch_array($languages_query)) { echo " <LANGUAGES_DATA>" . $n . " <ID>$languages[languages_id]</ID>" . $n . " <NAME>" . htmlspecialchars($languages["name"]) . "</NAME>" . $n . " <CODE>" . htmlspecialchars($languages["code"]) . "</CODE>" . $n . " </LANGUAGES_DATA>" . $n; } echo "</LANGUAGES>" . $n; } // - - - Kategorien abrufen - - - function readCategories() { global $n, $hk; echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . "<CATEGORIES>" . $n; $cmd = "select categories_id, parent_id from " . TABLE_CATEGORIES . " order by parent_id, categories_id"; $cat_query = mysql_query($cmd); while ($cat = mysql_fetch_array($cat_query)) { echo " <CATEGORIES_DATA>" . $n . " <ID>$cat[categories_id]</ID>" . $n . " <PARENT_ID>$cat[parent_id]</PARENT_ID>" . $n . " <NAMES>" . $n; $cmd = "select language_code, categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id=" . $cat['categories_id']; $names_query = mysql_query($cmd) or die(mysql_error()); while ($names = mysql_fetch_array($names_query)) { $cmd = "select languages_id , code from " . TABLE_LANGUAGES . " where code=" . $hk . $names[language_code] . $hk; $languages_query = mysql_query($cmd); $languages = mysql_fetch_array($languages_query); echo " <NAMEENTRY>" . $n . " <LANGUAGEID>$languages[languages_id]</LANGUAGEID>" . $n . " <NAME>" . htmlspecialchars($names['categories_name']) . "</NAME>" . $n . " </NAMEENTRY>" . $n; } echo " </NAMES>" . $n . " </CATEGORIES_DATA>" . $n; } echo "</CATEGORIES>" . $n; } // - - - Hersteller abrufen - - - function readHersteller() { global $n, $hk; echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . "<MANUFACTURERS>" . $n; $cmd = "select manufacturers_id,manufacturers_name from " . TABLE_MANUFACTURERS; $manufacturers_query = mysql_query($cmd) or die(mysql_error()); while ($manufacturers = mysql_fetch_array($manufacturers_query)) { echo " <MANUFACTURERS_DATA>" . $n . " <ID>$manufacturers[manufacturers_id]</ID>" . $n . " <NAME>" . htmlspecialchars($manufacturers["manufacturers_name"]) . "</NAME>" . $n . " </MANUFACTURERS_DATA>" . $n; } echo "</MANUFACTURERS>" . $n; } // - - - Artikel auslesen - - - function readArtikel() { global $n, $hk; $SkipImages = (bool)($_GET['SkipImages']); if (defined('SET_TIME_LIMIT')) { xtc_set_time_limit(0); } $cmd = "select products_id,products_quantity,products_model,produ cts_image," . "products_price,products_weight,products_ean,produ cts_status,products_tax_class_id," . "manufacturers_id,products_shippingtime,products_s tartpage,products_vpe," . "products_vpe_value,products_vpe_status from " . TABLE_PRODUCTS; if (isset($_GET['AbDatum'])) { $cmd .= " where last_modified>='" . $_GET['AbDatum'] ."'"; } $HasLimit = (isset($_GET['LimitOffset']) && isset($_GET['LimitRowCount'])); if ($HasLimit) { $cmd .= " limit " . (integer)($_GET['LimitOffset']) . ', ' . (integer)($_GET['LimitRowCount']); } echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . "<ARTIKEL"; if ($HasLimit) { echo ' WithLimit="True"'; } echo ">" . $n; $artikel_query = mysql_query($cmd); while ($artikel = mysql_fetch_array($artikel_query)) { $cmdcat = "select categories_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = $artikel[products_id] LIMIT 1"; $cat_query = mysql_query($cmdcat); $cat = mysql_fetch_array($cat_query); echo " <ARTIKEL_DATA>" . $n . " <ID>$artikel[products_id]</ID>" . $n . " <ARTIKELNR>" . htmlspecialchars($artikel['products_model']) . "</ARTIKELNR>" . $n . " <TEXTE>" . $n; $cmd = "select * from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id=" . $artikel['products_id']; $texte_query = mysql_query($cmd) or die(mysql_error()); while ($texte = mysql_fetch_array($texte_query)) { $cmd = "SELECT languages_id FROM " . TABLE_LANGUAGES . " WHERE code = " . "'" .$texte[language_code] . "'"; $languages_query = mysql_query($cmd) or die(mysql_error()); $languages = mysql_fetch_array($languages_query); $cmd = "SELECT * FROM " . TABLE_SEO_URL . " WHERE link_id = " . "'" .$artikel['products_id'] . "' AND link_type = '1' AND language_code = ''"; $seo_query = mysql_query($cmd) or die(mysql_error()); $seo = mysql_fetch_array($seo_query); echo " <TEXT>" . $n . " <LANGUAGEID>$languages[languages_id]</LANGUAGEID>" . $n . " <NAME>" . htmlspecialchars($texte['products_name']) ."</NAME>" . $n . " <DESCRIPTION>" . htmlspecialchars($texte['products_description']) . "</DESCRIPTION>" . $n . " <SHORTDESCRIPTION>" . htmlspecialchars($texte['products_short_description']) . "</SHORTDESCRIPTION>" . $n . " <METATITLE>" . htmlspecialchars($seo['meta_title']) . "</METATITLE>" . $n . " <METADESCRIPTION>" . htmlspecialchars($seo['meta_description']) . "</METADESCRIPTION>" . $n . " <METAKEYWORDS>" . htmlspecialchars($seo['meta_keywords']) . "</METAKEYWORDS>" . $n . " <URL>" . htmlspecialchars($texte['products_url']) . "</URL>" . $n . " </TEXT>" . $n; } echo " </TEXTE>" . $n . " <PREISE>" . $n; for($i = 1; $i <= 3; $i++) { $cmd = "select discount_quantity, price from " . TABLE_PRODUCTS_PRICE_GROUP . $i . " where products_id=" . $artikel['products_id']; $preise_query = mysql_query($cmd) or die(mysql_error()); while ($preise = mysql_fetch_array($preise_query)) { echo " <PREIS>" . $n . " <GRUPPE>$i</GRUPPE>" . $n . " <MENGE>$preise[discount_quantity]</MENGE>" . $n . " <PREIS>$preise[price]</PREIS>" . $n . " </PREIS>" . $n; } } $cmd = "select discount_quantity, price from " . TABLE_PRODUCTS_PRICE_GROUP . "all" . " where products_id=" . $artikel['products_id']; $preise_query = mysql_query($cmd) or die(mysql_error()); while ($preise = mysql_fetch_array($preise_query)) { echo " <PREIS>" . $n . " <GRUPPE>0</GRUPPE>" . $n . " <MENGE>$preise[discount_quantity]</MENGE>" . $n . " <PREIS>$preise[price]</PREIS>" . $n . " </PREIS>" . $n; } echo " </PREISE>" . $n . " <GEWICHT>$artikel[products_weight]</GEWICHT>" . $n . " <EAN>" . htmlspecialchars($artikel['products_ean']) . "</EAN>" . $n . " <PREIS>$artikel[products_price]</PREIS>" . $n . " <MENGE>" . round($artikel[products_quantity], 0) . "</MENGE>" . $n . " <STATUS>$artikel[products_status]</STATUS>" . $n . " <STEUERSATZ>$artikel[products_tax_class_id]</STEUERSATZ>\n" . " <HERSTELLER_ID>$artikel[manufacturers_id]</HERSTELLER_ID>" . $n . " <KATEGORIE>$cat[categories_id]</KATEGORIE>\n" ; $bildname = $artikel['products_image']; $bild = ''; $pfad = "../"._SRV_WEB_IMAGES._DIR_ORG; if ($bildname!='' && file_exists($pfad . $bildname)) { $bild = @implode("",@file($pfad . $bildname)); } echo " <BILDDATEI>" . htmlspecialchars($artikel['products_image']) . "</BILDDATEI>" . $n . " <BILD>" . base64_encode($bild) . "</BILD>" . $n; $cmd = "SELECT L.m_id, L.link_id, L.class, L.type, file FROM " . TABLE_MEDIA_LINK . " L ". "INNER JOIN " . TABLE_MEDIA . " ON L.m_id = " . TABLE_MEDIA . ".id " . "WHERE L.class='product' AND L.type='images' AND L.link_id='" . $artikel['products_id'] . "'"; $bilder_query = mysql_query($cmd) or die(mysql_error()); while ($bilder = mysql_fetch_array($bilder_query)) { $bildname = $bilder['file']; $bild = ''; if ($bildname!='' && file_exists($pfad . $bildname)) { $bild = @implode("",@file($pfad . $bildname)); echo " <IMAGES>" . $n . " <IMAGE>" . $n . " <NAME>" . $bildname . "</NAME>" . $n . " <BILD>" . base64_encode($bild) . "</BILD>" . $n . " </IMAGE>" . $n . " </IMAGES>\n" ; } } echo " <LIEFERSTATUS>$artikel[products_shippingtime]</LIEFERSTATUS>" . $n . " <STARTSEITE>$artikel[products_startpage]</STARTSEITE>" . $n; if ($artikel['products_vpe_status'] == 1) { echo " <VPEValue>$artikel[products_vpe_value]</VPEValue>"; } echo " </ARTIKEL_DATA>" . $n; } echo "</ARTIKEL>" . $n; } // - - - Artikel-Löschen - - - function deleteArtikel() { global $action, $version_major, $version_minor; $Artikel_ID = (integer)($_POST['Artikel_ID']); mysql_query("DELETE FROM " . TABLE_PRODUCTS . " WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_PRICE_SPECIAL . " WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_PRICE_GROUP."1 WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_PRICE_GROUP."2 WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_PRICE_GROUP."3 WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_PRICE_GROUP."all WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_DESCRIPTION . " WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_CROSS_SELL . " WHERE products_id='" . $Artikel_ID . "' OR products_id_cross_sell='". $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_PRODUCTS_SERIAL . " WHERE products_id='" . $Artikel_ID . "'"); mysql_query("DELETE FROM " . TABLE_SEO_URL . " WHERE link_type='1' AND link_id='" . $Artikel_ID . "'"); echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . "\n" . "<STATUS>\n" . " <STATUS_DATA>\n" . " <ACTION>$action</ACTION>\n" . " <CODE>0</CODE>\n" . " <MESSAGE>OK</MESSAGE>\n" . " <ID>$Artikel_ID</ID>\n" . " <SCRIPT_VERSION_MAJOR>$version_major</SCRIPT_VERSION_MAJOR>\n" . " <SCRIPT_VERSION_MINOR>$version_minor</SCRIPT_VERSION_MINOR>\n" . " </STATUS_DATA>\n" . "</STATUS>\n\n"; } // - - - Bestellungen abrufen - - - function ordersExport($order_from) { global $n, $hk; $query = "SELECT * FROM " . TABLE_ORDERS . " where orders_id >= " . $hk . $order_from . $hk; $result = mysql_query($query); echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . '<ORDER>'; while ($orders = mysql_fetch_array($result)) { echo ' <ORDER_INFO>' . $n . ' <ORDER_HEADER>' . $n . ' <ORDER_ID>' . $orders['orders_id'] . '</ORDER_ID>' . $n . ' <CUSTOMER_ID>' . $orders['customers_id'] . '</CUSTOMER_ID>' . $n . ' <CUSTOMER_CID>' . $orders['customers_cid'] . '</CUSTOMER_CID>' . $n . ' <CUSTOMER_GROUP>' . $orders['customers_status'] . '</CUSTOMER_GROUP>' . $n . ' <ORDER_DATE>' . $orders['date_purchased'] . '</ORDER_DATE>' . $n . ' <ORDER_STATUS>' . $orders['orders_status'] . '</ORDER_STATUS>' . $n . ' <ORDER_IP>' . $orders['customers_ip'] . '</ORDER_IP>' . $n . ' <ORDER_CURRENCY>' . htmlspecialchars($orders['currency_code']) . '</ORDER_CURRENCY>' . $n . ' <ORDER_CURRENCY_VALUE>' . $orders['currency_value'] . '</ORDER_CURRENCY_VALUE>' . $n . ' </ORDER_HEADER>' . $n . ' <BILLING_ADDRESS>' . $n; if (htmlspecialchars($orders['billing_gender'])=="m") { $billing_gender = "Herr"; } else if (htmlspecialchars($orders['billing_gender'])=="f") { $billing_gender = "Frau"; } else if (htmlspecialchars($orders['billing_gender'])=="c") { $billing_gender = "Firma"; } else { $billing_gender = ""; } echo ' <GENDER>' . $billing_gender . '</GENDER>' . $n . ' <TELEPHONE>' . htmlspecialchars($orders['billing_phone']) . '</TELEPHONE>' . $n . ' <FAX>' . htmlspecialchars($orders['billing_fax']) . '</FAX>' . $n . ' <FIRSTNAME>' . htmlspecialchars($orders['billing_firstname']) . '</FIRSTNAME>' . $n . ' <LASTNAME>' . htmlspecialchars($orders['billing_lastname']) . '</LASTNAME>' . $n . ' <COMPANY>' . htmlspecialchars($orders['billing_company']) . '</COMPANY>' . $n . ' <COMPANY2>' . htmlspecialchars($orders['billing_company_2']) . " " . htmlspecialchars($orders['billing_company_3']) . '</COMPANY2>' . $n . ' <STREET>' . htmlspecialchars($orders['billing_street_address']) . '</STREET>' . $n . ' <CITY>' . htmlspecialchars($orders['billing_city']) . " " . htmlspecialchars($orders['billing_suburb']) . '</CITY>' . $n . ' <ZIP>' . htmlspecialchars($orders['billing_postcode']) . '</ZIP>' . $n . ' <ZONE>' . htmlspecialchars($orders['billing_zone']) . '</ZONE>' . $n . ' <ZONE_CODE>' . htmlspecialchars($orders['billing_zone_code']) . '</ZONE_CODE>' . $n . ' <COUNTRY>' . htmlspecialchars($orders['billing_country']) . '</COUNTRY>' . $n . ' <COUNTRY_CODE>' . htmlspecialchars($orders['billing_country_code']) . '</COUNTRY_CODE>' . $n . ' <EMAIL>' . htmlspecialchars($orders['customers_email_address']) . '</EMAIL>' . $n . ' <UID>' . htmlspecialchars($orders['customers_vat_id']) . '</UID>' . $n; $query_dob = "select customers_dob from " . TABLE_CUSTOMERS_ADDRESSES . " where address_book_id = " . $hk . $orders['billing_address_book_id'] . $hk; $result_dob = mysql_query($query_dob); $orders_dob = mysql_fetch_array($result_dob); echo ' <DOB>' . $orders_dob['customers_dob'] . '</DOB>' . $n; mysql_free_result($result_dob); echo ' </BILLING_ADDRESS>' . $n . ' <DELIVERY_ADDRESS>' . $n; if (htmlspecialchars($orders['delivery_gender'])=="m") { $delivery_gender = "Herr"; } else if (htmlspecialchars($orders['delivery_gender'])=="f") { $delivery_gender = "Frau"; } else if (htmlspecialchars($orders['delivery_gender'])=="c") { $delivery_gender = "Firma"; } else { $delivery_gender = ""; } echo ' <GENDER>' . $delivery_gender . '</GENDER>' . $n . ' <TELEPHONE>' . htmlspecialchars($orders['delivery_phone']) . '</TELEPHONE>' . $n . ' <FAX>' . htmlspecialchars($orders['delivery_fax']) . '</FAX>' . $n . ' <FIRSTNAME>' . htmlspecialchars($orders['delivery_firstname']) . '</FIRSTNAME>' . $n . ' <LASTNAME>' . htmlspecialchars($orders['delivery_lastname']) . '</LASTNAME>' . $n . ' <COMPANY>' . htmlspecialchars($orders['delivery_company']) . '</COMPANY>' . $n . ' <COMPANY2>' . htmlspecialchars($orders['delivery_company_2']) . " " . htmlspecialchars($orders['delivery_company_3']) . '</COMPANY2>' . $n . ' <STREET>' . htmlspecialchars($orders['delivery_street_address']) . '</STREET>' . $n . ' <CITY>' . htmlspecialchars($orders['delivery_city']) . " " . htmlspecialchars($orders['delivery_suburb']) . '</CITY>' . $n . ' <ZIP>' . htmlspecialchars($orders['delivery_postcode']) . '</ZIP>' . $n . ' <ZONE>' . htmlspecialchars($orders['delivery_zone']) . '</ZONE>' . $n . ' <ZONE_CODE>' . htmlspecialchars($orders['delivery_zone_code']) . '</ZONE_CODE>' . $n . ' <COUNTRY>' . htmlspecialchars($orders['delivery_country']) . '</COUNTRY>' . $n . ' <COUNTRY_CODE>' . htmlspecialchars($orders['delivery_country_code']) . '</COUNTRY_CODE>' . $n . ' </DELIVERY_ADDRESS>' . $n . ' <PAYMENT>' . $n . ' <PAYMENT_CODE>' . htmlspecialchars($orders['payment_code']) . '</PAYMENT_CODE>' . $n . ' </PAYMENT>' . $n . ' <SHIPPING>' . $n . ' <SHIPPING_CODE>' . htmlspecialchars($orders['shipping_code']) . '</SHIPPING_CODE>' . $n . ' </SHIPPING>' . $n . ' <ORDER_PRODUCTS>' . $n; $query_prod = "select * from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . $orders['orders_id'] . "'"; $result_prod = mysql_query($query_prod); while ($products = mysql_fetch_array($result_prod)) { echo ' <PRODUCT>' . $n . ' <PRODUCTS_ID>' . $products['products_id'] . '</PRODUCTS_ID>' . $n . ' <PRODUCTS_QUANTITY>' . $products['products_quantity'] . '</PRODUCTS_QUANTITY>' . $n . ' <PRODUCTS_MODEL>' . htmlspecialchars($products['products_model']) . '</PRODUCTS_MODEL>' . $n . ' <PRODUCTS_NAME>' . htmlspecialchars($products['products_name']) . '</PRODUCTS_NAME>' . $n . ' <PRODUCTS_PRICE>' . $products['products_price'] . '</PRODUCTS_PRICE>' . $n . ' <PRODUCTS_TAX>' . $products['products_tax'] . '</PRODUCTS_TAX>' . $n; $preis= $products['products_price']; $steuer= ($products['products_tax'] * 0.01) + 1; $epreis= $preis * $steuer; echo ' <PRODUCTS_EPRICE>' . $epreis . '</PRODUCTS_EPRICE>' . $n . ' <PRODUCTS_TAX_FLAG>' . $products['allow_tax'] . '</PRODUCTS_TAX_FLAG>' . $n . ' <PRODUCTS_DISCOUNT>' . $products['products_discount'] . '</PRODUCTS_DISCOUNT>' . $n . ' <PRODUCTS_TAX_CLASS>' . $products['products_tax_class'] . '</PRODUCTS_TAX_CLASS>' . $n . ' <PRODUCTS_DATA>' . $products['products_data'] . '</PRODUCTS_DATA>' . $n . ' </PRODUCT>' . $n; } mysql_free_result($result_prod); echo ' </ORDER_PRODUCTS>' . $n . ' <ORDER_TOTAL>' . $n; $query_total = "select * from " . TABLE_ORDERS_TOTAL . " where orders_id = " . $hk . $orders['orders_id'] . $hk; $result_total = mysql_query($query_total); while ($totals = mysql_fetch_array($result_total)) { echo ' <TOTAL>' . $n . ' <TOTAL_KEY_ID>' . htmlspecialchars($totals['orders_total_key_id']) . '</TOTAL_KEY_ID>' . $n . ' <TOTAL_MODEL>' . htmlspecialchars($totals['orders_total_model']) . '</TOTAL_MODEL>' . $n . ' <TOTAL_NAME>' . htmlspecialchars($totals['orders_total_name']) . '</TOTAL_NAME>' . $n . ' <TOTAL_PRICE>' . htmlspecialchars($totals['orders_total_price']) . '</TOTAL_PRICE>' . $n . ' <TOTAL_TAX>' . htmlspecialchars($totals['orders_total_tax']) . '</TOTAL_TAX>' . $n . ' <TOTAL_TAX_CLASS>' . htmlspecialchars($totals['orders_total_tax_class']) . '</TOTAL_TAX_CLASS>' . $n . ' <TOTAL_QUANTITY>' . htmlspecialchars($totals['orders_total_quantity']) . '</TOTAL_QUANTITY>' . $n . ' <TOTAL_ALLOW_TAX>' . htmlspecialchars($totals['allow_tax']) . '</TOTAL_ALLOW_TAX>' . $n . ' <TOTAL_KEY>' . get_ot_class(htmlspecialchars($totals['orders_total_key'])) . '</TOTAL_KEY>' . $n . ' </TOTAL>' . $n; } mysql_free_result($result_total); echo ' </ORDER_TOTAL>' . $n . ' <ORDER_COMMENTS>' . htmlspecialchars($orders['comments']) . '</ORDER_COMMENTS>' . $n . ' </ORDER_INFO>' . $n . $n; } echo '</ORDER>' . $n . $n; mysql_free_result($result); } // - - - xtc4 Klassenbezeichnung in xtc3 ot_Klasse umbenennen - - - function get_ot_class($ot) { If ($ot=="shipping") {$otc="ot_shipping";} elseif ($ot=="coupon") {$otc="ot_coupon";} elseif ($ot=="discount") {$otc="ot_discount";} elseif ($ot=="loworderfee") {$otc="ot_loworderfee";} elseif ($ot=="gv") {$otc="ot_gv";} elseif ($ot=="total") {$otc="ot_total";} elseif ($ot=="fixcod") {$otc="ot_fixcod";} elseif ($ot=="cod_fee") {$otc="ot_cod_fee";} elseif ($ot=="payment") {$otc="ot_payment";} else {$otc="ot_shipping";} return $otc; } // - - - Auftragsstatus setzen - - - function orderUpdate() { global $action, $LangID, $version_major, $version_minor, $n, $hk; $Order_ID = (integer)($_POST['Order_id']); $Status = (integer)($_POST['Status']); if($Status == 2) { $Status=17; } else if($Status == 3) { $Status=23; } $orders_array = array('orders_status' => $Status); db_insert(TABLE_ORDERS, $orders_array, 'update' , " orders_id = ".$Order_ID); $orders_status_array = array('orders_id' => $Order_ID, 'orders_status_id' => $Status, 'date_added' => 'NOW()', 'customer_notified' => '0', 'comments' => '', 'change_trigger' => 'Amicron Faktura', 'callback_id' => '0'); db_insert(TABLE_ORDERS_STATUS_HISTORY, $orders_status_array); echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . "<STATUS>" . $n . " <STATUS_DATA>" . $n . " <ACTION>$action</ACTION>" . $n . " <CODE>0</CODE>" . $n . " <MESSAGE>OK</MESSAGE>" . $n . " <ORDER_ID>$Order_ID</ORDER_ID>" . $n . " <ORDER_STATUS>$Status</ORDER_STATUS>" . $n . " <SCRIPT_VERSION_MAJOR>$version_major</SCRIPT_VERSION_MAJOR>" . $n . " <SCRIPT_VERSION_MINOR>$version_minor</SCRIPT_VERSION_MINOR>" . $n . " </STATUS_DATA>" . $n . "</STATUS>" . $n . $n; } // - - - Artikel-Export - - - function writeArtikel() { global $action, $version_major, $version_minor; $ExportModus = $_POST['ExportModus']; $Artikel_ID = (integer)($_POST['Artikel_ID']); $Kategorie_ID = (integer)($_POST['Artikel_Kategorie_ID']); $Hersteller_ID = (integer)($_POST['Hersteller_ID']); $Artikel_Artikelnr = $_POST['Artikel_Artikelnr']; $Artikel_Menge = $_POST['Artikel_Menge']; $Artikel_Preis = $_POST['Artikel_Preis']; $Artikel_Gewicht = $_POST['Artikel_Gewicht']; $Artikel_Status = $_POST['Artikel_Status']; $Artikel_Steuersatz = $_POST['Artikel_Steuersatz']; $Artikel_Bilddatei = $_POST['Artikel_Bilddatei']; $Artikel_EAN = $_POST['Artikel_EAN']; $Artikel_Lieferstatus = $_POST['Artikel_Lieferstatus']; $Artikel_Startseite = (integer)($_POST['Artikel_Startseite']); $SkipImages = (bool)($_POST['SkipImages']); $Artikel_Texte = array(); $i = 1; while(isset($_POST["Artikel_Bezeichnung{$i}"])) { $Artikel_Texte[$i] = array( 'B' => $_POST["Artikel_Bezeichnung{$i}"], 'T' => $_POST["Artikel_Text{$i}"], 'S' => $_POST["Artikel_Kurztext{$i}"], 'L' => (integer)($_POST["Artikel_TextLanguage{$i}"]), 'MT' => $_POST["Artikel_MetaTitle{$i}"], 'MD' => $_POST["Artikel_MetaDescription{$i}"], 'MK' => $_POST["Artikel_MetaKeywords{$i}"], 'URL' => $_POST["Artikel_URL{$i}"]); $cmd = "SELECT code FROM " . TABLE_LANGUAGES . " WHERE languages_id = " . $_POST["Artikel_TextLanguage{$i}"]; $result = mysql_query($cmd) or die(mysql_error()); $language = mysql_fetch_array($result); $cmd = "SELECT products_id FROM " . TABLE_PRODUCTS_DESCRIPTION . " WHERE language_code = '" . $language['code'] . "'" . " AND products_name = '" . $_POST["Artikel_Bezeichnung{$i}"] ."'"; $result = mysql_query($cmd) or die(mysql_error()); if (mysql_fetch_array($result)) { $exists = TRUE; } $i++; } $Artikel_Preise = array(); $i = 1; while(isset($_POST["Artikelpreise_Preis{$i}"])) { $Artikel_Preise[$i] = array( 'P' => $_POST["Artikelpreise_Preis{$i}"], 'G' => (integer)$_POST["Artikelpreise_Gruppe{$i}"], 'M' => (integer)$_POST["Artikelpreise_Menge{$i}"]); $i++; } // Artikel laden if ($Artikel_ID!=0) { $cmd = "select products_image from " . TABLE_PRODUCTS . " where products_id='$Artikel_ID'"; $artikel_query = mysql_query($cmd); if ($artikel = mysql_fetch_array($artikel_query)) { $Bilddatei = $artikel['products_image']; // Alte Bilder entfernen if (!$SkipImages && $ExportModus == 'Overwrite') { if ($Bilddatei != '') { $dirIcon = "../"._SRV_WEB_IMAGES."icon/"; $dirInfo = "../"._SRV_WEB_IMAGES."info/"; $dirOrg = "../"._SRV_WEB_IMAGES."org/"; $dirPopup = "../"._SRV_WEB_IMAGES."popup/"; $dirThumb = "../"._SRV_WEB_IMAGES."thumb/"; $cmd = "select count(*) as total from " . TABLE_PRODUCTS . " where products_image = '$Bilddatei'"; $duplicate_image_query = mysql_query($cmd); $duplicate_image = mysql_fetch_array($duplicate_image_query); // Bild ist weniger als 2 Artikeln zugewiesen if ($duplicate_image['total'] < 2) { if (file_exists($dirIcon . $Bilddatei)) { @unlink($dirIcon . $Bilddatei); } if (file_exists($dirInfo . $Bilddatei)) { @unlink($dirInfo . $Bilddatei); } if (file_exists($dirOrg . $Bilddatei)) { @unlink($dirOrg . $Bilddatei); } if (file_exists($dirPopup . $Bilddatei)) { @unlink($dirPopup . $Bilddatei); } if (file_exists($dirThumb . $Bilddatei)) { @unlink($dirThumb . $Bilddatei); } } } mysql_query("UPDATE ".TABLE_RRODUCTS." SET products_image = '' WHERE products_id = '$Artikel_ID'"); } } } $mode='NONE'; // sofern es kein Datensatz gibt, oder er überschrieben werden kann, weitermachen if (!$exists || $ExportModus!='NoOverwrite') { // Array nur komplett füllen, wenn ein Insert oder ein Komplettes Update // durchgeführt wird (und nicht nur der Preis) if (!$exists || $ExportModus=='Overwrite') { $sql_data_array = array( 'products_id' => $Artikel_ID, 'permission_id' => $Artikel_ID, 'products_quantity' => $Artikel_Menge, 'products_model' => $Artikel_Artikelnr, 'products_price' => $Artikel_Preis, 'products_weight' => $Artikel_Gewicht, 'products_ean' => $Artikel_EAN, 'products_status' => "1", 'products_tax_class_id' => $Artikel_Steuersatz, 'products_shippingtime' => $Artikel_Lieferstatus, 'products_startpage' => $Artikel_Startseite, 'product_template' => "", 'product_list_template' => "", 'products_option_template' => "", 'products_option_list_template' => "", 'manufacturers_id' => $Hersteller_ID); if (!$SkipImages) { $sql_data_array['products_image'] = $Artikel_Bilddatei; } if (isset($_POST['Artikel_VPEValue'])) { $sql_data_array['products_vpe_status'] = 1; $sql_data_array['products_vpe_value'] = $_POST['Artikel_VPEValue']; } if (isset($_POST['Artikel_Grundeinheit']) && isset($_POST['Artikel_Masseinheit'])) { $vpe_name = $_POST['Artikel_Grundeinheit'] . ' ' . $_POST['Artikel_Masseinheit']; $vpe_id = 0; $sql_data_array['products_vpe'] = $vpe_id; } } else { if ($ExportModus=='PriceOnly') { // nur der Preis wird geändert $sql_data_array = array( 'products_price' => $Artikel_Preis); } if ($ExportModus=='QuantityOnly') { // nur die Menge wird geändert $sql_data_array = array( 'products_quantity' => $Artikel_Menge); } if ($ExportModus=='PriceAndQuantityOnly') { // nur der Preis und die Menge wird geändert $sql_data_array = array( 'products_quantity' => $Artikel_Menge, 'products_price' => $Artikel_Preis); } } if (!$exists) // Neuanlage (ID wird an Amicron-Faktura zurueckgegeben !!!) { $mode='INSERTED'; $insert_sql_data = array('date_added' => 'now()'); $sql_data_array = array_merge($sql_data_array, $insert_sql_data); $sql_data_array = array_slice($sql_data_array, 1); db_insert(TABLE_PRODUCTS, $sql_data_array); $Artikel_ID = mysql_insert_id(); foreach ($Artikel_Texte as $i => $AText) { if ($AText['L'] <> 0) { $cmd = "SELECT code FROM " . TABLE_LANGUAGES . " WHERE languages_id = " . $AText['L']; $result = mysql_query($cmd) or die(mysql_error()); $language = mysql_fetch_array($result); $seoUrl = $language['code']."/".str_replace(" ", "-", $AText['B']); $seoUrl = str_replace("(", "", $seoUrl); $seoUrl = str_replace(")", "", $seoUrl); $cmd = "SELECT url_md5 FROM " . TABLE_SEO_URL . " WHERE language_code = '" . $language['code'] . "'" . " AND url_text = '" . $seoUrl . "'"; $result = mysql_query($cmd); if(!mysql_fetch_array($result)) { $sql_seo_url = array( 'url_md5' => md5($seoUrl), 'url_text' => $seoUrl, 'language_code' => $language['code'], 'link_type' => '1', 'link_id' => $Artikel_ID, 'meta_title' => $AText['MT'], 'meta_description' => $AText['MD'], 'meta_keywords' => $AText['MK']); db_insert(TABLE_SEO_URL, $sql_seo_url); } } } } elseif ($exists) //Update { $mode='UPDATED'; $update_sql_data = array('last_modified' => 'now()'); $sql_data_array = array_merge($sql_data_array, $update_sql_data); db_insert(TABLE_PRODUCTS, $sql_data_array, 'update', "products_id = $Artikel_ID"); } // Details nur beschreiben, wenn kein Preismodus oder Datensatz nicht da ist if (!$exists || $ExportModus!='PriceOnly') { foreach ($Artikel_Texte as $i => $AText) { if ($AText['L'] <> 0) { $sql_data_array = array( 'products_name' => $AText['B'], 'products_description' => $AText['T'], 'products_short_description' => $AText['S'], 'products_url' => $AText['URL']); // Bestehende Daten laden $cmd = "SELECT * FROM " . TABLE_LANGUAGES . " WHERE languages_id = " . $AText['L']; $result = mysql_query($cmd); $language = mysql_fetch_array($result) or die(mysql_error()); $cmd = "select products_id from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id=$Artikel_ID and language_code='". $language['code'] . "'"; $desc_query = mysql_query($cmd) or die(mysql_error()); if ($desc = mysql_fetch_array($desc_query)) { db_insert(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array, 'update', "products_id ='$Artikel_ID' and language_code = '" . $language['code'] . "'"); } else { $sql_data_array['products_id'] = $Artikel_ID; $sql_data_array['language_code'] = $language['code']; $sql_data_array['products_keywords'] = ' '; db_insert(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array); if ($sql_data_array['language_code'] == "de") { $sql_data_array['language_code'] = ""; db_insert(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array); } } } } // Kategorie eintragen, wenn Artikel neu und zugewiesen // bei einem vorhandenen Artikel kann die Kategorie nicht mehr geändert werden, da mehrere Kategorien zulässig, // und daher die alte Kategorie übergeben werden müsste if($Kategorie_ID != 0) { // Bestehende Kategorie laden $ptc = "SELECT products_id FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE " . "products_id='$Artikel_ID' and categories_id='$Kategorie_ID'"; // Nur eintragen, wenn diese Kategorie noch nicht zugeordnet ist $ptc_query = mysql_query($ptc); if (!mysql_fetch_array($ptc_query)) { $insert_sql_data= array( 'products_id' => $Artikel_ID, 'categories_id' => $Kategorie_ID); db_insert(TABLE_PRODUCTS_TO_CATEGORIES, $insert_sql_data); } } // Bilder laden if (!$SkipImages) { //Bildgrößen aus den Einstellungen einlesen $type_cmd = "select folder, width, height from " . TABLE_IMAGE_TYPE; $type_query = mysql_query($type_cmd); while ($typesize = mysql_fetch_array($type_query)) { if ($typesize['folder']=="thumb") { $width_thumb=$typesize['width']; $height_thumb=$typesize['height']; } elseif ($typesize['folder']=="info") { $width_info=$typesize['width']; $height_info=$typesize['height']; } elseif ($typesize['folder']=="popup") { $width_popup=$typesize['width']; $height_popup=$typesize['height']; } elseif ($typesize['folder']=="icon") { $width_icon=$typesize['width']; $height_icon=$typesize['height']; } } //MediaGallery Standards holen $mg_cmd = "select mg_id from " . TABLE_MEDIA_GALLERY . " where class='product'"; $mg_query = mysql_query($mg_cmd); if ($mg = mysql_fetch_array($mg_query)) { $mg_id = $mg['mg_id']; } if (isset($_POST['Artikel_Bilddatei'])) { // Temporäres Bild im Ordner Originale ablegen und Typ ermitteln $filename = $_FILES['artikel_image']['name']; $uploaddir = _SRV_WEB_IMAGES._DIR_ORG; $uploadfile = "../" . $uploaddir . $filename; move_uploaded_file($_FILES['artikel_image']['tmp_name'], $uploadfile); $typename = strtolower($filename); if (strstr($typename,'.gif')) { $image=imagecreatefromgif($uploadfile); } elseif ((strstr($typename,'.jpg'))||(strstr($typename,'.j peg'))) { $image=imagecreatefromjpeg($uploadfile); } elseif (strstr($typename,'.png')) { $image=imagecreatefrompng($uploadfile); } /* //Das neue Bild in Media und Gallery eintragen $insert_sql_data= array( 'file' => $filename, 'type' => "images", 'class' => "product", 'download_status' => "free", 'status' => "true", 'owner' => 1); db_insert(TABLE_MEDIA, $insert_sql_data); $m_id = mysql_insert_id(); $insert_sql_data= array( 'm_id' => $m_id, 'mg_id' => $mg_id); db_insert(TABLE_MEDIA_TO_MEDIA_GALLERY, $insert_sql_data); */ //Originalgröße und Ratio ermitteln $width = imagesx($image); $height = imagesy($image); $imgratio = ($width / $height); if ($imgratio>1) { $new_width_thumb = $width_thumb; $new_height_thumb = ($width_thumb / $imgratio); $new_width_info = $width_info; $new_height_info = ($width_info / $imgratio); $new_width_popup = $width_popup; $new_height_popup = ($width_popup / $imgratio); $new_width_icon = $width_icon; $new_height_icon = ($width_icon / $imgratio); } else { $new_height_thumb = $height_thumb; $new_width_thumb = ($height_thumb * $imgratio); $new_height_info = $height_info; $new_width_info = ($height_info * $imgratio); $new_height_popup = $height_popup; $new_width_popup = ($height_popup * $imgratio); $new_height_icon = $height_icon; $new_width_icon = ($height_icon * $imgratio); } //Neue Resizebilder erstellen und speichern $new_image_thumb = imagecreatetruecolor($new_width_thumb,$new_height_ thumb); ImageCopyResized($new_image_thumb, $image,0,0,0,0, $new_width_thumb, $new_height_thumb, $width, $height); $new_image_info = imagecreatetruecolor($new_width_info,$new_height_i nfo); ImageCopyResized($new_image_info, $image,0,0,0,0, $new_width_info, $new_height_info, $width, $height); $new_image_popup = imagecreatetruecolor($new_width_popup,$new_height_ popup); ImageCopyResized($new_image_popup, $image,0,0,0,0, $new_width_popup, $new_height_popup, $width, $height); $new_image_icon = imagecreatetruecolor($new_width_icon,$new_height_i con); ImageCopyResized($new_image_icon, $image,0,0,0,0, $new_width_icon, $new_height_icon, $width, $height); $path_info = "../" . _SRV_WEB_IMAGES . _DIR_INFO . $filename; $path_popup = "../" . _SRV_WEB_IMAGES . "popup/" . $filename; $path_thumb = "../" . _SRV_WEB_IMAGES . _DIR_THUMB . $filename; $path_icon = "../" . _SRV_WEB_IMAGES . _DIR_ICON . $filename; if (strstr($typename,'.gif')) { imagegif($new_image_thumb,$path_thumb); imagegif($new_image_info,$path_info); imagegif($new_image_popup,$path_popup); imagegif($new_image_icon,$path_icon); } elseif ((strstr($typename,'.jpg'))||(strstr($typename,'.j peg'))) { imagejpeg($new_image_thumb,$path_thumb); imagejpeg($new_image_info,$path_info); imagejpeg($new_image_popup,$path_popup); imagejpeg($new_image_icon,$path_icon); } elseif (strstr($typename,'.png')) { imagepng($new_image_thumb,$path_thumb); imagepng($new_image_info,$path_info); imagepng($new_image_popup,$path_popup); imagepng($new_image_icon,$path_icon); } //Images freigeben imagedestroy($new_image_thumb); imagedestroy($new_image_info); imagedestroy($new_image_popup); imagedestroy($new_image_icon); imagedestroy($image); } } // Bilder laden } // Details beschreiben } if (!$exists || $ExportModus=='Overwrite' || $ExportModus=='PriceOnly' || $ExportModus=='PriceAndQuantityOnly') { for($i=1; $i<=3; $i++) { //mysql_query("delete from " . TABLE_PERSONAL_OFFERS_BY . $i . " where products_id = '$Artikel_ID'"); } foreach ($Artikel_Preise as $i => $APreis) { $sql_data_array = array( 'products_id' => $Artikel_ID, 'discount_quantity' => $APreis['M'], 'price' => $APreis['P']); db_insert(TABLE_PRODUCTS_PRICE_GROUP . $APreis['G'], $sql_data_array); } } echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . "\n" . "<STATUS>\n" . " <STATUS_DATA>\n" . " <ACTION>$action</ACTION>\n" . " <CODE>0</CODE>\n" . " <MESSAGE>OK</MESSAGE>\n" . " <MODE>$mode</MODE>\n" . " <ID>$Artikel_ID</ID>\n" . " <SCRIPT_VERSION_MAJOR>$version_major</SCRIPT_VERSION_MAJOR>\n" . " <SCRIPT_VERSION_MINOR>$version_minor</SCRIPT_VERSION_MINOR>\n" . " </STATUS_DATA>\n" . "</STATUS>\n\n"; } function writeCategorie() { global $action, $version_major, $version_minor; $Kategorie_ID = (integer)($_POST['Artikel_Kategorie_ID']); $Kategorie_Vater_ID = (integer)($_POST['Kategorie_Vater_ID']); $Kategorie_Names = array( 1 => array( 'N' => $_POST['Kategorie_Name1'], 'L' => (integer)($_POST['Kategorie_NameLanguage1'])), 2 => array( 'N' => $_POST['Kategorie_Name2'], 'L' => (integer)($_POST['Kategorie_NameLanguage2'])), 3 => array( 'N' => $_POST['Kategorie_Name3'], 'L' => (integer)($_POST['Kategorie_NameLanguage3'])), 4 => array( 'N' => $_POST['Kategorie_Name4'], 'L' => (integer)($_POST['Kategorie_NameLanguage4']))); $exists = FALSE; // Kategorie wurde von AF schon angelegt if ($Kategorie_ID!=0) { $SelectCategories = "SELECT * FROM " . TABLE_CATEGORIES . " WHERE categories_id='" . $Kategorie_ID . "'"; $cat_query = mysql_query($SelectCategories); if ($cat = mysql_fetch_array($cat_query)) { $exists = TRUE; } } if (!$exists) { // Kategorie erzeugen und ID ermitteln $insert_categorie = array('parent_id' => $Kategorie_Vater_ID, 'categories_image' => '', 'categories_template' => '', 'listing_template' => '', 'products_sorting' => '', 'products_sorting2' => '', 'last_modified' => 'NOW()'); db_insert(TABLE_CATEGORIES, $insert_categorie); $Kategorie_ID = mysql_insert_id(); $id = array('permission_id' => $Kategorie_ID); db_insert(TABLE_CATEGORIES, $id, 'update',"categories_id='$Kategorie_ID'"); } // Dateinamen aus der ID und der überlieferten Extension zusammensetzen, sofern Bild mitgeliefert // wird if (isset($_POST['Kategorie_Bildextension'])) { $Kategorie_Bildextension = $_POST['Kategorie_Bildextension']; $filename = "cat" . $Kategorie_ID . $Kategorie_Bildextension; $categories_image = new upload('Kategorie_image'); //$categories_image->set_destination(DIR_FS_CATALOG.DIR_WS_IMAGES.'cat egories/'); $categories_image->set_destination("../"._SRV_WEB_IMAGES._DIR_ORG); if ($categories_image->parse()) { $categories_image->set_filename($filename); $categories_image->save(); } $sql_data_array = array('categories_image' => $filename); db_insert(TABLE_CATEGORIES, $sql_data_array, 'update',"categories_id='$Kategorie_ID'"); } $mode='INSERTED'; // Namen eintragen foreach ($Kategorie_Names as $i => $KName) { if ($KName['L'] <> 0) { // language_code ermitteln $select_language_code = "SELECT code FROM " . TABLE_LANGUAGES . " WHERE languages_id = " . $KName['L']; $result_language_code = mysql_query($select_language_code); $language_code = mysql_fetch_array($result_language_code); // Daten in die Tabelle TABLE_CATEGORIES_DESCRIPTION schreiben $insert_categorieDescription_array = array('categories_id' => $Kategorie_ID, 'language_code' => $language_code['code'], 'categories_name' => $KName['N']); db_insert(TABLE_CATEGORIES_DESCRIPTION, $insert_categorieDescription_array); if ($language_code['code'] == "de") { $standardcat = $KName['N']; } $url_categorie = $language_code['code']."/".str_replace(" ", "-", $KName['N']); $sql_seo_url = array( 'url_md5' => md5($url_categorie), 'url_text' => $url_categorie, 'language_code' => $language_code['code'], 'link_type' => '2', 'link_id' => $Kategorie_ID, 'meta_title' => ' ', 'meta_description' => ' ', 'meta_keywords' => ' '); db_insert(TABLE_SEO_URL, $sql_seo_url); } } // Standardeintrag (ohne LanguageID) in TABLE_CATEGORIES_DESCRIPTION schreiben $insert_categorieDescription_array = array('categories_id' => $Kategorie_ID, 'language_code' => '', 'categories_name' => $standardcat); db_insert(TABLE_CATEGORIES_DESCRIPTION, $insert_categorieDescription_array); $mode='INSERTED'; echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . "\n" . "<STATUS>\n" . " <STATUS_DATA>\n" . " <ACTION>$action</ACTION>\n" . " <CODE>0</CODE>\n" . " <MESSAGE>OK</MESSAGE>\n" . " <MODE>$mode</MODE>\n" . " <ID>$Kategorie_ID</ID>\n" . " <SCRIPT_VERSION_MAJOR>$version_major</SCRIPT_VERSION_MAJOR>\n" . " <SCRIPT_VERSION_MINOR>$version_minor</SCRIPT_VERSION_MINOR>\n" . " </STATUS_DATA>\n" . "</STATUS>\n\n"; } function writeHersteller() { global $action, $version_major, $version_minor; $Hersteller_Name = $_POST['Hersteller_Name']; $mode='NONE'; $cmd = "SELECT manufacturers_id,manufacturers_name FROM " . TABLE_MANUFACTURERS . " WHERE manufacturers_name='$Hersteller_Name'"; $manufacturers_query = mysql_query($cmd); // Datensatz schon vorhanden if ($manufacturers = mysql_fetch_array($manufacturers_query)) { $Hersteller_ID=$manufacturers['manufacturers_id']; } // Neuer Datensatz wird angelegt else { $mode='INSERTED'; $insert_sql_data = array('manufacturers_name' => $Hersteller_Name, 'external_id' => 'TEXT_EXTERNAL_ID', 'manufacturers_image' => '', 'last_modified' => 'NOW()'); db_insert(TABLE_MANUFACTURERS, $insert_sql_data); $Hersteller_ID = mysql_insert_id(); $sprachen = array(1 => "de", 2 => "en"); for ($i = 1 ; $i <= count($sprachen) ; $i++) { // SEO_URL eintragen $seoUrl = $sprachen[$i]."/".str_replace(" ", "-", $Hersteller_Name); $cmd = "SELECT url_md5 FROM " . TABLE_SEO_URL . " WHERE language_code = '" . $sprachen[$i] . "'" . " AND url_text = '" . $seoUrl . "'"; $result = mysql_query($cmd); //SEO_URL eintrag noch nicht vorhanden if(!mysql_fetch_array($result)) { $sql_seo_url = array( 'url_md5' => md5($seoUrl), 'url_text' => $seoUrl, 'language_code' => $sprachen[$i], 'link_type' => '4', 'link_id' => $Hersteller_ID, 'meta_title' => ' ', 'meta_description' => ' ', 'meta_keywords' => ' '); db_insert(TABLE_SEO_URL, $sql_seo_url); } $query = "SELECT manufacturers_id FROM " . TABLE_MANUFACTURERS_DESCRIPTION . " WHERE manufacturers_id = '$Hersteller_ID'" . " AND language_code = '$sprachen[$i]'"; $result = mysql_query($query); // Info noch nicht enthalten if(!mysql_fetch_array($result)) { $insert_sql_info = array('manufacturers_id' => $Hersteller_ID, 'language_code' => $sprachen[$i], 'manufacturers_description' => $Hersteller_Name, 'manufacturers_url' => ' '); db_insert(TABLE_MANUFACTURERS_DESCRIPTION, $insert_sql_info); } } $query = "SELECT pid FROM " . TABLE_MANUFACTURERS_PERMISSION . " WHERE pid = '$Hersteller_ID'" . " AND pgroup = 'group_permission_1'"; $result = mysql_query($query); // Info noch nicht enthalten if(!mysql_fetch_array($result)) { $insert_sql_permission = array('pid' => $Hersteller_ID, 'permission' => '1', 'pgroup' => 'shop_1'); db_insert(TABLE_MANUFACTURERS_PERMISSION, $insert_sql_permission); for ($i = 1 ; $i <= 3 ; $i++) { $insert_sql_permission = array('pid' => $Hersteller_ID, 'permission' => '1', 'pgroup' => 'group_permission_'.$i); db_insert(TABLE_MANUFACTURERS_PERMISSION, $insert_sql_permission); } } } echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . "\n" . "<STATUS>\n" . " <STATUS_DATA>\n" . " <ACTION>$action</ACTION>\n" . " <CODE>0</CODE>\n" . " <MESSAGE>OK</MESSAGE>\n" . " <MODE>$mode</MODE>\n" . " <ID>$Hersteller_ID</ID>\n" . " <SCRIPT_VERSION_MAJOR>$version_major</SCRIPT_VERSION_MAJOR>\n" . " <SCRIPT_VERSION_MINOR>$version_minor</SCRIPT_VERSION_MINOR>\n" . " </STATUS_DATA>\n" . "</STATUS>\n\n"; } function db_insert($tabelle, $data, $action = 'insert', $parameters = '') { // #### Datensatz einfuegen ##### if ($action == 'insert') { $insert_query = 'INSERT INTO ' . $tabelle . ' ('; while (list($columns, ) = each($data)) { $insert_query .= $columns . ', '; } $insert_query = substr($insert_query, 0, -2) . ') VALUES ('; reset($data); while (list(, $value) = each($data)) { $insert_query .= "'" . $value . "'" .', ' ; } $insert_query = substr($insert_query, 0, -2) . ')'; return mysql_query($insert_query) or die("MySQLFehler: $insert_query;\n" . mysql_error()); } // #### Datensatz aendern ##### elseif($action == 'update') { $update_query = 'UPDATE ' . $tabelle . ' SET ';; while (list($columns, $value) = each($data)) { $update_query .= $columns . ' = ' . "'" . $value . "'" . ', '; } $update_query = substr($update_query, 0, -2) . ' '; $update_query .= ' WHERE ' . $parameters; return mysql_query($update_query) or die("MySQLFehler: $update_query;\n" . mysql_error()); } } // - - - Verbindung zur Datenbank - - - function db_connect() { try { $c=false; $db=mysql_connect(_SYSTEM_DATABASE_HOST,_SYSTEM_DA TABASE_USER,_SYSTEM_DATABASE_PWD); if (!$db) { die('Keine Verbindung möglich: ' . mysql_error()); } else { mysql_select_db(_SYSTEM_DATABASE_DATABASE); $c=true; } } catch (Exception $e) { echo "==> Es ist ein Fehler aufgetreten: ".$e->getMessage(); $c=false; exit(); } return $c; } // - - - Login - - - function login($user, $pass) { global $n, $hk; $n = "\n"; $hk = "'"; $c=false; if (db_connect()) { $query_login = "SELECT handle, user_password FROM " . TABLE_ADMIN_ACL_AREA_USER . " where handle = " .$hk . $user . $hk; $result_login = mysql_query($query_login) or die(mysql_error()); $login = mysql_fetch_array($result_login); mysql_free_result($result_login); if (($user != $login[handle]) OR ($pass != $login[user_password]) OR ($user == "") OR ($login == "")) { if ($_GET['error']=='') $_GET['error']='FALSCHES PASSWORT ODER BENUTZERNAME'; if ($_GET['code']=='') $_GET['code']='100'; echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . "<STATUS>" . $n . " <STATUS_DATA>" . $n . " <CODE>" . $_GET['code'] . "</CODE>" . $n . " <MESSAGE>" .$_GET['error'] . "</MESSAGE>" . $n . " </STATUS_DATA>" . $n . "</STATUS>" . $n; exit(); } else { $c=true; } } return $c; } // - - - Versionsinfo - - - function ReadVersion() { global $action, $version_datum, $version_major, $version_minor, $n; echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n . "<STATUS>" . $n . " <STATUS_DATA>" . $n . " <ACTION>$action</ACTION>" . $n . " <CODE>111</CODE>" . $n . " <SCRIPT_VERSION_MAJOR>$version_major</SCRIPT_VERSION_MAJOR>" . $n . " <SCRIPT_VERSION_MINOR>$version_minor</SCRIPT_VERSION_MINOR>" . $n . " <SCRIPT_DATE>$version_datum</SCRIPT_DATE>" . $n . " <SCRIPT_DEFAULTCHARSET>" . htmlspecialchars(ini_get('default_charset')) . "</SCRIPT_DEFAULTCHARSET>" . $n . " </STATUS_DATA>" . $n . "</STATUS>" . $n . $n; } // - - - Debuginfo - - - function ShowDebug() { global $action, $version_major, $version_minor, $n; echo "<DEBUG>". $n . " <GetAction>$_GET[action]</GetAction>" . $n . " <PostAction>$_POST[action]</PostAction>" . $n . " <GetDaten>" . $n; foreach ($_GET as $Key => $Value) { echo " <$Key>$Value</$Key>" . $n; } echo " </GetDaten>" . $n; echo " <PostDaten>" . $n; foreach ($_POST as $Key => $Value) { echo " <$Key>$Value</$Key>" . $n; } echo " </PostDaten>" . $n; echo "</DEBUG>" . $n; } ?> |
|
|||
|
Ich denke schnell mal die ERP zu wechseln weil irgendwas nicht funktioniert ist nicht die beste Lösung. Du wirst auch mit anderen Programmen deine Startschwierigkeiten bekommen. Meist liegt es einfach nur daran, weil die Anleitung nicht verstanden, oder gar nicht gelesen worden ist. Oft hilft es bei mir einfach, wenn ich die Anleitung ein zweites mal lese. Falls du die Software schon gekauft hast, hast du bei Amicron eine dreimonatige Support-Hilfe. Meiner Erfahrung nach beantworten sie die Fragen schnell und kompetent.
Viel Glück P.S. Bei mir läuft auch alles mit der neusten Veyton 13er Version super. Geändert von flavor (26.12.2010 um 09:55 Uhr) |
|
|||
|
26.12.2010 05:28
shop999 geht bei mir nicht!!! es kommt im DEBUG LOG von amicron eine leere datei!!! jemand eine IDee woran es liegen kann? Server läuft soweit ! aber ich nehme an veyton macht probleme...... weil der support shcon so geheimnissvoll rum mailt und nix dazu sagt..... 08.09.2010 10:52 flavor Vielen Dank Horstl, Problem ist durch neue Schnittstellen-Datei "af_xtc4.php" gelöst. Läuft jetzt alles super. 06.09.2010 20:51 Horstl Amicron Schnittstellen Einstellungen http://amicron.org/blog/2009/06/03/a...schnittstelle/ 06.09.2010 12:32 flavor Laut der Amicron Anleitung muss man bei der Amicron Einstellung die Login Daten von Veyton benutzen um einen Zugang zu bekommen. Habe ich immer gemacht. Testweise habe ich es eben ohne Anmeldedaten versucht; hier erscheint genau das selbe wie zuvor mit den Anmaldedaten. Es werden mir wieder die drei namenlosen Artikel angezeigt. Liegt der Fehler möglicherweise im Login? 04.09.2010 12:44 flavor Keinem das Problem bekannt? 30.08.2010 18:11 flavor Amicron Faktura und seine Veyton Schnittstelle Hallöchen mal wider, habe da, wie könnte es auch anders sein, ein kleines Problem. Habe mir gerade Amicron Faktura 10 zugelegt. Leider klappt das mit der Veyton Schnittstelle noch nicht so ganz. Ich gehe mal davon aus, das ich alle Einstellung für die Schnittstelle bei Amicron richtig gemacht habe, da Amicron auf den Shop zugreifen kann. Die af_xtscript100.php habe ich in den /export Ordner gelegt. Leider werden beim Importversuch über Amicron nur 3 Artikel ohne Namen und ohne sonstiege Bezeichnung zu Auswahl dargestellt. Offenbar gibt es keine Verbindung zu den Artikeln bez. Amicron kann sie nicht abrufen. Meine Frage; muss ich irgendwas beim Export-Manager von Veyton einstellen, damit Amicron Zugriff auf die Kunden, Artikel usw. bekommt? Liebe Grüße CG |
|
|||
|
hallo flavor
ich kenne die doku. es klappt auch der artikelabruf. nur die bestellungen nicht. beides über die neueste datei xt4.php leider gibt amicron keine fehler meldung aus.! auch nicht im DEBUG ! das ist ein riesen schwachpunkt ! wo soll man da nach fehler suchen? |
![]() |
| Lesezeichen |
| Stichworte |
| amicron, faktura, schnittstelle, veyton |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| JTL Wawi und Veyton | hw-arnoldstein | xt:Commerce Schnittstellen ERP Systeme | 1 | 14.05.2010 20:46 |
| XTC und Amicron Faktura | kuhni | Installation und Konfiguration | 2 | 28.10.2008 07:02 |
| Schnittstelle Amicron 8.5/9.0 | restless | xt:Commerce Schnittstellen ERP Systeme | 0 | 21.01.2008 13:46 |