You are here

function views_url_alias_form_pathauto_admin_delete_submit in Views URL alias 8.2

Submit processing for bulk delete of aliases.

1 string reference to 'views_url_alias_form_pathauto_admin_delete_submit'
views_url_alias_form_pathauto_admin_delete_alter in ./views_url_alias.module
Implements hook_form_FORM_ID_alter().

File

./views_url_alias.module, line 117
Allows content entity Views to be filtered by path aliases.

Code

function views_url_alias_form_pathauto_admin_delete_submit($form, FormStateInterface $form_state) {
  $database = \Drupal::database();
  if ($form_state
    ->getValue('delete')['all_aliases']) {
    $database
      ->truncate('views_url_alias')
      ->execute();
  }
  else {

    /** @var AliasTypeManager $aliasManager */
    $aliasManager = \Drupal::service('plugin.manager.alias_type');
    foreach ($form_state
      ->getValue('delete')['plugins'] as $plugin_id => $value) {
      if ($value) {
        $definition = $aliasManager
          ->getDefinition($plugin_id);
        foreach ($definition['types'] as $entity_type) {
          $database
            ->delete('views_url_alias')
            ->condition('entity_type', $entity_type);
        }
      }
    }
  }
}