Hallo,
ich habe für die Preissuchmaschiene preiswunder24.de ein Modul welches für den xtc 3.0.4 SP2.1 funktionieren soll.
Nu werden aber die Artikelbeschreibungen nicht eingelesen, laut Anbieter soll alles funktionieren, vielleicht kann mal jemand über das Modul schauen.
schon mal danke
irrtum1
PHP
<?php
/* -----------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------*/
defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' );
define('MODULE_PREISWUNDER24_TEXT_DESCRIPTION', '<hr noshade="noshade"><br><center><a href="http://www.lexservice.de/" target="_blank" title="LexService"><img src="http://www.lexservice.de/img/lexservice_modul.gif" width="100" border="0" alt="LexService" /></a></center><br><br>
<b>Export</b><br>PreisWunder24.de<br><br>
<b>Trennzeichen</b><br>getrennt durch (; getrennt)<br><br>
<b>Format</b><br>- Artikelbezeichnung<br>- Preis<br>- Artikelbeschreibung<br>- Deeplink<br>- EAN Nummer<br>- Produktbild URL<br>- Versandkosten<br>- Händlernummer<br><br>
<b>Modulversion</b><br>PreisWunder24.de - <i>Oktober 2009 - v1.0</i><br><br>
<b>Fragen</b><br>LexService<br><br>Tel: 01805/909555<br>E-Mail:<a href="mailto:info@lexservice.de?SUBJECT=Fragen zum PreisWunder24-Modul v1.0 (xtCommerce)"><u>info@lexservice.de</u></a>');
define('MODULE_PREISWUNDER24_TEXT_TITLE', 'PreisWunder24.de - CSV');
define('MODULE_PREISWUNDER24_FILE_TITLE' , '<hr noshade>Dateiname');
define('MODULE_PREISWUNDER24_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.<br>(Verzeichnis export/)');
define('MODULE_PREISWUNDER24_STATUS_DESC','Modulstatus');
define('MODULE_PREISWUNDER24_STATUS_TITLE','Status');
define('MODULE_PREISWUNDER24_CURRENCY_TITLE','Währung');
define('MODULE_PREISWUNDER24_CURRENCY_DESC','Welche Währung soll exportiert werden?');
define('MODULE_PREISWUNDER24_HEANDLERNUMMER_TITLE','<hr noshade><b>Ihre Händlernummer</b>');
define('MODULE_PREISWUNDER24_HEANDLERNUMMER_DESC','Tragen Sie hier Ihre Händlernummer ein die Sie von PreisWunder24 erhalten haben.');
define('MODULE_PREISWUNDER24_SHIPPING_COST_TITLE','<hr noshade><b>Versandkosten</b>');
define('MODULE_PREISWUNDER24_SHIPPING_COST_DESC','Die Versandkosten basieren auf dem Artikelpreis oder dem Artikelgewicht. Beispiel: 25:4.90,50:9.90,etc.. Bis 25 werden 4.90 verrechnet, darüber bis 50 werden 9.90 verrechnet, etc.');
define('MODULE_PREISWUNDER24_SHIPPING_ART_TITLE','<hr noshade><b>Versandkosten-Methode</b>');
define('MODULE_PREISWUNDER24_SHIPPING_ART_DESC','Die Versandkosten basieren auf dem Artikelpreis oder dem Artikelgewicht.');
define('EXPORT_YES','Nur Herunterladen');
define('EXPORT_NO','Am Server Speichern');
define('CURRENCY','<hr noshade><b>Währung:</b>');
define('CURRENCY_DESC','Währung in der Exportdatei');
define('EXPORT','Bitte den Sicherungsprozess AUF KEINEN FALL unterbrechen. Dieser kann einige Minuten in Anspruch nehmen.');
define('EXPORT_TYPE','<hr noshade><b>Speicherart:</b>');
define('EXPORT_STATUS_TYPE','<hr noshade><b>Kundengruppe:</b>');
define('EXPORT_STATUS','Bitte wählen Sie die Kundengruppe, die Basis für den Exportierten Preis bildet. (Falls Sie keine Kundengruppenpreise haben, wählen Sie <i>Gast</i>):</b>');
define('CAMPAIGNS','<hr noshade><b>Kampagnen:</b>');
define('CAMPAIGNS_DESC','Mit Kampagne zur Nachverfolgung verbinden.');
define('DATE_FORMAT_EXPORT', '%d.%m.%Y');
class preiswunder24 {
var $code, $title, $description, $enabled;
function preiswunder24() {
global $order;
$this->code = 'preiswunder24';
$this->title = MODULE_PREISWUNDER24_TEXT_TITLE;
$this->description = MODULE_PREISWUNDER24_TEXT_DESCRIPTION;
$this->sort_order = MODULE_PREISWUNDER24_SORT_ORDER;
$this->enabled = ((MODULE_PREISWUNDER24_STATUS == 'True') ? true : false);
$this->CAT=array();
$this->PARENT=array();
}
function process($file) {
@xtc_set_time_limit(0);
require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'xtcPrice.php');
$xtPrice = new xtcPrice($_POST['currencies'],$_POST['status']);
if ($_POST['shippingcosts'] != MODULE_PREISWUNDER24_SHIPPING_COST) {
xtc_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . xtc_db_input($_POST['shippingcosts']) . "' where configuration_key = 'MODULE_PREISWUNDER24_SHIPPING_COST'");
}
if ($_POST['heandlernummer'] != MODULE_HEANDLER_NUMMER) {
xtc_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . xtc_db_input($_POST['heandlernummer']) . "' where configuration_key = 'MODULE_HEANDLER_NUMMER'");
}
$export_query =xtc_db_query("SELECT
p.products_id,
pd.products_name,
pd.products_short_description,
p.products_ean,
p.products_image,
p.products_price,
p.products_status,
p.products_weight,
p.products_tax_class_id,
p.products_date_added,
m.manufacturers_name
FROM
" . TABLE_PRODUCTS . " p LEFT JOIN
" . TABLE_MANUFACTURERS . " m
ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
" . TABLE_PRODUCTS_DESCRIPTION . " pd
ON p.products_id = pd.products_id AND
pd.language_id = '".$_SESSION['languages_id']."' LEFT JOIN
" . TABLE_SPECIALS . " s
ON p.products_id = s.products_id
WHERE
p.products_status = 1
ORDER BY
p.products_date_added DESC,
pd.products_name");
while ($products = xtc_db_fetch_array($export_query)) {
$products_price = $xtPrice->xtcGetPrice($products['products_id'],
$format=false,
1,
$products['products_tax_class_id'],
'');
$categorie_query=xtc_db_query("SELECT
categories_id
FROM ".TABLE_PRODUCTS_TO_CATEGORIES."
WHERE products_id='".$products['products_id']."'");
while ($categorie_data=xtc_db_fetch_array($categorie_query)) {
$categories=$categorie_data['categories_id'];
}
$products_name = strip_tags($products['products_name']);
$products_name = str_replace("<br>"," ",$products_name);
$products_name = str_replace("<br />"," ",$products_name);
$products_name = str_replace(";",", ",$products_name);
$products_name = str_replace("'",", ",$products_name);
$products_name = str_replace("|",", ",$products_name);
$products_name = str_replace("\n"," ",$products_name);
$products_name = str_replace("\r"," ",$products_name);
$products_name = str_replace("\t"," ",$products_name);
$products_name = str_replace("\v"," ",$products_name);
$products_name = str_replace("","," \"",$products_name);
$products_name = str_replace("&qout,"," \"",$products_name);
$products_name = str_replace(chr(13)," ",$products_name);
$products_short_description = strip_tags($products['products_short_description']);
$products_short_description = str_replace("<br>"," ",$products_short_description);
$products_short_description = str_replace("<br />"," ",$products_short_description);
$products_short_description = str_replace(";",", ",$products_short_description);
$products_short_description = str_replace("'",", ",$products_short_description);
$products_short_description = str_replace("|",", ",$products_short_description);
$products_short_description = str_replace("\n"," ",$products_short_description);
$products_short_description = str_replace("\r"," ",$products_short_description);
$products_short_description = str_replace("\t"," ",$products_short_description);
$products_short_description = str_replace("\v"," ",$products_short_description);
$products_short_description = str_replace("","," \"",$products_short_description);
$products_short_description = str_replace("&qout,"," \"",$products_short_description);
$products_short_description = str_replace(chr(13)," ",$products_short_description);
$products_short_description = substr($products_short_description, 0, 255);
$products_description = substr($products_description, 0, 65536);
if ($_POST['shippingcosts'] != MODULE_PREISWUNDER24_SHIPPING_COST) {
xtc_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . xtc_db_input($_POST['shippingcosts']) . "' where configuration_key = 'MODULE_PREISWUNDER24_SHIPPING_COST'");
}
if ($products['products_image'] != ''){
$image = HTTP_CATALOG_SERVER . DIR_WS_CATALOG_ORIGINAL_IMAGES .$products['products_image'];
}else{
$image = '';
}
if ($products['products_weight'] != '0.00'){
$weight = number_format($products['products_weight'],2,'.','');
} else {
$weight = '';
}
$versand = '0.00';
if ($products_price < MODULE_ORDER_TOTAL_LOWORDERFEE_ORDER_UNDER && MODULE_ORDER_TOTAL_LOWORDERFEE_STATUS == 'true') {
$customers_tax_query = xtc_db_query("SELECT customers_status_show_price_tax, customers_status_add_tax_ot FROM " . TABLE_CUSTOMERS_STATUS . " WHERE customers_status_id = '" . (int)$_POST['status'] . "' AND language_id = '" . (int)$_SESSION['languages_id'] . "'");
$customers_tax_value = xtc_db_fetch_array($customers_tax_query);
$tax = xtc_get_tax_rate(MODULE_ORDER_TOTAL_LOWORDERFEE_TAX_CLASS);
if ($customers_tax_value['customers_status_show_price_tax'] == 1) {
$low_order_fee = xtc_add_tax(MODULE_ORDER_TOTAL_LOWORDERFEE_FEE, $tax);
}
if ($customers_tax_value['customers_status_show_price_tax'] == 0 && $customers_tax_value['customers_status_add_tax_ot'] == 1) {
$low_order_fee = MODULE_ORDER_TOTAL_LOWORDERFEE_FEE;
}
if ($customers_tax_value['customers_status_show_price_tax'] == 0 && $customers_tax_value['customers_status_add_tax_ot'] != 1) {
$low_order_fee = MODULE_ORDER_TOTAL_LOWORDERFEE_FEE;
}
$versand = $versand + $low_order_fee;
}
if ($products_price > MODULE_SHIPPING_FREEAMOUNT_AMOUNT && MODULE_SHIPPING_FREEAMOUNT_STATUS == 'True') {
$versand = $versand;
} else if ($products_price > MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER && MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') {
$versand = $versand;
} else {
$shipping = -1;
$shippinglist = split("[:,]" , $_POST['shippingcosts']);
for ($i=0; $i<sizeof($shippinglist); $i+=2) {
if ($_POST['shippingart'] == 'weight') {
if ($products['products_weight'] <= $shippinglist[$i]) {
$shipping = $shippinglist[$i+1];
break;
}
} else if ($_POST['shippingart'] == 'price') {
if ($products_price <= $shippinglist[$i]) {
$shipping = $shippinglist[$i+1];
break;
}
}
}
if ($shipping == -1) {
$shipping_cost = 0;
} else {
$shipping_cost = $shipping;
}
$versand = $versand + $shipping_cost;
}
$schema .= $products_name.";".
number_format($products_price,2,',','') .';'.
$products_short_description.";".
HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?'.$_POST['campaign'].xtc_product_link($products['products_id'], $products['products_name']) . ";" .
$products['products_ean'] .';'.
$image.";".
number_format($versand,2,',','').";".
$_POST['heandlernummer'] ."\n";
}
$fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+");
fputs($fp, $schema);
fclose($fp);
switch ($_POST['export']) {
case 'yes':
// send File to Browser
$extension = substr($file, -3);
$fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file,"rb");
$buffer = fread($fp, filesize(DIR_FS_DOCUMENT_ROOT.'export/' . $file));
fclose($fp);
header('Content-type: application/x-octet-stream');
header('Content-disposition: attachment; filename=' . $file);
echo $buffer;
exit;
break;
}
}
function buildCAT($catID)
{
if (isset($this->CAT[$catID]))
{
return $this->CAT[$catID];
} else {
$cat=array();
$tmpID=$catID;
while ($this->getParent($catID)!=0 || $catID!=0)
{
$cat_select=xtc_db_query("SELECT categories_name FROM ".TABLE_CATEGORIES_DESCRIPTION." WHERE categories_id='".$catID."' and language_id='".$_SESSION['languages_id']."'");
$cat_data=xtc_db_fetch_array($cat_select);
$catID=$this->getParent($catID);
$cat[]=$cat_data['categories_name'];
}
$catStr='';
for ($i=count($cat);$i>0;$i--)
{
$catStr.=$cat[$i-1].' > ';
}
$this->CAT[$tmpID]=$catStr;
return $this->CAT[$tmpID];
}
}
function getParent($catID)
{
if (isset($this->PARENT[$catID]))
{
return $this->PARENT[$catID];
} else {
$parent_query=xtc_db_query("SELECT parent_id FROM ".TABLE_CATEGORIES." WHERE categories_id='".$catID."'");
$parent_data=xtc_db_fetch_array($parent_query);
$this->PARENT[$catID]=$parent_data['parent_id'];
return $parent_data['parent_id'];
}
}
function display() {
$customers_statuses_array = xtc_get_customers_statuses();
$curr='';
$currencies=xtc_db_query("SELECT code FROM ".TABLE_CURRENCIES);
while ($currencies_data=xtc_db_fetch_array($currencies)) {
$curr.=xtc_draw_radio_field('currencies', $currencies_data['code'],true).$currencies_data['code'].'<br />';
}
$campaign_array = array(array('id' => '', 'text' => TEXT_NONE));
$campaign_query = xtc_db_query("select campaigns_name, campaigns_refID from ".TABLE_CAMPAIGNS." order by campaigns_id");
while ($campaign = xtc_db_fetch_array($campaign_query)) {
$campaign_array[] = array ('id' => 'refID='.$campaign['campaigns_refID'], 'text' => $campaign['campaigns_name'],);
}
$shipping_country_array = array(array('id' => '', 'text' => TEXT_NONE));
$shipping_country_query = xtc_db_query("SELECT countries_iso_code_2 FROM ".TABLE_COUNTRIES." ORDER BY countries_iso_code_2");
while ($shipping_country = xtc_db_fetch_array($shipping_country_query)) {
$shipping_country_array[] = array('id' => strtoupper($shipping_country['countries_iso_code_2']), 'text' => strtoupper($shipping_country['countries_iso_code_2']),);
}
return array('text' => EXPORT_STATUS_TYPE.'<br>'.
EXPORT_STATUS.'<br>'.
xtc_draw_pull_down_menu('status',$customers_statuses_array, '1').'<br>'.
CURRENCY.'<br>'.
CURRENCY_DESC.'<br>'.
$curr.'<b>'.
MODULE_PREISWUNDER24_HEANDLERNUMMER_TITLE.'</b><br />'.
MODULE_PREISWUNDER24_HEANDLERNUMMER_DESC.'<br />'.
xtc_draw_input_field('heandlernummer',MODULE_HEANDLER_NUMMER).'<br />'.'<b>'.
MODULE_PREISWUNDER24_SHIPPING_COST_TITLE.'</b><br />'.
MODULE_PREISWUNDER24_SHIPPING_COST_DESC.'<br />'.
xtc_draw_input_field('shippingcosts',MODULE_PREISWUNDER24_SHIPPING_COST).'<br />'.'<b>'.
MODULE_PREISWUNDER24_SHIPPING_ART_TITLE.'</b><br />'.
MODULE_PREISWUNDER24_SHIPPING_ART_DESC.'<br />'.
xtc_draw_radio_field('shippingart', 'weight',true).'Versandksten nach Gewicht<br />'.
xtc_draw_radio_field('shippingart', 'price',false).'Versandkosten nach Preis<br />'.
CAMPAIGNS.'<br>'.
CAMPAIGNS_DESC.'<br>'.
xtc_draw_pull_down_menu('campaign',$campaign_array).'<br>'.
EXPORT_TYPE.'<br>'.
EXPORT.'<br>'.
xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'<br>'.
xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'<br>'.
'<br>' . xtc_button(BUTTON_EXPORT) .
xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=preiswunder24')));
}
function check() {
if (!isset($this->_check)) {
$check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PREISWUNDER24_STATUS'");
$this->_check = xtc_db_num_rows($check_query);
}
return $this->_check;
}
function install() {
xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_PREISWUNDER24_FILE', 'preiswunder24.csv', '6', '1', '', now())");
xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_PREISWUNDER24_STATUS', 'True', '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");
xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_PREISWUNDER24_SHIPPING_COST', '25:6.90,50:9.90,10000:0.00', '6', '1', '', '', now())");
xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_HEANDLER_NUMMER', '00000', '6', '1', '', '', now())");
}
function remove() {
xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PREISWUNDER24_SHIPPING_COST'");
xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_HEANDLER_NUMMER'");
}
function keys() {
return array('MODULE_PREISWUNDER24_STATUS','MODULE_PREISWUNDER24_FILE');
}
}
?>
Alles anzeigen