class CommentController

Same name in other branches
  1. 9 core/modules/comment/src/Controller/CommentController.php \Drupal\comment\Controller\CommentController
  2. 8.9.x core/modules/comment/src/Controller/CommentController.php \Drupal\comment\Controller\CommentController
  3. 10 core/modules/comment/src/Controller/CommentController.php \Drupal\comment\Controller\CommentController
  4. 11.x core/modules/comment/src/Controller/CommentController.php \Drupal\comment\Controller\CommentController

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 1709

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

Title Sort descending Modifiers Object type Summary Overriden Title 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.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.