You are here

class HeartbeatActivityController in Heartbeat 7

Controller class for heartbeat activity.

This extends the DrupalDefaultEntityController class, adding required special handling for heartbeat activity objects.

Hierarchy

Expanded class hierarchy of HeartbeatActivityController

1 string reference to 'HeartbeatActivityController'
heartbeat_entity_info in ./heartbeat.entity.inc
Implement hook_entity_info().

File

./heartbeat.entity.inc, line 138

View source
class HeartbeatActivityController extends DrupalDefaultEntityController {

  /**
   * Implements buildQuery().
   */
  protected function buildQuery($ids, $conditions = array(), $revision_id = FALSE) {
    $query = parent::buildQuery($ids, $conditions, $revision_id);
    $query
      ->addTag('translatable');
    $query
      ->addTag('heartbeat_activity_access');
    $query
      ->addField('base', 'variables', 'variables');
    $query
      ->addField('base', 'access', 'access');
    $query
      ->join('users', 'u', 'u.uid = base.uid');

    // Base table fields are automatically create in the parent.

    //$query->fields('base');
    $query
      ->fields('u');

    // Override the permission based on the user profile status.
    $query
      ->leftJoin('heartbeat_user_templates', 'hut', ' base.uid = hut.uid AND base.message_id = hut.message_id ');
    $query
      ->addField('hut', 'status', 'access_status');
    $query
      ->addField('base', 'access', 'access');
    $query
      ->addField('u', 'access', 'users_access');

    // This part is done by base.uaid in ($ids).

    //$query->condition('ha.uaid', $uaid);
    return $query;
  }

  /**
   * Implements cacheGet().
   *
   * TODO think of conditions to use. Currently none.
   */
  protected function cacheGet($ids, $conditions = array()) {
    $activities = parent::cacheGet($ids, $conditions);
    return $activities;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DrupalDefaultEntityController::$cache protected property Whether this entity type should use the static cache.
DrupalDefaultEntityController::$entityCache protected property Static cache of entities, keyed by entity ID.
DrupalDefaultEntityController::$entityInfo protected property Array of information about the entity.
DrupalDefaultEntityController::$entityType protected property Entity type for this controller instance.
DrupalDefaultEntityController::$hookLoadArguments protected property Additional arguments to pass to hook_TYPE_load().
DrupalDefaultEntityController::$idKey protected property Name of the entity's ID field in the entity database table.
DrupalDefaultEntityController::$revisionKey protected property Name of entity's revision database table field, if it supports revisions.
DrupalDefaultEntityController::$revisionTable protected property The table that stores revisions, if the entity supports revisions.
DrupalDefaultEntityController::attachLoad protected function Attaches data to entities upon loading. 4
DrupalDefaultEntityController::cacheSet protected function Stores entities in the static entity cache.
DrupalDefaultEntityController::cleanIds protected function Ensures integer entity IDs are valid.
DrupalDefaultEntityController::filterId protected function Callback for array_filter that removes non-integer IDs.
DrupalDefaultEntityController::load public function Implements DrupalEntityControllerInterface::load(). Overrides DrupalEntityControllerInterface::load
DrupalDefaultEntityController::resetCache public function Implements DrupalEntityControllerInterface::resetCache(). Overrides DrupalEntityControllerInterface::resetCache
DrupalDefaultEntityController::__construct public function Constructor: sets basic variables.
HeartbeatActivityController::buildQuery protected function Implements buildQuery(). Overrides DrupalDefaultEntityController::buildQuery
HeartbeatActivityController::cacheGet protected function Implements cacheGet(). Overrides DrupalDefaultEntityController::cacheGet