group_permissions-1.0.0-alpha1/src/Entity/Storage/GroupPermissionStorage.php

src/Entity/Storage/GroupPermissionStorage.php
<?php

namespace Drupal\group_permissions\Entity\Storage;

use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
use Drupal\Core\Session\AccountInterface;
use Drupal\group\Entity\GroupInterface;

/**
 * Defines the storage handler class for group permission entities.
 *
 * This extends the base storage class, adding required special handling for
 * loading group permission entities based on group and plugin information.
 */
class GroupPermissionStorage extends SqlContentEntityStorage implements GroupPermissionStorageInterface {

  /**
   * {@inheritdoc}
   */
  public function loadByGroup(GroupInterface $group) {
    $group_permissions = $this->loadByProperties(['gid' => $group->id()]);
    return !empty($group_permissions) ? reset($group_permissions) : NULL;
  }

  /**
   * {@inheritdoc}
   */
  public function getAllActive() {
    return $this->loadByProperties(['status' => 1]);
  }

  /**
   * {@inheritdoc}
   */
  public function userRevisionIds(AccountInterface $account) {
    return $this->database->query(
      'SELECT [revision_id] FROM {' . $this->getRevisionTable() . '} WHERE [revision_user] = :revision_user ORDER BY [revision_id]',
      [':revision_user' => $account->id()]
    )->fetchCol();
  }

}

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

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