You are here

class Simple in Organic groups 8

Performs an on-the-fly deletion of orphans.

Plugin annotation


@OgDeleteOrphans(
 id = "simple",
 label = @Translation("Simple", context = "OgDeleteOrphans"),
 description = @Translation("Immediately deletes the orphans when a group is deleted. Best suited for small sites with not a lot of group content."),
)

Hierarchy

Expanded class hierarchy of Simple

File

src/Plugin/OgDeleteOrphans/Simple.php, line 19

Namespace

Drupal\og\Plugin\OgDeleteOrphans
View source
class Simple extends OgDeleteOrphansBase {

  /**
   * {@inheritdoc}
   */
  public function register(EntityInterface $entity) {
    parent::register($entity);

    // Check if our cleanup process is already registered, so we don't add any
    // duplicates.
    $callbacks = array_filter(drupal_register_shutdown_function(), function ($callback) {
      $callable = $callback['callback'];
      return is_array($callable) && $callable[0] instanceof $this && $callable[1] === 'process';
    });

    // Register a shutdown function that deletes the orphans on the fly.
    if (empty($callbacks)) {
      drupal_register_shutdown_function([
        $this,
        'process',
      ]);
    }
  }

  /**
   * {@inheritdoc}
   */
  public function process() {
    $queue = $this
      ->getQueue();
    while ($item = $queue
      ->claimItem()) {
      $data = $item->data;
      $this
        ->deleteOrphan($data['type'], $data['id']);
      $queue
        ->deleteItem($item);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
OgDeleteOrphansBase::$entityTypeManager protected property The entity type manager.
OgDeleteOrphansBase::$groupAudienceHelper protected property The OG group audience helper.
OgDeleteOrphansBase::$membershipManager protected property The OG membership manager.
OgDeleteOrphansBase::$queueFactory protected property The queue factory.
OgDeleteOrphansBase::configurationForm public function Returns the configuration form elements specific to this plugin. Overrides OgDeleteOrphansInterface::configurationForm 1
OgDeleteOrphansBase::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create
OgDeleteOrphansBase::deleteOrphan protected function Deletes an orphaned group content entity if it is fully orphaned.
OgDeleteOrphansBase::getQueue protected function Returns the queue of orphans to delete. 1
OgDeleteOrphansBase::query protected function Queries the registered group entity for orphaned members to delete.
OgDeleteOrphansBase::__construct public function Constructs an OgDeleteOrphansBase object. Overrides PluginBase::__construct
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.
Simple::process public function Starts the deletion process. Overrides OgDeleteOrphansInterface::process
Simple::register public function Registers a soon to be deleted group entity, for processing. Overrides OgDeleteOrphansBase::register
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.