You are here

public function PopupOnLoadSettingsForm::buildForm in Popup On Load 8

Defines the settings form for Popup On Load entities.

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 Form definition array.

Overrides ConfigFormBase::buildForm

File

src/Form/PopupOnLoadSettingsForm.php, line 60

Class

PopupOnLoadSettingsForm
Class PopupOnLoadSettingsForm.

Namespace

Drupal\popup_onload\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $form = parent::buildForm($form, $form_state);

  // Create the list of all sorting methods to be used in the form.
  $methods = popup_onload_sort_methods();
  $form['sort_methods'] = array(
    '#type' => 'fieldset',
    '#title' => t('Popup sort methods'),
    '#collapsible' => FALSE,
    '#collapsed' => FALSE,
    '#description' => t('How to determine the popup, displayed to the user.'),
  );
  $form['sort_methods'][POPUP_ONLOAD_VAR_SORT_METHOD] = array(
    '#type' => 'radios',
    '#options' => $methods,
    '#default_value' => $this
      ->popupOnLoadGetDefaults(POPUP_ONLOAD_VAR_SORT_METHOD, POPUP_ONLOAD_DEFAULT_SORT_METHOD),
  );
  $form['misc'] = array(
    '#type' => 'fieldset',
    '#title' => t('Miscellaneous'),
    '#collapsible' => FALSE,
    '#collapsed' => FALSE,
    '#description' => t('Misc settings.'),
  );
  $form['misc'][POPUP_ONLOAD_VAR_COOKIE_NAME] = array(
    '#type' => 'textfield',
    '#title' => t('Popup cookie name'),
    '#description' => t('Override this only if your server configuration filters out cookies with certain pattern.'),
    '#default_value' => $this
      ->popupOnLoadGetDefaults(POPUP_ONLOAD_VAR_COOKIE_NAME, POPUP_ONLOAD_DEFAULT_COOKIE_NAME),
  );
  $form['misc'][POPUP_ONLOAD_VAR_COOKIE_LIFETIME] = array(
    '#type' => 'number',
    '#title' => t('Popup cookie lifetime'),
    '#description' => t('How many seconds popups will not be displayed to the user after the first display.'),
    '#default_value' => $this
      ->popupOnLoadGetDefaults(POPUP_ONLOAD_VAR_COOKIE_LIFETIME, POPUP_ONLOAD_DEFAULT_COOKIE_LIFETIME),
  );
  $form['misc'][POPUP_ONLOAD_VAR_DISPLAY_DELAY] = array(
    '#type' => 'number',
    '#title' => t('Popup display delay'),
    '#description' => t('Delay in milliseconds before the popup is displayed to the user.'),
    '#default_value' => $this
      ->popupOnLoadGetDefaults(POPUP_ONLOAD_VAR_DISPLAY_DELAY, POPUP_ONLOAD_DEFAULT_DELAY),
  );
  return $form;
}