cforge-2.0.x-dev/modules/cforge_address/cforge_address.install
modules/cforge_address/cforge_address.install
<?php use Drupal\field\Entity\FieldConfig; use Drupal\cforge_address\Entity\Neighbourhood; function cforge_address_install() { $default_country = \Drupal::Config('system.date') ->get('country.default'); FieldConfig::load('user.user.address') ->setSetting('available_countries', [$default_country]) ->save(); $hoods = \Drupal::database()->select('user__address', 'a') ->fields('a', ['address.dependent_locality']) ->groupBy('address.dependent_locality') ->execute() ->fetchCol(); if (empty($hoods)) { // If no neighbourhoods are defined, create a default one. $hoods = ['Centre']; } // Remove duplicates and inconsistent casing, thanks to chatGPT! $hoods = array_unique(array_map('strtolower', $hoods)); foreach ($hoods as $hood) { Neighbourhood::create(['label' => trim(ucfirst($hood))])->save(); } }