You are here

public function CleantalkSettingsForm::buildForm in Anti Spam by CleanTalk 8

Same name and namespace in other branches
  1. 8.4 src/Form/CleantalkSettingsForm.php \Drupal\cleantalk\Form\CleantalkSettingsForm::buildForm()
  2. 8.3 src/Form/CleantalkSettingsForm.php \Drupal\cleantalk\Form\CleantalkSettingsForm::buildForm()
  3. 9.1.x src/Form/CleantalkSettingsForm.php \Drupal\cleantalk\Form\CleantalkSettingsForm::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

src/Form/CleantalkSettingsForm.php, line 48
Contains \Drupal\cleantalk\Form\CleantalkSettingsForm.

Class

CleantalkSettingsForm

Namespace

Drupal\cleantalk\Form

Code

public function buildForm(array $form, \Drupal\Core\Form\FormStateInterface $form_state) {
  $ct_comments_default = 3;
  $ct_authkey = \Drupal::config('cleantalk.settings')
    ->get('cleantalk_authkey');

  // @FIXME
  // Could not extract the default value because it is either indeterminate, or
  // not scalar. You'll need to provide a default value in
  // config/install/cleantalk.settings.yml and config/schema/cleantalk.schema.yml.
  $ct_comments = \Drupal::config('cleantalk.settings')
    ->get('cleantalk_comments');
  $ct_automod = \Drupal::config('cleantalk.settings')
    ->get('cleantalk_automod');
  $ct_ccf = \Drupal::config('cleantalk.settings')
    ->get('cleantalk_ccf');
  $ct_link = \Drupal::config('cleantalk.settings')
    ->get('cleantalk_link');
  $form['cleantalk_authkey'] = [
    '#type' => 'textfield',
    '#title' => t('Access key'),
    '#size' => 20,
    '#maxlength' => 20,
    '#default_value' => $ct_authkey ? $ct_authkey : '',
    '#description' => t('Click <a target="_blank" href="http://cleantalk.org/register?platform=drupal">here</a> to get access key.'),
  ];
  $form['cleantalk_comments'] = [
    '#type' => 'textfield',
    '#title' => t('Minimum approved comments per registered user'),
    '#size' => 5,
    '#maxlength' => 5,
    '#default_value' => $ct_comments,
    /*'#element_validate' => [
      'element_validate_integer_positive'
      ],*/
    '#description' => t('Moderate messages of guests and registered users who have approved messages less than this value (must be more than 0).'),
  ];
  $form['cleantalk_automod'] = [
    '#type' => 'checkbox',
    '#title' => t('Enable automoderation'),
    '#default_value' => $ct_automod,
    '#description' => t('Automatically publish good messages and put bad ones to admin approvement.') . '<br /><span class="admin-enabled">' . t('Note: It overrides "Skip comment approval" permissions') . '</span>',
  ];
  $form['cleantalk_ccf'] = [
    '#type' => 'checkbox',
    '#title' => t('Enable custom contact forms checking'),
    '#default_value' => $ct_ccf,
    '#description' => t('Enabling this option will aloow you to check all submissions to your site.'),
  ];
  $form['cleantalk_link'] = [
    '#type' => 'checkbox',
    '#title' => t('Tell others about CleanTalk'),
    '#default_value' => $ct_link,
    '#description' => t('Checking this box places a small link under the comment form that lets others know what anti-spam tool protects your site.'),
  ];
  return parent::buildForm($form, $form_state);
}