HumansTxtAdminSettingsForm.php in Humans.txt 2.x
File
src/Form/HumansTxtAdminSettingsForm.php
View source
<?php
namespace Drupal\humanstxt\Form;
use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Cache\Cache;
class HumansTxtAdminSettingsForm extends ConfigFormBase {
public function getFormId() {
return 'humanstxt_admin_settings';
}
protected function getEditableConfigNames() {
return [
'humanstxt.settings',
];
}
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config('humanstxt.settings');
$content = $config
->get('content');
$display_link = $config
->get('display_link');
$form['humanstxt_about'] = [
'#type' => 'item',
'#markup' => $this
->t('Add here the information about the different
people who have contributed to building the website, you can
find more info in <a href="@humanstxt">humanstxt.org</a> and
use <a href="@humanstxt_file">this file</a> as base file.', [
'@humanstxt' => 'http://humanstxt.org',
'@humanstxt_file' => 'http://humanstxt.org/humans.txt',
]),
];
$form['humanstxt_content'] = [
'#type' => 'textarea',
'#title' => $this
->t('Content of Humans.txt'),
'#description' => $this
->t('Fill the area following the pattern.'),
'#default_value' => $content,
'#cols' => 60,
'#rows' => 20,
'#wysiwyg' => FALSE,
];
$form['humanstxt_display_link'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Insert link to Humans.txt file'),
'#description' => $this
->t('By activating this field you will make
Humans.txt file linked from the head section of the
HTML code.'),
'#default_value' => $display_link,
];
return parent::buildForm($form, $form_state);
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$content_submit = $form_state
->getValue('humanstxt_content');
$display_link_submit = $form_state
->getValue('humanstxt_display_link');
$this
->config('humanstxt.settings')
->set('content', $content_submit)
->set('display_link', $display_link_submit)
->save();
Cache::invalidateTags([
'humanstxt',
]);
parent::submitForm($form, $form_state);
}
}