You are here

function contentanalysis_get_analyzer_form_element in Content Analysis 6

Same name and namespace in other branches
  1. 8 contentanalysis.module \contentanalysis_get_analyzer_form_element()
  2. 7 contentanalysis.module \contentanalysis_get_analyzer_form_element()

Generates analyzer enable/disable checkboxes field

Parameters

$params: Associative array of overrides for settings. Overrides include: [title|description|nid]

$analyzers: Array of analyzer definitions

2 calls to contentanalysis_get_analyzer_form_element()
contentanalysis_admin_settings in ./contentanalysis.admin.inc
Displays the form for the standard settings tab.
contentanalysis_analysis_form in ./contentanalysis.module
Provides common Content Analysis form fields

File

./contentanalysis.module, line 343

Code

function contentanalysis_get_analyzer_form_element($params = array(), $analyzers = array()) {
  if (empty($analyzers)) {
    $analyzers = module_invoke_all('contentanalysis_analyzers');
    drupal_alter('contentanalysis_analyzers', $analyzers);
  }
  if ($analyzers) {

    // don't show checkboxes if only one analyzer
    $options = array();
    $defaults = array();
    foreach ($analyzers as $aid => $analyzer) {
      $options[$aid] = $analyzer['title'];
      $defaults[] = $aid;
    }
    $default_value = array();
    if ($analysis && is_array($analysis['#context']['analyzers'])) {
      foreach ($analysis['#context']['inputs']['analyzers'] as $aid => $item) {
        $default_value[] = $aid;
      }
    }
    else {
      $default_value = variable_get('contentanalysis_default_analyzers', $defaults);
    }
    $analyser_override = '';
    if (count($options) == 1) {
      $k = array_keys($options);
      $element = array(
        '#type' => 'hidden',
        '#value' => $k[0],
        '#prefix' => '<div id="contentanalysis_analyzers_override">',
        '#suffix' => '</div>',
      );
    }
    else {
      $element = array(
        '#type' => 'checkboxes',
        '#title' => $params['title'] ? $params['title'] : t('Analyzers'),
        '#description' => $params['description'] ? $params['description'] : t('Select analyzers for content.'),
        '#options' => $options,
        '#default_value' => $default_value,
        '#prefix' => '<div id="contentanalysis_analyzers">',
        '#suffix' => '</div>',
      );
    }
  }
  else {

    //drupal_set_message(t('No content analyzers are enabled.'), 'error');
  }
  return $element;
}