Jump to content
xt:Commerce Community Forum

Amicron Faktura und seine Veyton Schnittstelle


flavor

Recommended Posts

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

  • 3 months later...

<?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 *

* [email protected] *

* *

* *

* 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,products_image," .

"products_price,products_weight,products_ean,products_status,products_tax_class_id," .

"manufacturers_id,products_shippingtime,products_startpage,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,'.jpeg'))) {

$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_info);

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_icon);

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,'.jpeg'))) {

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.'categories/');

$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_DATABASE_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;

}

?>

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

hasdtdu da jetz 3 monate gebraucht?

udn was hat der support gesagT??

schön dass es läuft !

aber info wär ned schlech!

erst fragen stellen dan nix sagen !

bei der anmeldung brauchst du immer einen NAMEN !

steht in der anleitung !

supet tip ;-)

Link to comment
Share on other sites

  • 2 months later...

Ich wollte gerade amicron 10 mit veyton verknüddeln. Das Handbuch beschriebt zwar, dass man das script über irgend eine Maske hoch laden kann, aber die kommt nur für oscommerce und xtcommerce. Wähle ich Veyton aus, kommt einfach nichts und das Handbuch schweigt sich aus. Also habe ich das af_xtc4.php von hier versucht zu benutzen, das scheitert aber an den require_once Zeilen. Einen ../config/ Order habe ich nicht. Also habe ich ./includes/configure.php included, ohne erfolg. Gibt keinen db connect. Wo bekommt man das script eigentlich "offiziell" her? Bei Amicron finde ich es nicht, obwohl die es doch liefern sollten?

Gruß, Enno

Link to comment
Share on other sites

Hi,

das kannst du auch manuel in den Export Ordner von Veyton laden. Die Datei wird eigentlich mitgeliefert, guckst du in Instellations Ordner von Amicron! Wichtig ist auch die Freigabe von mitgelieferten Serverdatenbank (fire irgendwas) und dem Amicron Shop in der Windows Firewall. Wenn du die datei nicht finden kannst, Amicron anrufen oder schreiben, die schicken sie dir zu.

gruss

Link to comment
Share on other sites

Huhu, die Dateien sind eben nicht da. keine af_xtc4.php im Amicron-Faktura Ordner, nicht im Amicron-Mailoffice Ordner (was sollte es auch da ;) oder im Firebird Ordner. Sonst hätte ich das schon versucht.

Die waren mal da weil die Schnittstelle damals für Veyton noch neu war und man sie halt auch manuel laden konnte. Da hat sich in der zwischenzeit sicherlich was geändert. Habe das aber auch irgendwo in der Anleitung gelesen, frag nicht wo.

Kommt wahrscheinlich auch darauf an ob du die Demo hast oder die gekaufte Version.

Wie gesagt, ich hatte die angeschrieben, eine aktuelle Version der Schnittstelle bekommen und jetzt läuft alles gut. Hatte auch meine Start Probleme.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...