You are here

function _instance_settings_get_includes in Instance settings 7.2

Get settings files to include.

Parameters

array $pattern_types: File patterns to search.

$token_values: Token values to use in patterns.

Return value

array File paths to include.

1 call to _instance_settings_get_includes()
include.settings.inc in includes/include.settings.inc

File

includes/include.settings.inc, line 210

Code

function _instance_settings_get_includes($pattern_types, $token_values, $instance_settings_file_extensions) {
  $settings_sources = _instance_settings_get_settings_sources($pattern_types);
  static $includes = array();
  if ($includes) {
    return $includes;
  }
  foreach ($settings_sources as &$dir) {
    if (isset($dir['pattern_types'])) {
      $dir['patterns'] = array();
      foreach ($dir['pattern_types'] as $pattern_type) {
        $dir['patterns'] += $pattern_types[$pattern_type];
      }
      foreach ($dir['patterns'] as $pattern) {
        if ($pattern) {
          foreach ($instance_settings_file_extensions as $instance_settings_extension) {
            $file = $dir['dir'] . '/' . format_string($pattern, $token_values) . $instance_settings_extension;
            if (!in_array($file, $includes) && is_file($file)) {
              $includes[] = $file;
            }
          }
        }
      }
    }
  }
  return $includes;
}