You are here

class Liveblog in Thunder 8.4

Same name and namespace in other branches
  1. 8.2 src/Plugin/Thunder/OptionalModule/Liveblog.php \Drupal\thunder\Plugin\Thunder\OptionalModule\Liveblog
  2. 8.3 src/Plugin/Thunder/OptionalModule/Liveblog.php \Drupal\thunder\Plugin\Thunder\OptionalModule\Liveblog

AMP.

Plugin annotation


@ThunderOptionalModule(
  id = "thunder_liveblog",
  label = @Translation("Liveblog"),
  description = @Translation("The Liveblog module allows you to distribute blog posts to thousands of users in realtime."),
  type = "module",
)

Hierarchy

Expanded class hierarchy of Liveblog

File

src/Plugin/Thunder/OptionalModule/Liveblog.php, line 17

Namespace

Drupal\thunder\Plugin\Thunder\OptionalModule
View source
class Liveblog extends AbstractOptionalModule {

  /**
   * {@inheritdoc}
   */
  public function buildForm(array $form, FormStateInterface $form_state) {
    $form = parent::buildForm($form, $form_state);
    $form['thunder_liveblog']['description'] = [
      '#type' => 'item',
      '#markup' => $this
        ->t('Register a new account at <a href=":pusher_url" target="_blank">:pusher_url</a>, create a new app and note down your keys and cluster. You can provide them right here or at a later stage on the liveblog settings form.', [
        ':pusher_url' => 'http://pusher.com',
      ]),
    ];
    $form['thunder_liveblog']['pusher_app_id'] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('App ID'),
    ];
    $form['thunder_liveblog']['pusher_key'] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Key'),
    ];
    $form['thunder_liveblog']['pusher_secret'] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Secret'),
    ];
    $form['thunder_liveblog']['pusher_cluster'] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Cluster'),
      '#description' => $this
        ->t('The cluster name to connect to. Leave empty for the default cluster: mt1 (US east coast)'),
    ];
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function submitForm(array $formValues) {
    $this->configFactory
      ->getEditable('liveblog.notification_channel.liveblog_pusher')
      ->set('app_id', $formValues['pusher_app_id'])
      ->set('key', $formValues['pusher_key'])
      ->set('secret', $formValues['pusher_secret'])
      ->set('cluster', $formValues['pusher_cluster'])
      ->save(TRUE);
    if ($formValues['pusher_app_id'] && $formValues['pusher_key'] && $formValues['pusher_secret']) {
      $this->configFactory
        ->getEditable('liveblog.settings')
        ->set('notification_channel', 'liveblog_pusher')
        ->save(TRUE);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AbstractOptionalModule::$configFactory protected property The config factory.
AbstractOptionalModule::$entityTypeManager protected property The entity manager.
AbstractOptionalModule::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create
AbstractOptionalModule::__construct public function Constructs display plugin. Overrides PluginBase::__construct
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
Liveblog::buildForm public function Overrides AbstractOptionalModule::buildForm
Liveblog::submitForm public function Overrides AbstractOptionalModule::submitForm
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.