Zurück   xt:Commerce Webshop Shop Support > xt:Commerce Shopsoftware Community Area > Installation und Konfiguration

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 30.08.2010, 17:11
Erfahrener Benutzer
 
Registriert seit: 22.11.2009
Beiträge: 164
Standard 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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 04.09.2010, 11:44
Erfahrener Benutzer
 
Registriert seit: 22.11.2009
Beiträge: 164
Standard

Keinem das Problem bekannt?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 06.09.2010, 11:32
Erfahrener Benutzer
 
Registriert seit: 22.11.2009
Beiträge: 164
Standard

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?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 06.09.2010, 19:51
Neuer Benutzer
 
Registriert seit: 20.07.2010
Beiträge: 6
Standard

Amicron Schnittstellen Einstellungen

http://amicron.org/blog/2009/06/03/a...schnittstelle/

Geändert von Horstl (07.09.2010 um 08:25 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 08.09.2010, 09:52
Erfahrener Benutzer
 
Registriert seit: 22.11.2009
Beiträge: 164
Standard

Vielen Dank Horstl,

Problem ist durch neue Schnittstellen-Datei "af_xtc4.php" gelöst. Läuft jetzt alles super.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 26.12.2010, 04:28
Erfahrener Benutzer
 
Registriert seit: 10.09.2010
Ort: Bayern
Beiträge: 114
Standard

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.....
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 26.12.2010, 04:41
Erfahrener Benutzer
 
Registriert seit: 10.09.2010
Ort: Bayern
Beiträge: 114
Frage af_xtc4.php amicron import veyton

<?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;
}

?>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 26.12.2010, 09:53
Erfahrener Benutzer
 
Registriert seit: 22.11.2009
Beiträge: 164
Standard

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)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 29.12.2010, 05:43
Erfahrener Benutzer
 
Registriert seit: 10.09.2010
Ort: Bayern
Beiträge: 114
Standard ??? wie bitte?

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #10 (permalink)  
Alt 29.12.2010, 05:48
Erfahrener Benutzer
 
Registriert seit: 10.09.2010
Ort: Bayern
Beiträge: 114
Standard

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?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
amicron, faktura, schnittstelle, veyton

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand