loader = $loader; $this->negotiator = $negotiator; } /** * {@inheritdoc} */ public function createDomain(array $values = []) { $default = $this->loader->loadDefaultId(); $domains = $this->loader->loadMultiple(); if (empty($values)) { $values['hostname'] = $this->createHostname(); $values['name'] = \Drupal::config('system.site')->get('name'); } $values += [ 'scheme' => \Drupal::entityTypeManager()->getStorage('domain')->getDefaultScheme(), 'status' => 1, 'weight' => count($domains) + 1, 'is_default' => (int) empty($default), ]; $domain = \Drupal::entityTypeManager()->getStorage('domain')->create($values); return $domain; } /** * {@inheritdoc} */ public function createHostname() { return $this->negotiator->negotiateActiveHostname(); } /** * {@inheritdoc} */ public function createMachineName($hostname = NULL) { if (empty($hostname)) { $hostname = $this->createHostname(); } return preg_replace('/[^a-z0-9_]/', '_', $hostname); } }