class NodeController in Drupal 7
Controller class for nodes.
This extends the DrupalDefaultEntityController class, adding required special handling for node objects.
Hierarchy
- class \DrupalDefaultEntityController implements DrupalEntityControllerInterface
- class \NodeController
Expanded class hierarchy of NodeController
2 string references to 'NodeController'
- hook_entity_info in modules/
system/ system.api.php - Inform the base system and the Field API about one or more entity types.
- node_entity_info in modules/
node/ node.module - Implements hook_entity_info().
File
- modules/
node/ node.module, line 4157 - The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.
View source
class NodeController extends DrupalDefaultEntityController {
protected function attachLoad(&$nodes, $revision_id = FALSE) {
// Create an array of nodes for each content type and pass this to the
// object type specific callback.
$typed_nodes = array();
foreach ($nodes as $id => $entity) {
$typed_nodes[$entity->type][$id] = $entity;
}
// Call object type specific callbacks on each typed array of nodes.
foreach ($typed_nodes as $node_type => $nodes_of_type) {
if (node_hook($node_type, 'load')) {
$function = node_type_get_base($node_type) . '_load';
$function($nodes_of_type);
}
}
// Besides the list of nodes, pass one additional argument to
// hook_node_load(), containing a list of node types that were loaded.
$argument = array_keys($typed_nodes);
$this->hookLoadArguments = array(
$argument,
);
parent::attachLoad($nodes, $revision_id);
}
protected function buildQuery($ids, $conditions = array(), $revision_id = FALSE) {
// Ensure that uid is taken from the {node} table,
// alias timestamp to revision_timestamp and add revision_uid.
$query = parent::buildQuery($ids, $conditions, $revision_id);
$fields =& $query
->getFields();
unset($fields['timestamp']);
$query
->addField('revision', 'timestamp', 'revision_timestamp');
$fields['uid']['table'] = 'base';
$query
->addField('revision', 'uid', 'revision_uid');
return $query;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalDefaultEntityController:: |
protected | property | Whether this entity type should use the static cache. | |
DrupalDefaultEntityController:: |
protected | property | Static cache of entities, keyed by entity ID. | |
DrupalDefaultEntityController:: |
protected | property | Array of information about the entity. | |
DrupalDefaultEntityController:: |
protected | property | Entity type for this controller instance. | |
DrupalDefaultEntityController:: |
protected | property | Additional arguments to pass to hook_TYPE_load(). | |
DrupalDefaultEntityController:: |
protected | property | Name of the entity's ID field in the entity database table. | |
DrupalDefaultEntityController:: |
protected | property | Name of entity's revision database table field, if it supports revisions. | |
DrupalDefaultEntityController:: |
protected | property | The table that stores revisions, if the entity supports revisions. | |
DrupalDefaultEntityController:: |
protected | function | Gets entities from the static cache. | 1 |
DrupalDefaultEntityController:: |
protected | function | Stores entities in the static entity cache. | |
DrupalDefaultEntityController:: |
protected | function | Ensures integer entity IDs are valid. | |
DrupalDefaultEntityController:: |
protected | function | Callback for array_filter that removes non-integer IDs. | |
DrupalDefaultEntityController:: |
public | function |
Implements DrupalEntityControllerInterface::load(). Overrides DrupalEntityControllerInterface:: |
|
DrupalDefaultEntityController:: |
public | function |
Implements DrupalEntityControllerInterface::resetCache(). Overrides DrupalEntityControllerInterface:: |
|
DrupalDefaultEntityController:: |
public | function | Constructor: sets basic variables. | |
NodeController:: |
protected | function |
Attaches data to entities upon loading. Overrides DrupalDefaultEntityController:: |
|
NodeController:: |
protected | function |
Builds the query to load the entity. Overrides DrupalDefaultEntityController:: |