You are here

function _ctools_export_get_some_defaults in Chaos Tool Suite (ctools) 7

Get a limited number of default objects.

This attempts to load the objects directly from cache. If it cannot, the cache is rebuilt. This does not disturb the general get defaults from cache object.

This function should ONLY be called if default caching is enabled. It does not check, it is assumed the caller has already done so.

2 calls to _ctools_export_get_some_defaults()
ctools_export_load_object in includes/export.inc
Load some number of exportable objects.
ctools_get_default_object in includes/export.inc
Get the default version of an object, if it exists.

File

includes/export.inc, line 782
Contains code to make it easier to have exportable objects.

Code

function _ctools_export_get_some_defaults($table, $export, $names) {
  foreach ($names as $name) {
    $keys[] = 'ctools_export:' . $table . ':' . $name;
  }
  $data = cache_get_multiple($keys, $export['default cache bin']);

  // Cache hits remove the $key from $keys by reference. Cache
  // misses do not. A cache miss indicates we may have to rebuild.
  if (!empty($keys)) {
    return _ctools_export_get_defaults($table, $export);
  }

  // Now, translate the returned cache objects to actual objects.
  $cache = array();
  foreach ($data as $cached_object) {
    $cache[$cached_object->data->{$export['key']}] = $cached_object->data;
  }
  return $cache;
}