You are here

public function XBBCodeTagForm::_submitFormSave in Extensible BBCode 8.2

Save (create or update) a custom tag.

File

src/Form/XBBCodeTagForm.php, line 261
Contains \Drupal\xbbcode\Form\XBBCodeTagForm.

Class

XBBCodeTagForm
List custom tags and edit or delete them.

Namespace

Drupal\xbbcode\Form

Code

public function _submitFormSave(array &$form, FormStateInterface $form_state) {
  $tag = (object) $form_state
    ->getValues();
  $tag->name = strtolower($tag->name);
  foreach ($tag->options as $name => $value) {
    $tag->options[$name] = $value ? 1 : 0;
  }
  $tag->options['php'] = $tag->php;
  if (xbbcode_custom_tag_save($tag)) {
    if ($form['edit']['name']['#default_value']) {
      drupal_set_message($this
        ->t('Tag [@name] has been changed.', [
        '@name' => $tag->name,
      ]));
    }
    else {
      drupal_set_message($this
        ->t('Tag [@name] has been created.', [
        '@name' => $tag->name,
      ]));
    }
  }
  $form_state
    ->setRedirect('xbbcode.admin_tags');
  drupal_static_reset('xbbcode_custom_tag_load');
  xbbcode_rebuild_tags();
}