You are here

function notifications_account_subscription_list_form_submit in Notifications 7

Submit list of subscriptions

File

notifications_account/notifications_account.pages.inc, line 183
User pages for Notifications

Code

function notifications_account_subscription_list_form_submit($form, &$form_state) {
  $op = isset($form_state['values']['op']) ? $form_state['values']['op'] : NULL;
  $updated = 0;
  switch ($op) {
    case t('Add'):
      $subscription = Notifications_Subscription::build_object($form_state['values']['template']);
      $subscription
        ->add_fields($form_state['values']['parsed_fields']);
      notifications_account_subscription_list_form_values($form_state['values']['subscriptions'], $subscription, 'new');
      notifications_submit_subscription($subscription);
      break;
    case t('Update'):
      $updated = 0;
      foreach ($form_state['values']['current_subscriptions'] as $key => $subscription) {
        if (notifications_account_subscription_list_form_values($form_state['values']['subscriptions'], $subscription)) {
          $subscription
            ->save();
          $updated++;
        }
      }
      break;
    case t('Delete'):
      $form_state['rebuild'] = TRUE;
      break;
  }
  if ($updated) {
    drupal_set_message(format_plural($updated, 'One subscription has been updated.', '@count subscriptions have been updated.'));
  }
}