You are here

function campaignmonitor_user_get_user_subscriptions in Campaign Monitor 8

Helper function to get a user's subscriptions.

Parameters

$email:

$format: Return value depends on format requested

Return value

array

3 calls to campaignmonitor_user_get_user_subscriptions()
CampaignMonitorUserController::subscriptionPage in modules/campaignmonitor_user/src/Controller/CampaignMonitorUserController.php
View subscriptions.
campaignmonitor_local_subscription_queue in modules/campaignmonitor_local/campaignmonitor_local.batch.inc
Add missing field values.
SubscriptionsQueue::processItem in modules/campaignmonitor_local/src/Plugin/QueueWorker/SubscriptionsQueue.php
Works on a single queue item.

File

modules/campaignmonitor_user/campaignmonitor_user.module, line 18
Adds a tab to the profile page that enables users to select which newsletters they want to subscribe to.

Code

function campaignmonitor_user_get_user_subscriptions($email, $format = 'checkboxes') {
  $lists = campaignmonitor_get_lists();

  // Build options for the form selector.
  $options = [];
  $default = [];
  foreach ($lists as $list_id => $list) {

    // Check if the list is selected to be shown.
    $list_options = campaignmonitor_get_list_settings($list_id);
    if (campaignmonitor_is_list_enabled($list_id)) {

      // Check if the user is subscribed to the current list.
      $default[$list_id] = 0;
      if (campaignmonitor_is_subscribed($list_id, $email)) {
        $default[$list_id] = $list_id;
        $options[$list_id] = $list['name'];
      }
    }
  }
  switch ($format) {
    case 'checkboxes':
      return $default;
    default:
      return $options;
  }
}