/** * * export slider from data, output a file for download */ public function exportSlider($useDummy = false) { $export_zip = true; if (function_exists("unzip_file") == false) { if (UniteZipRev::isZipExists() == false) { $export_zip = false; } //UniteFunctionsRev::throwError("The ZipArchive php extension not exists, can't create the export file. Please turn it on in php ini."); } if (!class_exists('ZipArchive')) { $export_zip = false; } //if(!class_exists('ZipArchive')) UniteFunctionsRev::throwError("The ZipArchive php extension not exists, can't create the export file. Please turn it on in php ini."); if ($export_zip) { $zip = new ZipArchive(); $success = $zip->open(GlobalsRevSlider::$urlExportZip, ZipArchive::OVERWRITE); if ($success == false) { throwError("Can't create zip file: " . GlobalsRevSlider::$urlExportZip); } $this->validateInited(); $sliderParams = $this->getParamsForExport(); $arrSlides = $this->getSlidesForExport($useDummy); $arrSliderExport = array("params" => $sliderParams, "slides" => $arrSlides); $strExport = serialize($arrSliderExport); //$strExportAnim = serialize(RevOperations::getFullCustomAnimations()); $exportname = !empty($this->alias) ? $this->alias . '.zip' : "slider_export.zip"; $usedCaptions = array(); $usedAnimations = array(); $usedImages = array(); if (!empty($arrSlides) && count($arrSlides) > 0) { foreach ($arrSlides as $key => $slide) { if (isset($slide['params']['image']) && $slide['params']['image'] != '') { $usedImages[$slide['params']['image']] = true; } //['params']['image'] background url if (isset($slide['layers']) && !empty($slide['layers']) && count($slide['layers']) > 0) { foreach ($slide['layers'] as $lKey => $layer) { if (isset($layer['style']) && $layer['style'] != '') { $usedCaptions[$layer['style']] = true; } if (isset($layer['animation']) && $layer['animation'] != '' && strpos($layer['animation'], 'customin') !== false) { $usedAnimations[str_replace('customin-', '', $layer['animation'])] = true; } if (isset($layer['endanimation']) && $layer['endanimation'] != '' && strpos($layer['endanimation'], 'customout') !== false) { $usedAnimations[str_replace('customout-', '', $layer['endanimation'])] = true; } if (isset($layer['image_url']) && $layer['image_url'] != '') { $usedImages[$layer['image_url']] = true; } //image_url if image caption } } } } $styles = ''; if (!empty($usedCaptions)) { $captions = array(); foreach ($usedCaptions as $class => $val) { $captions[] = RevOperations::getCaptionsContentArray($class); } $styles = UniteCssParserRev::parseArrayToCss($captions, "\n"); } $animations = ''; if (!empty($usedAnimations)) { $animation = array(); foreach ($usedAnimations as $anim => $val) { $anima = RevOperations::getFullCustomAnimationByID($anim); if ($anima !== false) { $animation[] = RevOperations::getFullCustomAnimationByID($anim); } } if (!empty($animation)) { $animations = serialize($animation); } } //add images to zip if (!empty($usedImages)) { $upload_dir = UniteFunctionsWPRev::getPathUploads(); foreach ($usedImages as $file => $val) { if ($useDummy == "true") { //only use dummy images } else { //use the real images $zip->addFile($upload_dir . $file, 'images/' . $file); } } } $zip->addFromString("slider_export.txt", $strExport); //add slider settings if (strlen(trim($animations)) > 0) { $zip->addFromString("custom_animations.txt", $animations); } //add custom animations if (strlen(trim($styles)) > 0) { $zip->addFromString("dynamic-captions.css", $styles); } //add dynamic styles //$zip->addFromString("custom_animations.txt", $strExportAnim); //add custom animations //$zip->addFile(GlobalsRevSlider::$filepath_dynamic_captions,'dynamic-captions.css'); //add dynamic styles $zip->addFile(GlobalsRevSlider::$filepath_static_captions, 'static-captions.css'); //add static styles $zip->close(); header("Content-type: application/zip"); header("Content-Disposition: attachment; filename=" . $exportname); header("Pragma: no-cache"); header("Expires: 0"); readfile(GlobalsRevSlider::$urlExportZip); @unlink(GlobalsRevSlider::$urlExportZip); //delete file after sending it to user } else { //fallback, do old export $this->validateInited(); $sliderParams = $this->getParamsForExport(); $arrSlides = $this->getSlidesForExport(); $arrSliderExport = array("params" => $sliderParams, "slides" => $arrSlides); $strExport = serialize($arrSliderExport); if (!empty($this->alias)) { $filename = $this->alias . ".txt"; } else { $filename = "slider_export.txt"; } UniteFunctionsRev::downloadFile($strExport, $filename); } }
/** * * update dynamic-captions css file content */ public static function updateDynamicCaptions($full = false) { if ($full) { $captions = array(); $captions = RevOperations::getCaptionsContentArray(); $styles = UniteCssParserRev::parseArrayToCss($captions, "\n"); //write styles into dynamic css //UniteFunctionsRev::writeFile($styles, GlobalsRevSlider::$filepath_dynamic_captions); } else { //go through all sliders and check which classes are used, get all classes from DB and write them into the file $slider = new RevSlider(); $arrSliders = $slider->getArrSliders(); $classes = array(); //get used classes if (!empty($arrSliders)) { foreach ($arrSliders as $slider) { try { $slides = $slider->getSlides(); if (!empty($slides)) { foreach ($slides as $slide) { $layers = $slide->getLayers(); if (!empty($layers)) { foreach ($layers as $layer) { if (isset($layer['style'])) { if (!empty($layer['style'])) { $classes[$layer['style']] = true; } } } } } } } catch (Exception $e) { $errorMessage = "ERROR: " . $e->getMessage(); } } } if (!empty($classes)) { $captions = array(); foreach ($classes as $class => $val) { $captionCheck = RevOperations::getCaptionsContentArray($class); if (!empty($captionCheck)) { $captions[] = $captionCheck; } } $styles = UniteCssParserRev::parseArrayToCss($captions, "\n"); //write styles into dynamic css //UniteFunctionsRev::writeFile($styles, GlobalsRevSlider::$filepath_dynamic_captions); } } }
} require self::getSettingsFilePath("slide_settings"); require self::getSettingsFilePath("layer_settings"); //add tools.min.js self::addScript("jquery.themepunch.tools.min", "rs-plugin/js", 'tp-tools'); $settingsLayerOutput = new UniteSettingsProductSidebarRev(); $settingsSlideOutput = new UniteSettingsRevProductRev(); $arrLayers = $slide->getLayers(); $loadGoogleFont = $slider->getParam("load_googlefont", "false"); //get settings objects $settingsLayer = self::getSettings("layer_settings"); $settingsSlide = self::getSettings("slide_settings"); $cssContent = self::getSettings("css_captions_content"); $arrCaptionClasses = $operations->getArrCaptionClasses($cssContent); $arrFontFamily = $operations->getArrFontFamilys($slider); $arrCSS = $operations->getCaptionsContentArray(); $arrButtonClasses = $operations->getButtonClasses(); $urlCaptionsCSS = GlobalsRevSlider::$urlCaptionsCSS; $arrAnim = $operations->getFullCustomAnimations(); //set layer caption as first caption class $firstCaption = !empty($arrCaptionClasses) ? $arrCaptionClasses[0] : ""; $settingsLayer->updateSettingValue("layer_caption", $firstCaption); //set stored values from "slide params" $settingsSlide->setStoredValues($slideParams); //init the settings output object $settingsLayerOutput->init($settingsLayer); $settingsSlideOutput->init($settingsSlide); //set various parameters needed for the page $width = $sliderParams["width"]; $height = $sliderParams["height"]; $imageUrl = $slide->getImageUrl();
/** * Constructor */ public function __construct() { parent::__construct(); //get input $slideID = $this->getRequest()->getParam('id'); //init slide object $slide = new RevSlide(); $slide->initByID($slideID); $slideParams = $slide->getParams(); $operations = new RevOperations(); //init slider object $sliderID = $slide->getSliderID(); $slider = new RevSlider(); $slider->initByID($sliderID); $sliderParams = $slider->getParams(); $arrSlideNames = $slider->getArrSlideNames(); //check if slider is template $sliderTemplate = $slider->getParam("template", "false"); //set slide delay $sliderDelay = $slider->getParam("delay", "9000"); $slideDelay = $slide->getParam("delay", ""); if (empty($slideDelay)) { $slideDelay = $sliderDelay; } require $this->getSettingsFilePath("slide_settings"); require $this->getSettingsFilePath("layer_settings"); $settingsLayerOutput = new UniteSettingsProductSidebarRev(); $settingsSlideOutput = new UniteSettingsRevProductRev(); $arrLayers = $slide->getLayers(); $loadGoogleFont = $slider->getParam("load_googlefont", "false"); //get settings objects $settingsLayer = $this->getSettings("layer_settings"); $settingsSlide = $this->getSettings("slide_settings"); $cssContent = $this->getSettings("css_captions_content"); $arrCaptionClasses = $operations->getArrCaptionClasses($cssContent); $arrFontFamily = $operations->getArrFontFamilys($slider); $arrCSS = $operations->getCaptionsContentArray(); $arrButtonClasses = $operations->getButtonClasses(); $urlCaptionsCSS = GlobalsRevSlider::$urlCaptionsCSS; $arrAnim = $operations->getFullCustomAnimations(); //set layer caption as first caption class $firstCaption = !empty($arrCaptionClasses) ? $arrCaptionClasses[0] : ""; $settingsLayer->updateSettingValue("layer_caption", $firstCaption); //set stored values from "slide params" $settingsSlide->setStoredValues($slideParams); //init the settings output object $settingsLayerOutput->init($settingsLayer); $settingsSlideOutput->init($settingsSlide); //set various parameters needed for the page $width = $sliderParams["width"]; $height = $sliderParams["height"]; $imageUrl = $slide->getImageUrl(); $imageID = $slide->getImageID(); $imageFilename = $slide->getImageFilename(); $style = "height:" . $height . "px;"; // $divLayersWidth = "width:" . $width . "px;"; $divbgminwidth = "min-width:" . $width . "px;"; //set iframe parameters $iframeWidth = $width + 60; $iframeHeight = $height + 50; $iframeStyle = "width:" . $iframeWidth . "px;height:" . $iframeHeight . "px;"; $closeUrl = $this->getViewUrl(RevSliderAdmin::VIEW_SLIDES, "id=" . $sliderID); $jsonLayers = UniteFunctionsRev::jsonEncodeForClientSide($arrLayers); $jsonCaptions = UniteFunctionsRev::jsonEncodeForClientSide($arrCaptionClasses); $jsonFontFamilys = UniteFunctionsRev::jsonEncodeForClientSide($arrFontFamily); $arrCssStyles = UniteFunctionsRev::jsonEncodeForClientSide($arrCSS); $arrCustomAnim = UniteFunctionsRev::jsonEncodeForClientSide($arrAnim); //bg type params $bgType = UniteFunctionsRev::getVal($slideParams, "background_type", "image"); $slideBGColor = UniteFunctionsRev::getVal($slideParams, "slide_bg_color", "#E7E7E7"); $divLayersClass = "slide_layers"; $bgSolidPickerProps = 'class="inputColorPicker slide_bg_color disabled" disabled="disabled"'; $bgFit = UniteFunctionsRev::getVal($slideParams, "bg_fit", "cover"); $bgFitX = intval(UniteFunctionsRev::getVal($slideParams, "bg_fit_x", "100")); $bgFitY = intval(UniteFunctionsRev::getVal($slideParams, "bg_fit_y", "100")); $bgPosition = UniteFunctionsRev::getVal($slideParams, "bg_position", "center top"); $bgPositionX = intval(UniteFunctionsRev::getVal($slideParams, "bg_position_x", "0")); $bgPositionY = intval(UniteFunctionsRev::getVal($slideParams, "bg_position_y", "0")); $bgEndPosition = UniteFunctionsRev::getVal($slideParams, "bg_end_position", "center top"); $bgEndPositionX = intval(UniteFunctionsRev::getVal($slideParams, "bg_end_position_x", "0")); $bgEndPositionY = intval(UniteFunctionsRev::getVal($slideParams, "bg_end_position_y", "0")); $kenburn_effect = UniteFunctionsRev::getVal($slideParams, "kenburn_effect", "off"); $kb_duration = UniteFunctionsRev::getVal($slideParams, "kb_duration", $sliderParams["delay"]); $kb_easing = UniteFunctionsRev::getVal($slideParams, "kb_easing", "Linear.easeNone"); $kb_start_fit = UniteFunctionsRev::getVal($slideParams, "kb_start_fit", "100"); $kb_end_fit = UniteFunctionsRev::getVal($slideParams, "kb_end_fit", "100"); $bgRepeat = UniteFunctionsRev::getVal($slideParams, "bg_repeat", "no-repeat"); $slideBGExternal = UniteFunctionsRev::getVal($slideParams, "slide_bg_external", ""); $style_wrapper = ''; $class_wrapper = ''; switch ($bgType) { case "trans": $divLayersClass = "slide_layers"; $class_wrapper = "trans_bg"; break; case "solid": $style_wrapper .= "background-color:" . $slideBGColor . ";"; $bgSolidPickerProps = 'class="inputColorPicker slide_bg_color" style="background-color:' . $slideBGColor . '"'; break; case "image": $style_wrapper .= "background-image:url('" . $imageUrl . "');"; if ($bgFit == 'percentage') { $style_wrapper .= "background-size: " . $bgFitX . '% ' . $bgFitY . '%;'; } else { $style_wrapper .= "background-size: " . $bgFit . ";"; } if ($bgPosition == 'percentage') { $style_wrapper .= "background-position: " . $bgPositionX . '% ' . $bgPositionY . '%;'; } else { $style_wrapper .= "background-position: " . $bgPosition . ";"; } $style_wrapper .= "background-repeat: " . $bgRepeat . ";"; break; case "external": $style_wrapper .= "background-image:url('" . $slideBGExternal . "');"; if ($bgFit == 'percentage') { $style_wrapper .= "background-size: " . $bgFitX . '% ' . $bgFitY . '%;'; } else { $style_wrapper .= "background-size: " . $bgFit . ";"; } if ($bgPosition == 'percentage') { $style_wrapper .= "background-position: " . $bgPositionX . '% ' . $bgPositionY . '%;'; } else { $style_wrapper .= "background-position: " . $bgPosition . ";"; } $style_wrapper .= "background-repeat: " . $bgRepeat . ";"; break; } $slideTitle = $slide->getParam("title", "Slide"); $slideOrder = $slide->getOrder(); $this->assign('loadGoogleFont', $loadGoogleFont)->assign('settingsLayerOutput', $settingsLayerOutput)->assign('slider', $slider)->assign('slide', $slide)->assign('sliderTemplate', $sliderTemplate)->assign('slideOrder', $slideOrder)->assign('slideTitle', $slideTitle)->assign('slideDelay', $slideDelay)->assign('sliderParams', $sliderParams)->assign('arrSlideNames', $arrSlideNames)->assign('arrCustomAnim', $arrCustomAnim)->assign('slideID', $slideID)->assign('sliderID', $sliderID)->assign('settingsSlideOutput', $settingsSlideOutput)->assign('imageUrl', $imageUrl)->assign('imageID', $imageID)->assign('bgType', $bgType)->assign('slideBGColor', $slideBGColor)->assign('divLayersClass', $divLayersClass)->assign('bgSolidPickerProps', $bgSolidPickerProps)->assign('bgFit', $bgFit)->assign('bgFitX', $bgFitX)->assign('bgFitY', $bgFitY)->assign('bgRepeat', $bgRepeat)->assign('bgPosition', $bgPosition)->assign('bgPositionX', $bgPositionX)->assign('bgPositionY', $bgPositionY)->assign('bgEndPosition', $bgEndPosition)->assign('bgEndPositionX', $bgEndPositionX)->assign('bgEndPositionY', $bgEndPositionY)->assign('slideBGExternal', $slideBGExternal)->assign('slideBGColor', $slideBGColor)->assign('style', $style)->assign('iframeStyle', $iframeStyle)->assign('closeUrl', $closeUrl)->assign('jsonLayers', $jsonLayers)->assign('jsonCaptions', $jsonCaptions)->assign('jsonFontFamilys', $jsonFontFamilys)->assign('arrCssStyles', $arrCssStyles)->assign('arrButtonClasses', $arrButtonClasses)->assign('urlCaptionsCSS', $urlCaptionsCSS)->assign('divLayersWidth', $divLayersWidth)->assign('divbgminwidth', $divbgminwidth)->assign('style_wrapper', $style_wrapper)->assign('class_wrapper', $class_wrapper)->assign('kenburn_effect', $kenburn_effect)->assign('kb_duration', $kb_duration)->assign('kb_easing', $kb_easing)->assign('kb_start_fit', $kb_start_fit)->assign('kb_end_fit', $kb_end_fit); }
/** * * export slider from data, output a file for download */ public function exportSlider($useDummy = false) { $export_zip = true; if (function_exists("unzip_file") == false) { if (UniteZipRev::isZipExists() == false) { $export_zip = false; } } if (!class_exists('ZipArchive')) { $export_zip = false; } if ($export_zip) { $zip = new ZipArchive(); $success = $zip->open(GlobalsRevSlider::$urlExportZip, ZIPARCHIVE::CREATE | ZipArchive::OVERWRITE); if ($success !== true) { throwError("Can't create zip file: " . GlobalsRevSlider::$urlExportZip); } $this->validateInited(); $sliderParams = $this->getParamsForExport(); $arrSlides = $this->getSlidesForExport($useDummy); $arrStaticSlide = $this->getStaticSlideForExport($useDummy); $arrSliderExport = array("params" => $sliderParams, "slides" => $arrSlides); if ($useDummy == 'true') { $upload_dir = wp_upload_dir(); $arrSliderExport = $this->recursive_preg_replace('#^uploads#', $upload_dir['baseurl'], $arrSliderExport); } if (!empty($arrStaticSlide)) { $arrSliderExport['static_slides'] = $arrStaticSlide; } $strExport = serialize($arrSliderExport); //$strExportAnim = serialize(RevOperations::getFullCustomAnimations()); $exportname = !empty($this->alias) ? $this->alias . '.zip' : "slider_export.zip"; $usedCaptions = array(); $usedAnimations = array(); $usedImages = array(); if (!empty($arrSlides) && count($arrSlides) > 0) { foreach ($arrSlides as $key => $slide) { if (isset($slide['params']['image']) && $slide['params']['image'] != '') { $usedImages[$slide['params']['image']] = true; } //['params']['image'] background url if (isset($slide['layers']) && !empty($slide['layers']) && count($slide['layers']) > 0) { foreach ($slide['layers'] as $lKey => $layer) { if (isset($layer['style']) && $layer['style'] != '') { $usedCaptions[$layer['style']] = true; } if (isset($layer['animation']) && $layer['animation'] != '' && strpos($layer['animation'], 'customin') !== false) { $usedAnimations[str_replace('customin-', '', $layer['animation'])] = true; } if (isset($layer['endanimation']) && $layer['endanimation'] != '' && strpos($layer['endanimation'], 'customout') !== false) { $usedAnimations[str_replace('customout-', '', $layer['endanimation'])] = true; } if (isset($layer['image_url']) && $layer['image_url'] != '') { $usedImages[$layer['image_url']] = true; } //image_url if image caption } } } } if (!empty($arrStaticSlide) && count($arrStaticSlide) > 0) { foreach ($arrStaticSlide as $key => $slide) { if (isset($slide['params']['image']) && $slide['params']['image'] != '') { $usedImages[$slide['params']['image']] = true; } //['params']['image'] background url if (isset($slide['layers']) && !empty($slide['layers']) && count($slide['layers']) > 0) { foreach ($slide['layers'] as $lKey => $layer) { if (isset($layer['style']) && $layer['style'] != '') { $usedCaptions[$layer['style']] = true; } if (isset($layer['animation']) && $layer['animation'] != '' && strpos($layer['animation'], 'customin') !== false) { $usedAnimations[str_replace('customin-', '', $layer['animation'])] = true; } if (isset($layer['endanimation']) && $layer['endanimation'] != '' && strpos($layer['endanimation'], 'customout') !== false) { $usedAnimations[str_replace('customout-', '', $layer['endanimation'])] = true; } if (isset($layer['image_url']) && $layer['image_url'] != '') { $usedImages[$layer['image_url']] = true; } //image_url if image caption } } } } $styles = ''; if (!empty($usedCaptions)) { $captions = array(); foreach ($usedCaptions as $class => $val) { $cap = RevOperations::getCaptionsContentArray($class); if (!empty($cap)) { $captions[] = $cap; } } $styles = UniteCssParserRev::parseArrayToCss($captions, "\n", false); } $animations = ''; if (!empty($usedAnimations)) { $animation = array(); foreach ($usedAnimations as $anim => $val) { $anima = RevOperations::getFullCustomAnimationByID($anim); if ($anima !== false) { $animation[] = RevOperations::getFullCustomAnimationByID($anim); } } if (!empty($animation)) { $animations = serialize($animation); } } //add images to zip if (!empty($usedImages)) { $upload_dir = UniteFunctionsWPRev::getPathUploads(); $upload_dir_multisiteless = wp_upload_dir(); $cont_url = $upload_dir_multisiteless['baseurl']; $cont_url_no_www = str_replace('www.', '', $upload_dir_multisiteless['baseurl']); $upload_dir_multisiteless = $upload_dir_multisiteless['basedir'] . '/'; foreach ($usedImages as $file => $val) { if ($useDummy == "true") { //only use dummy images } else { //use the real images if (strpos($file, 'http') !== false) { $checkpath = str_replace(array($cont_url, $cont_url_no_www), '', $file); if (is_file($upload_dir . $checkpath)) { $zip->addFile($upload_dir . $checkpath, 'images/' . $checkpath); } elseif (is_file($upload_dir_multisiteless . $checkpath)) { $zip->addFile($upload_dir_multisiteless . $checkpath, 'images/' . $checkpath); } } else { if (is_file($upload_dir . $file)) { $zip->addFile($upload_dir . $file, 'images/' . $file); } elseif (is_file($upload_dir_multisiteless . $file)) { $zip->addFile($upload_dir_multisiteless . $file, 'images/' . $file); } } } } } $zip->addFromString("slider_export.txt", $strExport); //add slider settings if (strlen(trim($animations)) > 0) { $zip->addFromString("custom_animations.txt", $animations); } //add custom animations if (strlen(trim($styles)) > 0) { $zip->addFromString("dynamic-captions.css", $styles); } //add dynamic styles $static_css = RevOperations::getStaticCss(); $zip->addFromString("static-captions.css", $static_css); //add slider settings $zip->close(); header("Content-type: application/zip"); header("Content-Disposition: attachment; filename=" . $exportname); header("Pragma: no-cache"); header("Expires: 0"); readfile(GlobalsRevSlider::$urlExportZip); @unlink(GlobalsRevSlider::$urlExportZip); //delete file after sending it to user } else { //fallback, do old export $this->validateInited(); $sliderParams = $this->getParamsForExport(); $arrSlides = $this->getSlidesForExport(); $arrSliderExport = array("params" => $sliderParams, "slides" => $arrSlides); $strExport = serialize($arrSliderExport); if (!empty($this->alias)) { $filename = $this->alias . ".txt"; } else { $filename = "slider_export.txt"; } UniteFunctionsRev::downloadFile($strExport, $filename); } }
public function exportSlider($useDummy = false) { $export_zip = true; if (function_exists("unzip_file") == false) { if (UniteZipRev::isZipExists() == false) { $export_zip = false; } } if (!class_exists('ZipArchive')) { $export_zip = false; } if ($export_zip) { $zip = new ZipArchive(); // $success = $zip->open(GlobalsRevSlider::$urlExportZip, ZIPARCHIVE::CREATE | ZipArchive::OVERWRITE); $success = $zip->open(GlobalsRevSlider::$urlExportZip, ZipArchive::OVERWRITE); if ($success !== true) { throwError("Can't create zip file: " . GlobalsRevSlider::$urlExportZip); } $this->validateInited(); $sliderParams = $this->getParamsForExport(); $arrSlides = $this->getSlidesForExport($useDummy); $arrStaticSlide = $this->getStaticSlideForExport($useDummy); $arrSliderExport = array("params" => $sliderParams, "slides" => $arrSlides); if (!empty($arrStaticSlide)) { $arrSliderExport['static_slides'] = $arrStaticSlide; } $strExport = serialize($arrSliderExport); $exportname = !empty($this->alias) ? $this->alias . '.zip' : "slider_export.zip"; $usedCaptions = array(); $usedAnimations = array(); $usedImages = array(); if (!empty($arrSlides) && count($arrSlides) > 0) { foreach ($arrSlides as $key => $slide) { if (isset($slide['params']['image']) && $slide['params']['image'] != '') { $usedImages[$slide['params']['image']] = true; } if (isset($slide['layers']) && !empty($slide['layers']) && count($slide['layers']) > 0) { foreach ($slide['layers'] as $lKey => $layer) { if (isset($layer['style']) && $layer['style'] != '') { $usedCaptions[$layer['style']] = true; } if (isset($layer['animation']) && $layer['animation'] != '' && strpos($layer['animation'], 'customin') !== false) { $usedAnimations[str_replace('customin-', '', $layer['animation'])] = true; } if (isset($layer['endanimation']) && $layer['endanimation'] != '' && strpos($layer['endanimation'], 'customout') !== false) { $usedAnimations[str_replace('customout-', '', $layer['endanimation'])] = true; } if (isset($layer['image_url']) && $layer['image_url'] != '') { $usedImages[$layer['image_url']] = true; } } } } } if (!empty($arrStaticSlide) && count($arrStaticSlide) > 0) { foreach ($arrStaticSlide as $key => $slide) { if (isset($slide['params']['image']) && $slide['params']['image'] != '') { $usedImages[$slide['params']['image']] = true; } if (isset($slide['layers']) && !empty($slide['layers']) && count($slide['layers']) > 0) { foreach ($slide['layers'] as $lKey => $layer) { if (isset($layer['style']) && $layer['style'] != '') { $usedCaptions[$layer['style']] = true; } if (isset($layer['animation']) && $layer['animation'] != '' && strpos($layer['animation'], 'customin') !== false) { $usedAnimations[str_replace('customin-', '', $layer['animation'])] = true; } if (isset($layer['endanimation']) && $layer['endanimation'] != '' && strpos($layer['endanimation'], 'customout') !== false) { $usedAnimations[str_replace('customout-', '', $layer['endanimation'])] = true; } if (isset($layer['image_url']) && $layer['image_url'] != '') { $usedImages[$layer['image_url']] = true; } } } } } $styles = ''; if (!empty($usedCaptions)) { $captions = array(); foreach ($usedCaptions as $class => $val) { $cap = RevOperations::getCaptionsContentArray($class); if (!empty($cap)) { $captions[] = $cap; } } $styles = UniteCssParserRev::parseArrayToCss($captions, "\n"); } $animations = ''; if (!empty($usedAnimations)) { $animation = array(); foreach ($usedAnimations as $anim => $val) { $anima = RevOperations::getFullCustomAnimationByID($anim); if ($anima !== false) { $animation[] = RevOperations::getFullCustomAnimationByID($anim); } } if (!empty($animation)) { $animations = serialize($animation); } } if (!empty($usedImages)) { // $upload_dir = UniteFunctionsWPRev::getPathUploads(); $upload_dir = get_mainsite_dir(); foreach ($usedImages as $file => $val) { if ($useDummy == "true") { } else { if (strpos($file, 'http') !== false) { } else { if (is_file($upload_dir . $file)) { $zip->addFile(realpath($upload_dir . $file), 'images/' . $file); } } } } } $zip->addFromString("slider_export.txt", $strExport); if (strlen(trim($animations)) > 0) { $zip->addFromString("custom_animations.txt", $animations); } if (strlen(trim($styles)) > 0) { $zip->addFromString("dynamic-captions.css", $styles); } $static_css = RevOperations::getStaticCss(); $zip->addFromString("static-captions.css", $static_css); $zip->close(); header("Content-type: application/zip"); header("Content-Disposition: attachment; filename=" . $exportname); header("Pragma: no-cache"); header("Expires: 0"); readfile(GlobalsRevSlider::$urlExportZip); @unlink(GlobalsRevSlider::$urlExportZip); } else { $this->validateInited(); $sliderParams = $this->getParamsForExport(); $arrSlides = $this->getSlidesForExport(); $arrSliderExport = array("params" => $sliderParams, "slides" => $arrSlides); $strExport = serialize($arrSliderExport); if (!empty($this->alias)) { $filename = $this->alias . ".txt"; } else { $filename = "slider_export.txt"; } UniteFunctionsRev::downloadFile($strExport, $filename); } }
public static function updateDynamicCaptions($full = false) { if ($full) { $captions = array(); $captions = RevOperations::getCaptionsContentArray(); $styles = UniteCssParserRev::parseArrayToCss($captions, "\n"); UniteFunctionsRev::writeFile($styles, GlobalsRevSlider::$filepath_dynamic_captions); } else { $slider = new RevSlider(); $arrSliders = $slider->getArrSliders(); $classes = array(); if (!empty($arrSliders)) { foreach ($arrSliders as $slider) { try { $slides = $slider->getSlides(); if (!empty($slides)) { foreach ($slides as $slide) { $layers = $slide->getLayers(); if (!empty($layers)) { foreach ($layers as $layer) { if (isset($layer['style'])) { if (!empty($layer['style'])) { $classes[$layer['style']] = true; } } } } } } } catch (Exception $e) { $errorMessage = "ERROR: " . $e->getMessage(); } } } if (!empty($classes)) { $captions = array(); foreach ($classes as $class => $val) { $captionCheck = RevOperations::getCaptionsContentArray($class); if (!get_magic_quotes_gpc()) { $captionCheck = str_replace('"', "'", $captionCheck); } else { $captionCheck = str_replace('"', "'", $captionCheck); $captionCheck = str_replace('\\\\', "", $captionCheck); } if (!empty($captionCheck)) { $captions[] = $captionCheck; } } $styles = UniteCssParserRev::parseArrayToCss($captions, "\n"); UniteFunctionsRev::writeFile($styles, GlobalsRevSlider::$filepath_dynamic_captions); } } }