You are here

function subscriptions_ui_node_form_submit in Subscriptions 5.2

Same name and namespace in other branches
  1. 6 subscriptions_ui.module \subscriptions_ui_node_form_submit()
  2. 7 subscriptions_ui.module \subscriptions_ui_node_form_submit()
  3. 2.0.x subscriptions_ui/subscriptions_ui.module \subscriptions_ui_node_form_submit()

Node subscriptions node subform submit handler.

File

./subscriptions_ui.module, line 271
Provides a user interface for Subscriptions.

Code

function subscriptions_ui_node_form_submit($form_id, $form_values) {
  $recipient_uid = $form_values['account']->uid;
  $default_send_intervals = $form_values['send_intervals'];
  foreach ($form_values['subscriptions'] as $index => $value) {
    $params = $form_values['params'][$index];
    $args = array(
      $params['module'],
      $params['field'],
      $params['value'],
      $params['author_uid'],
      $recipient_uid,
    );
    if ($value) {
      $args[] = $default_send_intervals[$index];
      $args[] = !empty($form_values['updates'][$index]);
      $args[] = !empty($form_values['comments'][$index]);
      call_user_func_array('subscriptions_write_subscription', $args);
    }
    else {
      db_query("DELETE FROM {subscriptions} WHERE module = '%s' AND field = '%s' AND value = '%s' AND author_uid = %d AND recipient_uid = %d", $args);
    }
  }
  return array(
    str_replace('/subscribe', '', $_GET['q']),
    NULL,
    variable_get('subscriptions_form_link_only', 0) ? 'subscriptions' : NULL,
  );
}