You are here

interface OgMembershipInterface in Organic groups 8

Provides an interface for OG memberships.

Hierarchy

Expanded class hierarchy of OgMembershipInterface

All classes that implement OgMembershipInterface

37 files declare their use of OgMembershipInterface
AccessByOgMembershipTest.php in tests/src/Kernel/Access/AccessByOgMembershipTest.php
ActionTestBase.php in tests/src/Kernel/Action/ActionTestBase.php
ApprovePendingOgMembership.php in src/Plugin/Action/ApprovePendingOgMembership.php
ApprovePendingOgMembershipActionTest.php in tests/src/Kernel/Action/ApprovePendingOgMembershipActionTest.php
BlockOgMembership.php in src/Plugin/Action/BlockOgMembership.php

... See full list

File

src/OgMembershipInterface.php, line 13

Namespace

Drupal\og
View source
interface OgMembershipInterface extends ContentEntityInterface, EntityOwnerInterface {

  /**
   * Define active group content states.
   *
   * When a user has this membership state they are considered to be of
   * "member" role.
   */
  const STATE_ACTIVE = 'active';

  /**
   * Define pending group content states.
   *
   * The user is subscribed to the group but isn't an active member yet.
   *
   * When a user has this membership state they are considered to be of
   * "non-member" role.
   */
  const STATE_PENDING = 'pending';

  /**
   * Define blocked group content states. The user is rejected from the group.
   *
   * When a user has this membership state they are denied access to any
   * group related action. This state, however, does not prevent the user from
   * accessing a group or group content.
   */
  const STATE_BLOCKED = 'blocked';

  /**
   * An array containing all possible group membership states.
   */
  const ALL_STATES = [
    self::STATE_ACTIVE,
    self::STATE_PENDING,
    self::STATE_BLOCKED,
  ];

  /**
   * The default group membership type that is the bundle of group membership.
   */
  const TYPE_DEFAULT = 'default';

  /**
   * The name of the user's request field in the default group membership type.
   */
  const REQUEST_FIELD = 'og_membership_request';

  /**
   * The prefix that is used to identify group membership list cache tags.
   */
  const GROUP_MEMBERSHIP_LIST_CACHE_TAG_PREFIX = 'og-group-membership-list';

  /**
   * Gets the membership creation timestamp.
   *
   * @return int
   *   The membership creation timestamp.
   */
  public function getCreatedTime() : int;

  /**
   * Sets the membership creation timestamp.
   *
   * @param int $timestamp
   *   The membership creation timestamp.
   *
   * @return \Drupal\og\OgMembershipInterface
   *   The updated OG Membership object.
   */
  public function setCreatedTime(int $timestamp) : OgMembershipInterface;

  /**
   * Sets the group associated with the membership.
   *
   * @param \Drupal\Core\Entity\ContentEntityInterface $group
   *   The entity object.
   *
   * @return \Drupal\og\OgMembershipInterface
   *   The updated OG Membership object.
   */
  public function setGroup(ContentEntityInterface $group) : OgMembershipInterface;

  /**
   * Gets the group associated with the membership.
   *
   * @return \Drupal\Core\Entity\ContentEntityInterface|null
   *   The group object which is referenced by the membership, or NULL if the
   *   group no longer exists in the entity storage. This can happen when the
   *   cleanup of orphaned memberships is configured to be handled in a cron job
   *   or batch process.
   */
  public function getGroup() : ?ContentEntityInterface;

  /**
   * Gets the group entity type.
   *
   * @return string
   *   The entity type.
   */
  public function getGroupEntityType() : string;

  /**
   * Gets the group entity bundle.
   *
   * @return string
   *   The bundle.
   */
  public function getGroupBundle() : string;

  /**
   * Gets the group entity ID.
   *
   * @return string
   *   The entity identifier.
   */
  public function getGroupId() : string;

  /**
   * Sets the membership state.
   *
   * @param string $state
   *   The state of the membership. It may be of the following constants:
   *   - OgMembershipInterface::STATE_ACTIVE
   *   - OgMembershipInterface::STATE_PENDING
   *   - OgMembershipInterface::STATE_BLOCKED.
   *
   * @return \Drupal\og\OgMembershipInterface
   *   The updated OG Membership object.
   */
  public function setState(string $state) : OgMembershipInterface;

  /**
   * Gets the membership state.
   *
   * @return string
   *   The state of the membership. It may be of the following constants:
   *   - OgMembershipInterface::STATE_ACTIVE
   *   - OgMembershipInterface::STATE_PENDING
   *   - OgMembershipInterface::STATE_BLOCKED
   */
  public function getState() : string;

  /**
   * Gets the membership type.
   *
   * @return string
   *   The bundle of the membership type.
   */
  public function getType() : string;

  /**
   * Sets the group's roles for the current user group membership.
   *
   * @param \Drupal\og\OgRoleInterface[] $roles
   *   The array of OG roles to set.
   *
   * @return \Drupal\og\OgMembershipInterface
   *   The updated OG Membership object.
   */
  public function setRoles(array $roles = []) : OgMembershipInterface;

  /**
   * Adds a role to the user membership.
   *
   * @param \Drupal\og\OgRoleInterface $role
   *   The OG role.
   *
   * @return \Drupal\og\OgMembershipInterface
   *   The updated OG Membership object.
   */
  public function addRole(OgRoleInterface $role) : OgMembershipInterface;

  /**
   * Revokes a role from the OG membership.
   *
   * @param \Drupal\og\OgRoleInterface $role
   *   The OG role.
   *
   * @return \Drupal\og\OgMembershipInterface
   *   The updated OG Membership object.
   */
  public function revokeRole(OgRoleInterface $role) : OgMembershipInterface;

  /**
   * Revokes a role from the OG membership.
   *
   * @param string $role_id
   *   The OG role ID.
   *
   * @return \Drupal\og\OgMembershipInterface
   *   The updated OG Membership object.
   */
  public function revokeRoleById(string $role_id) : OgMembershipInterface;

  /**
   * Gets all the referenced OG roles.
   *
   * @return \Drupal\og\OgRoleInterface[]
   *   List of OG roles the user own for the current membership instance.
   */
  public function getRoles() : array;

  /**
   * Gets all the referenced OG role IDs.
   *
   * @return string[]
   *   List of OG role IDs that are granted in the membership.
   */
  public function getRolesIds() : array;

  /**
   * Returns whether the given role is valid for this membership.
   *
   * @param \Drupal\og\OgRoleInterface $role
   *   The role to check.
   *
   * @return bool
   *   True if the role is valid, false otherwise.
   *
   * @throws \LogicException
   *   Thrown when the validity of the role cannot be established, for example
   *   because the group hasn't yet been set on the membership.
   */
  public function isRoleValid(OgRoleInterface $role) : bool;

  /**
   * Checks if the membership has the role with the given ID.
   *
   * @param string $role_id
   *   The ID of the role to check.
   *
   * @return bool
   *   True if the membership has the role.
   */
  public function hasRole(string $role_id) : bool;

  /**
   * Checks if the user has a permission inside the group.
   *
   * @param string $permission
   *   The name of the permission.
   *
   * @return bool
   *   TRUE if the user has permission.
   */
  public function hasPermission(string $permission) : bool;

  /**
   * Returns TRUE if the OG membership is active.
   *
   * @return bool
   *   TRUE if the OG membership is active, FALSE otherwise.
   */
  public function isActive() : bool;

  /**
   * Returns TRUE if the OG membership is pending.
   *
   * @return bool
   *   TRUE if the OG membership is pending, FALSE otherwise.
   */
  public function isPending() : bool;

  /**
   * Returns TRUE if the OG membership is blocked.
   *
   * @return bool
   *   TRUE if the OG membership is blocked, FALSE otherwise.
   */
  public function isBlocked() : bool;

  /**
   * Returns TRUE if the OG membership belongs to the group owner.
   *
   * @return bool
   *   TRUE if the OG membership belongs to the group owner, FALSE otherwise.
   */
  public function isOwner() : bool;

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 9
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 34
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 34
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 27
EntityInterface::bundle public function Gets the bundle of the entity. 2
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 2
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 2
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 2
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 2
EntityInterface::getEntityType public function Gets the entity type definition. 2
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 2
EntityInterface::getOriginalId public function Gets the original ID. 2
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 2
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 2
EntityInterface::id public function Gets the identifier. 2
EntityInterface::isNew public function Determines whether the entity is new. 2
EntityInterface::label public function Gets the label of the entity. 2
EntityInterface::language public function Gets the language of the entity. 2
EntityInterface::link Deprecated public function Deprecated way of generating a link to the entity. See toLink(). 2
EntityInterface::load public static function Loads an entity. 2
EntityInterface::loadMultiple public static function Loads one or more entities. 2
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 2
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 2
EntityInterface::postLoad public static function Acts on loaded entities. 3
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 2
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 2
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 2
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 2
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setOriginalId public function Sets the original ID. 2
EntityInterface::toLink public function Generates the HTML for a link to this entity. 2
EntityInterface::toUrl public function Gets the URL object for the entity. 2
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 2
EntityInterface::url Deprecated public function Gets the public URL for this entity. 2
EntityInterface::urlInfo Deprecated public function Gets the URL object for the entity. 2
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
EntityOwnerInterface::getOwner public function Returns the entity owner's user entity. 1
EntityOwnerInterface::getOwnerId public function Returns the entity owner's user ID. 1
EntityOwnerInterface::setOwner public function Sets the entity owner's user entity. 1
EntityOwnerInterface::setOwnerId public function Sets the entity owner's user ID. 1
FieldableEntityInterface::baseFieldDefinitions public static function Provides base field definitions for an entity type. 2
FieldableEntityInterface::bundleFieldDefinitions public static function Provides field definitions for a specific bundle. 2
FieldableEntityInterface::get public function Gets a field item list. 1
FieldableEntityInterface::getFieldDefinition public function Gets the definition of a contained field. 1
FieldableEntityInterface::getFieldDefinitions public function Gets an array of field definitions of all contained fields. 1
FieldableEntityInterface::getFields public function Gets an array of all field item lists. 1
FieldableEntityInterface::getTranslatableFields public function Gets an array of field item lists for translatable fields. 1
FieldableEntityInterface::hasField public function Determines whether the entity has a field with the given name. 1
FieldableEntityInterface::isValidationRequired public function Checks whether entity validation is required before saving the entity. 1
FieldableEntityInterface::onChange public function Reacts to changes to a field. 1
FieldableEntityInterface::set public function Sets a field value. 1
FieldableEntityInterface::setValidationRequired public function Sets whether entity validation is required before saving the entity. 1
FieldableEntityInterface::toArray public function Gets an array of all field values. Overrides EntityInterface::toArray
FieldableEntityInterface::validate public function Validates the currently set values. 1
OgMembershipInterface::addRole public function Adds a role to the user membership. 1
OgMembershipInterface::ALL_STATES constant An array containing all possible group membership states.
OgMembershipInterface::getCreatedTime public function Gets the membership creation timestamp. 1
OgMembershipInterface::getGroup public function Gets the group associated with the membership. 1
OgMembershipInterface::getGroupBundle public function Gets the group entity bundle. 1
OgMembershipInterface::getGroupEntityType public function Gets the group entity type. 1
OgMembershipInterface::getGroupId public function Gets the group entity ID. 1
OgMembershipInterface::getRoles public function Gets all the referenced OG roles. 1
OgMembershipInterface::getRolesIds public function Gets all the referenced OG role IDs. 1
OgMembershipInterface::getState public function Gets the membership state. 1
OgMembershipInterface::getType public function Gets the membership type. 1
OgMembershipInterface::GROUP_MEMBERSHIP_LIST_CACHE_TAG_PREFIX constant The prefix that is used to identify group membership list cache tags.
OgMembershipInterface::hasPermission public function Checks if the user has a permission inside the group. 1
OgMembershipInterface::hasRole public function Checks if the membership has the role with the given ID. 1
OgMembershipInterface::isActive public function Returns TRUE if the OG membership is active. 1
OgMembershipInterface::isBlocked public function Returns TRUE if the OG membership is blocked. 1
OgMembershipInterface::isOwner public function Returns TRUE if the OG membership belongs to the group owner. 1
OgMembershipInterface::isPending public function Returns TRUE if the OG membership is pending. 1
OgMembershipInterface::isRoleValid public function Returns whether the given role is valid for this membership. 1
OgMembershipInterface::REQUEST_FIELD constant The name of the user's request field in the default group membership type.
OgMembershipInterface::revokeRole public function Revokes a role from the OG membership. 1
OgMembershipInterface::revokeRoleById public function Revokes a role from the OG membership. 1
OgMembershipInterface::setCreatedTime public function Sets the membership creation timestamp. 1
OgMembershipInterface::setGroup public function Sets the group associated with the membership. 1
OgMembershipInterface::setRoles public function Sets the group's roles for the current user group membership. 1
OgMembershipInterface::setState public function Sets the membership state. 1
OgMembershipInterface::STATE_ACTIVE constant Define active group content states.
OgMembershipInterface::STATE_BLOCKED constant Define blocked group content states. The user is rejected from the group.
OgMembershipInterface::STATE_PENDING constant Define pending group content states.
OgMembershipInterface::TYPE_DEFAULT constant The default group membership type that is the bundle of group membership.
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
RevisionableInterface::getLoadedRevisionId public function Gets the loaded Revision ID of the entity. 1
RevisionableInterface::getRevisionId public function Gets the revision identifier of the entity. 1
RevisionableInterface::isDefaultRevision public function Checks if this entity is the default revision. 1
RevisionableInterface::isLatestRevision public function Checks if this entity is the latest revision. 1
RevisionableInterface::isNewRevision public function Determines whether a new revision should be created on save. 1
RevisionableInterface::preSaveRevision public function Acts on a revision before it gets saved. 1
RevisionableInterface::setNewRevision public function Enforces an entity to be saved as a new revision. 1
RevisionableInterface::updateLoadedRevisionId public function Updates the loaded Revision ID with the revision ID. 1
RevisionableInterface::wasDefaultRevision public function Checks whether the entity object was a default revision when it was saved. 1
SynchronizableInterface::isSyncing public function Returns whether this entity is being changed as part of a synchronization. 1
SynchronizableInterface::setSyncing public function Sets the status of the synchronization flag. 1
TranslatableInterface::addTranslation public function Adds a new translation to the translatable object. 1
TranslatableInterface::getTranslation public function Gets a translation of the data. 1
TranslatableInterface::getTranslationLanguages public function Returns the languages the data is translated to. 1
TranslatableInterface::getUntranslated public function Returns the translatable object referring to the original language. 1
TranslatableInterface::hasTranslation public function Checks there is a translation for the given language code. 1
TranslatableInterface::hasTranslationChanges public function Determines if the current translation of the entity has unsaved changes. 1
TranslatableInterface::isDefaultTranslation public function Checks whether the translation is the default one. 1
TranslatableInterface::isNewTranslation public function Checks whether the translation is new. 1
TranslatableInterface::isTranslatable public function Returns the translation support status. 1
TranslatableInterface::removeTranslation public function Removes the translation identified by the given language code. 1
TranslatableRevisionableInterface::isDefaultTranslationAffectedOnly public function Checks if untranslatable fields should affect only the default translation. 1
TranslatableRevisionableInterface::isLatestTranslationAffectedRevision public function Checks whether this is the latest revision affecting this translation. 1
TranslatableRevisionableInterface::isRevisionTranslationAffected public function Checks whether the current translation is affected by the current revision. 1
TranslatableRevisionableInterface::isRevisionTranslationAffectedEnforced public function Checks if the revision translation affected flag value has been enforced. 1
TranslatableRevisionableInterface::setRevisionTranslationAffected public function Marks the current revision translation as affected. 1
TranslatableRevisionableInterface::setRevisionTranslationAffectedEnforced public function Enforces the revision translation affected flag value. 1