abstract class RecipientHandlerSelectBase in Simplenews 8.2
Same name and namespace in other branches
- 3.x src/Plugin/simplenews/RecipientHandler/RecipientHandlerSelectBase.php \Drupal\simplenews\Plugin\simplenews\RecipientHandler\RecipientHandlerSelectBase
Base for Recipient Handlers that access the database directly using Select.
Derivatives access the underlying database directly use a Select query. This is very fast, but won't work with custom storage and can lead to more complex queries.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait- class \Drupal\simplenews\Plugin\simplenews\RecipientHandler\RecipientHandlerBase implements RecipientHandlerInterface- class \Drupal\simplenews\Plugin\simplenews\RecipientHandler\RecipientHandlerSelectBase
 
 
- class \Drupal\simplenews\Plugin\simplenews\RecipientHandler\RecipientHandlerBase implements RecipientHandlerInterface
 
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of RecipientHandlerSelectBase
File
- src/Plugin/ simplenews/ RecipientHandler/ RecipientHandlerSelectBase.php, line 12 
Namespace
Drupal\simplenews\Plugin\simplenews\RecipientHandlerView source
abstract class RecipientHandlerSelectBase extends RecipientHandlerBase {
  /**
   * {@inheritdoc}
   */
  public function addToSpool() {
    $entity_type = $this->issue
      ->getEntityTypeId();
    $query = $this
      ->buildRecipientQuery();
    $query
      ->addExpression("'{$entity_type}'", 'entity_type');
    $query
      ->addExpression($this->issue
      ->id(), 'entity_id');
    $query
      ->addExpression(SIMPLENEWS_SUBSCRIPTION_STATUS_SUBSCRIBED, 'status');
    $query
      ->addExpression(REQUEST_TIME, 'timestamp');
    $this->connection
      ->insert('simplenews_mail_spool')
      ->from($query)
      ->execute();
    return $query
      ->countQuery()
      ->execute()
      ->fetchField();
  }
  /**
   * {@inheritdoc}
   */
  protected function doCount() {
    return $this
      ->buildRecipientQuery()
      ->countQuery()
      ->execute()
      ->fetchField();
  }
  /**
   * Build the query that gets the list of recipients.
   *
   * @return \Drupal\Core\Database\Query\SelectInterface
   *   Query with the columns 'snid' and 'newsletter_id' for each recipient.
   */
  protected abstract function buildRecipientQuery();
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| DependencySerializationTrait:: | protected | property | An array of entity type IDs keyed by the property name of their storages. | |
| DependencySerializationTrait:: | protected | property | An array of service IDs keyed by property name used for serialization. | |
| DependencySerializationTrait:: | public | function | 1 | |
| DependencySerializationTrait:: | public | function | 2 | |
| MessengerTrait:: | protected | property | The messenger. | 29 | 
| MessengerTrait:: | public | function | Gets the messenger. | 29 | 
| MessengerTrait:: | public | function | Sets the messenger. | |
| PluginBase:: | protected | property | Configuration information passed into the plugin. | 1 | 
| PluginBase:: | protected | property | The plugin implementation definition. | 1 | 
| PluginBase:: | protected | property | The plugin_id. | |
| PluginBase:: | constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
| PluginBase:: | public | function | Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | 3 | 
| PluginBase:: | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | |
| PluginBase:: | public | function | Determines if the plugin is configurable. | |
| RecipientHandlerBase:: | protected | property | The database connection. | |
| RecipientHandlerBase:: | protected | property | The newsletter issue. | |
| RecipientHandlerBase:: | protected | property | The newsletter IDs. | |
| RecipientHandlerBase:: | protected | function | Adds an array of entries to the spool. | |
| RecipientHandlerBase:: | protected | function | Checks if the recipient count can be cached. | 2 | 
| RecipientHandlerBase:: | public | function | ||
| RecipientHandlerBase:: | protected | function | Returns the newsletter ID. | |
| RecipientHandlerBase:: | public | function | Returns the elements to add to the settings form for handler settings. Overrides RecipientHandlerInterface:: | 1 | 
| RecipientHandlerBase:: | public | function | RecipientHandlerBase constructor. Overrides PluginBase:: | |
| RecipientHandlerSelectBase:: | public | function | Adds a newsletter issue to the mail spool. Overrides RecipientHandlerInterface:: | |
| RecipientHandlerSelectBase:: | abstract protected | function | Build the query that gets the list of recipients. | 1 | 
| RecipientHandlerSelectBase:: | protected | function | Counts the number of recipients. Overrides RecipientHandlerBase:: | |
| StringTranslationTrait:: | protected | property | The string translation service. | 1 | 
| StringTranslationTrait:: | protected | function | Formats a string containing a count of items. | |
| StringTranslationTrait:: | protected | function | Returns the number of plurals supported by a given language. | |
| StringTranslationTrait:: | protected | function | Gets the string translation service. | |
| StringTranslationTrait:: | public | function | Sets the string translation service to use. | 2 | 
| StringTranslationTrait:: | protected | function | Translates a string to the current language or to a given language. | 
