multiversion-8.x-1.0-beta34/src/Entity/Storage/Sql/CommentStorage.php

src/Entity/Storage/Sql/CommentStorage.php
<?php

namespace Drupal\multiversion\Entity\Storage\Sql;

use Drupal\multiversion\Entity\Storage\ContentEntityStorageInterface;
use Drupal\multiversion\Entity\Storage\ContentEntityStorageTrait;
use Drupal\comment\CommentStorage as CoreCommentStorage;

/**
 * Storage handler for comments.
 */
class CommentStorage extends CoreCommentStorage implements ContentEntityStorageInterface {

  use ContentEntityStorageTrait {
    delete as deleteEntities;
  }

  /**
   * {@inheritdoc}
   */
  public function delete(array $entities) {
    // Ensure that the entities are keyed by ID.
    $keyed_entities = [];
    foreach ($entities as $entity) {
      $keyed_entities[$entity->id()] = $entity;
    }

    // Delete received comments and all their children.
    if (!empty($keyed_entities)) {
      $child_cids = $this->getChildCids($keyed_entities);
      while (!empty($child_cids)) {
        $child_entities = $this->loadMultiple($child_cids);
        $keyed_entities = $keyed_entities + $child_entities;
        $child_cids = $this->getChildCids($child_entities);
      }
    }
    // Sort the array with entities descending to delete children before their
    // parents.
    krsort($keyed_entities);
    $this->deleteEntities($keyed_entities);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc