function social_lets_connect_usage_cron in Open Social 8.5
Same name and namespace in other branches
- 8.9 modules/custom/social_lets_connect/modules/social_lets_connect_usage/social_lets_connect_usage.module \social_lets_connect_usage_cron()
- 8.6 modules/custom/social_lets_connect/modules/social_lets_connect_usage/social_lets_connect_usage.module \social_lets_connect_usage_cron()
- 8.7 modules/custom/social_lets_connect/modules/social_lets_connect_usage/social_lets_connect_usage.module \social_lets_connect_usage_cron()
- 8.8 modules/custom/social_lets_connect/modules/social_lets_connect_usage/social_lets_connect_usage.module \social_lets_connect_usage_cron()
- 10.3.x modules/custom/social_lets_connect/modules/social_lets_connect_usage/social_lets_connect_usage.module \social_lets_connect_usage_cron()
- 10.0.x modules/custom/social_lets_connect/modules/social_lets_connect_usage/social_lets_connect_usage.module \social_lets_connect_usage_cron()
- 10.1.x modules/custom/social_lets_connect/modules/social_lets_connect_usage/social_lets_connect_usage.module \social_lets_connect_usage_cron()
- 10.2.x modules/custom/social_lets_connect/modules/social_lets_connect_usage/social_lets_connect_usage.module \social_lets_connect_usage_cron()
Cron for sharing usage data.
File
- modules/
custom/ social_lets_connect/ modules/ social_lets_connect_usage/ social_lets_connect_usage.module, line 13 - Module file for social_lets_connect_usage.
Code
function social_lets_connect_usage_cron() {
$current_time = time();
$last_send = \Drupal::state()
->get('social_lets_connect_usage.last_send', 0);
$times_send = \Drupal::state()
->get('social_lets_connect_usage.times_send', 0);
$settings = \Drupal::config('social_lets_connect_usage.settings');
if ($settings
->get('usage_data_enabled')) {
$refresh_interval = $settings
->get('refresh_interval');
if ($current_time - $last_send >= $refresh_interval) {
/** @var \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPluginManager $plugin_manager */
$plugin_manager = \Drupal::service('plugin.manager.share_usage_data_plugin');
$plugin_definitions = $plugin_manager
->getDefinitions();
$usage_data = [];
foreach ($plugin_definitions as $plugin_id => $plugin_definition) {
$instance = $plugin_manager
->createInstance($plugin_id);
$usage_data[$plugin_id] = FALSE;
if ($instance
->enabled()) {
$usage_data[$plugin_id] = $instance
->getValue();
}
}
global $base_url;
$private_key = \Drupal::service('private_key');
$site_key = Crypt::hmacBase64($base_url, $private_key
->get());
$send_data = [];
$send_data['site_key'] = $site_key;
$send_data['send_info'] = [
'last_send' => $last_send,
'times_send' => $times_send,
'current_time' => $current_time,
];
$send_data['usage_data'] = $usage_data;
$queue = \Drupal::queue('send_usage_data');
$queue
->createItem($send_data);
// Update last run.
\Drupal::state()
->set('social_lets_connect_usage.last_send', $current_time);
$times_send++;
\Drupal::state()
->set('social_lets_connect_usage.times_send', $times_send);
}
}
}