+ $interval = (int) $generator->getSetting('cron_generate_interval', 0) * 60 * 60;
+ $requestTime = \Drupal::service('datetime.time')->getRequestTime();
+ if ($interval === 0 || ((\Drupal::state()->get('simple_sitemap.last_cron_generate', 0) + $interval) <= $requestTime)) {
+ \Drupal::state()->set('simple_sitemap.last_cron_generate', $requestTime);
+ $generator->generateSitemap('backend');
+ }
+ }
+}
+
+/**
+ * Implements hook_ENTITY_TYPE_delete().
+ *
+ * When a language is removed from the system remove it also from settings.
+ */
+function simple_sitemap_configurable_language_delete(ConfigurableLanguageInterface $language) {
+
+ /**
+ * @var \Drupal\simple_sitemap\Simplesitemap $generator
+ */
+ $generator = \Drupal::service('simple_sitemap.generator');
+ $excluded_languages = $generator->getSetting('excluded_languages');
+ if (isset($excluded_languages[$language->id()])) {
+ unset($excluded_languages[$language->id()]);
+ $generator->saveSetting('excluded_languages', $excluded_languages);