You are here

public function SharebarAddButtonForm::buildForm in ShareBar 8

Form builder: Configure the sharebar system.

Overrides FormInterface::buildForm

File

src/Form/SharebarAddButtonForm.php, line 30
Contains \Drupal\sharebar\Form\SharebarAddButtonForm.

Class

SharebarAddButtonForm
Implements an example form.

Namespace

Drupal\sharebar\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $args = explode('/', current_path());
  $mname = $args[4];
  $array1 = '';
  $button = (object) $array1;
  $button->name = $button->machine_name = $button->big_button = $button->small_button = $button->enabled = $button->weight = '';
  if ($mname) {
    $buttons = unserialize(\Drupal::config('sharebar.settings')
      ->get('sharebar_buttons'));
    if (empty($buttons)) {
      $buttons = unserialize(sharebar_buttons_def());
    }

    // print_r($buttons); die;
    if (is_array($buttons) && count($buttons)) {
      $button = $buttons[$mname];
    }
  }
  $form['name'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
    '#default_value' => $button->name,
    '#maxlength' => 255,
    '#required' => TRUE,
  );
  $form['machine_name'] = array(
    '#type' => 'machine_name',
    '#default_value' => $button->machine_name,
    '#maxlength' => 21,
    '#machine_name' => array(
      'exists' => 'sharebar_machine_name_load',
    ),
  );
  $form['old_machine_name'] = array(
    '#type' => 'value',
    '#value' => $button->machine_name,
  );
  $form['big_button'] = array(
    '#type' => 'textarea',
    '#title' => t('Big Button'),
    '#default_value' => $button->big_button,
    '#required' => TRUE,
  );
  $form['small_button'] = array(
    '#type' => 'textarea',
    '#title' => t('Small Button'),
    '#default_value' => $button->small_button,
    '#required' => TRUE,
  );
  $form['enabled'] = array(
    '#type' => 'checkbox',
    '#title' => t('Enabled'),
    '#default_value' => $button->enabled,
  );
  $form['weight'] = array(
    '#type' => 'weight',
    '#title' => t('Weight'),
    '#delta' => 50,
    '#default_value' => $button->weight,
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  return $form;
}