You are here

function imageapi_optimize_pipelines in Image Optimize (or ImageAPI Optimize) 7.2

Gets an array of all pipelines and their settings.

Return value

An array of pipelines keyed by the image pipeline ID (isid).

See also

image_pipeline_load()

7 calls to imageapi_optimize_pipelines()
drush_imageapi_optimize_validate in ./imageapi_optimize.drush.inc
Validation for the imageapi optimize Drush command.
imageapi_optimize_features_export_options in ./imageapi_optimize.features.inc
Implements hook_features_export_options().
imageapi_optimize_pipeline_list in ./imageapi_optimize.admin.inc
Menu callback; Listing of all current image pipelines.
imageapi_optimize_pipeline_load in ./imageapi_optimize.module
Loads a pipeline by pipeline name or ID.
imageapi_optimize_pipeline_name_validate in ./imageapi_optimize.admin.inc
Element validate function to ensure unique, URL safe pipeline names.

... See full list

5 string references to 'imageapi_optimize_pipelines'
imageapi_optimize_features_api in ./imageapi_optimize.features.inc
Implements hook_features_api().
imageapi_optimize_pipeline_flush in ./imageapi_optimize.module
Flushes cached media for a pipeline.
imageapi_optimize_pipeline_save in ./imageapi_optimize.module
Saves an image pipeline.
imageapi_optimize_schema in ./imageapi_optimize.install
Implements hook_schema().
imageapi_optimize_update_7100 in ./imageapi_optimize.install
Add the new tables for imageapi optimize settings.

File

./imageapi_optimize.module, line 226

Code

function imageapi_optimize_pipelines() {
  $pipelines =& drupal_static(__FUNCTION__);

  // Grab from cache or build the array.
  if (!isset($pipelines)) {
    if ($cache = cache_get('imageapi_optimize_pipelines', 'cache')) {
      $pipelines = $cache->data;
    }
    else {
      $pipelines = array();

      // Select the module-defined pipelines.
      foreach (module_implements('imageapi_optimize_default_pipelines') as $module) {
        $module_pipelines = module_invoke($module, 'imageapi_optimize_default_pipelines');
        foreach ($module_pipelines as $pipeline_name => $pipeline) {
          $pipeline['name'] = $pipeline_name;
          $pipeline['label'] = empty($pipeline['label']) ? $pipeline_name : $pipeline['label'];
          $pipeline['module'] = $module;
          $pipeline['storage'] = IMAGEAPI_OPTIMIZE_STORAGE_DEFAULT;
          foreach ($pipeline['processors'] as $key => $processor) {
            $definition = imageapi_optimize_processor_definition_load($processor['name']);
            $processor = array_merge($definition, $processor);
            $pipeline['processors'][$key] = $processor;
          }
          $pipelines[$pipeline_name] = $pipeline;
        }
      }

      // Select all the user-defined pipelines.
      $user_pipelines = db_select('imageapi_optimize_pipelines', NULL, array(
        'fetch' => PDO::FETCH_ASSOC,
      ))
        ->fields('imageapi_optimize_pipelines')
        ->orderBy('name')
        ->execute()
        ->fetchAllAssoc('name', PDO::FETCH_ASSOC);

      // Allow the user pipelines to override the module pipelines.
      foreach ($user_pipelines as $pipeline_name => $pipeline) {
        $pipeline['module'] = NULL;
        $pipeline['storage'] = IMAGEAPI_OPTIMIZE_STORAGE_NORMAL;
        $pipeline['processors'] = imageapi_optimize_pipeline_processors($pipeline);
        if (isset($pipelines[$pipeline_name]['module'])) {
          $pipeline['module'] = $pipelines[$pipeline_name]['module'];
          $pipeline['storage'] = IMAGEAPI_OPTIMIZE_STORAGE_OVERRIDE;
        }
        $pipelines[$pipeline_name] = $pipeline;
      }
      drupal_alter('imageapi_optimize_pipelines', $pipelines);
      cache_set('imageapi_optimize_pipelines', $pipelines);
    }
  }
  return $pipelines;
}