You are here

function _slick_slideshow_settings_alter in Slick Slideshow Lite 7

Alter settings values to be in the correct format for Slick.

Parameters

array $settings: The settings array to alter and pass to Slick.

1 call to _slick_slideshow_settings_alter()
slick_slideshow_field_formatter_view in ./slick_slideshow.module
Implements hook_field_formatter_view().

File

./slick_slideshow.module, line 373
Defines a system for adding the Slick responsive slideshow library to Drupal.

Code

function _slick_slideshow_settings_alter($settings) {
  if (!empty($settings)) {

    // Unset all of the autoplay settings if autoplay isn't checked.
    if (!isset($settings['autoplay']) || !$settings['autoplay']) {
      unset($settings['autoplaySpeed']);
      unset($settings['pauseOnHover']);
    }
    foreach ($settings as &$setting) {

      // Slick doesn't understand 0 = FALSE.
      if ($setting === 0) {
        $setting = FALSE;
      }

      // Slick doesn't understand 1 = TRUE.
      if ($setting === 1) {
        $setting = TRUE;
      }

      // Change strings to int.
      if (is_numeric($setting) && is_string($setting)) {
        $setting = (int) $setting;
      }
    }
    return $settings;
  }
}