- Patch #187799 by greggles et al: fixed problem with revisions being associated with the wrong user.
parent
17d1527e3d
commit
8d01757e5d
|
@ -806,16 +806,16 @@ function node_save(&$node) {
|
||||||
//the node_revisions table query
|
//the node_revisions table query
|
||||||
if ($node->is_new) {
|
if ($node->is_new) {
|
||||||
drupal_write_record('node', $node);
|
drupal_write_record('node', $node);
|
||||||
drupal_write_record('node_revisions', $node);
|
_node_save_revision($node, $user->uid);
|
||||||
$op = 'insert';
|
$op = 'insert';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
drupal_write_record('node', $node, 'nid');
|
drupal_write_record('node', $node, 'nid');
|
||||||
if (!empty($node->revision)) {
|
if (!empty($node->revision)) {
|
||||||
drupal_write_record('node_revisions', $node);
|
_node_save_revision($node, $user->uid);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
drupal_write_record('node_revisions', $node, 'vid');
|
_node_save_revision($node, $user->uid, 'vid');
|
||||||
$update_node = FALSE;
|
$update_node = FALSE;
|
||||||
}
|
}
|
||||||
$op = 'update';
|
$op = 'update';
|
||||||
|
@ -835,6 +835,22 @@ function node_save(&$node) {
|
||||||
cache_clear_all();
|
cache_clear_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper function to save a revision with current user responsible for revision.
|
||||||
|
*/
|
||||||
|
function _node_save_revision($node, $uid, $update = NULL) {
|
||||||
|
$temp_uid = $node->uid;
|
||||||
|
$node->uid = $uid;
|
||||||
|
if (isset($update)) {
|
||||||
|
drupal_write_record('node_revisions', $node, $update);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
drupal_write_record('node_revisions', $node);
|
||||||
|
}
|
||||||
|
$node->uid = $temp_uid;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a node.
|
* Delete a node.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue