diff --git a/core/modules/comment/comment.install b/core/modules/comment/comment.install index f47151f..48bb5a4 100644 --- a/core/modules/comment/comment.install +++ b/core/modules/comment/comment.install @@ -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'); } /** @@ -382,6 +385,15 @@ function comment_update_8003(&$sandbox) { } /** + * 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. */ diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module index 7b6eda4..076502c 100644 --- a/core/modules/comment/comment.module +++ b/core/modules/comment/comment.module @@ -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), ), ); } diff --git a/core/modules/system/lib/Drupal/system/Tests/Upgrade/StateSystemUpgradePathTest.php b/core/modules/system/lib/Drupal/system/Tests/Upgrade/StateSystemUpgradePathTest.php index 9c99f00..ec7a945 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Upgrade/StateSystemUpgradePathTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Upgrade/StateSystemUpgradePathTest.php @@ -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']); diff --git a/core/modules/system/tests/upgrade/drupal-7.state.system.database.php b/core/modules/system/tests/upgrade/drupal-7.state.system.database.php index 96e18b7..062ee91 100644 --- a/core/modules/system/tests/upgrade/drupal-7.state.system.database.php +++ b/core/modules/system/tests/upgrade/drupal-7.state.system.database.php @@ -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();