You are here

function entity_share_cron_update_8301 in Entity Share Cron 3.0.x

Clear the queue and the last cron run and update config.

File

./entity_share_cron.install, line 68

Code

function entity_share_cron_update_8301() {
  \Drupal::state()
    ->delete(CronHookHandler::STATE_ID);
  $queue = \Drupal::queue(EntityShareCronServiceInterface::PENDING_QUEUE_NAME);
  $queue
    ->deleteQueue();
  $config = \Drupal::configFactory()
    ->getEditable('entity_share_cron.settings');
  $config
    ->set('page_limit', 5);
  $remotes = $config
    ->get('remotes');
  foreach ($remotes as $remote_id => $remote_config) {
    $channels = isset($remote_config['channels']) ? $remote_config['channels'] : [];
    foreach (array_keys($channels) as $channel_id) {

      // Use the default import config.
      $remotes[$remote_id]['channels'][$channel_id]['import_config'] = 'default';

      // Remove url and url_uuid keys.
      unset($remotes[$remote_id]['channels'][$channel_id]['url']);
      unset($remotes[$remote_id]['channels'][$channel_id]['url_uuid']);
    }
  }
  $config
    ->set('remotes', $remotes)
    ->save();
}