You are here

function insert_colorbox_insert_variables in Insert 8.2

Implements hook_insert_variables().

File

modules/insert_colorbox/insert_colorbox.module, line 104

Code

function insert_colorbox_insert_variables($insertType, array &$element, $styleName, array &$vars) {
  if (strpos($styleName, 'colorbox__') !== 0) {
    return;
  }
  $insertSettings = $element['#insert']['settings'];

  // The following lines are adapted from colorbox module's
  // template_preprocess_colorbox_formatter():
  static $gallery_token = NULL;
  $config = \Drupal::config('insert_colorbox.config');
  switch ($config
    ->get('gallery')) {
    case 'post':
      $vars['gallery_id'] = 'gallery-' . $element['#entity_type'];
      break;
    case 'page':
      $vars['gallery_id'] = 'gallery-all';
      break;
    case 'field_post':
      $vars['gallery_id'] = 'gallery-' . $element['#entity_type'] . '-' . $element['#field_name'];
      break;
    case 'field_page':
      $vars['gallery_id'] = 'gallery-' . $element['#field_name'];
      break;
    default:
      $vars['gallery_id'] = '';
  }
  $colorboxConfig = \Drupal::config('colorbox.settings');
  if (!empty($vars['gallery_id']) && $colorboxConfig
    ->get('advanced.unique_token')) {
    if (is_null($gallery_token)) {
      $gallery_token = Crypt::randomBytesBase64(8);
    }
    $vars['gallery_id'] = $vars['gallery_id'] . '-' . $gallery_token;
  }
  $vars['url_link'] = $vars['url_original'];
  $styleName = NULL;
  if ($config
    ->get('style') === '0') {
    $styleName = $insertSettings['link_image'];
  }
  elseif ($config
    ->get('style') !== 'image') {
    $styleName = $config
      ->get('style');
  }
  if ($styleName !== NULL) {
    $url = InsertUtility::buildDerivativeUrl($vars['file'], $styleName, \Drupal::config('insert.config')
      ->get('absolute'));
    if ($url !== NULL) {
      $vars['url_link'] = $url;
    }
  }
}