You are here

function salesforce_api_update_6204 in Salesforce Suite 6.2

Same name and namespace in other branches
  1. 7.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 327
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();
    $result = db_query('SELECT uid FROM {users} WHERE ' . $where);
    while ($uid = db_result($result)) {
      $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 array(
      array(
        'success' => TRUE,
        'query' => t('Fixed !n user accounts.', array(
          '!n' => $sandbox['n_users'],
        )),
      ),
    );
  }
  else {
    return array(
      '#finished' => $finished,
    );
  }
}