function commerce_registration_line_item_control_reset in Commerce Registration 7.2
Submit callback for cleaning up line item registration controls.
1 string reference to 'commerce_registration_line_item_control_reset'
File
- ./
commerce_registration.module, line 1305 - Commerce Registration module code.
Code
function commerce_registration_line_item_control_reset($form, &$form_state) {
// Reset the registration form for the triggering button's associated
// line item.
if (!empty($form_state['triggering_element'])) {
$trigger_parents = array_reverse($form_state['triggering_element']['#array_parents']);
$triggering_element = $trigger_parents[0];
if (isset($trigger_parents[3]) && $trigger_parents[3] === 'registration_control') {
$line_item_id = $trigger_parents[4];
if (isset($form_state['line_item_registration_add'][$line_item_id])) {
unset($form_state['line_item_registration_add'][$line_item_id]);
}
$form_state['rebuild'] = TRUE;
return;
}
}
// Likely normal order form submission is happening in which case this is
// probably not necessary, but might as well clean up the state anyway.
if (isset($form['commerce_registration']['line_item_registrations'])) {
// Loop through the registration enabled line items and reset any related
// registration form controls.
foreach (element_children($form['commerce_registration']['line_item_registrations']) as $line_item_id) {
if (isset($form_state['line_item_registration_add'][$line_item_id])) {
unset($form_state['line_item_registration_add'][$line_item_id]);
}
}
}
}