You are here

function _resp_img_get_breakpoint_styles in Responsive images and styles 7.2

3 calls to _resp_img_get_breakpoint_styles()
resp_img_field_attach_view_alter in ./resp_img.module
Implements hook_preprocess_field().
resp_img_image_styles_alter in ./resp_img.module
Implements hook_image_styles_alter().
_resp_img_replace_picture in ./resp_img.module

File

./resp_img.module, line 718

Code

function _resp_img_get_breakpoint_styles($group_name) {
  $active_breakpoints =& drupal_static('resp_img_breakpoints', FALSE);
  if (!$active_breakpoints) {
    $active_breakpoints = breakpoints_breakpoint_load_all_active();
  }
  $breakpoint_styles = array();
  if ($mappings = resp_img_mapping_load('mappings.' . $group_name)) {
    $group = breakpoints_breakpoint_group_load($group_name);
    $breakpoints = array_intersect_key(drupal_map_assoc($group->breakpoints), $active_breakpoints);
    $mappings->mapping = array_intersect_key($mappings->mapping, $breakpoints);
    foreach ($mappings->mapping as $breakpoint_name => $multipliers) {
      $settings = breakpoints_settings();
      $existing_multipliers = drupal_map_assoc($settings->multipliers);
      $multipliers = array_intersect_key($multipliers, array_intersect_key($existing_multipliers, array_filter($active_breakpoints[$breakpoint_name]->multipliers)));
      if (!empty($multipliers) && is_array($multipliers)) {
        foreach ($multipliers as $multiplier => $image_style) {
          if (!empty($image_style)) {
            if (!isset($breakpoint_styles['mapping'][$breakpoint_name])) {
              $breakpoint_styles['mapping'][$breakpoint_name] = array();
            }
            $breakpoint_styles['mapping'][$breakpoint_name][$multiplier] = $image_style;
          }
        }
      }
    }
  }
  return $breakpoint_styles;
}