Skip navigation
Help

CommentController

  1. drupal
    1. 7 drupal/modules/comment/comment.module

Controller class for comments.

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

Hierarchy

Functions & methods

NameDescription
CommentController::attachLoadAttaches data to entities upon loading. This will attach fields, if the entity is fieldable. It calls hook_entity_load() for modules which need to add data to all entities. It also calls hook_TYPE_load() on the loaded entities. For… Overrides DrupalDefaultEntityController::attachLoad
CommentController::buildQueryBuilds the query to load the entity. Overrides DrupalDefaultEntityController::buildQuery
DrupalDefaultEntityController::cacheGetGets entities from the static cache.
DrupalDefaultEntityController::cacheSetStores entities in the static entity cache.
DrupalDefaultEntityController::loadImplements DrupalEntityControllerInterface::load(). Overrides DrupalEntityControllerInterface::load
DrupalDefaultEntityController::resetCacheImplements DrupalEntityControllerInterface::resetCache(). Overrides DrupalEntityControllerInterface::resetCache
DrupalDefaultEntityController::__constructConstructor: sets basic variables. Overrides DrupalEntityControllerInterface::__construct

Properties

NameDescription
DrupalDefaultEntityController::$cacheWhether this entity type should use the static cache.
DrupalDefaultEntityController::$entityCacheStatic cache of entities.
DrupalDefaultEntityController::$entityInfoArray of information about the entity.
DrupalDefaultEntityController::$entityTypeEntity type for this controller instance.
DrupalDefaultEntityController::$hookLoadArgumentsAdditional arguments to pass to hook_TYPE_load().
DrupalDefaultEntityController::$idKeyName of the entity's ID field in the entity database table.
DrupalDefaultEntityController::$revisionKeyName of entity's revision database table field, if it supports revisions.
DrupalDefaultEntityController::$revisionTableThe table that stores revisions, if the entity supports revisions.

File

drupal/modules/comment/comment.module, line 1668
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);
  }
}