public function SearchExcludeNidForm::submitForm in Search exclude nid 8
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides ConfigFormBase::submitForm
File
- src/
Form/ SearchExcludeNidForm.php, line 51
Class
- SearchExcludeNidForm
- The form to collect nids to be excluded.
Namespace
Drupal\search_exclude_nid\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$config = $this
->config('search_exclude_nid.settings');
$excluded_nids = array();
if (!empty($form_state
->getValue('excluded_nids'))) {
$excluded_nids_arr = explode(',', $form_state
->getValue('excluded_nids'));
foreach ($excluded_nids_arr as $excluded_nid) {
$excluded_nid = intval($excluded_nid);
$node = node_load($excluded_nid);
// Check if node exists for given nid and avoid duplicates.
if ($excluded_nid && !in_array($excluded_nid, $excluded_nids) && !empty($node)) {
$excluded_nids[] = $excluded_nid;
}
else {
drupal_set_message(t('nid: %nid has been removed from exclusion list as no node exists with that id or it is a duplicate.', array(
'%nid' => $excluded_nid,
)), 'warning');
}
}
}
$config
->set('excluded_nids', $excluded_nids);
$config
->save();
return parent::submitForm($form, $form_state);
}