You are here

class MentionsUpdate in Open Social 10.0.x

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

MentionsUpdate handles event 'mentions.update'.

Hierarchy

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

Expanded class hierarchy of MentionsUpdate

File

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

Namespace

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

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

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

  /**
   * MentionsUpdate 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 = [];
    $events['mentions.update'][] = [
      'onMentionsUpdate',
      0,
    ];
    return $events;
  }

  /**
   * {@inheritdoc}
   */
  public function onMentionsUpdate($event) {
    $config = $this->configFactory
      ->get('mentions.settings');
    $config_mentions_events = $config
      ->get('mentions_events');
    $action_id = $config_mentions_events['update'];
    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
MentionsUpdate::$configFactory protected property The config factory.
MentionsUpdate::$entityTypeManager protected property The entity type manager interface.
MentionsUpdate::getSubscribedEvents public static function
MentionsUpdate::onMentionsUpdate public function
MentionsUpdate::__construct public function MentionsUpdate constructor.