diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-05-09 13:27:31 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-05-09 13:27:31 +0000 |
commit | 1ecffc35cdbcd6c5bacc56b8b3085b7fb7762457 (patch) | |
tree | e27717b19f0fb276eb2ab91de69b9c02d28ede9f | |
parent | 34036dbaebfe19d43101462458749be9a1c01975 (diff) | |
download | brdo-1ecffc35cdbcd6c5bacc56b8b3085b7fb7762457.tar.gz brdo-1ecffc35cdbcd6c5bacc56b8b3085b7fb7762457.tar.bz2 |
- Patch #566940 by catch: move node specific code out of entity.inc.
-rw-r--r-- | includes/entity.inc | 8 | ||||
-rw-r--r-- | modules/node/node.module | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/includes/entity.inc b/includes/entity.inc index 4b6058b75..59dfc5bff 100644 --- a/includes/entity.inc +++ b/includes/entity.inc @@ -188,14 +188,6 @@ class DrupalDefaultEntityController implements DrupalEntityControllerInterface { // The id field is provided by entity, so remove it. unset($entity_revision_fields[$this->idKey]); - // Change timestamp to revision_timestamp, and revision uid to - // revision_uid before adding them to the query. - // TODO: This is node specific and has to be moved into NodeController. - unset($entity_revision_fields['timestamp']); - $query->addField('revision', 'timestamp', 'revision_timestamp'); - unset($entity_revision_fields['uid']); - $query->addField('revision', 'uid', 'revision_uid'); - // Remove all fields from the base table that are also fields by the same // name in the revision table. $entity_field_keys = array_flip($entity_fields); diff --git a/modules/node/node.module b/modules/node/node.module index d751a511b..dc6532483 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -3651,4 +3651,16 @@ class NodeController extends DrupalDefaultEntityController { $this->hookLoadArguments[] = array_keys($typed_nodes); parent::attachLoad($nodes, $revision_id); } + + protected function buildQuery($ids, $conditions, $revision_id) { + // 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; + } } |