You are here

class MentionsInsert in Open Social 10.0.x

Same name and namespace in other branches
  1. 8.9 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  2. 8 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  3. 8.2 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  4. 8.3 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  5. 8.4 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  6. 8.5 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  7. 8.6 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  8. 8.7 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  9. 8.8 modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  10. 10.3.x modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  11. 10.1.x modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert
  12. 10.2.x modules/custom/mentions/src/EventSubscriber/MentionsInsert.php \Drupal\mentions\EventSubscriber\MentionsInsert

MentionsInsert handles event 'mentions.insert'.

Hierarchy

  • class \Drupal\mentions\EventSubscriber\MentionsInsert implements \Symfony\Component\EventDispatcher\EventSubscriberInterface

Expanded class hierarchy of MentionsInsert

File

modules/custom/mentions/src/EventSubscriber/MentionsInsert.php, line 12

Namespace

Drupal\mentions\EventSubscriber
View source
class MentionsInsert implements EventSubscriberInterface {

  /**
   * The entity type manager interface.
   *
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
   */
  protected $entityTypeManager;

  /**
   * The config factory.
   *
   * @var \Drupal\Core\Config\ConfigFactory
   */
  protected $configFactory;

  /**
   * MentionsInsert constructor.
   *
   * @param \Drupal\Core\Config\ConfigFactory $config_factory
   *   The config factory.
   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
   *   The entity type manager interface.
   */
  public function __construct(ConfigFactory $config_factory, EntityTypeManagerInterface $entity_type_manager) {
    $this->configFactory = $config_factory;
    $this->entityTypeManager = $entity_type_manager;
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    $events['mentions.insert'][] = [
      'onMentionsInsert',
      0,
    ];
    return $events;
  }

  /**
   * Event Handler.
   */
  public function onMentionsInsert($event) {
    $config = $this->configFactory
      ->get('mentions.settings');
    $config_mentions_events = $config
      ->get('mentions_events');
    $action_id = $config_mentions_events['insert'];
    if (empty($action_id)) {
      return;
    }
    $entity_storage = $this->entityTypeManager
      ->getStorage('action');
    $action = $entity_storage
      ->load($action_id);
    if ($action === NULL) {
      return;
    }
    $action_plugin = $action
      ->getPlugin();
    if (!empty($action_plugin)) {
      $action_plugin
        ->execute(FALSE);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MentionsInsert::$configFactory protected property The config factory.
MentionsInsert::$entityTypeManager protected property The entity type manager interface.
MentionsInsert::getSubscribedEvents public static function
MentionsInsert::onMentionsInsert public function Event Handler.
MentionsInsert::__construct public function MentionsInsert constructor.