You are here

function uc_recurring_subscription_action_revoke_og in UC Recurring Payments and Subscriptions 7.2

Same name and namespace in other branches
  1. 6.2 modules/uc_recurring_subscription/uc_recurring_subscription.ca.inc \uc_recurring_subscription_action_revoke_og()

Revoke user organic groups.

1 string reference to 'uc_recurring_subscription_action_revoke_og'
uc_recurring_subscription_ca_action in modules/uc_recurring_subscription/uc_recurring_subscription.ca.inc
Implementation of hook_ca_action().

File

modules/uc_recurring_subscription/uc_recurring_subscription.ca.inc, line 457

Code

function uc_recurring_subscription_action_revoke_og($order, $settings) {

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