You are here

function userpoints_service_add in User Points 7.2

Same name and namespace in other branches
  1. 7 userpoints_service.inc \userpoints_service_add()

Add points to a user.

1 string reference to 'userpoints_service_add'
userpoints_service_services_resources in userpoints_service/userpoints_service.module
Implementation of hook_services_resources().

File

userpoints_service/userpoints_service.inc, line 73
Callbacks and access callbacks for userpoints services integration.

Code

function userpoints_service_add($uid, $points, $tid, $operation, $description, $entity_type, $entity_id) {
  if (!$uid) {
    return services_error(t('User ID parameter is required.'));
  }
  if (!$points) {
    return services_error(t('Points parameter must be a negative or positive number.'));
  }
  if (!$operation) {
    return services_error(t('Operation parameter is required'));
  }
  $transaction = userpoints_grant_points($operation, $points, $uid)
    ->setDescription($description)
    ->setEntity($entity_type, $entity_id);
  if ($tid !== NULL) {
    $transaction
      ->setTid($tid);
  }
  $transaction
    ->save();
  if (!$transaction
    ->getTxnId()) {
    return services_error(t('Adding points failed.'));
  }
  return (object) array(
    'id' => $transaction
      ->getTxnId(),
    'uri' => services_resource_uri(array(
      'userpoints_transaction',
      $transaction
        ->getTxnId(),
    )),
  );
}