You are here

function uc_recurring_subscription_grant_og in UC Recurring Payments and Subscriptions 7.2

Grant user organic groups.

2 string references to 'uc_recurring_subscription_grant_og'
uc_recurring_subscription_ca_predicate in modules/uc_recurring_subscription/uc_recurring_subscription.ca.inc
Implementation of hook_ca_predicate().
uc_recurring_subscription_default_rules_configuration in modules/uc_recurring_subscription/uc_recurring_subscription.rules_defaults.inc
Implements hook_default_rules_configuration().

File

modules/uc_recurring_subscription/uc_recurring_subscription.rules.inc, line 211
Rules definitions.

Code

function uc_recurring_subscription_grant_og($order, $group_option, $group) {
  if (!$order->uid || !($account = user_load($order->uid))) {
    return;
  }
  if ($group_option == 'custom' && is_array($group) && !empty($group)) {
    og_subscribe_user_action($account, $group);
  }
  else {
    foreach ($order->products as $pid => $product) {
      $subscription = uc_recurring_subscription_load($product->nid);
      $context['groups'] = $subscription->access[$group_option];
      if (is_array($context['groups']) && !empty($context['groups'])) {
        og_subscribe_user_action($account, $context);
        $comment = t('User access granted to group(s): %group.', array(
          '%group' => implode(',', $context['groups']),
        ));
        uc_order_comment_save($order->order_id, $account->uid, $comment);
      }
    }
  }
}