Commit 621602df authored by webchick's avatar webchick

Issue #1831486 by miro_dietiker, Berdir: Convert comment variables to config/state.

parent af608d70
......@@ -27,6 +27,9 @@ function comment_uninstall() {
variable_del('comment_preview_' . $node_type);
variable_del('comment_subject_field_' . $node_type);
}
// Remove states.
state()->delete('comment.node_comment_statistics_scale');
}
/**
......@@ -381,6 +384,15 @@ function comment_update_8003(&$sandbox) {
$sandbox['#finished'] = empty($sandbox['max']) ? 1 : ($sandbox['progress'] / $sandbox['max']);
}
/**
* Convert variables to state.
*/
function comment_update_8004() {
update_variables_to_state(array(
'node_cron_comments_scale' => 'comment.node_comment_statistics_scale',
));
}
/**
* @} End of "addtogroup updates-7.x-to-8.x".
* The next series of updates should start at 9000.
......
......@@ -1318,7 +1318,7 @@ function comment_node_update_index(Node $node, $langcode) {
*/
function comment_update_index() {
// Store the maximum possible comments per thread (used for ranking by reply count)
variable_set('node_cron_comments_scale', 1.0 / max(1, db_query('SELECT MAX(comment_count) FROM {node_comment_statistics}')->fetchField()));
state()->set('comment.node_comment_statistics_scale', 1.0 / max(1, db_query('SELECT MAX(comment_count) FROM {node_comment_statistics}')->fetchField()));
}
/**
......@@ -2004,7 +2004,7 @@ function comment_ranking() {
),
// Inverse law that maps the highest reply count on the site to 1 and 0 to 0.
'score' => '2.0 - 2.0 / (1.0 + node_comment_statistics.comment_count * CAST(:scale AS DECIMAL))',
'arguments' => array(':scale' => variable_get('node_cron_comments_scale', 0)),
'arguments' => array(':scale' => state()->get('comment.node_comment_statistics_scale') ?: 0),
),
);
}
......
......@@ -67,6 +67,10 @@ public function testSystemVariableUpgrade() {
'value' => 1304208000,
'variable_name' => 'update_last_email_notification',
);
$expected_state['comment.node_comment_statistics_scale'] = array(
'value' => 1.0 / 1000,
'variable_name' => 'node_cron_comments_scale',
);
foreach ($expected_state as $name => $data) {
$this->assertIdentical(state()->get($name), $data['value']);
......
......@@ -43,3 +43,7 @@
->key(array('name' => 'cron_key'))
->fields(array('value' => serialize('kdm95qppDDlyZrcUOx453YwQqDA4DNmxi4VQcxzFU9M')))
->execute();
db_merge('variable')
->key(array('name' => 'node_cron_comments_scale'))
->fields(array('value' => serialize(1.0 / 1000)))
->execute();
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment