8889841cViewPreviewIndex.php000064400000012404150515624260010530 0ustar00layout = new LayoutIframe($this); $this->layout->setLabel(n2_('Preview')); $blockPreviewToolbar = new BlockPreviewToolbar($this); $blockPreviewToolbar->setSliderID($this->sliderID); $this->layout->addAction($blockPreviewToolbar); if ($this->isIframe) { $buttonClose = new BlockButton($this); $buttonClose->addClass('n2_preview_slider__close'); $buttonClose->setLabel(n2_('Close')); $buttonClose->setBig(); $buttonClose->setGreyDark(); $this->layout->addAction($buttonClose); } $this->layout->addContent($this->render('Index')); $this->layout->render(); } /** * @return int */ public function getSliderID() { return $this->sliderID; } /** * @param int $sliderID */ public function setSliderID($sliderID) { $this->sliderID = $sliderID; } /** * @return array */ public function getSliderData() { return $this->sliderData; } /** * @param array $sliderData */ public function setSliderData($sliderData) { $this->sliderData = $sliderData; } public function getWidthCSS() { if ($this->sliderData) { $sliderParams = new SliderParams($this->sliderID, $this->sliderData['type'], $this->sliderData); } else { $model = new ModelSliders($this); $slider = $model->get($this->sliderID); $sliderParams = new SliderParams($this->sliderID, $slider['type'], $slider['params'], true); } if ($sliderParams->get('responsive-mode') == 'fullwidth' || $sliderParams->get('responsive-mode') == 'fullpage') { return ''; } $minScreenWidth = $sliderParams->get('width'); if (intval($sliderParams->get('responsive-breakpoint-tablet-landscape-enabled', 0))) { $useLocalBreakpoints = !$sliderParams->get('responsive-breakpoint-global', 0); $minScreenWidth = max($minScreenWidth, 1 + intval($useLocalBreakpoints ? $sliderParams->get('responsive-breakpoint-tablet-landscape', ViewSettingsGeneral::defaults['tablet-large-portrait']) : Settings::get('responsive-screen-width-tablet-landscape', ViewSettingsGeneral::defaults['tablet-large-portrait']))); $minScreenWidth = max($minScreenWidth, 1 + ($useLocalBreakpoints ? $sliderParams->get('responsive-breakpoint-tablet-landscape-landscape', ViewSettingsGeneral::defaults['tablet-large-landscape']) : Settings::get('responsive-screen-width-tablet-landscape-landscape', ViewSettingsGeneral::defaults['tablet-large-landscape']))); } if (intval($sliderParams->get('responsive-breakpoint-tablet-portrait-enabled', 0))) { $useLocalBreakpoints = !$sliderParams->get('responsive-breakpoint-global', 0); $minScreenWidth = max($minScreenWidth, 1 + intval($useLocalBreakpoints ? $sliderParams->get('responsive-breakpoint-tablet-portrait', ViewSettingsGeneral::defaults['tablet-portrait']) : Settings::get('responsive-screen-width-tablet-portrait', ViewSettingsGeneral::defaults['tablet-portrait']))); $minScreenWidth = max($minScreenWidth, 1 + intval($useLocalBreakpoints ? $sliderParams->get('responsive-breakpoint-tablet-portrait-landscape', ViewSettingsGeneral::defaults['tablet-landscape']) : Settings::get('responsive-screen-width-tablet-portrait-landscape', ViewSettingsGeneral::defaults['tablet-landscape']))); } return 'max-width:' . $minScreenWidth . 'px;'; } /** * @return array */ public function getSlidesData() { return $this->slidesData; } /** * @param array $slidesData */ public function setSlidesData($slidesData) { $this->slidesData = $slidesData; } /** * @return array */ public function getGeneratorData() { return $this->generatorData; } /** * @param array $generatorData */ public function setGeneratorData($generatorData) { $this->generatorData = $generatorData; } /** * @return bool */ public function isIframe() { return $this->isIframe; } /** * @param bool $isIframe */ public function setIsIframe($isIframe) { $this->isIframe = $isIframe; } }ViewPreviewFull.php000064400000004410150515624260010361 0ustar00layout = new LayoutEmpty($this); $this->layout->addContent($this->render('Full')); $this->layout->render(); } /** * @return int */ public function getSliderID() { return $this->sliderID; } /** * @param int $sliderID */ public function setSliderID($sliderID) { $this->sliderID = $sliderID; } /** * @return array */ public function getSliderData() { return $this->sliderData; } /** * @param array $sliderData */ public function setSliderData($sliderData) { $this->sliderData = $sliderData; } /** * @return array */ public function getSlidesData() { return $this->slidesData; } /** * @param array $slidesData */ public function setSlidesData($slidesData) { $this->slidesData = $slidesData; } /** * @return array */ public function getGeneratorData() { return $this->generatorData; } /** * @param array $generatorData */ public function setGeneratorData($generatorData) { $this->generatorData = $generatorData; } /** * @return string Return value is already escaped */ public function renderSlider() { $locale = setlocale(LC_NUMERIC, 0); setlocale(LC_NUMERIC, "C"); $sliderManager = new SliderManager($this, $this->sliderID, true, array( 'sliderData' => $this->sliderData, 'slidesData' => $this->slidesData, 'generatorData' => $this->generatorData )); $sliderManager->allowDisplayWhenEmpty(); $sliderHTML = $sliderManager->render(); setlocale(LC_NUMERIC, $locale); return $sliderHTML; } }Template/Full.php000064400000014147150515624260007747 0ustar00renderSlider(); $externals = Settings::get('external-css-files'); if (!empty($externals)) { $externals = explode("\n", $externals); foreach ($externals as $external) { echo ""; } } // PHPCS - Content already escaped echo $slider; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped $slidesData = $this->getSlidesData(); if (!empty($slidesData)) { $slideId = key($slidesData); if ($slideId > 0) { ?> Template/Index.php000064400000003257150515624260010114 0ustar00
ControllerPreview.php000064400000010642150515624260010753 0ustar00sliderId = Request::$REQUEST->getInt('sliderid'); SmartSlider3Info::$forceDesktop = true; } public function actionIndex() { if ($this->validateToken() && $this->validatePermission('smartslider_edit')) { $view = new ViewPreviewIndex($this); $view->setSliderID($this->sliderId); $sliderData = Request::$POST->getVar('slider', false); if (!is_array($sliderData)) { $sliderData = false; } $view->setSliderData($sliderData); $view->display(); } else { $this->permissionError(); } } public function actionFull() { if ($this->validateToken()) { $view = new ViewPreviewFull($this); $view->setSliderData(json_decode(Request::$POST->getVar('sliderData', '[]'), true)); $view->setSlidesData(json_decode(Request::$POST->getVar('slidesData', '[]'), true)); $view->setGeneratorData(json_decode(Request::$POST->getVar('generatorData', '[]'), true)); $view->setSliderID($this->sliderId); $view->display(); } else { $this->permissionError(); } } public function actionSlider() { if ($this->validateToken() && $this->validatePermission('smartslider_edit')) { $view = new ViewPreviewIndex($this); $view->setIsIframe(true); $view->setSliderID($this->sliderId); $sliderData = Request::$POST->getVar('slider', false); if (!is_array($sliderData)) { $sliderData = false; } $view->setSliderData($sliderData); $view->display(); } else { $this->permissionError(); } } public function actionSlide() { if ($this->validateToken() && $this->validatePermission('smartslider_edit')) { $slideId = Request::$REQUEST->getInt('slideId'); if ($this->sliderId) { $slidesData = array(); $slidesModel = new ModelSlides($this); $slideData = Request::$REQUEST->getVar('slide'); if (!empty($slideData)) { $slide = $slidesModel->convertSlideDataToDatabaseRow(json_decode(Base64::decode($slideData), true)); $slide['slide'] = json_encode($slide['slide']); $slide['params'] = json_encode($slide['params']); if ($slideId) { $slide['id'] = $slideId; $slidesData[$slideId] = $slide; } } $view = new ViewPreviewIndex($this); if (Request::$REQUEST->getVar('frame')) { $view->setIsIframe(true); } $view->setSliderID($this->sliderId); $view->setSlidesData($slidesData); $view->display(); } } else { $this->permissionError(); } } public function actionGenerator() { if ($this->validateToken() && $this->validatePermission('smartslider_edit')) { $generator_id = Request::$REQUEST->getInt('generator_id'); $generatorModel = new ModelGenerator($this); $sliderID = $generatorModel->getSliderId($generator_id); if ($sliderID) { $generatorData = array(); $generatorData[$generator_id] = Request::$REQUEST->getVar('generator'); $view = new ViewPreviewIndex($this); $view->setIsIframe(true); $view->setSliderID($sliderID); $view->setGeneratorData($generatorData); $view->display(); } } else { $this->permissionError(); } } private function permissionError() { $this->redirectToSliders(); } }Block/PreviewToolbar/BlockPreviewToolbar.php000064400000001213150515624260015175 0ustar00renderTemplatePart('PreviewToolbar'); } /** * @return int */ public function getSliderID() { return $this->sliderID; } /** * @param int $sliderID */ public function setSliderID($sliderID) { $this->sliderID = $sliderID; } }Block/PreviewToolbar/PreviewToolbar.php000064400000004155150515624260014232 0ustar00
1200
X
800
addClass('n2_button_preview_orientation'); $buttonOrientation->addAttribute('data-n2tip', n2_('Toggle orientation')); $buttonOrientation->setBig(); $buttonOrientation->setIcon('ssi_24 ssi_24--orientation'); $buttonOrientation->display(); $spacer = new BlockButtonSpacer($this); $spacer->setIsVisible(true); $spacer->display(); $buttonReload = new BlockButtonPlainIcon($this); $buttonReload->addClass('n2_button_preview_reload'); $buttonReload->addAttribute('data-n2tip', n2_('Reload preview')); $buttonReload->setBig(); $buttonReload->setIcon('ssi_24 ssi_24--redo'); $buttonReload->display(); $buttonFullPreview = new BlockButtonPlainIcon($this); $buttonFullPreview->setUrl($this->getUrlPreviewFull($this->getSliderID())); $buttonFullPreview->addAttribute('data-n2tip', n2_('Open preview in full')); $buttonFullPreview->setTarget('_blank'); $buttonFullPreview->setBig(); $buttonFullPreview->setIcon('ssi_24 ssi_24--newwindow'); $buttonFullPreview->display(); ?>