You are here

function spam_filter_custom_admin_settings_submit in Spam 6

Perform bulk operations on the filters.

File

filters/spam_filter_custom/spam_filter_custom.module, line 425
Custom spam filter module Copyright(c) 2007-2009 Jeremy Andrews <jeremy@tag1consulting.com>.

Code

function spam_filter_custom_admin_settings_submit($form, &$form_state) {
  if (is_array($form_state['values']['spam_filter_custom'])) {
    foreach ($form_state['values']['spam_filter_custom'] as $cid => $selected) {
      if ($selected) {
        $process[] = $cid;
      }
    }
  }
  if (!empty($process)) {
    foreach (module_invoke_all('spam_filter_custom_operations') as $operation => $op) {
      $options[$operation] = $op;
    }
    $operation = $form_state['values']['operation'];
    if (isset($options[$operation])) {
      $function = $options[$operation]['callback'];
      $arguments = $options[$operation]['callback arguments'];

      //TODO: Why is order different than spam.module, and why 1 at a time?
      foreach ($process as $cid) {
        call_user_func_array($function, array_merge($arguments, array(
          $cid,
        )));
      }
    }
  }
}