View source
<?php
namespace Drupal\feeds\Feeds\Fetcher\Form;
use Drupal\Core\Form\FormStateInterface;
use Drupal\feeds\Plugin\Type\ExternalPluginFormBase;
class HttpFetcherForm extends ExternalPluginFormBase {
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form['auto_detect_feeds'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Auto detect feeds'),
'#description' => $this
->t('If the supplied URL does not point to a feed but an HTML document, attempt to extract a feed URL from the document.'),
'#default_value' => $this->plugin
->getConfiguration('auto_detect_feeds'),
];
$form['use_pubsubhubbub'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Use PubSubHubbub'),
'#description' => $this
->t('Attempt to use a <a href="http://en.wikipedia.org/wiki/PubSubHubbub">PubSubHubbub</a> subscription if available.'),
'#default_value' => $this->plugin
->getConfiguration('use_pubsubhubbub'),
];
$form['always_download'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Always download'),
'#description' => $this
->t('Always download the feed, even if the feed has not been updated.'),
'#default_value' => $this->plugin
->getConfiguration('always_download'),
];
$form['fallback_hub'] = [
'#type' => 'url',
'#title' => $this
->t('Fallback hub'),
'#description' => $this
->t('Enter the URL of a fallback hub. <a href="https://pubsubhubbub.superfeedr.com">Superfeedr</a> is a good choice. If given, this hub will be used if a hub for the feed could not be found.'),
'#default_value' => $this->plugin
->getConfiguration('fallback_hub'),
'#states' => [
'visible' => [
'input[name="fetcher_configuration[use_pubsubhubbub]"]' => [
'checked' => TRUE,
],
],
],
];
$form['request_timeout'] = [
'#type' => 'number',
'#title' => $this
->t('Request timeout'),
'#description' => $this
->t('Timeout in seconds to wait for an HTTP request to finish.'),
'#default_value' => $this->plugin
->getConfiguration('request_timeout'),
'#min' => 0,
];
return $form;
}
}