You are here

function scald_galleria_preprocess_scald_galleria in Scald: Gallery 7.2

Preprocess function for scald_galleria.tpl.php.

File

scald_galleria/scald_galleria.module, line 304
Scald Galleria is a player for Scald Gallery.

Code

function scald_galleria_preprocess_scald_galleria(&$vars) {

  // Prevents multiple loading of the same atom.
  static $atom_processed = array();
  if (!empty($atom_processed[$vars['atom']->sid])) {
    $vars['items'] = $atom_processed[$vars['atom']->sid]['items'];
    $vars['galleria_id'] = $atom_processed[$vars['atom']->sid]['id'];
    return;
  }

  // Prepare items.
  $items = array();
  foreach ($vars['images'] as $image) {
    $attributes = array(
      'data-title' => $image['title'],
      'data-big' => $image['big'],
    );
    if (isset($image['authors'])) {
      $attributes['data-authors'] = $image['authors'];
    }
    if (isset($image['description'])) {
      $attributes['data-description'] = $image['description'];
    }
    if (isset($image['iframe'])) {
      $attributes['class'] = 'iframe';
    }
    drupal_alter('scald_galleria_item', $image, $attributes, $vars);
    $thumb = theme('image', array(
      'alt' => isset($image['alt_attr']) ? $image['alt_attr'] : '',
      'title' => isset($image['title_attr']) ? $image['title_attr'] : '',
      'path' => $image['thumb'],
      'attributes' => $attributes,
    ));
    $items[] = l($thumb, isset($image['iframe']) ? $image['iframe'] : $image['normal'], array(
      'html' => TRUE,
    ));
  }
  $vars['items'] = $items;
  $vars['galleria_id'] = 'scald-gallery-' . $vars['atom']->sid;

  // Keep the loaded data of the atom in the static variable.
  $atom_processed[$vars['atom']->sid] = array(
    'id' => $vars['galleria_id'],
    'items' => $items,
  );
}