diff options
-rw-r--r-- | modules/comment/comment.install | 19 | ||||
-rw-r--r-- | modules/comment/comment.module | 2 |
2 files changed, 18 insertions, 3 deletions
diff --git a/modules/comment/comment.install b/modules/comment/comment.install index f8fe9692d..819b46547 100644 --- a/modules/comment/comment.install +++ b/modules/comment/comment.install @@ -6,6 +6,21 @@ */ function comment_enable() { // Insert records into the node_comment_statistics for nodes that are missing. - db_query_temporary("SELECT n.nid, n.created, n.uid FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE c.comment_count IS NULL", 'missing_nids'); - db_query("INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) SELECT n.nid, n.created, NULL, n.uid, 0 FROM missing_nids n"); + db_query_temporary("SELECT n.nid, n.changed, n.uid FROM {node} n LEFT JOIN {node_comment_statistics} c ON n.nid = c.nid WHERE c.comment_count IS NULL", 'missing_nids'); + db_query("INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) SELECT n.nid, n.changed, NULL, n.uid, 0 FROM missing_nids n"); +} + +/** + * Changed node_comment_statistics to use node->changed to avoid future + * timestamps. + */ +function comment_update_1() { + // Change any future last comment timestamps to now. + db_query('UPDATE {node_comment_statistics} SET last_comment_timestamp = %d WHERE last_comment_timestamp > %d', time(), time()); + + // Unstuck node indexing timestamp if needed. + if (($last = variable_get('node_cron_last', FALSE)) !== FALSE) { + variable_set('node_cron_last', min(time(), $last)); + } + return array(); } diff --git a/modules/comment/comment.module b/modules/comment/comment.module index 791372ae3..5e1e3e4b4 100644 --- a/modules/comment/comment.module +++ b/modules/comment/comment.module @@ -460,7 +460,7 @@ function comment_nodeapi(&$node, $op, $arg = 0) { break; case 'insert': - db_query('INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) VALUES (%d, %d, NULL, %d, 0)', $node->nid, $node->created, $node->uid); + db_query('INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) VALUES (%d, %d, NULL, %d, 0)', $node->nid, $node->changed, $node->uid); break; case 'delete': |