You are here

public function TwitterFeedConfigForm::buildForm in Twitter_Feed 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

src/Form/TwitterFeedConfigForm.php, line 36

Class

TwitterFeedConfigForm
Class TwitterFeedConfigForm.

Namespace

Drupal\twitter_feed\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $config = $this
    ->config('twitter_feed.settings');
  $url = Url::fromUri('https://apps.twitter.com/');
  $link = Link::fromTextAndUrl('apps.twitter.com', $url);
  $link_renderable = $link
    ->toRenderable();
  $form['tip'] = [
    '#markup' => $this
      ->t('You can get this information by registering an app with Twitter on %link.', [
      '%link' => render($link_renderable),
    ]),
  ];
  $form['twitter_feed_api_key'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('API Key'),
    '#description' => $this
      ->t('Also called "Consumer Key"'),
    '#required' => TRUE,
    '#maxlength' => 50,
    '#size' => 50,
    '#default_value' => $config
      ->get('twitter_feed_api_key'),
  ];
  $form['twitter_feed_api_secret'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('API Secret'),
    '#description' => $this
      ->t('Also called "Consumer Secret"'),
    '#required' => TRUE,
    '#maxlength' => 50,
    '#size' => 50,
    '#default_value' => $config
      ->get('twitter_feed_api_secret'),
  ];
  $timeago_locales = twitter_feed_timeago_languages();
  $timeago_locales = [
    'None: English',
  ] + $timeago_locales;
  $form['twitter_feed_jquery_timeago_locale'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('jQuery Timeago locale'),
    '#default_value' => !empty($config
      ->get('twitter_feed_jquery_timeago_locale')) ? $config
      ->get('twitter_feed_jquery_timeago_locale') : 0,
    '#options' => $timeago_locales,
    '#description' => $this
      ->t('This is the locale file to be loaded from
      the jQuery timeago module. Located at timeago/locales.
      Changing this setting requires a cache rebuild to take effect.'),
  ];
  return parent::buildForm($form, $form_state);
}