You are here

function commerce_registration_product_ui_form_submit in Commerce Registration 7

Submission handler for store UI form alterations.

1 string reference to 'commerce_registration_product_ui_form_submit'
commerce_registration_form_alter in ./commerce_registration.module
Implements hook_form_alter().

File

./commerce_registration.module, line 367
Commerce Registration module code.

Code

function commerce_registration_product_ui_form_submit($form, $form_state) {
  if (isset($form_state['values']['registration_settings'])) {
    $product = $form_state['build_info']['args'][0];
    $product_info = array(
      'id' => $product->product_id,
      'type' => 'commerce_product',
      'bundle' => $product->type,
    );
    $status = $form_state['values']['registration_settings']['settings']['status'];
    $bundle = $form_state['values']['registration_settings']['settings']['bundle'];
    $settings = registration_entity_settings($product_info);
    $new = array_merge($settings, $form_state['values']['registration_settings']);
    $new['status'] = $status;
    $new['settings']['open_date'] = strtotime($new['settings']['open_date']);
    $new['settings']['close_date'] = strtotime($new['settings']['close_date']);
    unset($new['settings']['bundle']);
    $row_data = array(
      'registration_bundle' => $bundle,
      'settings' => serialize($new),
    );
    if (1 == $status) {
      registration_update_entity_settings($product_info, $row_data);
    }
    else {
      db_delete('registration_attach')
        ->condition('entity_type', 'commerce_product')
        ->condition('entity_bundle', $product->type)
        ->condition('entity_id', $product->product_id)
        ->execute();
    }
  }
}