function salesforce_api_update_6204 in Salesforce Suite 7.2
Same name and namespace in other branches
- 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.');
}
}