You are here

styles.theme.inc in Styles 6

Same filename and directory in other branches
  1. 6.2 themes/styles.theme.inc
  2. 7.2 themes/styles.theme.inc

styles.theme.inc Theme and preprocess functions for the Styles project.

File

themes/styles.theme.inc
View source
<?php

/**
 * @file styles.theme.inc
 * Theme and preprocess functions for the Styles project.
 */
function theme_field_formatter_styles($element = NULL) {
  $formatter = $element['#formatter'];
  $object = (object) $element['#item'];
  $output = '';
  if (preg_match('@^styles_(.*?)_(.*?)$@i', $formatter, $matches)) {
    $field_type = $matches[1];
    $style_name = $matches[2];
    $output = theme('styles', $field_type, $style_name, $object);
  }
  return $output;
}
function template_preprocess_styles(&$variables) {
  $field_type = $variables['field_type'];
  $style_name = $variables['style_name'];
  $output = '';
  $presets = styles_presets();
  $containers = styles_containers();
  $container = $containers[$field_type]['containers'];
  foreach ($container as $container_name => $styles) {
    $variables['container'] = $styles;
    $variables['container_name'] = $variables['container']['name'];
    $callback = $styles['filter callback'];
    if (function_exists($callback)) {
      if (call_user_func_array($callback, array(
        $variables,
      ))) {
        if (!empty($presets[$field_type][$style_name][$container_name])) {
          $variables['preset'] = array_pop($presets[$field_type][$style_name][$container_name]);
          $variables['preset_name'] = $variables['preset']['name'];
          $variables['output'] = theme($styles['themes']['styles'], $field_type, $style_name, $variables['object'], $variables);
          $variables['classes_array'][] = 'styles-field-' . $field_type;
          $variables['classes_array'][] = 'styles-style-' . $style_name;
          $variables['classes_array'][] = 'styles-container-' . $variables['container_name'];
          $variables['classes_array'][] = 'styles-preset-' . $variables['preset_name'];
          $variables['classes'] = implode(' ', $variables['classes_array']);
          break;
        }
      }
    }
  }
}

Functions

Namesort descending Description
template_preprocess_styles
theme_field_formatter_styles @file styles.theme.inc Theme and preprocess functions for the Styles project.