You are here

function invite_get_remaining_invites in Invite 7.2

Same name and namespace in other branches
  1. 5.2 invite.module \invite_get_remaining_invites()
  2. 6.2 invite.module \invite_get_remaining_invites()

Calculate the remaining invites of a user.

Parameters

$account: A user object.

Return value

The number of remaining invites.

2 calls to invite_get_remaining_invites()
invite_admin_overview in ./invite.admin.inc
Return a list of all users that have invited someone.
invite_form in ./invite.module
Generate the invite forms.

File

./invite.module, line 941
Allows your users to send and track invitations to join your site.

Code

function invite_get_remaining_invites($account) {
  $remaining = invite_get_role_limit($account);
  $limits = module_invoke_all('invite_limit', $account, $remaining);
  if (!empty($limits)) {
    $remaining = array_pop($limits);
  }
  if ($remaining > 0) {
    $query = db_select('invite')
      ->condition('uid', $account->uid)
      ->condition('canceled', 0);
    $query
      ->addExpression('COUNT(*)');
    $sent = $query
      ->execute()
      ->fetchField();
    if ($sent) {
      $remaining = max($remaining - $sent, 0);
    }
  }
  return $remaining;
}