public RegionalForm::buildForm(array $form, FormStateInterface $form_state)
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides ConfigFormBase::buildForm
File
- core/modules/system/src/Form/RegionalForm.php, line 63
Class
- RegionalForm
- Configure regional settings for this site.
Namespace
Drupal\system\Form
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | public function buildForm( array $form , FormStateInterface $form_state ) { $countries = $this ->countryManager->getList(); $system_date = $this ->config( 'system.date' ); // Date settings: $zones = system_time_zones(); $form [ 'locale' ] = array ( '#type' => 'details' , '#title' => t( 'Locale' ), '#open' => TRUE, ); $form [ 'locale' ][ 'site_default_country' ] = array ( '#type' => 'select' , '#title' => t( 'Default country' ), '#empty_value' => '' , '#default_value' => $system_date ->get( 'country.default' ), '#options' => $countries , '#attributes' => array ( 'class' => array ( 'country-detect' )), ); $form [ 'locale' ][ 'date_first_day' ] = array ( '#type' => 'select' , '#title' => t( 'First day of week' ), '#default_value' => $system_date ->get( 'first_day' ), '#options' => array (0 => t( 'Sunday' ), 1 => t( 'Monday' ), 2 => t( 'Tuesday' ), 3 => t( 'Wednesday' ), 4 => t( 'Thursday' ), 5 => t( 'Friday' ), 6 => t( 'Saturday' )), ); $form [ 'timezone' ] = array ( '#type' => 'details' , '#title' => t( 'Time zones' ), '#open' => TRUE, ); $form [ 'timezone' ][ 'date_default_timezone' ] = array ( '#type' => 'select' , '#title' => t( 'Default time zone' ), '#default_value' => $system_date ->get( 'timezone.default' ) ? : date_default_timezone_get(), '#options' => $zones , ); $configurable_timezones = $system_date ->get( 'timezone.user.configurable' ); $form [ 'timezone' ][ 'configurable_timezones' ] = array ( '#type' => 'checkbox' , '#title' => t( 'Users may set their own time zone' ), '#default_value' => $configurable_timezones , ); $form [ 'timezone' ][ 'configurable_timezones_wrapper' ] = array ( '#type' => 'container' , '#states' => array ( // Hide the user configured timezone settings when users are forced to use // the default setting. 'invisible' => array ( 'input[name="configurable_timezones"]' => array ( 'checked' => FALSE), ), ), ); $form [ 'timezone' ][ 'configurable_timezones_wrapper' ][ 'empty_timezone_message' ] = array ( '#type' => 'checkbox' , '#title' => t( 'Remind users at login if their time zone is not set' ), '#default_value' => $system_date ->get( 'timezone.user.warn' ), '#description' => t( 'Only applied if users may set their own time zone.' ) ); $form [ 'timezone' ][ 'configurable_timezones_wrapper' ][ 'user_default_timezone' ] = array ( '#type' => 'radios' , '#title' => t( 'Time zone for new users' ), '#default_value' => $system_date ->get( 'timezone.user.default' ), '#options' => array ( DRUPAL_USER_TIMEZONE_DEFAULT => t( 'Default time zone' ), DRUPAL_USER_TIMEZONE_EMPTY => t( 'Empty time zone' ), DRUPAL_USER_TIMEZONE_SELECT => t( 'Users may set their own time zone at registration' ), ), '#description' => t( 'Only applied if users may set their own time zone.' ) ); return parent::buildForm( $form , $form_state ); } |
Please login to continue.