$urls Adressen der Website, bei einem Netzwerk die aller Seiten * @return array{created: list, existing: list, failed: array} */ public function run(array $urls, ?string $customerName = null): array { $wanted = DomainCollector::hostnames($urls); $known = $this->api->findDomains($wanted); $result = ['created' => [], 'existing' => [], 'failed' => []]; foreach ($wanted as $host) { if (isset($known[$host])) { $result['existing'][] = $host; continue; } try { // DomainWarn führt Domains auf der registrierbaren Ebene: aus blog.kunde.de wird dort kunde.de – // gemeldet wird, was wirklich angelegt wurde, nicht was geschickt wurde $created = $this->api->createDomain($host, $customerName); $result['created'][] = $created['name']; } catch (TransportException $e) { // eine Domain, die das Tarif-Limit sprengt oder anderswo liegt, darf die übrigen nicht aufhalten $result['failed'][$host] = $e->getMessage(); } } return $result; } }