You are here

function field_slideshow_colorbox_settings_alter in Field Slideshow 8.2

Same name and namespace in other branches
  1. 8 field_slideshow.module \field_slideshow_colorbox_settings_alter()

Implements hook_colorbox_settings_alter().

File

./field_slideshow.module, line 272
Preprocess and theme hook functions.

Code

function field_slideshow_colorbox_settings_alter(&$settings, &$style) {
  $node = \Drupal::request()->attributes
    ->get('node');
  if ($node) {
    $type = $node
      ->getType();
    $mode = \Drupal::service('entity_display.repository')
      ->getViewModes('node');
    $config_entity_name = 'core.entity_view_display.node.' . $type . '.default';
    $query = db_select('config', 'c');
    $result = $query
      ->fields('c')
      ->condition('name', $config_entity_name)
      ->execute()
      ->fetchAssoc();
    $formatter_data = unserialize($result['data']);
    foreach ($formatter_data['content'] as $content) {
      if (isset($content['type']) && ($content['type'] == 'slideshow' || $content['type'] == 'field_collection_slideshow')) {
        $content_settings = $content['settings'];
        $colorbox_slideshow = $content_settings['slideshow_colorbox_slideshow'];
        if (isset($colorbox_slideshow) && $colorbox_slideshow != '' && $colorbox_slideshow == 'automatic') {
          $settings['slideshow'] = TRUE;
          $settings['slideshowAuto'] = TRUE;
          $settings['transition'] = $content_settings['slideshow_colorbox_transition'];
          $settings['transition_speed'] = $content_settings['slideshow_colorbox_speed'];
          $settings['slideshowSpeed'] = $content_settings['slideshow_colorbox_slideshow_speed'];
        }
      }
    }
  }
}