You are here

function notifications_object_options_fieldset in Notifications 6.4

Build fieldset with subscription options

2 calls to notifications_object_options_fieldset()
notifications_object_options_form in includes/object.inc
Form for object (node, user, term...) subscriptions
notifications_object_options_subform in includes/object.inc
Subform with subscription options so it can be reused for a fieldset on a bigger form

File

includes/object.inc, line 522
Notifications object and fields

Code

function notifications_object_options_fieldset($subscriptions, $title = FALSE) {
  $elements = array(
    '#tree' => TRUE,
  );

  // Process all options building the array of indexed params for each
  $options = $params = $defaults = array();
  $index = 1;

  // Index to map checkboxes to subscriptions
  $number = 0;

  // Number of active subscriptions
  foreach ($subscriptions as $subscription) {
    $options[$index] = $subscription
      ->get_name();
    $params[$index] = $subscription;

    // Check wether user is subscribed
    if ($subscription
      ->is_instance()) {
      $defaults[] = $index;
      $number++;
    }
    $index++;
  }
  $elements['params'] = array(
    '#type' => 'value',
    '#value' => $params,
  );
  $elements['options'] = array(
    '#type' => 'checkboxes',
    '#default_value' => $defaults,
    '#options' => $options,
  );
  if ($title) {
    $elements['#title'] = t('Subscriptions (@number)', array(
      '@number' => $number,
    ));
  }
  return $elements;
}