: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
if (isset($breakpointData[$nextDevice])) {
$nextSize = $breakpointData[$nextDevice];
if (isset($breakpointData['desktopLandscape'])) {
$portraitMaxWidth = $breakpointData['desktopLandscape']['portraitWidth'] - 1;
$landscapeMaxWidth = $breakpointData['desktopLandscape']['landscapeWidth'] - 1;
$portraitMinWidth = $nextSize['portraitWidth'] + 1;
$landscapeMinWidth = $nextSize['landscapeWidth'] + 1;
if ($portraitMaxWidth == 0 || $landscapeMaxWidth == 0) {
if ($portraitMinWidth == $landscapeMinWidth || $this->slider->isFrame) {
$this->mediaQueries['desktopportrait'] = array('(min-width: ' . $portraitMinWidth . 'px)');
$this->mediaQueries['desktopportrait'] = array(
'(orientation: landscape) and (min-width: ' . $landscapeMinWidth . 'px)',
'(orientation: portrait) and (min-width: ' . $portraitMinWidth . 'px)'
if (($portraitMinWidth == $landscapeMinWidth && $portraitMaxWidth == $landscapeMaxWidth) || $this->slider->isFrame) {
$this->mediaQueries['desktopportrait'] = array('(min-width: ' . $portraitMinWidth . 'px) and (max-width: ' . $portraitMaxWidth . 'px)');
$this->mediaQueries['desktopportrait'] = array(
'(orientation: landscape) and (min-width: ' . $landscapeMinWidth . 'px) and (max-width: ' . $landscapeMaxWidth . 'px)',
'(orientation: portrait) and (min-width: ' . $portraitMinWidth . 'px) and (max-width: ' . $portraitMaxWidth . 'px)'
$this->initMediaQuery($breakpointData, 'tabletLandscape', array(
$this->initMediaQuery($breakpointData, 'tabletPortrait', array(
$this->initMediaQuery($breakpointData, 'mobileLandscape', array(
$this->initMediaQuery($breakpointData, 'mobilePortrait', array());
private function initMediaQuery(&$breakpointData, $deviceName, $nextDevices) {
if (isset($breakpointData[$deviceName])) {
$deviceNameLower = strtolower($deviceName);
foreach ($nextDevices as $nextDevice) {
if (isset($breakpointData[$nextDevice])) {
$nextSize = $breakpointData[$nextDevice];
$portraitMaxWidth = $breakpointData[$deviceName]['portraitWidth'];
$landscapeMaxWidth = $breakpointData[$deviceName]['landscapeWidth'];
if (($nextSize['portraitWidth'] == $nextSize['landscapeWidth'] && $portraitMaxWidth == $landscapeMaxWidth) || $this->slider->isFrame) {
$this->mediaQueries[$deviceNameLower] = array('(max-width: ' . $portraitMaxWidth . 'px) and (min-width: ' . ($nextSize['portraitWidth'] + 1) . 'px)');
$this->mediaQueries[$deviceNameLower] = array(
'(orientation: landscape) and (max-width: ' . $landscapeMaxWidth . 'px) and (min-width: ' . ($nextSize['landscapeWidth'] + 1) . 'px)',
'(orientation: portrait) and (max-width: ' . $portraitMaxWidth . 'px) and (min-width: ' . ($nextSize['portraitWidth'] + 1) . 'px)'
if (($portraitMaxWidth == $landscapeMaxWidth) || $this->slider->isFrame) {
$this->mediaQueries[$deviceNameLower] = array('(max-width: ' . $portraitMaxWidth . 'px)');
$this->mediaQueries[$deviceNameLower] = array(
'(orientation: landscape) and (max-width: ' . $landscapeMaxWidth . 'px)',
'(orientation: portrait) and (max-width: ' . $portraitMaxWidth . 'px)'
public function makeJavaScriptProperties(&$properties) {
if ($this->maximumSlideWidthLandscape <= 0) {
$this->maximumSlideWidthLandscape = $this->maximumSlideWidth;
if ($this->maximumSlideWidthTablet <= 0) {
$this->maximumSlideWidthTablet = $this->maximumSlideWidth;
if ($this->maximumSlideWidthTabletLandscape <= 0) {
$this->maximumSlideWidthTabletLandscape = $this->maximumSlideWidthTablet;
if ($this->maximumSlideWidthMobile <= 0) {
$this->maximumSlideWidthMobile = $this->maximumSlideWidth;
if ($this->maximumSlideWidthMobileLandscape <= 0) {
$this->maximumSlideWidthMobileLandscape = $this->maximumSlideWidthMobile;
$this->slider->addDeviceCSS('all', 'div#' . $this->slider->elementId . '-align{min-width:' . $this->sizes['desktopPortrait']['width'] . 'px;}');
$this->slider->addDeviceCSS('all', 'div#' . $this->slider->elementId . '-align{max-width:' . $this->sizes['desktopPortrait']['width'] . 'px;}');
if ($this->minimumHeight > 0) {
$this->slider->sliderType->handleSliderMinHeight($this->minimumHeight);
foreach ($this->mediaQueries as $device => $mediaQuery) {
$this->slider->addDeviceCSS($device, 'div#' . $this->slider->elementId . ' [data-hide-' . $device . '="1"]{display: none !important;}');
if (!$this->slider->isAdmin) {
if ($this->hideOnDesktopLandscape) {
$this->slider->addDeviceCSS('desktoplandscape', '.n2-section-smartslider[data-ssid="' . $this->slider->sliderId . '"]{display: none;}');
if (!SmartSlider3Info::$forceDesktop && $this->hideOnDesktopPortrait) {
$this->slider->addDeviceCSS('desktopportrait', '.n2-section-smartslider[data-ssid="' . $this->slider->sliderId . '"]{display: none;}');
if ($this->hideOnTabletLandscape) {
$this->slider->addDeviceCSS('tabletlandscape', '.n2-section-smartslider[data-ssid="' . $this->slider->sliderId . '"]{display: none;}');
if ($this->hideOnTabletPortrait) {
$this->slider->addDeviceCSS('tabletportrait', '.n2-section-smartslider[data-ssid="' . $this->slider->sliderId . '"]{display: none;}');
if ($this->hideOnMobileLandscape) {
$this->slider->addDeviceCSS('mobilelandscape', '.n2-section-smartslider[data-ssid="' . $this->slider->sliderId . '"]{display: none;}');
if ($this->hideOnMobilePortrait) {
$this->slider->addDeviceCSS('mobileportrait', '.n2-section-smartslider[data-ssid="' . $this->slider->sliderId . '"]{display: none;}');
$properties['responsive'] = array(
'mediaQueries' => $this->mediaQueries,
'base' => $this->slider->assets->base,
'desktopLandscape' => SmartSlider3Info::$forceAllDevices ? false : $this->hideOnDesktopLandscape,
'desktopPortrait' => SmartSlider3Info::$forceDesktop ? false : $this->hideOnDesktopPortrait,
'tabletLandscape' => SmartSlider3Info::$forceAllDevices ? false : $this->hideOnTabletLandscape,
'tabletPortrait' => SmartSlider3Info::$forceAllDevices ? false : $this->hideOnTabletPortrait,
'mobileLandscape' => SmartSlider3Info::$forceAllDevices ? false : $this->hideOnMobileLandscape,
'mobilePortrait' => SmartSlider3Info::$forceAllDevices ? false : $this->hideOnMobilePortrait,
'onResizeEnabled' => $this->onResizeEnabled,
'sliderHeightBasedOn' => $this->sliderHeightBasedOn,
'focusUser' => $this->focusUser,
'focusEdge' => $this->focusEdge,
'breakpoints' => $this->breakpoints,
'enabledDevices' => $this->enabledDevices,
'overflowHiddenPage' => intval($this->slider->params->get('overflow-hidden-page', 0))
private function parseLimitSlideWidth($params) {
if ($params->get('responsiveLimitSlideWidth', 1)) {
if ($this->enabledDevices['desktopLandscape']) {
if ($params->get('responsiveSlideWidthDesktopLandscape', 0)) {
$this->maximumSlideWidthLandscape = intval($params->get('responsiveSlideWidthMaxDesktopLandscape', 1600));
$this->slider->addDeviceCSS('desktoplandscape', 'div#' . $this->slider->elementId . ' .n2-ss-slide-limiter{max-width:' . $this->maximumSlideWidthLandscape . 'px;}');
if ($params->get('responsiveSlideWidth', 0)) {
$this->maximumSlideWidth = intval($params->get('responsiveSlideWidthMax', 3000));
$this->maximumSlideWidth = $this->sizes['desktopPortrait']['width'];
if ($this->maximumSlideWidth < 1) {
$this->maximumSlideWidth = 10000;
$this->slider->addDeviceCSS('all', 'div#' . $this->slider->elementId . ' .n2-ss-slide-limiter{max-width:' . $this->maximumSlideWidth . 'px;}');
if ($this->enabledDevices['tabletLandscape']) {
if ($params->get('responsiveSlideWidthTabletLandscape', 0)) {
$this->maximumSlideWidthTabletLandscape = intval($params->get('responsiveSlideWidthMaxTabletLandscape', 1200));
$this->slider->addDeviceCSS('tabletlandscape', 'div#' . $this->slider->elementId . ' .n2-ss-slide-limiter{max-width:' . $this->maximumSlideWidthTabletLandscape . 'px;}');
if ($params->get('responsiveSlideWidthTablet', 0)) {
$this->maximumSlideWidthTablet = intval($params->get('responsiveSlideWidthMaxTablet', 980));
$this->slider->addDeviceCSS('tabletportrait', 'div#' . $this->slider->elementId . ' .n2-ss-slide-limiter{max-width:' . $this->maximumSlideWidthTablet . 'px;}');
if ($this->enabledDevices['mobileLandscape']) {
if ($params->get('responsiveSlideWidthMobileLandscape', 0)) {
$this->maximumSlideWidthMobileLandscape = intval($params->get('responsiveSlideWidthMaxMobileLandscape', 780));
$this->slider->addDeviceCSS('mobilelandscape', 'div#' . $this->slider->elementId . ' .n2-ss-slide-limiter{max-width:' . $this->maximumSlideWidthMobileLandscape . 'px;}');
if ($params->get('responsiveSlideWidthMobile', 0)) {
$this->maximumSlideWidthMobile = intval($params->get('responsiveSlideWidthMaxMobile', 480));
$this->slider->addDeviceCSS('mobileportrait', 'div#' . $this->slider->elementId . ' .n2-ss-slide-limiter{max-width:' . $this->maximumSlideWidthMobile . 'px;}');