You are here

function services_token_access_update_token in Services Token Access 7

Update the token string for a given user (or remove it).

Parameters

int $uid: User ID

bool $clear: If set to TRUE, the token will be removed instead of updated.

2 calls to services_token_access_update_token()
_services_token_access_remove_submit in ./services_token_access.inc
Submit callback for removing the token.
_services_token_access_renew_submit in ./services_token_access.inc
Submit callback for renewing the token.

File

./services_token_access.module, line 154
Module file for services_token_access module.

Code

function services_token_access_update_token($uid, $clear = FALSE) {

  // Delete the row.
  if ($clear) {
    db_delete('services_token_access_tokens')
      ->condition('uid', $uid)
      ->execute();
    module_invoke_all('services_token_access_delete', $uid);
  }
  else {

    // Generate a token until we are sure that it is unique.
    do {
      $token = services_token_access_generate_value($uid);
    } while (services_token_access_load_by_token($token));
    $query = db_merge('services_token_access_tokens')
      ->key(array(
      'uid' => $uid,
    ))
      ->fields(array(
      'uid' => $uid,
      'token' => $token,
      'updated' => time(),
    ))
      ->execute();
    module_invoke_all('services_token_access_update', $uid, $token);
  }
}