You are here

class OgGroup in Organic groups 7

Main class for Group entities provided by Entity API.

Hierarchy

Expanded class hierarchy of OgGroup

1 string reference to 'OgGroup'
og_entity_info in ./og.module
Implements hook_entity_info().

File

./og.module, line 1275
Enable users to create and manage groups with roles and permissions.

View source
class OgGroup extends Entity {
  public function __construct(array $values = array(), $entityType = NULL) {
    parent::__construct($values, 'group');
  }
  public function save() {
    parent::save();
    og_invalidate_cache();
  }
  public function delete() {
    $gid = $this->gid;

    // Delete group memberships.
    og_membership_delete_by_gid($this->gid);
    parent::delete();
    og_invalidate_cache(array(
      $gid,
    ));

    // Delete roles and permissions.
    og_delete_user_roles_by_group($gid, NULL, TRUE);
  }

  /**
   * Return TRUE if user has access to 'view', 'update' or 'delete' the entity
   * that is the group. Otherwise return FALSE.
   *
   * This function currently only checks access if the entity type is a node.
   *
   * @param $op
   *   The operation to be performed on the node. Possible values are:
   *   - "view"
   *   - "update"
   *   - "delete"
   * @param $account
   *   Optional, a user object representing the user for whom the operation is
   *   to be performed. Determines access for a user other than the current user.
   *
   * @return
   *   TRUE if the operation may be performed, FALSE otherwise.
   */
  public function access($op = 'view', $account = NULL) {
    $access = entity_access($op, $this->entity_type, $this
      ->getEntity(), $account);
    if (!isset($access)) {

      // If no access information is available, default to grant access.
      return TRUE;
    }
    return $access;
  }

  /**
   * Return the entity the group is related to.
   */
  public function getEntity() {
    $entity = entity_load($this->entity_type, array(
      $this->etid,
    ));
    $entity = reset($entity);
    return $entity;
  }

  /**
   * Returns the group manager if exists or FALSE if entity has no User ID
   * assigned with it.
   */
  public function user() {
    $entity = $this
      ->getEntity();
    if (isset($entity->uid)) {
      return user_load($entity->uid);
    }
    return FALSE;
  }

  /**
   * Return the URI of the entity the group is related to.
   */
  public function uri() {
    if ($entity = $this
      ->getEntity()) {
      return entity_uri($this->entity_type, $this
        ->getEntity());
    }
    return array();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Entity::$defaultLabel protected property 1
Entity::$entityInfo protected property
Entity::$entityType protected property
Entity::$idKey protected property
Entity::$wrapper protected property
Entity::buildContent public function Builds a structured array representing the entity's content. Overrides EntityInterface::buildContent 1
Entity::bundle public function Returns the bundle of the entity. Overrides EntityInterface::bundle
Entity::defaultLabel protected function Defines the entity label if the 'entity_class_label' callback is used. 1
Entity::defaultUri protected function Override this in order to implement a custom default URI and specify 'entity_class_uri' as 'uri callback' hook_entity_info().
Entity::entityInfo public function Returns the info of the type of the entity. Overrides EntityInterface::entityInfo
Entity::entityType public function Returns the type of the entity. Overrides EntityInterface::entityType
Entity::export public function Exports the entity. Overrides EntityInterface::export
Entity::getTranslation public function Gets the raw, translated value of a property or field. Overrides EntityInterface::getTranslation
Entity::hasStatus public function Checks if the entity has a certain exportable status. Overrides EntityInterface::hasStatus
Entity::identifier public function Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface::identifier
Entity::internalIdentifier public function Returns the internal, numeric identifier. Overrides EntityInterface::internalIdentifier
Entity::isDefaultRevision public function Checks whether the entity is the default revision. Overrides EntityInterface::isDefaultRevision
Entity::label public function Returns the label of the entity. Overrides EntityInterface::label
Entity::setUp protected function Set up the object instance on construction or unserializiation.
Entity::view public function Generate an array for rendering the entity. Overrides EntityInterface::view
Entity::wrapper public function Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface::wrapper
Entity::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.
OgGroup::access public function Return TRUE if user has access to 'view', 'update' or 'delete' the entity that is the group. Otherwise return FALSE.
OgGroup::delete public function Permanently deletes the entity. Overrides Entity::delete
OgGroup::getEntity public function Return the entity the group is related to.
OgGroup::save public function Permanently saves the entity. Overrides Entity::save
OgGroup::uri public function Return the URI of the entity the group is related to. Overrides Entity::uri
OgGroup::user public function Returns the group manager if exists or FALSE if entity has no User ID assigned with it.
OgGroup::__construct public function Overrides Entity::__construct