You are here

function salesforce_pull_update_8001 in Salesforce Suite 8.4

Same name and namespace in other branches
  1. 8.3 modules/salesforce_pull/salesforce_pull.install \salesforce_pull_update_8001()
  2. 5.0.x modules/salesforce_pull/salesforce_pull.install \salesforce_pull_update_8001()

Convert salesforce_pull_last* timestamps key-values into arrays.

File

modules/salesforce_pull/salesforce_pull.install, line 44
Install/uninstall tasks for the Salesforce Pull module.

Code

function salesforce_pull_update_8001() {
  $kv = \Drupal::service('database')
    ->query("SELECT name, value FROM key_value WHERE name like 'salesforce_pull_last%'")
    ->fetchAllKeyed();
  $sync = [];
  $delete = [];
  foreach ($kv as $key => $value) {
    $value = unserialize($value);
    if (strpos($key, 'delete')) {
      $salesforce_type = str_replace('salesforce_pull_last_delete_', '', $key);
      $delete[$salesforce_type] = $value;
    }
    elseif (strpos($key, 'sync')) {
      $salesforce_type = str_replace('salesforce_pull_last_sync_', '', $key);
      $sync[$salesforce_type] = $value;
    }
  }
  \Drupal::state()
    ->set('salesforce_pull_last_delete', $delete);
  \Drupal::state()
    ->set('salesforce_pull_last_sync', $sync);
  \Drupal::state()
    ->deleteMultiple(array_keys($kv));
}