Hallo Tomcraft,
ich glaube das betrifft nicht die aktuellen Versandmodule.
Wegen unserer damaligen Warenwirtschaft schleife ich schon seit Jahren ein Versandmodul mit was sich "dhlint" nennt.
Dieses wird bei allen EU Ländern außer Deutschland angezeigt.
Das ist schon so alt.
Wenn ich mich recht erinnere habe ich damals zu xt commerce Zeiten das "normale" DHL Modul Modul genommen und dieses so umgebaut.
Wenn ich nun php 7.1 aktiviere - erhalten EU Shop Kunden die das Modul dann angezeigt bekommen - eine weiße Seite.
In den Logs steht dann:
[19-06-2017 08:07:40] UNDEFINED_ERROR : LoggingManager: Call to undefined function split() in File: /www/htdocs/shop/includes/modules/shipping/dhlint.php on Line: 82
Inhalt der Datei:
<?php/* -----------------------------------------------------------------------------------------
$Id: dhlint.php 899 2005-04-29 02:40:57Z hhgag $
XT-Commerce - community made shopping
http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(dhlint.php,v 1.36 2003/03/09 02:14:35); www.oscommerce.com
(c) 2003 nextcommerce (dhlint.php,v 1.12 2003/08/24); www.nextcommerce.org
Released under the GNU General Public License
-----------------------------------------------------------------------------------------
Third Party contributions:
German Post (Deutsche Post WorldNet) Autor: Copyright (C) 2002 - 2003 TheMedia, Dipl.-Ing Thomas Plänkers | http://www.themedia.at & http://www.oscommerce.at
Released under the GNU General Public License
---------------------------------------------------------------------------------------*/ class dhlint
{ var $code, $title, $description, $icon, $enabled, $num_dhlint; function dhlint
() { global $order; $this->code = 'dhlint'; $this->title = MODULE_SHIPPING_DHLINT_TEXT_TITLE
; $this->imgtitle = MODULE_SHIPPING_DHLINT_IMG_TITLE
; $this->description = MODULE_SHIPPING_DHLINT_TEXT_DESCRIPTION
; $this->sort_order = MODULE_SHIPPING_DHLINT_SORT_ORDER
; $this->icon = DIR_WS_ICONS
. 'shipping_dhlint.gif'; $this->tax_class = MODULE_SHIPPING_DHLINT_TAX_CLASS
; $this->enabled = ((MODULE_SHIPPING_DHLINT_STATUS
== 'True') ?
true : false); if ($_SESSION['cart']->weight > '100') { $this->enabled = false; } if ( ($this->enabled == true) && ((int
)MODULE_SHIPPING_DHLINT_ZONE
> 0) ) { $check_flag = false; $check_query = xtc_db_query
("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES
. " where geo_zone_id = '" . MODULE_SHIPPING_DHLINT_ZONE
. "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); while ($check = xtc_db_fetch_array
($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->delivery['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } }/**
* CUSTOMIZE THIS SETTING FOR THE NUMBER OF ZONES NEEDED
*/ $this->num_dhlint = 1; }/**
* class methods
*/ function quote
($method = '') { global $order, $shipping_weight, $shipping_num_boxes; $dest_country = $order->delivery['country']['iso_code_2']; $dest_zone = 0; $error = false; for ($i=1; $i<=$this->num_dhlint; $i++) { $countries_table = constant('MODULE_SHIPPING_DHLINT_COUNTRIES_' . $i); $country_zones = split("[,]", $countries_table); if (in_array($dest_country, $country_zones)) { $dest_zone = $i; break; } } if ($dest_zone == 0) { $error = true; } else { $shipping = -1; $dhlint_cost = constant('MODULE_SHIPPING_DHLINT_COST_' . $i); $dhlint_table = split("[:,]" , $dhlint_cost); for ($i=0; $i<sizeof($dhlint_table); $i+=2) { if ($shipping_weight <= $dhlint_table[$i]) { $shipping = $dhlint_table[$i+1]; $shipping_method = MODULE_SHIPPING_DHLINT_TEXT_WAY
. ' ' . $dest_country . ': '; break; } } if ($shipping == -1) { $shipping_cost = 0; $shipping_method = MODULE_SHIPPING_DHLINT_UNDEFINED_RATE
; } else { $shipping_cost = ($shipping + MODULE_SHIPPING_DHLINT_HANDLING
); } } $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_DHLINT_TEXT_TITLE
, 'methods' => array(array('id' => $this->code, 'title' => $shipping_method . ' (' . $shipping_num_boxes . ' x ' . $shipping_weight . ' ' . MODULE_SHIPPING_DHLINT_TEXT_UNITS
.')', 'cost' => $shipping_cost * $shipping_num_boxes))); if ($this->tax_class > 0) { $this->quotes['tax'] = xtc_get_tax_rate
($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } if (xtc_not_null
($this->icon)) $this->quotes['icon'] = xtc_image
($this->icon, $this->imgtitle); if ($error == true) $this->quotes['error'] = MODULE_SHIPPING_DHLINT_INVALID_ZONE
; return $this->quotes; } function check
() { if (!isset($this->_check
)) { $check_query = xtc_db_query
("select configuration_value from " . TABLE_CONFIGURATION
. " where configuration_key = 'MODULE_SHIPPING_DHLINT_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_SHIPPING_DHLINT_STATUS', 'True', '6', '0', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_HANDLING', '0', '6', '0', 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_SHIPPING_DHLINT_TAX_CLASS', '0', '6', '0', 'xtc_get_tax_class_title', 'xtc_cfg_pull_down_tax_classes(', 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_SHIPPING_DHLINT_ZONE', '0', '6', '0', 'xtc_get_zone_class_title', 'xtc_cfg_pull_down_zone_classes(', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_SORT_ORDER', '0', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_ALLOWED', '', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COUNTRIES_1', 'AD,AT,BE,CZ,DK,FO,FI,FR,GR,GL,IE,IT,LI,LU,MC,NL,PL,PT,SM,SK,SE,CH,VA,GB,SP', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COST_1', '10:6.90,20:9.90,31:13.90', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COUNTRIES_2', 'AL,AM,AZ,BY,BA,BG,HR,CY,GE,GI,HU,IS,KZ,LT,MK,MT,MD,NO,SI,UA,TR,YU,RU,RO,LV,EE', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COST_2', '5:25.00,10:35.00,20:45.00', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COUNTRIES_3', 'DZ,BH,CA,EG,IR,IQ,IL,JO,KW,LB,LY,OM,SA,SY,US,AE,YE,MA,QA,TN,PM', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COST_3', '5:29.00,10:39.00,20:59.00', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COUNTRIES_4', 'AF,AS,AO,AI,AG,AR,AW,AU,BS,BD,BB,BZ,BJ,BM,BT,BO,BW,BR,IO,BN,BF,BI,KH,CM,CV,KY,CF,TD,CL,CN,CC,CO,KM,CG,CR,CI,CU,DM,DO,EC,SV,ER,ET,FK,FJ,GF,PF,GA,GM,GH,GD,GP,GT,GN,GW,GY,HT,HN,HK,IN,ID,JM,JP,KE,KI,KG,KP,KR,LA,LS', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COST_4', '5:35.00,10:50.00,20:80.00', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COUNTRIES_5', 'MO,MG,MW,MY,MV,ML,MQ,MR,MU,MX,MN,MS,MZ,MM,NA,NR,NP,AN,NC,NZ,NI,NE,NG,PK,PA,PG,PY,PE,PH,PN,RE,KN,LC,VC,SN,SC,SL,SO,LK,SR,SZ,ZA,SG,TG,TH,TZ,TT,TO,TM,TV,VN,WF,VE,UG,UZ,UY,ST,SH,SD,TW,GQ,LR,DJ,CG,RW,ZM,ZW', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COST_5', '5:35.00,10:50.00,20:80.00', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COUNTRIES_6', 'DE', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_DHLINT_COST_6', '5:6.70,10:9.70,20:13.00', '6', '0', now())"); } function remove
() { xtc_db_query
("delete from " . TABLE_CONFIGURATION
. " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys
() { $keys = array('MODULE_SHIPPING_DHLINT_STATUS', 'MODULE_SHIPPING_DHLINT_HANDLING','MODULE_SHIPPING_DHLINT_ALLOWED', 'MODULE_SHIPPING_DHLINT_TAX_CLASS', 'MODULE_SHIPPING_DHLINT_ZONE', 'MODULE_SHIPPING_DHLINT_SORT_ORDER'); for ($i = 1; $i <= $this->num_dhlint; $i ++) { $keys[count($keys)] = 'MODULE_SHIPPING_DHLINT_COUNTRIES_' . $i; $keys[count($keys)] = 'MODULE_SHIPPING_DHLINT_COST_' . $i; } return $keys; } }?> Also habe ich überall dann aus split() ein preg_split() gemacht.
Dann kommt zwar keine weiße Seite mehr und man sieht das Modul, aber ohne Versandkosten.
Weitere Energie habe ich aber jetzt nicht reingesteckt. Ich baue den EU Versand gerade in das "Standard" DHL Modul ein und passe es an unsere Warenwirtschaft an.
Damit habe ich dann auch das alte Modul weg. Aber danke für deine Hilfe!
Gruß Heiko