You are here

function salesforce_api_update_6204 in Salesforce Suite 7.2

Same name and namespace in other branches
  1. 6.2 salesforce_api/salesforce_api.install \salesforce_api_update_6204()

Remove erroneous sf_user_skip_export elements from database.

File

salesforce_api/salesforce_api.install, line 373
Installs any global tables needed for Salesforce integration.

Code

function salesforce_api_update_6204(&$sandbox) {
  $ret = array();
  if (empty($sandbox['uids'])) {
    $where = " data like '%%sf_user_skip_export%%'";
    $sandbox['n_users'] = 0;
    $sandbox['uids'] = array();

    // TODO Please convert this statement to the D7 database API syntax.
    $result = db_query('SELECT uid FROM {users} WHERE ' . $where);
    while ($uid = $result
      ->fetchField()) {
      $sandbox['uids'][] = $uid;
      $sandbox['n_users']++;
    }
    if (empty($sandbox['n_users'])) {
      return array(
        array(
          'success' => TRUE,
          'query' => t('No updates to process.'),
        ),
      );
    }
    $sandbox['position'] = 0;
  }
  $uid = $sandbox['uids'][$sandbox['position']];
  $account = user_load($uid);
  $account->sf_user_skip_export = TRUE;
  user_save($account, array(
    'sf_user_skip_export' => NULL,
  ));
  $sandbox['position']++;
  $finished = $sandbox['position'] / $sandbox['n_users'];
  if ($finished >= 1) {
    return t('Fixed !n user accounts.', array(
      '!n' => $sandbox['n_users'],
    ));
  }
  else {
    return t('No user accounts needed to be updated.');
  }
}