You are here

function feed_import_get_class_settings in Feed Import 7.3

Return settings array

Parameters

string $setting: Setting name

Return value

array An array of settings

1 call to feed_import_get_class_settings()
feed_import_class_settings_form in ./feed_import.module
Class options edit form.

File

./feed_import.module, line 861
User interface, cron functions for feed_import module

Code

function feed_import_get_class_settings($setting) {
  $settings = module_invoke_all('feed_import_setting_types');
  if (!isset($settings[$setting])) {
    return array();
  }
  $setting = $settings[$setting];
  $base = $setting['base'];
  $interface = interface_exists($base);
  $ret = module_invoke_all($setting['hook']);
  unset($settings, $setting);

  // Filter bad classes.
  if ($interface) {
    foreach ($ret as $key => &$r) {
      if (!in_array($base, class_implements($r['class']))) {
        unset($ret[$key]);
      }
    }
  }
  else {
    foreach ($ret as $key => &$r) {
      if ($r['class'] != $base && !is_subclass_of($r['class'], $base)) {
        unset($ret[$key]);
      }
    }
  }
  return $ret;
}