class MySmsEventSubscriber in SMS Framework 8
Same name and namespace in other branches
- 2.x sms.api.php \MySmsEventSubscriber
- 2.1.x sms.api.php \MySmsEventSubscriber
Event subscribers for SMS Framework.
Service definition: <code> ```yaml my_module.my_event_subscriber: class: Drupal\my_module\EventSubscriber\MySmsEventSubscriber tags:
- { name: event_subscriber }
``` </code>
<code> <?php namespace Drupal\my_module\EventSubscriber; ?> </code>
Hierarchy
- class \MySmsEventSubscriber implements \Symfony\Component\EventDispatcher\EventSubscriberInterface
Expanded class hierarchy of MySmsEventSubscriber
See also
\Drupal\sms_test\EventSubscriber\SmsTestEventSubscriber
File
- ./sms.api.php, line 43 
- SMS Framework hooks.
View source
class MySmsEventSubscriber implements \Symfony\Component\EventDispatcher\EventSubscriberInterface {
  /**
   * An example event subscriber.
   *
   * @see \Drupal\sms\Event\SmsEvents::ENTITY_PHONE_NUMBERS
   */
  public function myEntityPhoneNumbers(\Drupal\sms\Event\SmsEntityPhoneNumber $event) {
    // Entity to get phone numbers for.
    $entity = $event
      ->getEntity();
    // Add a phone number for above entity.
    $event
      ->addPhoneNumber('+123456879');
  }
  /**
   * An example event subscriber.
   *
   * @see \Drupal\sms\Event\SmsEvents::MESSAGE_PRE_PROCESS
   */
  public function mySmsMessagePreprocess(\Drupal\sms\Event\SmsMessageEvent $event) {
    $result = [];
    foreach ($event
      ->getMessages() as $message) {
      // Modify or chunk messages.
      $result[] = $message;
    }
    $event
      ->setMessages($result);
  }
  /**
   * An example event subscriber.
   *
   * @see \Drupal\sms\Event\SmsEvents::MESSAGE_POST_PROCESS
   */
  public function mySmsMessagePostProcess(\Drupal\sms\Event\SmsMessageEvent $event) {
    $result = [];
    foreach ($event
      ->getMessages() as $message) {
      // Modify or chunk messages.
      $result[] = $message;
    }
    $event
      ->setMessages($result);
  }
  /**
   * An example event subscriber.
   *
   * @see \Drupal\sms\Event\SmsEvents::MESSAGE_GATEWAY
   */
  public function mySmsMessageGateway(\Drupal\sms\Event\RecipientGatewayEvent $event) {
    // The recipient phone number.
    $event
      ->getRecipient();
    // Add a gateway for a phone number.
    $event
      ->addGateway($a_gateway);
    // Add a gateway with a priority.
    $event
      ->addGateway($a_gateway, 333);
    $event
      ->addGateway($a_gateway, -333);
  }
  /**
   * An example event subscriber.
   *
   * @see \Drupal\sms\Event\SmsEvents::DELIVERY_REPORT_POST_PROCESS
   */
  public function myDeliveryReportPostProcessor(\Drupal\sms\Event\SmsDeliveryReportEvent $event) {
    $event
      ->getReports();
  }
  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    $events[\Drupal\sms\Event\SmsEvents::ENTITY_PHONE_NUMBERS][] = [
      'myEntityPhoneNumbers',
    ];
    $events[\Drupal\sms\Event\SmsEvents::MESSAGE_PRE_PROCESS][] = [
      'mySmsMessagePreprocess',
    ];
    $events[\Drupal\sms\Event\SmsEvents::MESSAGE_POST_PROCESS][] = [
      'mySmsMessagePostprocess',
    ];
    $events[\Drupal\sms\Event\SmsEvents::MESSAGE_GATEWAY][] = [
      'mySmsMessageGateway',
    ];
    $events[\Drupal\sms\Event\SmsEvents::DELIVERY_REPORT_POST_PROCESS][] = [
      'myDeliveryReportPostProcessor',
    ];
    return $events;
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| MySmsEventSubscriber:: | public static | function | Returns an array of event names this subscriber wants to listen to. | |
| MySmsEventSubscriber:: | public | function | An example event subscriber. | |
| MySmsEventSubscriber:: | public | function | An example event subscriber. | |
| MySmsEventSubscriber:: | public | function | An example event subscriber. | |
| MySmsEventSubscriber:: | public | function | An example event subscriber. | |
| MySmsEventSubscriber:: | public | function | An example event subscriber. | 
