summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-05-09 13:27:31 +0000
committerDries Buytaert <dries@buytaert.net>2010-05-09 13:27:31 +0000
commit1ecffc35cdbcd6c5bacc56b8b3085b7fb7762457 (patch)
treee27717b19f0fb276eb2ab91de69b9c02d28ede9f
parent34036dbaebfe19d43101462458749be9a1c01975 (diff)
downloadbrdo-1ecffc35cdbcd6c5bacc56b8b3085b7fb7762457.tar.gz
brdo-1ecffc35cdbcd6c5bacc56b8b3085b7fb7762457.tar.bz2
- Patch #566940 by catch: move node specific code out of entity.inc.
-rw-r--r--includes/entity.inc8
-rw-r--r--modules/node/node.module12
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;
+ }
}