You are here

public function SimplesitemapManager::removeSitemap in Simple XML sitemap 8.3

Parameters

null|array|string $variant_names: Limit removal by specific variants.

Return value

$this

Throws

\Drupal\Component\Plugin\Exception\PluginException

1 call to SimplesitemapManager::removeSitemap()
SimplesitemapManager::removeSitemapVariants in src/SimplesitemapManager.php

File

src/SimplesitemapManager.php, line 221

Class

SimplesitemapManager
Class SimplesitemapManager @package Drupal\simple_sitemap

Namespace

Drupal\simple_sitemap

Code

public function removeSitemap($variant_names = NULL) {
  if (NULL === $variant_names || !empty((array) $variant_names)) {
    $saved_variants = $this
      ->getSitemapVariants();
    $remove_variants = NULL === $variant_names ? $saved_variants : array_intersect_key($saved_variants, array_flip((array) $variant_names));
    if (!empty($remove_variants)) {
      $type_definitions = $this
        ->getSitemapTypes();
      foreach ($remove_variants as $variant_name => $variant_definition) {
        $this
          ->getSitemapGenerator($type_definitions[$variant_definition['type']]['sitemapGenerator'])
          ->setSitemapVariant($variant_name)
          ->remove();
      }
    }
  }
  return $this;
}