You are here

function uc_attribute_delete_confirm_submit in Ubercart 7.3

Same name and namespace in other branches
  1. 5 uc_attribute/uc_attribute.module \uc_attribute_delete_confirm_submit()
  2. 6.2 uc_attribute/uc_attribute.admin.inc \uc_attribute_delete_confirm_submit()

Form submission handler for uc_attribute_delete_confirm().

See also

uc_attribute_delete_confirm()

File

uc_attribute/uc_attribute.admin.inc, line 190
Attribute administration menu items.

Code

function uc_attribute_delete_confirm_submit($form, &$form_state) {
  if ($form_state['values']['confirm']) {
    $attribute = uc_attribute_load($form_state['values']['aid']);
    $options = array_keys($attribute->options);
    if ($options) {
      db_delete('uc_class_attribute_options')
        ->condition('oid', $options, 'IN')
        ->execute();
      db_delete('uc_product_options')
        ->condition('oid', $options, 'IN')
        ->execute();
    }
    if ($nodes = db_query("SELECT nid FROM {uc_product_attributes} WHERE aid = :aid", array(
      ':aid' => $attribute->aid,
    ))
      ->fetchCol()) {
      db_delete('uc_product_adjustments')
        ->condition('nid', $nodes, 'IN')
        ->execute();
    }
    db_delete('uc_class_attributes')
      ->condition('aid', $form_state['values']['aid'])
      ->execute();
    db_delete('uc_product_attributes')
      ->condition('aid', $form_state['values']['aid'])
      ->execute();
    db_delete('uc_attribute_options')
      ->condition('aid', $form_state['values']['aid'])
      ->execute();
    db_delete('uc_attributes')
      ->condition('aid', $form_state['values']['aid'])
      ->execute();
    drupal_set_message(t('Product attribute deleted.'));
    $form_state['redirect'] = 'admin/store/products/attributes';
  }
}