You are here

public function AdsenseOldSearchSettings::buildForm in Google AdSense integration 8

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

oldcode/src/Form/AdsenseOldSearchSettings.php, line 33

Class

AdsenseOldSearchSettings
Form for the older adsense search ads settings.

Namespace

Drupal\adsense_oldcode\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $config = $this
    ->config('adsense_oldcode.settings');
  $form['searchbox'] = [
    '#type' => 'details',
    '#open' => TRUE,
    '#title' => $this
      ->t('Search Box Options'),
    '#description' => $this
      ->t("Allows users to search the web or the specific site(s) of your choice. Enter the site's URL without the last '/'"),
  ];
  for ($i = 0; $i <= 2; $i++) {
    $form['searchbox']['adsense_search_domain_' . $i] = [
      '#type' => 'textfield',
      '#field_prefix' => 'http://',
      '#default_value' => $config
        ->get('adsense_search_domain_' . $i),
      '#size' => 32,
      '#maxlength' => 255,
    ];
  }
  $form['searchbox']['adsense_search_safe_mode'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Use SafeSearch'),
    '#default_value' => $config
      ->get('adsense_search_safe_mode'),
  ];
  $form['searchbox']['adsense_search_logo'] = [
    '#type' => 'radios',
    '#title' => $this
      ->t('Logo Type'),
    '#default_value' => $config
      ->get('adsense_search_logo'),
    '#options' => [
      'adsense_search_logo_google' => $this
        ->t('Google Logo'),
      'adsense_search_logo_above_textbox' => $this
        ->t('Logo above text box'),
      'adsense_search_logo_on_button' => $this
        ->t('"Google Search" on button'),
    ],
  ];
  $form['searchbox']['adsense_search_button'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Search button below text box'),
    '#default_value' => $config
      ->get('adsense_search_button'),
  ];
  $form['searchbox']['adsense_search_color_box_background'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Background color'),
    '#default_value' => $config
      ->get('adsense_search_color_box_background'),
    '#options' => [
      '#FFFFFF' => $this
        ->t('White'),
      '#000000' => $this
        ->t('Black'),
      '#CCCCCC' => $this
        ->t('Gray'),
    ],
  ];
  $form['searchbox']['adsense_search_color_box_text'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Text color'),
    '#default_value' => $config
      ->get('adsense_search_color_box_text'),
    '#options' => [
      '#000000' => $this
        ->t('Black'),
      '#FFFFFF' => $this
        ->t('White'),
    ],
  ];
  $form['searchbox']['adsense_search_language'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Site Language'),
    '#default_value' => $config
      ->get('adsense_search_language'),
    '#options' => OldSearchAd::adsenseLanguages(),
  ];
  $form['searchbox']['adsense_search_encoding'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Site Encoding'),
    '#default_value' => $config
      ->get('adsense_search_encoding'),
    '#options' => OldSearchAd::adsenseEncodings(),
  ];
  $form['searchbox']['adsense_search_textbox_length'] = [
    '#type' => 'number',
    '#title' => $this
      ->t('Length of text box (Max 64)'),
    '#default_value' => $config
      ->get('adsense_search_textbox_length'),
    '#size' => 2,
    '#min' => 8,
    '#max' => 64,
  ];
  $form['result'] = [
    '#type' => 'details',
    '#open' => TRUE,
    '#title' => $this
      ->t('Search Results Style'),
  ];
  $form['result']['adsense_search_country'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Country or territory for Google domain'),
    '#default_value' => $config
      ->get('adsense_search_country'),
    '#options' => OldSearchAd::adsenseCountries(),
  ];
  $form['result']['adsense_search_frame_width'] = [
    '#type' => 'number',
    '#title' => $this
      ->t('Width of results area'),
    '#default_value' => $config
      ->get('adsense_search_frame_width'),
    '#field_suffix' => ' ' . $this
      ->t('pixels'),
    '#size' => 3,
    '#maxlength' => 4,
    '#min' => 500,
    '#max' => 10000,
  ];
  $form['result']['colors'] = [
    '#type' => 'details',
    '#open' => FALSE,
    '#title' => $this
      ->t('Color attributes'),
  ];

  // Add Farbtastic color picker.
  $form['result']['colors']['colorpicker'] = [
    '#type' => 'markup',
    '#markup' => '<div id="colorpicker" style="float:right;"></div>',
  ];
  $form['result']['colors']['adsense_search_color_border'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Border'),
    '#default_value' => $config
      ->get('adsense_search_color_border'),
    '#size' => 7,
    '#maxlength' => 7,
    '#pattern' => '#[a-fA-F0-9]{6}',
  ];
  $form['result']['colors']['adsense_search_color_title'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Title'),
    '#default_value' => $config
      ->get('adsense_search_color_title'),
    '#size' => 7,
    '#maxlength' => 7,
    '#pattern' => '#[a-fA-F0-9]{6}',
  ];
  $form['result']['colors']['adsense_search_color_bg'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Background'),
    '#default_value' => $config
      ->get('adsense_search_color_bg'),
    '#size' => 7,
    '#maxlength' => 7,
    '#pattern' => '#[a-fA-F0-9]{6}',
  ];
  $form['result']['colors']['adsense_search_color_text'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Text'),
    '#default_value' => $config
      ->get('adsense_search_color_text'),
    '#size' => 7,
    '#maxlength' => 7,
    '#pattern' => '#[a-fA-F0-9]{6}',
  ];
  $form['result']['colors']['adsense_search_color_url'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('URL'),
    '#default_value' => $config
      ->get('adsense_search_color_url'),
    '#size' => 7,
    '#maxlength' => 7,
    '#pattern' => '#[a-fA-F0-9]{6}',
  ];
  $form['result']['colors']['adsense_search_color_visited_url'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Visited URL'),
    '#default_value' => $config
      ->get('adsense_search_color_visited_url'),
    '#size' => 7,
    '#maxlength' => 7,
    '#pattern' => '#[a-fA-F0-9]{6}',
  ];
  $form['result']['colors']['adsense_search_color_light_url'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Light URL'),
    '#default_value' => $config
      ->get('adsense_search_color_light_url'),
    '#size' => 7,
    '#maxlength' => 7,
    '#pattern' => '#[a-fA-F0-9]{6}',
  ];
  $form['result']['colors']['adsense_search_color_logo_bg'] = [
    '#type' => 'hidden',
    '#title' => $this
      ->t('Logo Background'),
    '#default_value' => $config
      ->get('adsense_search_color_logo_bg'),
    '#size' => 7,
    '#maxlength' => 7,
    '#pattern' => '#[a-fA-F0-9]{6}',
  ];
  $form['channels'] = [
    '#type' => 'details',
    '#open' => FALSE,
    '#title' => $this
      ->t('Custom channels'),
    '#description' => $this
      ->t('Enter up to !channels custom channels that you have configured in Google AdSense. If you are not using custom channels, or you are only using URL channels, then leave this empty.', [
      '!channels' => ADSENSE_OLDCODE_MAX_CHANNELS,
    ]),
  ];
  for ($channel = 1; $channel <= ADSENSE_OLDCODE_MAX_CHANNELS; $channel++) {
    $form['channels']['adsense_ad_channel_' . $channel] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Custom channel ID @channel', [
        '@channel' => $channel,
      ]),
      '#default_value' => $config
        ->get('adsense_ad_channel_' . $channel),
      '#size' => 30,
      '#maxlength' => 30,
    ];
  }
  $form['#attached']['library'] = [
    'adsense_oldcode/adsense_oldsearch.colorpicker',
  ];
  return parent::buildForm($form, $form_state);
}