function commerce_donate_checkout_pane_checkout_form_submit in Commerce Donate 7
Add the additional donation as a line item to the cart.
File
- includes/
commerce_donate.checkout_pane.inc, line 176 - Contains callback functions for the commerce_donate checkout pane.
Code
function commerce_donate_checkout_pane_checkout_form_submit($form, &$form_state, $checkout_pane, $order) {
$pane_id = $checkout_pane['pane_id'];
$pane_values = $form_state['values'];
// No donation pane, or perhaps product, available.
if (empty($form_state['donate_line_item']) || empty($pane_values[$pane_id])) {
return;
}
$line_item = $form_state['donate_line_item'];
$language = $form_state['language'];
$amount = !empty($pane_values[$pane_id]['commerce_donate_amount'][$language][0]['value']) ? $pane_values[$pane_id]['commerce_donate_amount'][$language][0]['value'] : 0;
if (!empty($amount)) {
field_attach_submit('commerce_line_item', $line_item, $form[$pane_id], $form_state);
$product_id = variable_get('commerce_donate_checkout_pane_product_id', 0);
if (!empty($product_id) && !empty($amount) && !empty($order)) {
$product = commerce_product_load($product_id);
$line_item->line_item_label = $product->sku;
// Save the line item and add it to the cart.
commerce_line_item_save($line_item);
commerce_cart_product_add($order->uid, $line_item, FALSE);
}
}
}