You are here

class CommentController in Drupal 7

Controller class for comments.

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

Hierarchy

Expanded class hierarchy of CommentController

1 string reference to 'CommentController'
comment_entity_info in modules/comment/comment.module
Implements hook_entity_info().

File

modules/comment/comment.module, line 1698
Enables users to comment on published content.

View source
class CommentController extends DrupalDefaultEntityController {
  protected function buildQuery($ids, $conditions = array(), $revision_id = FALSE) {
    $query = parent::buildQuery($ids, $conditions, $revision_id);

    // Specify additional fields from the user and node tables.
    $query
      ->innerJoin('node', 'n', 'base.nid = n.nid');
    $query
      ->addField('n', 'type', 'node_type');
    $query
      ->innerJoin('users', 'u', 'base.uid = u.uid');
    $query
      ->addField('u', 'name', 'registered_name');
    $query
      ->fields('u', array(
      'uid',
      'signature',
      'signature_format',
      'picture',
    ));
    return $query;
  }
  protected function attachLoad(&$comments, $revision_id = FALSE) {

    // Setup standard comment properties.
    foreach ($comments as $key => $comment) {
      $comment->name = $comment->uid ? $comment->registered_name : $comment->name;
      $comment->new = node_mark($comment->nid, $comment->changed);
      $comment->node_type = 'comment_node_' . $comment->node_type;
      $comments[$key] = $comment;
    }
    parent::attachLoad($comments, $revision_id);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CommentController::attachLoad protected function Attaches data to entities upon loading. Overrides DrupalDefaultEntityController::attachLoad
CommentController::buildQuery protected function Builds the query to load the entity. Overrides DrupalDefaultEntityController::buildQuery
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::cacheGet protected function Gets entities from the static cache. 1
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.