Danke für die Antworten. Wie hat sich den die ganze Struktur von XTC 5 zu XTC 4 geändert. Ich meine, werde ich meine WAWI Schnittstelle irgendwie anpassen müssen?
Siehe Anhang:
<?php
// Standard-Defines
define('_VALID_CALL', 'true');
define('CHARSET', 'iso-8859-1');
// Skriptversion
$version_major = 4;
$version_minor = 1;
$version_datum = 'Mai 2016';
// 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 (($mysqli = 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();
exit;
case 'order_update': // Bestellstatus ändern
orderUpdate();
exit;
default: // Default: Versionsinfo
ReadVersion();
exit;
}
$mysqli->close();
} else {
ReadVersion();
}
// - - - 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 .
" <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'), NULL, '') . "</SCRIPT_DEFAULTCHARSET>" . $n .
" </STATUS_DATA>" . $n .
"</STATUS>" . $n . $n;
}
// - - - Shopdaten auslesen - - -
function readShopData() {
global $n, $hk, $mysqli;
$cmd = "SELECT languages_id, code FROM " . TABLE_LANGUAGES . " WHERE code = 'de'";
$languages_query = $mysqli->query($cmd) or die(mysqli_error());
$languages = $languages_query->fetch_array();
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 = $mysqli->query($cmd) or die(mysqli_error());
while ($tax = $tax_query->fetch_array()) {
if ((int) ($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 a.status_id, b.status_name FROM " . TABLE_SYSTEM_STATUS . " a, " . TABLE_SYSTEM_STATUS_DESCRIPTION .
" b WHERE a.status_id = b.status_id AND a.status_class = 'shipping_status'
AND b.language_code = 'de' ";
$status_query = $mysqli->query($cmd) or die(mysqli_error());
while ($status = $status_query->fetch_array()) {
echo " <SHIPPINGSTATUS_DATA>" . $n .
" <ID>" . $status['status_id'] . "</ID>" . $n .
" <LANGUAGEID>" . $languages['languages_id'] . "</LANGUAGEID>" . $n .
" <NAME>" . htmlspecialchars($status['status_name'], NULL, '') . "</NAME>" . $n .
" </SHIPPINGSTATUS_DATA>" . $n;
}
echo " </SHIPPINGSTATUS>" . $n .
" <CUSTOMERSSTATUS>" . $n;
$cmd = "select * from " . TABLE_CUSTOMERS_STATUS_DESCRIPTION . " WHERE language_code = 'de'";
$customer_query = $mysqli->query($cmd) or die(mysqli_error());
while ($customer = $customer_query->fetch_array()) {
echo " <CUSTOMERSSTATUS_DATA>" . $n .
" <ID>" . $customer['customers_status_id'] . "</ID>" . $n .
" <LANGUAGEID>" . $languages['languages_id'] . "</LANGUAGEID>" . $n .
" <NAME>" . htmlspecialchars($customer['customers_status_name'], NULL, '') . "</NAME>" . $n .
" </CUSTOMERSSTATUS_DATA>" . $n;
}
echo " </CUSTOMERSSTATUS>" . $n .
"</SHOPDATA>" . $n;
$customer_query->close();
$status_query->close();
$languages_query->close();
$tax_query->close();
}
// - - - Sprachen auslesen - - -
function readLanguages() {
global $n, $hk, $mysqli;
echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n .
"<LANGUAGES>" . $n;
$cmd = "select languages_id, name, code from " . TABLE_LANGUAGES . " where allow_edit = '1'";
$languages_query = $mysqli->query($cmd) or die(mysqli_error());
while ($language = $languages_query->fetch_array()) {
echo " <LANGUAGES_DATA>" . $n .
" <ID>" . $language['languages_id'] . "</ID>" . $n .
" <NAME>" . htmlspecialchars($language["name"], NULL, '') . "</NAME>" . $n .
" <CODE>" . htmlspecialchars($language["code"], NULL, '') . "</CODE>" . $n .
" </LANGUAGES_DATA>" . $n;
}
echo "</LANGUAGES>" . $n;
$languages_query->close();
}
// - - - Kategorien abrufen - - -
function readCategories() {
global $n, $hk, $mysqli;
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 = $mysqli->query($cmd) or die(mysqli_error());
while ($cat = $cat_query->fetch_array()) {
echo " <CATEGORIES_DATA>" . $n .
" <ID>" . $cat['categories_id'] . "</ID>" . $n .
" <PARENT_ID>" . $cat['parent_id'] . "</PARENT_ID>" . $n .
" <NAMES>" . $n;
$cmd = "select a.language_code, a.categories_name, b.languages_id from " . TABLE_CATEGORIES_DESCRIPTION . " a, " . TABLE_LANGUAGES .
" b where categories_id=" . $cat['categories_id'] . " AND a.language_code = b.code AND b.allow_edit = '1'";
$names_query = $mysqli->query($cmd) or die(mysqli_error());
while ($names = $names_query->fetch_array()) {
echo " <NAMEENTRY>" . $n .
" <LANGUAGEID>" . $names['languages_id'] . "</LANGUAGEID>" . $n .
" <NAME>" . htmlspecialchars($names['categories_name'], NULL, '') . "</NAME>" . $n .
" </NAMEENTRY>" . $n;
}
echo " </NAMES>" . $n;
echo " </CATEGORIES_DATA>" . $n;
}
echo "</CATEGORIES>" . $n;
$cat_query->close();
$names_query->close();
}
// - - - Hersteller abrufen - - -
function readHersteller() {
global $n, $hk, $mysqli;
echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n .
"<MANUFACTURERS>" . $n;
$cmd = "select manufacturers_id,manufacturers_name from " . TABLE_MANUFACTURERS;
$manufacturers_query = $mysqli->query($cmd) or die(mysqli_connect_error());
while ($manufacturers = $manufacturers_query->fetch_array()) {
echo " <MANUFACTURERS_DATA>" . $n .
" <ID>" . $manufacturers['manufacturers_id'] . "</ID>" . $n .
" <NAME>" . htmlspecialchars($manufacturers["manufacturers_name"], NULL, '') . "</NAME>" . $n .
" </MANUFACTURERS_DATA>" . $n;
}
echo "</MANUFACTURERS>" . $n;
$manufacturers_query->close();
}
// - - - Artikel auslesen - - -
function readArtikel() {
global $n, $hk, $mysqli;
$SkipImages = (bool) ($_GET['SkipImages']);
if (defined('SET_TIME_LIMIT')) {
xtc_set_time_limit(0);
}
$cmd = "select * 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 = $mysqli->query($cmd);
while ($artikel = $artikel_query->fetch_array()) {
echo " <ARTIKEL_DATA>" . $n .
" <ID>" . $artikel['products_id'] . "</ID>" . $n .
" <ARTIKELNR>" . htmlspecialchars($artikel['products_model'], NULL, '') . "</ARTIKELNR>" . $n .
" <TEXTE>" . $n;
$cmd = "select * from " . TABLE_PRODUCTS_DESCRIPTION . " a, " . TABLE_LANGUAGES . " b where products_id=" . $artikel['products_id'] .
" and a.language_code = b.code and b.allow_edit = '1'";
$texte_query = $mysqli->query($cmd) or die($mysqli->error);
while ($texte = $texte_query->fetch_array()) {
// $cmd = "SELECT languages_id FROM " . TABLE_LANGUAGES ." WHERE allow_edit ='1' AND 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 language_code = 'de'";
$seo_query = $mysqli->query($cmd) or die($mysqli->error);
$seo = $seo_query->fetch_array();
echo " <TEXT>" . $n .
" <LANGUAGEID>" . $texte['languages_id'] . "</LANGUAGEID>" . $n .
" <NAME>" . htmlspecialchars($texte['products_name'], NULL, '') . "</NAME>" . $n .
" <DESCRIPTION>" . htmlspecialchars($texte['products_description'], NULL, '') . "</DESCRIPTION>" . $n .
" <SHORTDESCRIPTION>" . htmlspecialchars($texte['products_short_description'], NULL, '') . "</SHORTDESCRIPTION>" . $n .
" <METATITLE>" . htmlspecialchars($seo['meta_title'], NULL, '') . "</METATITLE>" . $n .
" <METADESCRIPTION>" . htmlspecialchars($seo['meta_description'], NULL, '') . "</METADESCRIPTION>" . $n .
" <METAKEYWORDS>" . htmlspecialchars($seo['meta_keywords'], NULL, '') . "</METAKEYWORDS>" . $n .
" <URL>" . htmlspecialchars($texte['products_url'], NULL, '') . "</URL>" . $n .
" </TEXT>" . $n;
}
echo " </TEXTE>" . $n .
" <PREISE>" . $n;
$texte_query->close();
$seo_query->close();
$cmd = "select customers_status_id from " . TABLE_CUSTOMERS_STATUS;
$ss_query = $mysqli->query($cmd);
while ($ss = $ss_query->fetch_array()) {
$cmd = "select discount_quantity, price from " . TABLE_PRODUCTS_PRICE_GROUP . $ss['customers_status_id'] .
" where products_id=" . $artikel['products_id'];
$preise_query = $mysqli->query($cmd) or die($mysqli->error);
while ($preise = $preise_query->fetch_array()) {
echo " <PREIS>" . $n .
" <GRUPPE>" . $ss['customers_status_id'] . "</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'], NULL, '') . "</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 .
" <KATEGORIEN>" . $n;
$preise_query->close();
$ss_query->close();
$cmd = "SELECT categories_id FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE products_id = $artikel[products_id]";
$cats_query = $mysqli->query($cmd);
while ($cats = $cats_query->fetch_array()) {
echo " <KATEGORIE>" . $cats['categories_id'] . "</KATEGORIE>" . $n;
}
echo " </KATEGORIEN>" . $n;
$cats_query->close();
$bildname = $artikel['products_image'];
$bild = '';
$pfad = "../" . _SRV_WEB_IMAGES . _DIR_ORG;
if ($bildname != '' && file_exists($pfad . $bildname)) {
$bild = @implode("", @file($pfad . $bildname));
}
if (!$SkipImages) {
echo " <BILDDATEI>" . htmlspecialchars($artikel['products_image'], NULL, '') . "</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 = $mysqli->query($cmd) or die($mysqli->error);
while ($bilder = $bilder_query->fetch_array()) {
$bildname = $bilder['file'];
$bild = '';
if ($bildname != '' && file_exists($pfad . $bildname)) {
$bild = @implode("", @file($pfad . $bildname));
echo " <IMAGES>" . $n .
" <IMAGE>" . $n .
" <NAME>" . htmlspecialchars($bildname, NULL, '') . "</NAME>" . $n .
" <BILD>" . base64_encode($bild) . "</BILD>" . $n .
" </IMAGE>" . $n .
" </IMAGES>\n";
}
}
$bilder_query->close();
}
$cmd = "select status_name from " . TABLE_SYSTEM_STATUS_DESCRIPTION . "," . TABLE_PRODUCTS .
" where status_id = products_shippingtime AND products_id =" . $artikel['products_id'] . " AND language_code = 'de'";
$shipping_time_query = $mysqli->query($cmd) or die($mysqli->error);
$shipping_time = $shipping_time_query->fetch_array();
echo " <LIEFERSTATUSTEXT>" . htmlspecialchars($shipping_time['status_name'], NULL, '') . "</LIEFERSTATUSTEXT>" . $n;
// " <STARTSEITE>".$artikel['products_startpage']."</STARTSEITE>" . $n;
$shipping_time_query->close();
if ($artikel['products_vpe_status'] == 1) {
echo " <VPEValue>" . $artikel['products_vpe_value'] . "</VPEValue>" . $n;
}
echo " </ARTIKEL_DATA>" . $n;
}
$artikel_query->close();
echo "</ARTIKEL>" . $n;
}
// - - - Artikel-Löschen - - -
function deleteArtikel() {
global $action, $version_major, $version_minor, $version_datum, $mysqli, $n;
$Artikel_ID = (integer) ($_POST['Artikel_ID']);
$erg = bildloschen($Artikel_ID);
if ($erg) {
$cmd = " SELECT m.id, m.file FROM " . TABLE_MEDIA . " m, " . TABLE_PRODUCTS . " p, " . TABLE_MEDIA_TO_MEDIA_GALLERY . " mmg
WHERE p.products_id = '$Artikel_ID' AND m.file = p.products_image AND m.id = mmg.m_id";
$equery = $mysqli->query($cmd);
while ($erg1 = $equery->fetch_array()) {
$mysqli->query("delete from " . TABLE_MEDIA . " where id = '" . $erg1['id'] . "' AND type = 'images'");
$mysqli->query("delete from " . TABLE_MEDIA_TO_MEDIA_GALLERY . " where m_id = '" . $erg1['id'] . "' and mg_id = 2");
}
}
$bilddatei = bilderloschen($Artikel_ID);
if (count($bilddatei) > 0) {
for ($i = 0; $i < count($bilddatei); $i++) {
echo $bilddatei[$i]['id'] . " -> id ";
$mysqli->query("delete from " . TABLE_MEDIA . " where id = '" . $bilddatei[$i]['id'] . "' AND type = 'images'");
$mysqli->query("delete from " . TABLE_MEDIA_LINK . " where m_id = '" . $bilddatei[$i]['id'] . "' and type = 'images'");
$mysqli->query("delete from " . TABLE_MEDIA_TO_MEDIA_GALLERY . " where m_id = '" . $bilddatei[$i]['id'] . "' and mg_id = 2");
}
}
$mysqli->query("DELETE FROM " . TABLE_PRODUCTS . " WHERE products_id='" . $Artikel_ID . "'");
$mysqli->query("DELETE FROM " . TABLE_PRODUCTS_PRICE_SPECIAL . " WHERE products_id='" . $Artikel_ID . "'");
$cmd = "select distinct(customers_status_id) from " . TABLE_CUSTOMERS_STATUS;
$ss_query = $mysqli->query($cmd);
while ($ss = $ss_query->fetch_array()) {
$mysqli->query("delete from xt_products_price_group_all where products_id = '$Artikel_ID'");
}
$mysqli->query("DELETE FROM xt_products_price_group_all WHERE products_id='" . $Artikel_ID . "'");
$mysqli->query("DELETE FROM " . TABLE_PRODUCTS_DESCRIPTION . " WHERE products_id='" . $Artikel_ID . "'");
$mysqli->query("DELETE FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE products_id='" . $Artikel_ID . "'");
$mysqli->query("DELETE FROM " . TABLE_PRODUCTS_CROSS_SELL . " WHERE products_id='" . $Artikel_ID
. "' OR products_id_cross_sell='" . $Artikel_ID . "'");
$mysqli->query("DELETE FROM " . TABLE_PRODUCTS_SERIAL . " WHERE products_id='" . $Artikel_ID . "'");
$mysqli->query("DELETE FROM " . TABLE_SEO_URL . " WHERE link_type='1' AND link_id='" . $Artikel_ID . "'");
$ss_query->close();
echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . "\n" .
"<STATUS>\n" .
" <STATUS_DATA>" . $n;
" <MESSAGE>OK</MESSAGE>" . $n;
" <SCRIPT_VERSION_MAJOR>$version_major</SCRIPT_VERSION_MAJOR>" . $n;
" <SCRIPT_VERSION_MINOR>$version_minor</SCRIPT_VERSION_MINOR>\n" . $n;
" <SCRIPT_DATE>$version_datum</SCRIPT_DATE>" . $n;
" </STATUS_DATA>" . $n;
"</STATUS>" . $n . $n;
}
// - - - Bestellungen abrufen - - -
function ordersExport() {
global $n, $hk, $mysqli;
if (isset($_GET['order_from']) ? $order_from = (int) ($_GET['order_from']) : $order_from = 0);
$cmd = "SELECT * FROM " . TABLE_ORDERS . " where orders_id >= " . $hk . $order_from . $hk;
$result = $mysqli->query($cmd);
echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n .
'<ORDER>' . $n;
while ($orders = $result->fetch_array()) {
echo ' <ORDER_INFO>' . $n .
' <ORDER_HEADER>' . $n .
' <ORDER_ID>' . $orders['orders_id'] . '</ORDER_ID>' . $n .
' <FREIFELD1>' . $orders['orders_id'] . '</FREIFELD1>' . $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'], NULL, '') . '</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 .
' <FIRSTNAME>' . htmlspecialchars($orders['billing_firstname'], NULL, '') . '</FIRSTNAME>' . $n .
' <LASTNAME>' . htmlspecialchars($orders['billing_lastname'], NULL, '') . '</LASTNAME>' . $n .
' <COMPANY>' . htmlspecialchars($orders['billing_company'], NULL, '') . '</COMPANY>' . $n .
' <COMPANY2>' . htmlspecialchars($orders['billing_company_2'], NULL, '') . " " . htmlspecialchars($orders['billing_company_3'], NULL, '') . '</COMPANY2>' . $n .
' <STREET>' . htmlspecialchars($orders['billing_street_address'], NULL, '') . '</STREET>' . $n .
' <CITY>' . htmlspecialchars($orders['billing_city'], NULL, '') . " " . htmlspecialchars($orders['billing_suburb'], NULL, '') . '</CITY>' . $n .
' <ZIP>' . htmlspecialchars($orders['billing_postcode'], NULL, '') . '</ZIP>' . $n .
' <ZONE>' . htmlspecialchars($orders['billing_zone'], NULL, '') . '</ZONE>' . $n .
' <ZONE_CODE>' . htmlspecialchars($orders['billing_zone_code'], NULL, '') . '</ZONE_CODE>' . $n .
' <COUNTRY>' . htmlspecialchars($orders['billing_country'], NULL, '') . '</COUNTRY>' . $n .
' <COUNTRY_CODE>' . htmlspecialchars($orders['billing_country_code'], NULL, '') . '</COUNTRY_CODE>' . $n .
' <EMAIL>' . htmlspecialchars($orders['customers_email_address'], NULL, '') . '</EMAIL>' . $n .
' <TELEPHONE>' . htmlspecialchars($orders['billing_phone'], NULL, '') . '</TELEPHONE>' . $n .
' <FAX>' . htmlspecialchars($orders['billing_fax'], NULL, '') . '</FAX>' . $n .
' <UID>' . htmlspecialchars($orders['customers_vat_id'], NULL, '') . '</UID>' . $n;
$query_dob = "select customers_dob from " . TABLE_CUSTOMERS_ADDRESSES . " where address_book_id = " . $hk . $orders['billing_address_book_id'] . $hk;
$result_dob = $mysqli->query($query_dob);
$orders_dob = $result_dob->fetch_array();
echo ' <DOB>' . $orders_dob['customers_dob'] . '</DOB>' . $n;
$result_dob->close();
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 .
' <FIRSTNAME>' . htmlspecialchars($orders['delivery_firstname'], NULL, '') . '</FIRSTNAME>' . $n .
' <LASTNAME>' . htmlspecialchars($orders['delivery_lastname'], NULL, '') . '</LASTNAME>' . $n .
' <COMPANY>' . htmlspecialchars($orders['delivery_company'], NULL, '') . '</COMPANY>' . $n .
' <COMPANY2>' . htmlspecialchars($orders['delivery_company_2'], NULL, '') . " " . htmlspecialchars($orders['delivery_company_3'], NULL, '') . '</COMPANY2>' . $n .
' <STREET>' . htmlspecialchars($orders['delivery_street_address'], NULL, '') . '</STREET>' . $n .
' <CITY>' . htmlspecialchars($orders['delivery_city'], NULL, '') . " " . htmlspecialchars($orders['delivery_suburb'], NULL, '') . '</CITY>' . $n .
' <ZIP>' . htmlspecialchars($orders['delivery_postcode'], NULL, '') . '</ZIP>' . $n .
' <ZONE>' . htmlspecialchars($orders['delivery_zone'], NULL, '') . '</ZONE>' . $n .
' <ZONE_CODE>' . htmlspecialchars($orders['delivery_zone_code'], NULL, '') . '</ZONE_CODE>' . $n .
' <COUNTRY>' . htmlspecialchars($orders['delivery_country'], NULL, '') . '</COUNTRY>' . $n .
' <COUNTRY_CODE>' . htmlspecialchars($orders['delivery_country_code'], NULL, '') . '</COUNTRY_CODE>' . $n .
' <TELEPHONE>' . htmlspecialchars($orders['delivery_phone'], NULL, '') . '</TELEPHONE>' . $n .
' <FAX>' . htmlspecialchars($orders['delivery_fax'], NULL, '') . '</FAX>' . $n .
' </DELIVERY_ADDRESS>' . $n;
echo ' <PAYMENT>' . $n .
' <PAYMENT_CODE>' . htmlspecialchars($orders['payment_code'], NULL, '') . '</PAYMENT_CODE>' . $n;
switch ($orders['payment_code']) {
case 'xt_banktransfer':
$a = $orders['orders_data'];
$a = unserialize($a);
echo ' <PAYMENT_BANKTRANSFER_OWNER>' . htmlspecialchars($a['banktransfer_owner'], NULL, '') . '</PAYMENT_BANKTRANSFER_OWNER>' . $n .
' <PAYMENT_BANKTRANSFER_OWNER>' . htmlspecialchars($a['banktransfer_owner'], NULL, '') . '</PAYMENT_BANKTRANSFER_OWNER>' . $n .
' <PAYMENT_BANKTRANS_BNAME>' . htmlspecialchars($a['banktransfer_bank_name'], NULL, '') . '</PAYMENT_BANKTRANS_BNAME>' . $n .
' <PAYMENT_BANKTRANS_BLZ>' . htmlspecialchars($a['banktransfer_blz'], NULL, '') . '</PAYMENT_BANKTRANS_BLZ>' . $n .
' <PAYMENT_BANKTRANS_NUMBER>' . htmlspecialchars($a['banktransfer_number'], NULL, '') . '</PAYMENT_BANKTRANS_NUMBER>' . $n .
' <PAYMENT_BANKTRANS_BIC>' . htmlspecialchars($a['banktransfer_bic'], NULL, '') . '</PAYMENT_BANKTRANS_BIC>' . $n .
' <PAYMENT_BANKTRANS_IBAN>' . htmlspecialchars($a['banktransfer_iban'], NULL, '') . '</PAYMENT_BANKTRANS_IBAN>' . $n;
break;
case 'xt_paypal':
case 'xt_payments':
echo ' <PAYPAL_TXNID>' . htmlspecialchars($orders['orders_data'], NULL, '') . '</PAYPAL_TXNID>' . $n;
break;
}
echo ' </PAYMENT>' . $n;
$cmd = "SELECT * from xt_tracking, xt_shipper b WHERE tracking_order_id = '{$orders['orders_id']}' AND tracking_shipper_id = b.id ORDER BY `tracking_added` DESC";
$query = $mysqli->query($cmd);
echo ' <SHIPPING>' . $n .
' <SHIPPING_CODE>' . htmlspecialchars($orders['shipping_code'], NULL, '') . '</SHIPPING_CODE>' . $n;
if ($tx_resultat = $query->fetch_array()) {
echo ' <tracking_code>' .htmlspecialchars($tx_resultat['tracking_code']) . '</tracking_code>' . $n .
' <tracking_added>' .htmlspecialchars($tx_resultat['tracking_added']) . '</tracking_added>' . $n .
' <shipper_name>' . htmlspecialchars($tx_resultat['shipper_name'], NULL, '') .'</shipper_name>' . $n;
}
echo ' </SHIPPING>' . $n .
' <ORDER_PRODUCTS>' . $n;
$cmd = "SELECT customers_status_show_price_tax FROM " . TABLE_CUSTOMERS_STATUS .
" WHERE customers_status_id = '" . $orders['customers_status'] . "'";
$query = $mysqli->query($cmd);
$resulte = $query->fetch_array();
$cmd1 = "select * from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . $orders['orders_id'] . "'";
$prod_query = $mysqli->query($cmd1);
if ($resulte && $produkt = $prod_query->fetch_array()) {
if (($resulte['customers_status_show_price_tax'] == 0 && $produkt['allow_tax'] == 0 && $produkt['products_tax'] <= 0))
$tax_flag = '0';
if (($resulte['customers_status_show_price_tax'] == 0 && $produkt['allow_tax'] == 0 && $produkt['products_tax'] > 0))
$tax_flag = 'N';
if (($resulte['customers_status_show_price_tax'] == 1 && $produkt['allow_tax'] == 1))
$tax_flag = 'J';
if (($resulte['customers_status_show_price_tax'] == 1 && $produkt['allow_tax'] == 0))
$tax_flag = 'N';
}
echo " <TAX_FLAG>$tax_flag</TAX_FLAG>\n";
$query_prod = "select * from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . $orders['orders_id'] . "'";
$result_prod = $mysqli->query($query_prod);
while ($products = $result_prod->fetch_array()) {
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'], NULL, '') . '</PRODUCTS_MODEL>' . $n .
' <PRODUCTS_NAME>' . htmlspecialchars($products['products_name'], NULL, '') . '</PRODUCTS_NAME>' . $n .
' <PRODUCTS_TAX>' . $products['products_tax'] . '</PRODUCTS_TAX>' . $n;
if ($products['allow_tax'] == 1) {
$steuer = ($products['products_tax'] * 0.01) + 1;
$epreis = $products['products_price'] * $steuer;
echo ' <PRODUCTS_EPRICE>' . $epreis . '</PRODUCTS_EPRICE>' . $n;
} else {
echo ' <PRODUCTS_EPRICE>' . $products['products_price'] . '</PRODUCTS_EPRICE>' . $n;
}
echo ' <PRODUCTS_TAX_CLASS>' . $products['products_tax_class'] . '</PRODUCTS_TAX_CLASS>' . $n .
' <PRODUCTS_DISCOUNT>' . $products['products_discount'] . '</PRODUCTS_DISCOUNT>' . $n .
' </PRODUCT>' . $n;
}
$result_prod->close();
echo ' </ORDER_PRODUCTS>' . $n .
' <ORDER_TOTAL>' . $n;
$query_total = "select * from " . TABLE_ORDERS_TOTAL . " where orders_id = " . $hk . $orders['orders_id'] . $hk;
$result_total = $mysqli->query($query_total);
while ($totals = $result_total->fetch_array()) {
echo ' <TOTAL>' . $n .
' <TOTAL_KEY_ID>' . htmlspecialchars($totals['orders_total_key_id'], NULL, '') . '</TOTAL_KEY_ID>' . $n .
' <TOTAL_MODEL>' . htmlspecialchars($totals['orders_total_model'], NULL, '') . '</TOTAL_MODEL>' . $n;
(($totals['orders_total_model'] == 'xt_cashondelivery') ?
$totals['orders_total_key'] = 'ot_cod_fee' : $totals['orders_total_key'] = get_ot_class(htmlspecialchars($totals['orders_total_key'])));
if ($tax_flag == 'J' ) {
$totals_steuer = ($totals['orders_total_tax'] * 0.01) + 1;
$totals_price = $totals['orders_total_price'] * $totals_steuer;
} else {
$totals_price = $totals['orders_total_price'];
}
echo ' <TOTAL_NAME>' . htmlspecialchars($totals['orders_total_name'], NULL, '') . '</TOTAL_NAME>' . $n .
' <TOTAL_PRICE>' . $totals_price . '</TOTAL_PRICE>' . $n .
' <TOTAL_KEY>' . $totals['orders_total_key'] . '</TOTAL_KEY>' . $n .
' <TOTAL_TAX>' . htmlspecialchars($totals['orders_total_tax'], NULL, '') . '</TOTAL_TAX>' . $n .
' <TOTAL_TAX_CLASS>' . htmlspecialchars($totals['orders_total_tax_class'], NULL, '') . '</TOTAL_TAX_CLASS>' . $n .
' <TOTAL_QUANTITY>' . htmlspecialchars($totals['orders_total_quantity'], NULL, '') . '</TOTAL_QUANTITY>' . $n .
' <TOTAL_ALLOW_TAX>' . htmlspecialchars($totals['allow_tax'], NULL, '') . '</TOTAL_ALLOW_TAX>' . $n .
' </TOTAL>' . $n;
}
echo ' </ORDER_TOTAL>' . $n;
$result_total->close();
$cmd = "select * from " . TABLE_ORDERS_STATS . " where orders_id = " . $orders['orders_id'];
$resultsumme = $mysqli->query($cmd);
if ($summe = $resultsumme->fetch_array()) {
echo " <ORDER_SUMME>" . $summe['orders_stats_price'] . "</ORDER_SUMME>" . $n;
}
$resultsumme->close();
echo ' <ORDER_COMMENTS>' . htmlspecialchars($orders['comments'], NULL, '') . '</ORDER_COMMENTS>' . $n .
' </ORDER_INFO>' . $n;
}
echo '</ORDER>' . $n;
$result->close();
}
// - - - xtc4 Klassenbezeichnung in xtc3 ot_Klasse umbenennen - - -
function get_ot_class($ot) {
If ($ot == "shipping") {
$otc = "ot_shipping";
} elseif ($ot == "Coupon/Gutschein") {
$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, $mysqli;
$Order_ID = (integer) ($_POST['Order_id']);
$Status = (integer) ($_POST['Status']);
$Sendungsnummer = $_POST['Sendungsnummer'];
$Sendungsdienstleister = $_POST['Sendungsdienstleister'];
$StatusText = "";
if ($Status == 2) {
$xtStatus = 17;
$StatusText = "Auftrag in Bearbeitung.";
} else if ($Status == 3) {
$xtStatus = 46;
$StatusText = "Bestellung Abgeschlossen.";
}
$btime = aftime();
$orders_array = array('orders_status' => $xtStatus, 'last_modified' => $btime); //Fehler gefunden: xtStatus muss stehen und nicht Status
db_insert(TABLE_ORDERS, $orders_array, 'update', " orders_id = " . $Order_ID);
$cmd = "SELECT orders_id, customers_email_address, billing_gender, billing_firstname,
billing_lastname, date_purchased, shop_id
FROM " . TABLE_ORDERS . " WHERE orders_id = " . $Order_ID;
$result = $mysqli->query($cmd) or die($mysqli->error);
$order = $result->fetch_array();
if (!empty($Sendungsnummer) && $Status == 3) {
$cmd = "SELECT * from xt_shipper WHERE shipper_name LIKE '%{$Sendungsdienstleister}%' ";
$query = $mysqli->query($cmd) or die($mysqli->error);
$parcel = $query->fetch_array();
if ($parcel) {
$url = str_replace('[TRACKING_CODE]', $Sendungsnummer, $parcel['shipper_tracking_url']);
$insert_tracking_data = array('tracking_shipper_id' => $parcel['id'],
'tracking_code'=>$Sendungsnummer,
'tracking_order_id' => $Order_ID,
'tracking_status_id' => 1,
'tracking_added' => $btime
);
db_insert('xt_tracking', $insert_tracking_data);
$tx_text = "Die Sendungsverfolgung für Ihre Bestellung können Sie über den unten stehenden Link aufrufen: \n {$url} \n";
$p_status = true;
}
}
$cmd = "SELECT config_value FROM " . TABLE_CONFIGURATION_MULTI . $order['shop_id'] .
" WHERE config_key = '_STORE_CONTACT_EMAIL'";
$result = $mysqli->query($cmd) or die($mysqli->error);
$conf_mail = $result->fetch_array();
$cmd = "SELECT config_value FROM " . TABLE_CONFIGURATION_MULTI . $order['shop_id'] .
" WHERE config_key = '_STORE_EMAIL_FOOTER_TXT'";
$result = $mysqli->query($cmd) or die($mysqli->error);
$conf_txt = $result->fetch_array();
$notified = 0;
// $mail_absender = $store['_STORE_CONTACT_EMAIL'];
$mail_absender = $conf_mail['config_value'];
// $mail_empfaenger = $conf_mail['config_value'];
/* (versendet Emails bei Auftragsbearbeitung) $mail_empfaenger = $order['customers_email_address'];
$mail_footer = $conf_txt['config_value'];
if ($order['billing_gender'] == "m") {
$anrede = "Sehr geehrter Herr ";
} else if ($order['billing_gender'] == "f") {
$anrede = "Sehr geehrte Frau ";
} else {
$anrede = "Hallo ";
}
if ($order['customers_email_address'] <> "") {
$betreff = "Ihre Bestellung Nr." . $Order_ID;
$text = "\n" . $anrede . $order['billing_firstname'] . " " . $order['billing_lastname'] . ",\n"
. "\nDer Status Ihrer Bestellung hat sich ge�ndert.\n Neuer Status: " . $StatusText ."\n";
if ($p_status) {
$text .= "\n{$tx_text}\n";
}
$text .= "\n" . $mail_footer;
mail($mail_empfaenger, $betreff, $text, "from:$mail_absender");
$notified = 1;
}*/
$orders_status_array = array('orders_id' => $Order_ID,
'orders_status_id' => $xtStatus,
'date_added' => $btime,
'customer_notified' => $notified,
'comments' => $StatusText,
'change_trigger' => 'Amicron Faktura',
'callback_id' => '0'
);
db_insert(TABLE_ORDERS_STATUS_HISTORY, $orders_status_array);
$result->close();
echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . $n .
"<STATUS>" . $n .
" <STATUS_DATA>" . $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, $version_datum, $mysqli;
$ExportModus = $_POST['ExportModus'];
$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_Freifeld1 = $_POST['Artikel_Freifeld1'];
$Artikel_Freifeld2 = $_POST['Artikel_Freifeld2'];
$Artikel_Freifeld3 = $_POST['Artikel_Freifeld3'];
$Artikel_Freifeld4 = $_POST['Artikel_Freifeld4'];
$Artikel_Freifeld5 = $_POST['Artikel_Freifeld5'];
$Artikel_Freifeld6 = $_POST['Artikel_Freifeld6'];
$Artikel_Freifeld7 = $_POST['Artikel_Freifeld7'];
$Artikel_Freifeld8 = $_POST['Artikel_Freifeld8'];
$Artikel_Freifeld9 = $_POST['Artikel_Freifeld9'];
$Artikel_Freifeld10 = $_POST['Artikel_Freifeld10'];
$Artikel_Freifeld11 = $_POST['Artikel_Freifeld11'];
$Artikel_Freifeld12 = $_POST['Artikel_Freifeld12'];
$Artikel_Freifeld13 = $_POST['Artikel_Freifeld13'];
$Artikel_Freifeld14 = $_POST['Artikel_Freifeld14'];
$Artikel_Freifeld15 = $_POST['Artikel_Freifeld15'];
$Artikel_Freifeld16 = $_POST['Artikel_Freifeld16'];
$Artikel_Freifeld17 = $_POST['Artikel_Freifeld17'];
$Artikel_Freifeld18 = $_POST['Artikel_Freifeld18'];
$Artikel_Freifeld19 = $_POST['Artikel_Freifeld19'];
$Artikel_Freifeld20 = $_POST['Artikel_Freifeld20'];
$Artikel_Lieferstatus = (integer) ($_POST['Artikel_Lieferstatus']);
//$Artikel_Startseite = (integer)($_POST['Artikel_Startseite']);
$SkipImages = (bool) ($_POST['SkipImages']);
$Artikel_ID = (integer) ($_POST['Artikel_ID']);
$sql_data_array = array();
if (isset($_POST['Artikel_Lieferstatustext']) && $ExportModus == 'Overwrite') {
$Artikel_Lieferstatustext = $_POST['Artikel_Lieferstatustext'];
$cmd = "select a.status_id, a.status_name, b.status_class from " . TABLE_SYSTEM_STATUS_DESCRIPTION . " a, " . TABLE_SYSTEM_STATUS . " b where
a.status_id = b.status_id AND b.status_class = 'shipping_status' AND a.status_name = '$Artikel_Lieferstatustext'";
$shipping_time_query = $mysqli->query($cmd) or die($mysqli->error);
$shipping_time = $shipping_time_query->fetch_array();
if (!$shipping_time) {
$insert_system_status = array('status_class' => 'shipping_status');
db_insert(TABLE_SYSTEM_STATUS, $insert_system_status);
$status_id = $mysqli->insert_id;
$insert_status_description = array('status_id' => $status_id, 'language_code' => 'de', 'status_name' => $Artikel_Lieferstatustext);
db_insert(TABLE_SYSTEM_STATUS_DESCRIPTION, $insert_status_description);
$sql_data_array['products_shippingtime'] = $status_id;
$Artikel_Lieferstatus = $sql_data_array['products_shippingtime'];
} else {
$sql_data_array['products_shippingtime'] = $shipping_time['status_id'];
$Artikel_Lieferstatus = $sql_data_array['products_shippingtime'];
}
} else {
$sql_data_array['products_shippingtime'] = $Artikel_Lieferstatus;
}
$Artikel_Kategorien = array();
$i = 1;
while (isset($_POST["Artikel_KategorieID{$i}"])) {
$Artikel_Kategorien[$i] = (integer) ($_POST["Artikel_KategorieID{$i}"]);
$i++;
}
$Artikel_Texte = array();
$i = 1;
while (isset($_POST["Artikel_Bezeichnung{$i}"])) {
$Artikel_Texte[$i] = array('B' => htmlspecialchars($_POST["Artikel_Bezeichnung{$i}"], NULL, ''),
'T' => $_POST["Artikel_Text{$i}"],
'S' => $_POST["Artikel_Kurztext{$i}"],
'L' => (integer) ($_POST["Artikel_TextLanguage{$i}"]),
'MT' => htmlspecialchars($_POST["Artikel_MetaTitle{$i}"], NULL, ''),
'MD' => htmlspecialchars($_POST["Artikel_MetaDescription{$i}"], NULL, ''),
'MK' => htmlspecialchars($_POST["Artikel_MetaKeywords{$i}"], NULL, ''),
'URL' => $_POST["Artikel_URL{$i}"]
);
$i++;
}
$Artikel_Preise = array();
$AnzahlPreisGrp = 0;
$i = 1;
while (isset($_POST["Artikelpreise_Preis{$i}"])) {
$Artikel_Preise[$i] = array(
'P' => $_POST["Artikelpreise_Preis{$i}"],
'G' => 1,
'M' => (integer) $_POST["Artikelpreise_Menge{$i}"],
'Index' => $i
);
$AnzahlPreisGrp = $i;
$i++;
}
$exists = FALSE;
$mode = 'NONE';
$cmd = "SELECT products_id, products_model FROM " . TABLE_PRODUCTS . " WHERE products_model = '" . $Artikel_Artikelnr . "'";
// if ($Artikel_ID == 0) {
$products_model_query = $mysqli->query($cmd);
if ($products_model_query) {
$products_model = $products_model_query->fetch_array();
if ($products_model) {
$exists = TRUE;
$mode = 'UPDATED';
$Artikel_ID = $products_model['products_id'];
} else {
$exists = FALSE;
$mode = 'INSERTED';
}
}
$cmd = "SELECT * from " . TABLE_MANDANT_CONFIG . " where shop_title ='Main Store'";
//$cmd = "SELECT shop_id from ". TABLE_MANDANT_CONFIG . " where shop_titel = 'Main Store'";
/*$store_id_query = $mysqli->query($cmd);
$store_id = $store_id_query->fetch_array();
if ($store_id) {
$store_id = $store_id['shop_id'];
} else {
$store_id = 1;
}*/
//multistore mod JCP
if (isset($_GET['store_id'])) {
$store_id = $_GET['store_id'];
} else {
$store_id = 1;
}
// 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)
$btime = aftime();
if (!$exists || $ExportModus == 'Overwrite' or 'PriceAndQuantityOnly') {
$Artikel_Freifeld1 = str_replace(',', '.', $_POST['Artikel_Freifeld1']);
$sql_data_array = array(
'products_id' => $Artikel_ID,
'permission_id' => $Artikel_ID,
'products_price' => $Artikel_Preis,
'products_quantity' => $Artikel_Menge,
'products_shippingtime' => $Artikel_Lieferstatus,
'products_model' => $Artikel_Artikelnr,
'products_weight' => $Artikel_Gewicht,
'products_ean' => $Artikel_EAN,
'products_refund_price' => $Artikel_Freifeld1 / 1.19,
// Englische Notation ohne Tausendergruppierung
//$english_format_number = number_format($number, 2, '.', '');
// 1234.57
'products_Freifeld2' => $Artikel_Freifeld2,
'products_Freifeld3' => $Artikel_Freifeld3,
'products_Freifeld4' => $Artikel_Freifeld4,
'products_Freifeld5' => $Artikel_Freifeld5,
'products_Freifeld6' => $Artikel_Freifeld6,
'products_Freifeld8' => $Artikel_Freifeld8,
'products_Freifeld9' => $Artikel_Freifeld9,
'products_Freifeld10' => $Artikel_Freifeld10,
'products_Freifeld11' => $Artikel_Freifeld11,
'products_Freifeld12' => $Artikel_Freifeld12,
'products_Freifeld13' => $Artikel_Freifeld13,
'products_Freifeld14' => $Artikel_Freifeld14,
'products_Freifeld15' => $Artikel_Freifeld15,
'products_Freifeld16' => $Artikel_Freifeld16,
'products_Freifeld17' => $Artikel_Freifeld17,
'products_Freifeld18' => $Artikel_Freifeld18,
'products_Freifeld19' => $Artikel_Freifeld19,
'products_Freifeld20' => $Artikel_Freifeld20,
'products_status' => "1",
'products_tax_class_id' => $Artikel_Steuersatz,
// 'products_startpage' => $Artikel_Startseite,
'product_template' => "",
'product_list_template' => "",
'products_option_template' => "",
'products_option_list_template' => "",
'manufacturers_id' => $Hersteller_ID
);
for ($i = 1; $i <= $AnzahlPreisGrp; $i++) {
foreach ($Artikel_Preise as $i => $APreis) {
if (isset($APreis['G']) && $APreis > 0) {
$sql_data_array["price_flag_graduated_all"] = 1;
} else {
$sql_data_array["price_flag_graduated_$APreis[G]"] = 0;
}
}
}
if (!$SkipImages) {
$sql_data_array['products_image'] = $Artikel_Bilddatei;
}
if (isset($_POST['Artikel_Grundeinheit']) && isset($_POST['Artikel_Masseinheit'])) {
$sql_data_array['products_vpe_value'] = $_POST['Artikel_Grundgewicht'];
$sql_data_array['products_vpe_status'] = 1;
$cmd = "SELECT * from " . TABLE_SYSTEM_STATUS_DESCRIPTION . " where status_name LIKE '" . $_POST['Artikel_Masseinheit'] . "' AND language_code = 'de'";
$vpe_query = $mysqli->query($cmd);
if ($vpe_id = $vpe_query->fetch_array()) {
$sql_data_array['products_vpe'] = $vpe_id['status_id'];
}
}
if (isset($_POST['Artikel_Mengeneinheit'])) {
$cmd = "SELECT * from " . TABLE_SYSTEM_STATUS_DESCRIPTION . " where status_name LIKE '" . $_POST['Artikel_Mengeneinheit'] . "' AND language_code = 'de'";
$sql_data_array['products_vpe_status'] = 1;
$unit_query = $mysqli->query($cmd);
if ($unit_id = $unit_query->fetch_array()) {
$sql_data_array['products_unit'] = $unit_id['status_id'];
}
}
} else {
if ($ExportModus == 'PriceOnly') {
$sql_data_array = array();
// nur der Preis wird ge�ndert
$sql_data_array['products_price'] = $Artikel_Preis;
for ($i = 1; $i <= $AnzahlPreisGrp; $i++) {
foreach ($Artikel_Preise as $i => $APreis) {
if (isset($APreis['G']) && $APreis > 0) {
$sql_data_array["price_flag_graduated_all"] = 1;
} else {
$sql_data_array["price_flag_graduated_$APreis[G]"] = 0;
}
}
}
}
if ($ExportModus == 'QuantityOnly') {
$sql_data_array = array();
// nur die Menge wird ge�ndert
$sql_data_array['products_quantity'] = $Artikel_Menge;
}
if ($ExportModus == 'PriceAndQuantityOnly') {
$sql_data_array = array();
// nur der Preis und die Menge wird ge�ndert
$sql_data_array = array('products_quantity' => $Artikel_Menge,
'products_price' => $Artikel_Preis
);
for ($i = 1; $i <= $AnzahlPreisGrp; $i++) {
foreach ($Artikel_Preise as $i => $APreis) {
if (isset($APreis['G']) && $APreis > 0) {
$sql_data_array["price_flag_graduated_all"] = 1;
} else {
$sql_data_array["price_flag_graduated_$APreis[G]"] = 0;
}
}
}
}
}
if (!$exists) { // Neuanlage (ID wird an Amicron-Faktura zurueckgegeben !!!)
$mode = 'INSERTED';
$insert_sql_data = array('date_added' => $btime);
$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 = $mysqli->insert_id;
} elseif ($exists || ($ExportModus == 'Overwrite')) {
$mode = 'UPDATED';
$update_sql_data = array('last_modified' => $btime);
$sql_data_array = array_merge($sql_data_array, $update_sql_data);
db_insert(TABLE_PRODUCTS, $sql_data_array, 'update', "products_id = '$Artikel_ID'");
}
if (!$exists || $ExportModus == 'Overwrite') {
//multistore Rechte setzen (Blacklist)
if(!$exists){
$cmd = "select shop_id from xt_stores";
$store_query = $mysqli->query($cmd);
while ($store = $store_query->fetch_array()) {
if ($store['shop_id']!=$store_id) {
$multisstore_data_array = array(
'pid' => $Artikel_ID,
'permission' => 1,
'pgroup' => "shop_".$store['shop_id']
);
db_insert('xt_products_permission', $multisstore_data_array);
}
}
} else {
$mysqli->query("delete from xt_products_permission where pid = '$Artikel_ID' and pgroup = 'shop_".$store_id."'");
}
foreach ($Artikel_Texte as $AText) {
if ($AText['L'] <> 0) {
$sql_data_array = array(
'products_name' => $AText['B'],
'products_description' => $AText['T'],
'products_short_description' => $AText['S'],
'products_keywords' => $AText['B'],
'products_url' => $AText['URL'],
'products_store_id' => $store_id
);
$sql_seo_url = array(
'meta_title' => $AText['MT'],
'meta_description' => $AText['MD'],
'meta_keywords' => $AText['MK']
);
$cmd = "select languages_id,name,code from " . TABLE_LANGUAGES . "
WHERE languages_id = " . $AText['L'] . " AND allow_edit ='1'";
$language_query = $mysqli->query($cmd);
$language = $language_query->fetch_array();
$seoUrl = '';
$AText['B'] = ersetzen($AText['B']);
$seoUrl = $language['code'] . "/" . $AText['B'];
$cmd = "SELECT products_id FROM " . TABLE_PRODUCTS_DESCRIPTION . "
WHERE products_id = '" . $Artikel_ID . "'
AND language_code = '" . $language['code'] . "'";
$products_query = $mysqli->query($cmd);
if ($products_query->fetch_array()) {
db_insert(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array, 'update', "products_id = '$Artikel_ID' AND language_code = '" . $language['code'] . "' AND products_store_id='$store_id'");
} else {
//multistore Texte in alle Shops wenn !exists
$cmd = "select shop_id from xt_stores";
$store_query = $mysqli->query($cmd);
while ($store = $store_query->fetch_array()) {
$sql_data_array['products_id'] = $Artikel_ID;
$sql_data_array['language_code'] = $language['code'];
$sql_data_array['products_store_id'] = $store['shop_id'];
db_insert(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array);
}
}
$cmd = "SELECT link_id FROM " . TABLE_SEO_URL . "
WHERE link_id = '" . $Artikel_ID . "'
AND link_type = '1'
AND language_code = '" . $language['code'] . "'";
$seo_query = $mysqli->query($cmd);
$cmd = "SELECT url_text FROM " . TABLE_SEO_URL . "
WHERE link_id = '" . $Artikel_Kategorien[1] . "'
AND language_code = '" . $language['code'] . "'
AND link_type ='2'";
$catname_query = $mysqli->query($cmd);
$catname_Url = $catname_query->fetch_array();
if ($catname_Url) {
$catUrl = $catname_Url['url_text'];
} else {
$catUrl = $seoUrl;
}
if (!$seo_query->fetch_array()) {
$text = "{$catUrl}/" . $AText["B"];
$cmd = "SELECT url_md5 FROM " . TABLE_SEO_URL . " WHERE url_md5 = '" . md5($text) . "'";
$seo_query = $mysqli->query($cmd);
if (!$seo_query->fetch_array()) {
$sql_seo_url['url_md5'] = md5($text);
} else {
$text = $text . "{$Artikel_ID}";
$sql_seo_url['url_md5'] = md5($text);
}
$sql_seo_url['url_text'] = $text;
$sql_seo_url['link_id'] = $Artikel_ID;
$sql_seo_url['link_type'] = 1;
$sql_seo_url['language_code'] = $language['code'];
$sql_seo_url['store_id'] = $store_id;
//db_insert(TABLE_SEO_URL, $sql_seo_url);
}
}
}
/* für nur Fotos - deaktivieren */
if (count($Artikel_Kategorien) > 0) {
$mysqli->query("delete from " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE products_id='$Artikel_ID' AND store_id=$store_id");
foreach ($Artikel_Kategorien as $i => $Kategorie_ID) {
$insert_sql_data = array('products_id' => $Artikel_ID,
'categories_id' => $Kategorie_ID,
'store_id' => $store_id
);
if ($i <= 1)
$insert_sql_data['master_link'] = 1;
else
$insert_sql_data['master_link'] = 0;
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 = $mysqli->query($type_cmd);
while ($typesize = $type_query->fetch_array()) {
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'];
}
// Neu ab Ver 4.1
elseif ($typesize['folder'] == "smallproduct") {
$width_smallproduct = $typesize['width'];
$height_smallproduct = $typesize['height'];
}
}
//MediaGallery Standards holen
$mg_cmd = "select mg_id from " . TABLE_MEDIA_GALLERY . " where class='product'";
$mg_query = $mysqli->query($mg_cmd);
if ($mg = $mg_query->fetch_array()) {
$mg_id = $mg['mg_id'];
}
if (isset($_POST['Artikel_Bilddatei'])) {
bildloschen($Artikel_ID);
// 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);
bildbearbeiten($filename, $uploaddir, $uploadfile, $typename, $width_thumb, $width_info, $width_popup, $width_icon, $height_thumb, $height_info, $height_icon, $height_popup, $width_smallproduct, $height_smallproduct);
//Die neue Bildern in DB Media, Media Gallery eintragen
$insert_sql_data = array(
'file' => $filename,
'type' => "images",
'class' => "product",
'download_status' => "free",
'status' => "true",
'owner' => 1
);
$cmd = "SELECT id from " . TABLE_MEDIA . ", " . TABLE_PRODUCTS . " where file = '" . $filename . "' AND products_image = '" . $filename . "'";
$bquery = $mysqli->query($cmd);
if ($media = $bquery->fetch_array()) {
// 'update';
$data = array('file' => $filename);
db_insert(TABLE_MEDIA, $data, 'update', "id = '" . $media['id'] . "'");
//db_insert(TABLE_MEDIA_TO_MEDIA_GALLERY,array('m_id'=>),'update',"m_id = '" . $media['id'] ."'");
} else {
// $bmodus = 'insert';
db_insert(TABLE_MEDIA, $insert_sql_data);
$m_id = $mysqli->insert_id;
$insert_sql_data = array(
'm_id' => $m_id,
'mg_id' => $mg_id
);
db_insert(TABLE_MEDIA_TO_MEDIA_GALLERY, $insert_sql_data);
}
}
$bilddatei = bilderloschen($Artikel_ID);
$anzUpdates = count($bilddatei);
$anzInsert = 0;
if (isset($_POST['Artikel_Bilddateien'])) {
for ($i = 0; $i < (integer) ($_POST['Artikel_Bilddateien']); $i++) {
// Tempor�res Bild im Ordner Originale ablegen und Typ ermitteln
$filename = $_FILES["artikel_images$i"]["name"];
$uploaddir = _SRV_WEB_IMAGES . _DIR_ORG;
$uploadfile = "../" . $uploaddir . $filename;
move_uploaded_file($_FILES["artikel_images$i"]["tmp_name"], $uploadfile);
$typename = strtolower($filename);
bildbearbeiten($filename, $uploaddir, $uploadfile, $typename, $width_thumb, $width_info, $width_popup, $width_icon, $height_thumb, $height_info, $height_icon, $height_popup, $width_smallproduct, $height_smallproduct);
//Die neue Bildern in DB Media, Media Link und Gallery eintragen
if ($anzUpdates > $i) {
$cmd = "SELECT id, file from " . TABLE_MEDIA . " WHERE id = '" . $bilddatei[$i]['id'] . "'";
$bquery = $mysqli->query($cmd);
if ($media = $bquery->fetch_array()) {
//update
$data = array('file' => $filename);
db_insert(TABLE_MEDIA, $data, 'update', "id = '" . $bilddatei[$i]['id'] . "'");
}
} else {
$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 = $mysqli->insert_id;
$insert_sql_data = array(
'm_id' => $m_id,
'mg_id' => $mg_id
);
db_insert(TABLE_MEDIA_TO_MEDIA_GALLERY, $insert_sql_data);
$insert_sql_data = array(
'm_id' => $m_id,
'link_id' => $Artikel_ID,
'class' => "product",
'type' => "images",
'sort_order' => $i + 1
);
db_insert(TABLE_MEDIA_LINK, $insert_sql_data);
}
}
$anzInsert = $i;
}
if ($anzUpdates > $anzInsert) {
for ($k = $anzInsert; $k < $anzUpdates; $k++) {
$mysqli->query("delete from " . TABLE_MEDIA . " where id = '" . $bilddatei[$k]['id'] . "' AND type = 'images'");
$mysqli->query("delete from " . TABLE_MEDIA_LINK . " where m_id = '" . $bilddatei[$k]['id'] . "' and type = 'images'");
$mysqli->query("delete from " . TABLE_MEDIA_TO_MEDIA_GALLERY . " where m_id = '" . $bilddatei[$k]['id'] . "' and mg_id = 2");
}
}
} // Bilder laden
} // Ende OverWrite
}
if (!$exists || $ExportModus == 'Overwrite' || $ExportModus == 'PriceOnly' || $ExportModus == 'PriceAndQuantityOnly') {
$cmd = "select distinct(customers_status_id) from " . TABLE_CUSTOMERS_STATUS;
$ss_query = $mysqli->query($cmd);
while ($ss = $ss_query->fetch_array()) {
$mysqli->query("delete from xt_products_price_group_all 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('xt_products_price_group_all', $sql_data_array);
}
$sql_data_array = array(
'products_id' => $Artikel_ID,
'discount_quantity' => 1,
'price' => $Artikel_Preis
);
db_insert('xt_products_price_group_all', $sql_data_array);
}
echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . "\n" .
"<STATUS>\n" .
" <STATUS_DATA>\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" .
" <SCRIPT_DATE>$version_datum</SCRIPT_DATE>\n" .
" </STATUS_DATA>\n" .
"</STATUS>\n\n";
}
function writeCategorie() {
global $action, $version_major, $version_minor, $version_datum, $mysqli;
$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) {
$cmd = "SELECT categories_id FROM " . TABLE_CATEGORIES . " WHERE categories_id='" . $Kategorie_ID . "'";
$cat_query = $mysqli->query($cmd);
if ($cat = $cat_query->fetch_array())
; {
$exists = TRUE;
}
}
/*$cmd = "SELECT * from " . TABLE_MANDANT_CONFIG . " where shop_title ='Main Store'";
//$cmd = "SELECT shop_id from ". TABLE_MANDANT_CONFIG . " where shop_titel = 'Main Store'";
$store_id_query = $mysqli->query($cmd);
$store_id = $store_id_query->fetch_array();
if ($store_id) {
$store_id = $store_id['shop_id'];
} else {
$store_id = 1;
}*/
//multistore mod JCP
if (isset($_GET['store_id'])) {
$store_id = $_GET['store_id'];
} else {
$store_id = 1;
}
$btime = aftime();
if (!$exists) {
$insert_categorie = array('permission_id' => 0,
'categories_owner' => 1,
'parent_id' => $Kategorie_Vater_ID,
'categories_status' => 1,
'date_added' => $btime
);
// Kategorie erzeugen und ID ermitteln
db_insert(TABLE_CATEGORIES, $insert_categorie);
$Kategorie_ID = $mysqli->insert_id;
// $id = array('permission_id' => $Kategorie_ID);
// db_insert(TABLE_CATEGORIES, $id['permission_id'], 'update',"categories_id='$Kategorie_ID'");
// Namen eintragen
foreach ($Kategorie_Names as $i => $KName) {
if ($KName['L'] <> 0) {
// language_code ermitteln
$cmd = "SELECT code FROM " . TABLE_LANGUAGES . "
WHERE languages_id = " . $KName['L'] . "
AND allow_edit= 1";
$result_language_code = $mysqli->query($cmd);
$language_code = $result_language_code->fetch_array();
// Daten in die Tabelle TABLE_CATEGORIES_DESCRIPTION schreiben
$insert_categorieDescription = array('categories_id' => $Kategorie_ID,
'language_code' => $language_code['code'],
'categories_name' => $KName['N'],
'categories_heading_title' => $KName['N'],
'categories_store_id' => $store_id
);
db_insert(TABLE_CATEGORIES_DESCRIPTION, $insert_categorieDescription);
/* $sql_seo_url = array('meta_title' => $KName['N'],
'meta_description' => $KName['N'],
'meta_keywords' => $KName['N']
);
*/
$lcode = $language_code['code'];
$cat_seo_Url = kategoriebaum($Kategorie_ID, $lcode);
$cmd = "SELECT url_md5 FROM " . TABLE_SEO_URL . "
WHERE link_id = '" . $Kategorie_ID . "'
AND link_type ='2'
AND language_code = '$lcode'";
$seo_query = $mysqli->query($cmd);
// $KName['N'] = ersetzen($KName['N']);
$url_categorie = "$lcode/" . $cat_seo_Url;
/* if (mysql_fetch_array($seo_query)) {
//$sql_seo_url['url_text'] = $seoUrl;
//$sql_seo_url['url_md5'] = md5($url_categorie);
$sql_seo_url['url_text'] = $url_categorie;
$sql_seo_url['link_type'] = 2;
db_insert(TABLE_SEO_URL, $sql_seo_url, 'update', "link_id = '$Kategorie_ID' AND language_code = '$lcode'");
} else {
*/ if (!$seo_query->fetch_array()) {
$sql_seo_url = array('url_md5' => md5($url_categorie),
'url_text' => $url_categorie,
'link_id' => $Kategorie_ID,
'link_type' => 2,
'language_code' => $lcode,
'store_id' => $store_id
);
db_insert(TABLE_SEO_URL, $sql_seo_url);
}
}
}
}
if (isset($_POST['Kategorie_Bildextension'])) {
$Kategorie_Bildextension = $_POST['Kategorie_Bildextension'];
//Bildgr��en aus den Einstellungen einlesen
$type_cmd = "select folder, width, height from " . TABLE_IMAGE_TYPE . " WHERE class='category'";
$type_query = $mysqli->query($type_cmd);
while ($typesize = $type_query->fetch_array()) {
if ($typesize['folder'] == "category/thumb") {
$width_thumb = $typesize['width'];
$height_thumb = $typesize['height'];
} elseif ($typesize['folder'] == "category/info") {
$width_info = $typesize['width'];
$height_info = $typesize['height'];
} elseif ($typesize['folder'] == "category/popup") {
$width_popup = $typesize['width'];
$height_popup = $typesize['height'];
} elseif ($typesize['folder'] == "category/icon") {
$width_icon = $typesize['width'];
$height_icon = $typesize['height'];
}
}
$filename = "cat" . $Kategorie_ID . $Kategorie_Bildextension;
// $filename = $_FILES['artikel_image']['name'];
$uploaddir = _SRV_WEB_IMAGES . _DIR_ORG;
// Tempor�res Bild im Ordner Originale ablegen und Typ ermitteln
$uploadfile = "../" . $uploaddir . $filename;
move_uploaded_file($_FILES['Kategorie_image']['tmp_name'], $uploadfile);
// move_uploaded_file($filename, $uploadfile);
$typename = strtolower($filename);
catbildbearbeiten($filename, $uploaddir, $uploadfile, $typename, $width_thumb, $width_info, $width_popup, $width_icon, $height_thumb, $height_info, $height_icon, $height_popup);
// }
$sql_data_array['categories_image'] = $filename;
db_insert(TABLE_CATEGORIES, $sql_data_array, 'update', "categories_id='$Kategorie_ID'");
$insert_cat_media = array('file' => $filename,
'type' => 'images',
'class' => 'category',
'status' => 'true',
'owner' => 1
);
db_insert(TABLE_MEDIA, $insert_cat_media);
$Kat_MID = $mysqli->insert_id;
$sql_catmedia_array = array('m_id' => $Kat_MID,
'mg_id' => 3
);
db_insert(TABLE_MEDIA_TO_MEDIA_GALLERY, $sql_catmedia_array, 'insert', "ml_id='$Kat_MID'");
}
$mode = 'INSERTED';
echo '<?xml version="1.0" encoding="' . CHARSET . '"?>' . "\n" .
"<STATUS>\n" .
" <STATUS_DATA>\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" .
" <SCRIPT_DATE>$version_datum</SCRIPT_DATE>\n" .
" </STATUS_DATA>\n" .
"</STATUS>\n\n";
}
function writeHersteller() {
global $action, $version_major, $version_minor, $version_datum, $mysqli;
$Hersteller_Name = $_POST['Hersteller_Name'];
$mode = 'NONE';
/*$cmd = "SELECT * from " . TABLE_MANDANT_CONFIG . " where shop_title ='Main Store'";
// $cmd = "SELECT shop_id from ". TABLE_MANDANT_CONFIG . " where shop_titel = 'Main Store'";
$store_id_query = $mysqli->query($cmd);
$store_id = $store_id_query->fetch_array();
if ($store_id) {
$store_id = $store_id['shop_id'];
} else {
$store_id = 1;
}*/
//multistore mod JCP
if (isset($_GET['store_id'])) {
$store_id = $_GET['store_id'];
} else {
$store_id = 1;
}
$cmd = "SELECT manufacturers_id,manufacturers_name FROM " . TABLE_MANUFACTURERS .
" WHERE manufacturers_name='$Hersteller_Name'";
$manufacturers_query = $mysqli->query($cmd);
// Datensatz schon vorhanden
if ($manufacturers = $manufacturers_query->fetch_array()) {
$Hersteller_ID = $manufacturers['manufacturers_id'];
} else {
$mode = 'INSERTED';
$btime = aftime();
$insert_sql_data = array('manufacturers_name' => $Hersteller_Name,
'manufacturers_status' => 1,
'external_id' => 'TEXT_EXTERNAL_ID',
'date_added' => $btime
);
db_insert(TABLE_MANUFACTURERS, $insert_sql_data);
$Hersteller_ID = $mysqli->insert_id;
//$cmd = "select languages_id,name,code from " . TABLE_LANGUAGES . " WHERE language_status = '1'";
//$languages_query = mysql_query($cmd) or die(mysql_error());
//while ($language = mysql_fetch_array($languages_query))
$language['code'] = 'de';
$cmd = "SELECT manufacturers_id FROM " . TABLE_MANUFACTURERS_DESCRIPTION . " WHERE manufacturers_id = '$Hersteller_ID'" .
" AND language_code = '" . $language['code'] . "'";
$result_query = $mysqli->query($cmd);
if (!$result = $result_query->fetch_array()) {
$insert_sql_info = array('manufacturers_id' => $Hersteller_ID,
'language_code' => $language['code'],
'manufacturers_description' => $Hersteller_Name,
'manufacturers_url' => '',
'manufacturers_store_id' => $store_id
);
db_insert(TABLE_MANUFACTURERS_DESCRIPTION, $insert_sql_info);
}
$sql_seo_url = array('meta_title' => $Hersteller_Name,
'meta_description' => $Hersteller_Name,
'meta_keywords' => $Hersteller_Name
);
$seoUrl = $language['code'] . "/" . ersetzen($Hersteller_Name);
$cmd = "SELECT url_md5 FROM " . TABLE_SEO_URL . " WHERE language_code = '" . $language['code'] . "' AND link_type = 4 AND link_id = '" . $Hersteller_ID . "'";
$result_query = $mysqli->query($cmd);
/* if(mysql_fetch_array($result)) {
$sql_seo_url['url_md5'] = md5($seoUrl);
$sql_seo_url['url_text'] = $seoUrl;
$sql_seo_url['link_type'] = 4;
db_insert(TABLE_SEO_URL, $sql_seo_url,'update', "link_id = '$Hersteller_ID' AND link_type='4' AND language_code = '".$language_code['code']."'");
}
else {
*/
if (!$result = $result_query->fetch_array()) {
$sql_seo_url = array('url_md5' => md5($seoUrl),
'url_text' => $seoUrl,
'language_code' => $language['code'],
'link_type' => 4,
'link_id' => $Hersteller_ID,
'store_id' => $store_id
);
db_insert(TABLE_SEO_URL, $sql_seo_url);
}
}
$cmd = "SELECT pid FROM " . TABLE_MANUFACTURERS_PERMISSION . " WHERE pid = '$Hersteller_ID'" .
" AND (pgroup = 'group_permission_1' OR pgroup = 'shop_1')";
$result_query = $mysqli->query($cmd);
// Info noch nicht enthalten
if (!$result = $result_query->fetch_array()) {
$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" .
" <MESSAGE>OK</MESSAGE>\n" .
" <ID>$Hersteller_ID</ID>\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" .
" </STATUS_DATA>\n" .
"</STATUS>\n\n";
}
function db_insert($tabelle, $data, $action = 'insert', $parameters = '') {
global $mysqli;
// #### 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 .= "'" . $mysqli->real_escape_string($value) . "'" . ', ';
}
$insert_query = substr($insert_query, 0, -2) . ')';
return $insert = $mysqli->query($insert_query) or die("MySQLFehler: $insert_query;\n" . $mysqli->error);
}
// #### Datensatz aendern #####
elseif ($action == 'update') {
$update_query = 'UPDATE ' . $tabelle . ' SET ';
while (list($columns, $value) = each($data)) {
$update_query .= $columns . ' = ' . "'" . $mysqli->real_escape_string($value) . "'" . ', ';
}
$update_query = substr($update_query, 0, -2) . ' ';
$update_query .= ' WHERE ' . $parameters;
return $update = $mysqli->query($update_query) or die("MySQLFehler: $update_query;\n" . $mysqli->error);
}
}
// - - - Verbindung zur Datenbank - - -
function db_connect() {
try {
$c = false;
// $db=mysql_connect(_SYSTEM_DATABASE_HOST,_SYSTEM_DATABASE_USER,_SYSTEM_DATABASE_PWD);
$mysqli = new mysqli(_SYSTEM_DATABASE_HOST, _SYSTEM_DATABASE_USER, _SYSTEM_DATABASE_PWD, _SYSTEM_DATABASE_DATABASE);
if ($mysqli->connect_error) {
echo "Datenbankverbindungsfehler:" . mysqli_connect_error();
exit;
} else {
$c = TRUE;
return $mysqli;
}
/*
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;
}
//return $mysqli;
}
// - - - Login - - -
function login($user, $pass) {
global $n, $hk;
$n = "\n";
$hk = "'";
$c = false;
if ($mysqli = db_connect()) {
$query_login = $mysqli->query("SELECT handle, user_password FROM " . TABLE_ADMIN_ACL_AREA_USER . " where handle = " . $hk . $user . $hk);
$login = $query_login->fetch_array();
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;
}
// - - - 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;
}
function bildbearbeiten($filename, $uploaddir, $uploadfile, $typename, $width_thumb, $width_info, $width_popup, $width_icon, $height_thumb, $height_info, $height_icon, $height_popup, $width_smallproduct, $height_smallproduct) {
if (strstr($typename, '.gif')) {
$image = imagecreatefromgif($uploadfile);
} elseif ((strstr($typename, '.jpg')) || (strstr($typename, '.jpeg'))) {
$image = imagecreatefromjpeg($uploadfile);
} elseif (strstr($typename, '.png')) {
$image = imagecreatefrompng($uploadfile);
}
//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);
// Neu ab Ver 4.1
$new_width_smallproduct = $width_smallproduct;
$new_height_smallproduct = ($width_smallproduct / $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);
// Neu ab Ver 4.1
$new_height_smallproduct = $height_smallproduct;
$new_width_smallproduct = ($height_smallproduct * $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);
// Neu ab Ver 4.1
$new_image_smallproduct = imagecreatetruecolor($new_width_smallproduct, $new_height_smallproduct);
ImageCopyResized($new_image_smallproduct, $image, 0, 0, 0, 0, $new_width_smallproduct, $new_height_smallproduct, $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;
// Neu ab Ver 4.1
$path_smallproduct = "../" . _SRV_WEB_IMAGES . "smallproduct/" . $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);
// Neu ab Ver 4.1
imagegif($new_image_smallproduct, $path_smallproduct);
} elseif ((strstr($typename, '.jpg')) || (strstr($typename, '.jpeg'))) {
imagejpeg($new_image_thumb, $path_thumb, 90);
imagejpeg($new_image_info, $path_info, 90);
imagejpeg($new_image_popup, $path_popup, 90);
imagejpeg($new_image_icon, $path_icon, 90);
// Neu ab Ver 4.1
imagejpeg($new_image_smallproduct, $path_smallproduct, 90);
} elseif (strstr($typename, '.png')) {
imagepng($new_image_thumb, $path_thumb, 9);
imagepng($new_image_info, $path_info, 9);
imagepng($new_image_popup, $path_popup, 9);
imagepng($new_image_icon, $path_icon, 9);
// Neu ab Ver 4.1
imagepng($new_image_smallproduct, $path_smallproduct, 9);
}
//Images freigeben
imagedestroy($new_image_thumb);
imagedestroy($new_image_info);
imagedestroy($new_image_popup);
imagedestroy($new_image_icon);
// Neu ab Ver 4.1
imagedestroy($new_image_smallproduct);
imagedestroy($image);
return $filename;
}
function catbildbearbeiten($filename, $uploaddir, $uploadfile, $typename, $width_thumb, $width_info, $width_popup, $width_icon, $height_thumb, $height_info, $height_icon, $height_popup) {
if (strstr($typename, '.gif')) {
$image = imagecreatefromgif($uploadfile);
} elseif ((strstr($typename, '.jpg')) || (strstr($typename, '.jpeg'))) {
$image = imagecreatefromjpeg($uploadfile);
} elseif (strstr($typename, '.png')) {
$image = imagecreatefrompng($uploadfile);
}
//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 . "category/" . _DIR_INFO . $filename;
$path_popup = "../" . _SRV_WEB_IMAGES . "category/popup/" . $filename;
$path_thumb = "../" . _SRV_WEB_IMAGES . "category/" . _DIR_THUMB . $filename;
$path_icon = "../" . _SRV_WEB_IMAGES . "category/" . _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);
return $filename;
}
function ersetzen($text) {
$text = strtolower($text);
$suche = array(' ', '(', ')', '�', '�', '�', '�', '�', '�', '�', '+', '/', '*', '\'', '?', '"', '\\');
$ersetzen = array('-', '', '', 'AE', 'OE', 'UE', 'ae', 'ss', 'oe', 'ue', '', '', '', '', '', '', '');
return str_replace($suche, $ersetzen, $text);
}
function aftime() {
return date('Y-m-d H:i:s', time());
}
function kategoriebaum($Kategorie_ID, $language_code) {
global $mysqli;
$cmd = "SELECT tc.categories_id, tc.parent_id, tcd.language_code, tcd.categories_name
FROM " . TABLE_CATEGORIES . " tc, " . TABLE_CATEGORIES_DESCRIPTION . " tcd
WHERE tc.categories_id = '$Kategorie_ID'
AND tc.categories_id=tcd.categories_id
AND tcd.language_code = '" . $language_code . "'";
$result_query = $mysqli->query($cmd);
$result = $result_query->fetch_array();
if ($result['parent_id'] <> 0) {
$result['categories_name'] = ersetzen($result['categories_name']);
$result = kategoriebaum($result['parent_id'], $result['language_code']) . '/' . $result['categories_name'];
return $result;
} else
return ersetzen($result['categories_name']);
}
function bildloschen($Artikel_ID) {
global $mysqli;
$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/";
// Neu ab Vers.4.1
$dirSmalproduct = "../" . _SRV_WEB_IMAGES . "smallproduct/";
$cmd = "select products_id, products_image, count(*) as total from " . TABLE_PRODUCTS . " where products_id = '$Artikel_ID'";
$duplicate_image_query = $mysqli->query($cmd);
$duplicate_image = $duplicate_image_query->fetch_array();
$Bilddatei = $duplicate_image['products_image'];
// Bild ist weniger als 2 Artikeln zugewiesen
if ($duplicate_image['total'] < 1) {
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);
}
//if (file_exists($dirSmalproduct . $Bilddatei)) { @unlink($dirSmalproduct . $Bilddatei); }
}
return true;
}
function bilderloschen($Artikel_ID) {
global $mysqli;
$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/";
// Neu ab Vers.4.1
//$dirSmalproduct = "../"._SRV_WEB_IMAGES."smallproduct/";
$bilder2 = array();
//$cmd = "select a.id, a.file from " .TABLE_MEDIA. " a, " .TABLE_MEDIA_LINK. " b, " .TABLE_MEDIA_TO_MEDIA_GALLERY .
// " c where b.link_id = $Artikel_ID AND b.m_id = a.id AND b.m_id = c.m_id";
$cmd = "SELECT m.id, m.file from " . TABLE_MEDIA . " m, " . TABLE_MEDIA_LINK . " ml
WHERE ml.link_id = '$Artikel_ID' AND m.id = ml.m_id";
$result = $mysqli->query($cmd) or die($mysqli->error);
while ($bilder = $result->fetch_array()) {
if (file_exists($dirIcon . $bilder['file'])) {
@unlink($dirIcon . $bilder['file']);
}
if (file_exists($dirInfo . $bilder['file'])) {
@unlink($dirInfo . $bilder['file']);
}
if (file_exists($dirOrg . $bilder['file'])) {
@unlink($dirOrg . $bilder['file']);
}
if (file_exists($dirPopup . $bilder['file'])) {
@unlink($dirPopup . $bilder['file']);
}
if (file_exists($dirThumb . $bilder['file'])) {
@unlink($dirThumb . $bilder['file']);
}
// Neu ab Vers.4.1.
//if (file_exists($dirSmalproduct . $bilder['file'])) { @unlink($dirSmalproduct . $bilder['file']); }
$bilder2[] = array('id' => $bilder['id'], 'file' => $bilder['file']);
}
return $bilder2;
}
?>