You are here

function metatag_config_load_multiple in Metatag 7

Load multiple metatag configuration records.

3 calls to metatag_config_load_multiple()
metatag_config_is_enabled in ./metatag.module
Checks if a metatag configuration record is enabled.
metatag_config_load in ./metatag.module
Load a metatag configuration record.
metatag_config_load_with_defaults in ./metatag.module
Load a metatag configuration record with all the defaults merged in.

File

./metatag.module, line 453
Primary hook implementations for Metatag.

Code

function metatag_config_load_multiple(array $instances) {

  // Load the data.
  ctools_include('export');
  $configs = ctools_export_load_object('metatag_config', 'names', $instances);

  // "Fix" any records that might be using old values. Ideally these will be
  // permanently fixed by being re-saved or re-exported.
  foreach (metatag_config_get_replacements() as $old_tag => $new_tag) {
    foreach ($configs as $instance => $config) {
      if (isset($config->config[$old_tag])) {
        $config->config[$new_tag] = $config->config[$old_tag];
        unset($config->config[$old_tag]);
      }
    }
  }

  // Translate the configuration.
  if (module_exists('i18n_string') && !variable_get('metatag_i18n_disabled', FALSE)) {
    $options = array();

    // By default disable the watchdog logging of translation messages.
    $options['watchdog'] = variable_get('metatag_i18n_enable_watchdog', FALSE);
    foreach ($configs as $instance => &$config) {
      foreach ($config->config as $tag => &$value) {
        if (isset($value['value']) && is_string($value['value'])) {
          $value['value'] = i18n_string_translate(array(
            'metatag',
            'metatag_config',
            $instance,
            $tag,
          ), $value['value'], $options);
        }
      }
    }
  }
  return $configs;
}