You are here

public function OptionDeleteForm::submitForm in Ubercart 8.4

Form submission handler.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Overrides FormInterface::submitForm

File

uc_attribute/src/Form/OptionDeleteForm.php, line 59

Class

OptionDeleteForm
Defines the attribute option delete form.

Namespace

Drupal\uc_attribute\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
  $match = 'i:' . $this->option->aid . ';s:' . strlen($this->option->oid) . ':"' . $this->option->oid . '";';
  \Drupal::database()
    ->delete('uc_product_adjustments')
    ->condition('combination', '%' . \Drupal::database()
    ->escapeLike($match) . '%', 'LIKE')
    ->execute();
  $select = \Drupal::database()
    ->select('uc_attribute_options', 'ao')
    ->where('{uc_class_attribute_options}.oid = ao.oid')
    ->condition('ao.oid', $this->option->oid);
  $select
    ->addExpression('1');
  \Drupal::database()
    ->delete('uc_class_attribute_options')
    ->condition('', $select, 'EXISTS')
    ->execute();
  $select = \Drupal::database()
    ->select('uc_attribute_options', 'ao')
    ->where('{uc_product_options}.oid = ao.oid')
    ->condition('ao.oid', $this->option->oid);
  $select
    ->addExpression('1');
  \Drupal::database()
    ->delete('uc_product_options')
    ->condition('', $select, 'EXISTS')
    ->execute();
  \Drupal::database()
    ->delete('uc_attribute_options')
    ->condition('oid', $this->option->oid)
    ->execute();
  $form_state
    ->setRedirect('uc_attribute.options', [
    'aid' => $this->option->aid,
  ]);
}