Hmmm, das hat mich leider nur halb weitergebracht, da es anscheinend nur auf das löschen von Einzelartikeln aus einer Bestellung zutrifft, dort funktioniert meine Ergänzung aber schonmal:
//BOF - Dokuman - 2010-03-17 - calculate stock correctly when editing orders
xtc_db_query("UPDATE ".TABLE_PRODUCTS." SET products_quantity = products_quantity + ".xtc_db_input($_POST['del_qty'])." WHERE products_id = " . (int)$_POST['del_pID']);
//EOF - Dokuman - 2010-03-17 - calculate stock correctly when editing orders
// BOF Zaldoran - 2012-06-19 - OOAK Items
$products_query = xtc_db_query("
select products_ooak
from ".TABLE_PRODUCTS."
WHERE products_id = " . (int)$_POST['del_pID']);
$products_values = xtc_db_fetch_array($products_query);
if ($products_values['products_ooak'] == 2) {
xtc_db_query("UPDATE ".TABLE_PRODUCTS." SET products_ooak = '1' WHERE products_id = " . (int)$_POST['del_pID']);
}
// EOF Zaldoran - 2012-06-19 - OOAK Items
Nun soll aber auch beim löschen einer gesamten Bestellung, beim gutbuchen des Lagerbestands für jeden Artikel geprüft werden ob "products_ooak=2" ist und ggfs. wieder auf "1" zurückgesetzt werden. Da bin ich aber einzig in der /admin/includes/functions/general.php fündig geworden, dort komme ich aber mit dem Query nicht zurecht.
function xtc_remove_order($order_id, $restock = false) {
if ($restock == 'on') {
xtc_db_query("update ".TABLE_PRODUCTS." p
join ".TABLE_ORDERS_PRODUCTS." o on o.products_id = p.products_id
set p.products_quantity = p.products_quantity + o.products_quantity,
p.products_ordered = p.products_ordered - o.products_quantity
where o.orders_id = '".xtc_db_input($order_id)."'");
Nun bin ich in MySQL nicht so weit, und sitze nun schon ne weile über der join Anweisung im Referenzhandbuch, aber ich werd nicht so richtig daraus schlau. Ich bin mir noch nicht mal sicher ob das damit überhaupt funktioniert wie ich mir das vorstelle
LG
Zaldo