PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler bei Lagerbestand mit Attributen Plugin



Merena
07.02.2017, 10:49
Hallo,

ich habe das Plugin Stocks by Attrubutes Version 1.8 installiert.
Funktioniert soweit auch.
Wenn ein Kunde aber eine Bestellung mit einem Produkt mit Attributen aufgibt, erscheint auf der Seite vom checkout_success die Meldung: an Error occured...
Ausserdem wird die Bestellung dann in der Gesamtsumme falsch addiert.

In den log-files steht:
PHP Warning: Illegal string offset 'id' in /includes/modules/payment/invoice.php on line 49

In der invoice.php steht:

class invoice {
var $code, $title, $description, $enabled;

// class constructor
function invoice() {
global $order;
$this->code = 'invoice';
$this->title = MODULE_PAYMENT_INVOICE_TEXT_TITLE;
if (IS_ADMIN_FLAG === true && (MODULE_PAYMENT_INVOICE_PAYTO == 'the Store Owner/Website Name' || MODULE_PAYMENT_INVOICE_PAYTO == '')) $this->title .= '<span class="alert"> (not configured - needs pay-to)</span>';
$this->description = MODULE_PAYMENT_INVOICE_TEXT_DESCRIPTION;
$this->sort_order = MODULE_PAYMENT_INVOICE_SORT_ORDER;
$this->enabled = ((MODULE_PAYMENT_INVOICE_STATUS == 'True') ? true : false);

if ((int)MODULE_PAYMENT_INVOICE_ORDER_STATUS_ID > 0) {
$this->order_status = MODULE_PAYMENT_INVOICE_ORDER_STATUS_ID;
$payment='invoice';
} else {
if ($payment=='invoice') {
$payment='';
}
}

if (is_object($order)) $this->update_status();

$this->email_footer = MODULE_PAYMENT_RECHNUNG_TEXT_EMAIL_FOOTER;
}

// class methods
function update_status() {
global $order, $db;

if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_INVOICE_ZONE > 0) ) {
$check_flag = false;
$check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_INVOICE_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");
while (!$check->EOF) {
if ($check->fields['zone_id'] < 1) {
$check_flag = true;
break;
} elseif ($check->fields['zone_id'] == $order->billing['zone_id']) {
$check_flag = true;
break;
}
$check->MoveNext();
}

if ($check_flag == false) {
$this->enabled = false;
}
}

// start �nderung
$customer_id = $_SESSION['customer_id']; // Modifkation Hugo 13

$test_query = $db->Execute("select count(*) as total from " . TABLE_ORDERS . " where customers_id='" . $customer_id . "' AND orders_status=3");
$total = $test_query->fields['total']; // Modifikation Hugo 13

if (($total+1) < MODULE_PAYMENT_INVOICE_FROM_ORDER) {
$this->enabled = false;
}
// ende �nderung

// disable the module if the order only contains virtual products
// start �nderung
/*if ($this->enabled == true) {
if ($order->content_type == 'virtual') {
$this->enabled = false;
}
}*/
// ende �nderung
}


// class methods
function javascript_validation() {
return false;
}

function selection() {
return array('id' => $this->code,
'module' => $this->title);
}

function pre_confirmation_check(){
return false;
}

function confirmation() {
return array('title' => MODULE_PAYMENT_INVOICE_TEXT_DESCRIPTION);
}

function process_button() {
return false;
}

function before_process() {
return false;
}

function after_process() {
return false;
}

function get_error() {
return false;
}

function check() {
global $db;
if (!isset($this->_check)) {
$check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_INVOICE_STATUS'");
$this->_check = $check_query->RecordCount();
}
return $this->_check;
}

function install() {
global $db;
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Rechnung', 'MODULE_PAYMENT_INVOICE_STATUS', 'True', 'Wollen Sie Zahlungen per Rechnung anbieten?', '6', '0', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now());");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Bankverbindung:', 'MODULE_PAYMENT_INVOICE_PAYTO', 'the Store Owner/Website Name', 'Auf welches Konto soll &uuml;berwiesen werden?', '6', '1', now());");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Zone f&uuml;r Rechnungen', 'MODULE_PAYMENT_INVOICE_ZONE', '0', 'Wenn Sie eine Zone ausw&auml;hlen, wird diese Zahlungsweise nur in dieser Zone angeboten.', '6', '0', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Reihenfolge der Anzeige', 'MODULE_PAYMENT_INVOICE_SORT_ORDER', '1', 'Niedrigste wird zuerst angezeigt.', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Order Status', 'MODULE_PAYMENT_INVOICE_ORDER_STATUS_ID', '0', 'Festlegung des Status f&uuml;r Bestellungen, welche mit dieser Zahlungsweise durchgef&uuml;hrt werden.', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Stammkunden', 'MODULE_PAYMENT_INVOICE_FROM_ORDER', '3', 'Rechnung ab x-ter Bestellung m&ouml;glich', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Zahlungsziel in Tagen', 'MODULE_PAYMENT_INVOICE_PAYDAY', '14', 'Zahlungszeil in Tagen', '6', '0', now())");
}

function remove() {
global $db;
$db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
}

function keys() {
// start �nderung
/*return array('MODULE_PAYMENT_INVOICE_STATUS', 'MODULE_PAYMENT_INVOICE_ZONE', 'MODULE_PAYMENT_INVOICE_ORDER_STATUS_ID', 'MODULE_PAYMENT_INVOICE_SORT_ORDER');*/
return array('MODULE_PAYMENT_INVOICE_STATUS', 'MODULE_PAYMENT_INVOICE_ZONE', 'MODULE_PAYMENT_INVOICE_ORDER_STATUS_ID', 'MODULE_PAYMENT_INVOICE_SORT_ORDER','MODULE_PAYMEN T_INVOICE_FROM_ORDER','MODULE_PAYMENT_INVOICE_PAYT O','MODULE_PAYMENT_INVOICE_PAYDAY');
// ende �nderung
}
}
?>

Kann mir jemand weiterhelfen?