You are here

public function BrightcoveProxyForm::buildForm in Brightcove Video Connect 8.2

Same name and namespace in other branches
  1. 8 modules/brightcove_proxy/src/Form/BrightcoveProxyForm.php \Drupal\brightcove_proxy\Form\BrightcoveProxyForm::buildForm()
  2. 3.x modules/brightcove_proxy/src/Form/BrightcoveProxyForm.php \Drupal\brightcove_proxy\Form\BrightcoveProxyForm::buildForm()

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

modules/brightcove_proxy/src/Form/BrightcoveProxyForm.php, line 32

Class

BrightcoveProxyForm
Builds form for the Brightcove Proxy settings.

Namespace

Drupal\brightcove_proxy\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {

  // Get config.
  $config = $this
    ->config('brightcove_proxy.config');
  $form['use_proxy'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Use proxy'),
    '#default_value' => $config
      ->get('use_proxy'),
    '#description' => 'Enable proxy connection.',
  ];

  // Proxy config.
  $form['proxy_config'] = [
    '#type' => 'fieldset',
    '#title' => $this
      ->t('Proxy configuration'),
    '#states' => [
      'visible' => [
        ':input[name="use_proxy"]' => [
          'checked' => TRUE,
        ],
      ],
    ],
    'proxy_username' => [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Username'),
      '#default_value' => $config
        ->get('proxy_username'),
      '#description' => $this
        ->t('The username to use for the connection to the proxy.'),
    ],
    'proxy_password' => [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Password'),
      '#default_value' => $config
        ->get('proxy_password'),
      '#description' => $this
        ->t('The password to use for the connection to the proxy.'),
    ],
    'proxy_auth' => [
      '#type' => 'select',
      '#title' => $this
        ->t('Auth'),
      '#options' => [
        CURLAUTH_ANY => $this
          ->t('Any'),
        CURLAUTH_ANYSAFE => $this
          ->t('Any safe'),
        CURLAUTH_BASIC => $this
          ->t('Basic'),
        CURLAUTH_DIGEST => $this
          ->t('Digest'),
        CURLAUTH_GSSNEGOTIATE => $this
          ->t('GSS Negotiation'),
        CURLAUTH_NTLM => $this
          ->t('NTLM'),
      ],
      '#default_value' => $config
        ->get('proxy_auth'),
      '#description' => $this
        ->t('The HTTP authentication method(s) to use for the proxy connection.<br>For proxy authentication, only <em>Basic</em> and <em>NTLM</em> are currently supported.<p><em>Any</em> means either <em>Basic</em>, <em>Digest</em>, <em>GSS Negotiation</em> or <em>NTLM</em></p><p><em>Any safe</em> means either <em>Digest</em>, <em>GSS Negotiation</em> or <em>NTLM</em>.</p>'),
    ],
    'proxy_type' => [
      '#type' => 'select',
      '#title' => $this
        ->t('Type'),
      '#options' => [
        CURLPROXY_HTTP => 'HTTP',
        CURLPROXY_SOCKS4 => 'SOCKS4',
        CURLPROXY_SOCKS5 => 'SOCKS5',
      ],
      '#default_value' => $config
        ->get('proxy_type'),
    ],
    'proxy' => [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Proxy'),
      '#default_value' => $config
        ->get('proxy'),
      '#description' => $this
        ->t('The HTTP proxy to tunnel requests through.'),
    ],
    'proxy_port' => [
      '#type' => 'number',
      '#title' => $this
        ->t('Port'),
      '#default_value' => $config
        ->get('proxy_port'),
      '#min' => 1,
      '#max' => 65535,
      '#size' => 5,
      '#description' => $this
        ->t('The port number of the proxy to connect to.'),
    ],
    'http_proxy_tunnel' => [
      '#type' => 'checkbox',
      '#title' => $this
        ->t('HTTP tunnel proxy'),
      '#default_value' => $config
        ->get('http_proxy_tunnel'),
      '#description' => $this
        ->t('Enable to tunnel through a given HTTP proxy.'),
    ],
  ];
  return parent::buildForm($form, $form_state);
}