false, 'error' => 'Missing parameters']); exit; } $db->begin(); $fixed = 0; // 1. Sections dürfen KEINE parent_section haben $sql = "UPDATE ".MAIN_DB_PREFIX."facture_lines_manager"; $sql .= " SET parent_section = NULL"; $sql .= " WHERE line_type = 'section'"; $sql .= " AND parent_section IS NOT NULL"; $sql .= " AND document_type = '".$db->escape($docType)."'"; if ($docType == 'invoice') { $sql .= " AND fk_facture = ".(int)$doc_id; } elseif ($docType == 'propal') { $sql .= " AND fk_propal = ".(int)$doc_id; } elseif ($docType == 'order') { $sql .= " AND fk_commande = ".(int)$doc_id; } $db->query($sql); $fixed += $db->affected_rows(); // 2. parent_section = 0 sollte NULL sein $sql = "UPDATE ".MAIN_DB_PREFIX."facture_lines_manager"; $sql .= " SET parent_section = NULL"; $sql .= " WHERE parent_section = 0"; $sql .= " AND document_type = '".$db->escape($docType)."'"; if ($docType == 'invoice') { $sql .= " AND fk_facture = ".(int)$doc_id; } elseif ($docType == 'propal') { $sql .= " AND fk_propal = ".(int)$doc_id; } elseif ($docType == 'order') { $sql .= " AND fk_commande = ".(int)$doc_id; } $db->query($sql); $fixed += $db->affected_rows(); $db->commit(); echo json_encode([ 'success' => true, 'fixed' => $fixed, 'message' => $fixed . ' Einträge korrigiert' ]);