jitsi_meet-1.0.x-dev/src/Form/JitsiMeetSettings.php

src/Form/JitsiMeetSettings.php
<?php

namespace Drupal\jitsi_meet\Form;

use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;

/**
 * Configure youmedico_jitsi settings for this site.
 */
class JitsiMeetSettings extends ConfigFormBase
{

    /**
     * Settings.
     *
     * @var string Config settings
     */
    const SETTINGS = 'jitsi_meet.settings';

    /**
     * {@inheritdoc}
     */
    public function getFormId()
    {
        return 'jitsi_meet';
    }

    /**
     * {@inheritdoc}
     */
    protected function getEditableConfigNames()
    {
        return [
            static::SETTINGS,
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function buildForm(array $form, FormStateInterface $form_state)
    {
        $config = $this->config(static::SETTINGS);

        $form['jitsi_meet_live_meeting_domain'] = [
            '#type' => 'textfield',
            '#required' => TRUE,
            '#title' => $this->t('Live Meeting Domain'),
            '#attributes' => ['placeholder' => $this->t('domain')],
            '#default_value' => $config->get('jitsi_meet_live_meeting_domain') ? $config->get('jitsi_meet_live_meeting_domain') : '',
            '#description' => $this->t('Server that manage video connections'),
        ];

        $form['jitsi_meet_live_meeting_provider_name'] = [
            '#type' => 'textfield',
            '#required' => TRUE,
            '#title' => $this->t('Provider Name'),
            '#attributes' => ['placeholder' => $this->t('provider_name')],
            '#default_value' => $config->get('jitsi_meet_live_meeting_provider_name') ? $config->get('jitsi_meet_live_meeting_provider_name') : '',
            '#description' => $this->t('Provider Name'),
        ];

        $form['jitsi_meet_live_meeting_app_name'] = [
            '#type' => 'textfield',
            '#required' => TRUE,
            '#title' => $this->t('App Name'),
            '#attributes' => ['placeholder' => $this->t('app_name')],
            '#default_value' => $config->get('jitsi_meet_live_meeting_app_name') ? $config->get('jitsi_meet_live_meeting_app_name') : '',
            '#description' => $this->t('App Name'),
        ];

        $form['jitsi_meet_live_meeting_jwt_secret'] = [
            '#type' => 'textfield',
            '#required' => TRUE,
            '#title' => $this->t('JWT Secret'),
            '#attributes' => ['placeholder' => $this->t('jwt_secret')],
            '#default_value' => $config->get('jitsi_meet_live_meeting_jwt_secret') ? $config->get('jitsi_meet_live_meeting_jwt_secret') : '',
            '#description' => $this->t('JWT Secret'),
        ];

        $form['jitsi_meet_live_meeting_jwt_iss'] = [
            '#type' => 'textfield',
            '#required' => TRUE,
            '#title' => $this->t('JWT iss'),
            '#attributes' => ['placeholder' => $this->t('jwt_iss')],
            '#default_value' => $config->get('jitsi_meet_live_meeting_jwt_iss') ? $config->get('jitsi_meet_live_meeting_jwt_iss') : '',
            '#description' => $this->t('JWT iss'),
        ];

        $form['jitsi_meet_live_meeting_jwt_sub'] = [
            '#type' => 'textfield',
            '#required' => TRUE,
            '#title' => $this->t('JWT sub'),
            '#attributes' => ['placeholder' => $this->t('jwt_sub')],
            '#default_value' => $config->get('jitsi_meet_live_meeting_jwt_sub') ? $config->get('jitsi_meet_live_meeting_jwt_sub') : '',
            '#description' => $this->t('JWT sub'),
        ];

        return parent::buildForm($form, $form_state);
    }

    /**
     * {@inheritdoc}
     */
    public function validateForm(array &$form, FormStateInterface $form_state)
    {

    }

    /**
     * {@inheritdoc}
     */
    public function submitForm(array &$form, FormStateInterface $form_state)
    {

        $this->configFactory->getEditable(static::SETTINGS)
            ->set('jitsi_meet_live_meeting_domain', $form_state->getValue('jitsi_meet_live_meeting_domain'))
            ->set('jitsi_meet_live_meeting_provider_name', $form_state->getValue('jitsi_meet_live_meeting_provider_name'))
            ->set('jitsi_meet_live_meeting_app_name', $form_state->getValue('jitsi_meet_live_meeting_app_name'))
            ->set('jitsi_meet_live_meeting_jwt_secret', $form_state->getValue('jitsi_meet_live_meeting_jwt_secret'))
            ->set('jitsi_meet_live_meeting_jwt_iss', $form_state->getValue('jitsi_meet_live_meeting_jwt_iss'))
            ->set('jitsi_meet_live_meeting_jwt_sub', $form_state->getValue('jitsi_meet_live_meeting_jwt_sub'))
            ->save();

        parent::submitForm($form, $form_state);
    }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc