contacts_subscriptions-1.x-dev/src/Entity/SqlSubscriptionStorage.php

src/Entity/SqlSubscriptionStorage.php
<?php

namespace Drupal\contacts_subscriptions\Entity;

use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
use Drupal\user\UserInterface;

/**
 * SQL storage for subscriptions.
 */
class SqlSubscriptionStorage extends SqlContentEntityStorage {

  /**
   * Load a subscription for the given user.
   *
   * @param \Drupal\user\UserInterface $user
   *   The user.
   * @param string|null $type
   *   The subscription type.
   *
   * @return \Drupal\contacts_subscriptions\Entity\SubscriptionInterface[]
   *   The subscriptions.
   */
  public function loadByUser(UserInterface $user, string $type = NULL): ?array {
    if ($user->isAnonymous()) {
      return [];
    }

    $values = [
      'uid' => $user->id(),
    ];

    if ($type) {
      $values['bundle'] = $type;
    }

    $subscriptions = $this->loadByProperties($values);
    usort($subscriptions, [Subscription::class, 'sort']);

    return $subscriptions ?: [];
  }

}

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

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