- $insertLines = $submittedLineItems;
-
- $submittedFieldValueIds = array_keys($submittedLineItems);
- $updateLines = array();
- foreach ($previousLineItems as $id => $previousLineItem) {
- // check through the submitted items if the previousItem exists,
- // if found in submitted items, do not use it for new item creations
- if (in_array($previousLineItem['price_field_value_id'], $submittedFieldValueIds)) {
- // if submitted line items are existing don't fire INSERT query
- unset($insertLines[$previousLineItem['price_field_value_id']]);
- // for updating the line items i.e. use-case - once deselect-option selecting again
- if ($previousLineItem['line_total'] != $submittedLineItems[$previousLineItem['price_field_value_id']]['line_total']) {
- $updateLines[$previousLineItem['price_field_value_id']] = $submittedLineItems[$previousLineItem['price_field_value_id']];
- $updateLines[$previousLineItem['price_field_value_id']]['id'] = $id;
+ if (!empty($submittedLineItems)) {
+ $insertLines = $submittedLineItems;
+
+ $submittedFieldValueIds = array_keys($submittedLineItems);
+ $updateLines = array();
+ foreach ($previousLineItems as $id => $previousLineItem) {
+ // check through the submitted items if the previousItem exists,
+ // if found in submitted items, do not use it for new item creations
+ if (in_array($previousLineItem['price_field_value_id'], $submittedFieldValueIds)) {
+ // if submitted line items are existing don't fire INSERT query
+ unset($insertLines[$previousLineItem['price_field_value_id']]);
+ // for updating the line items i.e. use-case - once deselect-option selecting again
+ if (($previousLineItem['line_total'] != $submittedLineItems[$previousLineItem['price_field_value_id']]['line_total']) ||
+ ($submittedLineItems[$previousLineItem['price_field_value_id']]['line_total'] == 0 && $submittedLineItems[$previousLineItem['price_field_value_id']]['qty'] == 1)
+ ) {
+ $updateLines[$previousLineItem['price_field_value_id']] = $submittedLineItems[$previousLineItem['price_field_value_id']];
+ $updateLines[$previousLineItem['price_field_value_id']]['id'] = $id;
+ }