You are here

function contentanalysis_analyzer_info in Content Analysis 8

Same name and namespace in other branches
  1. 7 contentanalysis.module \contentanalysis_analyzer_info()
7 calls to contentanalysis_analyzer_info()
contentanalysis_admin_analyzer_settings_element in ./contentanalysis.admin.inc
contentanalysis_analysis_form in ./contentanalysis.module
Provides common Content Analysis form fields
contentanalysis_analyze_js in ./contentanalysis.module
Returns content analysis for AJAX calls
contentanalysis_get_analyzer_form_element in ./contentanalysis.module
Generates analyzer enable/disable checkboxes field
contentanalysis_get_analyzer_settings in ./contentanalysis.module

... See full list

File

./contentanalysis.module, line 1769

Code

function contentanalysis_analyzer_info() {
  $analyzers =& drupal_static(__FUNCTION__);

  // Grab from cache or build the array.
  if (!isset($analyzer)) {
    if ($cache = cache_get("contentanalysis_analyzers") && !empty($cache->data)) {
      $analyzers = $cache->data;
    }
    else {
      $analyzers = array();
      foreach (module_implements('contentanalysis_analyzer_info') as $module) {
        foreach (module_invoke($module, 'contentanalysis_analyzer_info') as $name => $analyzer) {

          // Ensure the current toolkit supports the element.
          $analyzer['module'] = $module;
          $analyzer['name'] = $name;
          $analyzers[$name] = $analyzer;
        }
      }

      // @TODO used to support deprecated hook naming convention (renamed to hook_analyzer_info above). Remove this after sufficient time.
      foreach (module_implements('contentanalysis_analyzers') as $module) {
        foreach (module_invoke($module, 'contentanalysis_analyzers') as $name => $analyzer) {

          // Ensure the current toolkit supports the element.
          $analyzer['module'] = $module;
          $analyzer['name'] = $name;
          $analyzers[$name] = $analyzer;
        }
      }
      drupal_alter('contentanalysis_analyzer_info', $analyzers);
      cache_set("contentanalysis_analyzers", $analyzers);
    }
  }
  return $analyzers;
}