You are here

function emfield_system_list in Embedded Media Field 6.3

Same name and namespace in other branches
  1. 5 emfield.module \emfield_system_list()
  2. 6 emfield.module \emfield_system_list()
  3. 6.2 emfield.module \emfield_system_list()

Return an array of installed .inc files and/or loads them upon request. This routine is modeled after drupal_system_listing() (and also depends on it). It's major difference, however, is that it loads .inc files by default.

Parameters

$provider: (Optional) Name of the passed $provider to find (e.g. "youtube", "google"). @return An array of file objects optionally matching $provider.

18 calls to emfield_system_list()
emfield_allowed_providers in deprecated/emfield-deprecated.inc
Return a list of providers allowed for a specific field.
emfield_disable_obsolete_provider in ./emfield.admin.inc
emfield_disable_obsolete_provider in deprecated/emfield-deprecated.admin.inc
emfield_include_invoke in deprecated/emfield-deprecated.inc
Invoke hook in a particular include.
emfield_module_settings in ./emfield.admin.inc

... See full list

File

deprecated/emfield-deprecated.inc, line 510
Functionality to be deprecated from earlier versions of Embedded Media Field.

Code

function emfield_system_list($module, $provider = NULL, $options = array()) {
  $files = $override_files = module_invoke_all('emfield_providers', $module, $provider);

  //  $files = drupal_system_listing("$provider\.inc$", drupal_get_path('module', $module) ."/providers", 'name', 0);
  //   $files = array_merge($files, $override_files);
  ksort($files);
  foreach ($files as $provider => $file) {
    emfield_include_list($file);
    if (!function_exists($module . '_' . $provider . '_info')) {
      emfield_include_list($file, TRUE);
      unset($files[$provider]);
      if (function_exists($module . '_' . $provider . '_obsolete') && variable_get('emfield_' . $module . '_allow_' . $provider, TRUE)) {
        if (isset($options['suppress_errors']) && $options['suppress_errors']) {
          continue;
        }
        $error = t('Attempted to load obsolete provider: %provider at @file.', array(
          '%provider' => $provider,
          '@file' => $file->filename,
        ));
        emfield_set_error($error);
        if (user_access('administer site configuration')) {
          drupal_set_message($error, error);
          call_user_func($module . '_' . $provider . '_obsolete');
          drupal_set_message(t('You may also choose to !turn_off this warning about the missing or obsolete Embedded Media Field %provider provider file.', array(
            '%provider' => $provider,
            '!turn_off' => l(t('turn off'), 'admin/content/emfield/obsolete/' . $module . '/' . $provider, array(
              'query' => 'destination=' . $_GET['q'],
            )),
          )), 'error');
        }
      }
    }
  }
  return $files;
}