/** * * get meta query for filtering woocommerce posts. */ public static function getMetaQuery($args) { $regPriceFrom = RevSliderFunctions::getVal($args, self::ARG_REGULAR_PRICE_FROM); $regPriceTo = RevSliderFunctions::getVal($args, self::ARG_REGULAR_PRICE_TO); $salePriceFrom = RevSliderFunctions::getVal($args, self::ARG_SALE_PRICE_FROM); $salePriceTo = RevSliderFunctions::getVal($args, self::ARG_SALE_PRICE_TO); $inStockOnly = RevSliderFunctions::getVal($args, self::ARG_IN_STOCK_ONLY); $featuredOnly = RevSliderFunctions::getVal($args, self::ARG_FEATURED_ONLY); $arrQueries = array(); //get regular price array if (!empty($regPriceFrom) || !empty($regPriceTo)) { $arrQueries[] = self::getPriceQuery($regPriceFrom, $regPriceTo, self::META_REGULAR_PRICE); } //get sale price array if (!empty($salePriceFrom) || !empty($salePriceTo)) { $arrQueries[] = self::getPriceQuery($salePriceFrom, $salePriceTo, self::META_SALE_PRICE); } if ($inStockOnly == "on") { $query = array('key' => self::META_STOCK_STATUS, 'value' => "instock"); $arrQueries[] = $query; } if ($featuredOnly == "on") { $query = array('key' => self::META_FEATURED, 'value' => "yes"); $arrQueries[] = $query; } $query = array(); if (!empty($arrQueries)) { $query = array("meta_query" => $arrQueries); } return $query; }
/** * * put rev slider on the page. * the data can be slider ID or slider alias. */ function putRevSlider($data, $putIn = "") { $operations = new RevSliderOperations(); $arrValues = $operations->getGeneralSettingsValues(); $includesGlobally = RevSliderFunctions::getVal($arrValues, "includes_globally", "on"); $strPutIn = RevSliderFunctions::getVal($arrValues, "pages_for_includes"); $isPutIn = RevSliderOutput::isPutIn($strPutIn, true); if ($isPutIn == false && $includesGlobally == "off") { $output = new RevSliderOutput(); $option1Name = __("Include RevSlider libraries globally (all pages/posts)", 'revslider'); $option2Name = __("Pages to include RevSlider libraries", 'revslider'); $output->putErrorMessage(__("If you want to use the PHP function \"putRevSlider\" in your code please make sure to check \" ", 'revslider') . $option1Name . __(" \" in the backend's \"General Settings\" (top right panel). <br> <br> Or add the current page to the \"", 'revslider') . $option2Name . __("\" option box.", 'revslider')); return false; } ob_start(); $slider = RevSliderOutput::putSlider($data, $putIn); $content = ob_get_contents(); ob_clean(); ob_end_clean(); if (is_object($slider)) { $disable_on_mobile = @$slider->getParam("disable_on_mobile", "off"); // Do not output Slider if we are on mobile if ($disable_on_mobile == 'on') { $mobile = strstr($_SERVER['HTTP_USER_AGENT'], 'Android') || strstr($_SERVER['HTTP_USER_AGENT'], 'webOS') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPod') || strstr($_SERVER['HTTP_USER_AGENT'], 'Windows Phone') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPad') || wp_is_mobile() ? true : false; if ($mobile) { return false; } } } echo $content; }
</span> </div> </form> <!-- END OF AMAZING TOOLBAR --> <?php $slidertype = $slider->getParam("slider_type", "fullwidth"); $style .= ' margin: 0 auto;'; $tempwidth_jq = $maxbgwidth; if ($slidertype == 'fullwidth' || $slidertype == 'fullscreen') { $style_wrapper .= ' width: 100%;'; $maxbgwidth = ""; } else { $style_wrapper .= $style; } $hor_lines = RevSliderFunctions::getVal($settings, "hor_lines", ""); $ver_lines = RevSliderFunctions::getVal($settings, "ver_lines", ""); ?> <script> var __slidertype = "<?php echo $slidertype; ?> "; </script> <div id="thelayer-editor-wrapper"> <!-- THE EDITOR PART --> <div id="horlinie"><div id="horlinetext">0</div></div> <div id="verlinie"><div id="verlinetext">0</div></div> <div id="hor-css-linear"> <ul class="linear-texts"></ul> <div class="helplines-offsetcontainer"> <?php
/** * * onAjax action handler */ public static function onAjaxAction() { $slider = new RevSlider(); $slide = new RevSlide(); $operations = new RevSliderOperations(); $action = self::getPostGetVar("client_action"); $data = self::getPostGetVar("data"); $nonce = self::getPostGetVar("nonce"); if (empty($nonce)) { $nonce = self::getPostGetVar("rs-nonce"); } try { //verify the nonce $isVerified = wp_verify_nonce($nonce, "revslider_actions"); if ($isVerified == false) { RevSliderFunctions::throwError("Wrong request"); } switch ($action) { case 'add_new_preset': if (!isset($data['settings']) || !isset($data['values'])) { self::ajaxResponseError(__('Missing values to add preset', 'revslider'), false); } $result = $operations->add_preset_setting($data); if ($result === true) { $presets = $operations->get_preset_settings(); self::ajaxResponseSuccess(__('Preset created', 'revslider'), array('data' => $presets)); } else { self::ajaxResponseError($result, false); } exit; break; case 'update_preset': if (!isset($data['name']) || !isset($data['values'])) { self::ajaxResponseError(__('Missing values to update preset', 'revslider'), false); } $result = $operations->update_preset_setting($data); if ($result === true) { $presets = $operations->get_preset_settings(); self::ajaxResponseSuccess(__('Preset created', 'revslider'), array('data' => $presets)); } else { self::ajaxResponseError($result, false); } exit; break; case 'remove_preset': if (!isset($data['name'])) { self::ajaxResponseError(__('Missing values to remove preset', 'revslider'), false); } $result = $operations->remove_preset_setting($data); if ($result === true) { $presets = $operations->get_preset_settings(); self::ajaxResponseSuccess(__('Preset deleted', 'revslider'), array('data' => $presets)); } else { self::ajaxResponseError($result, false); } exit; break; case "export_slider": $sliderID = self::getGetVar("sliderid"); $dummy = self::getGetVar("dummy"); $slider->initByID($sliderID); $slider->exportSlider($dummy); break; case "import_slider": $updateAnim = self::getPostGetVar("update_animations"); $updateNav = self::getPostGetVar("update_navigations"); $updateStatic = self::getPostGetVar("update_static_captions"); self::importSliderHandle(null, $updateAnim, $updateStatic, $updateNav); break; case "import_slider_slidersview": $viewBack = self::getViewUrl(self::VIEW_SLIDERS); $updateAnim = self::getPostGetVar("update_animations"); $updateNav = self::getPostGetVar("update_navigations"); $updateStatic = self::getPostGetVar("update_static_captions"); self::importSliderHandle($viewBack, $updateAnim, $updateStatic, $updateNav); break; case "import_slider_online_template_slidersview": $viewBack = self::getViewUrl(self::VIEW_SLIDERS); self::importSliderOnlineTemplateHandle($viewBack, 'true', 'none'); break; case "import_slide_online_template_slidersview": $redirect_id = esc_attr(self::getPostGetVar("redirect_id")); $viewBack = self::getViewUrl(self::VIEW_SLIDE, "id={$redirect_id}"); $slidenum = intval(self::getPostGetVar("slidenum")); $sliderid = intval(self::getPostGetVar("slider_id")); self::importSliderOnlineTemplateHandle($viewBack, 'true', 'none', array('slider_id' => $sliderid, 'slide_id' => $slidenum)); break; case "import_slider_template_slidersview": $viewBack = self::getViewUrl(self::VIEW_SLIDERS); $updateAnim = self::getPostGetVar("update_animations"); $updateStatic = self::getPostGetVar("update_static_captions"); self::importSliderTemplateHandle($viewBack, $updateAnim, $updateStatic); break; case "import_slide_template_slidersview": $redirect_id = esc_attr(self::getPostGetVar("redirect_id")); $viewBack = self::getViewUrl(self::VIEW_SLIDE, "id={$redirect_id}"); $updateAnim = self::getPostGetVar("update_animations"); $updateStatic = self::getPostGetVar("update_static_captions"); $slidenum = intval(self::getPostGetVar("slidenum")); $sliderid = intval(self::getPostGetVar("slider_id")); self::importSliderTemplateHandle($viewBack, $updateAnim, $updateStatic, array('slider_id' => $sliderid, 'slide_id' => $slidenum)); break; case "create_slider": $data = $operations->modifyCustomSliderParams($data); $newSliderID = $slider->createSliderFromOptions($data); self::ajaxResponseSuccessRedirect(__("Slider created", 'revslider'), self::getViewUrl(self::VIEW_SLIDE, 'id=new&slider=' . esc_attr($newSliderID))); //redirect to slide now break; case "update_slider": $data = $operations->modifyCustomSliderParams($data); $slider->updateSliderFromOptions($data); self::ajaxResponseSuccess(__("Slider updated", 'revslider')); break; case "delete_slider": case "delete_slider_stay": $isDeleted = $slider->deleteSliderFromData($data); if (is_array($isDeleted)) { $isDeleted = implode(', ', $isDeleted); self::ajaxResponseError(__("Template can't be deleted, it is still being used by the following Sliders: ", 'revslider') . $isDeleted); } else { if ($action == 'delete_slider_stay') { self::ajaxResponseSuccess(__("Slider deleted", 'revslider')); } else { self::ajaxResponseSuccessRedirect(__("Slider deleted", 'revslider'), self::getViewUrl(self::VIEW_SLIDERS)); } } break; case "duplicate_slider": $slider->duplicateSliderFromData($data); self::ajaxResponseSuccessRedirect(__("Success! Refreshing page...", 'revslider'), self::getViewUrl(self::VIEW_SLIDERS)); break; case "add_slide": case "add_bulk_slide": $numSlides = $slider->createSlideFromData($data); $sliderID = $data["sliderid"]; if ($numSlides == 1) { $responseText = __("Slide Created", 'revslider'); } else { $responseText = $numSlides . " " . __("Slides Created", 'revslider'); } $urlRedirect = self::getViewUrl(self::VIEW_SLIDE, "id=new&slider={$sliderID}"); self::ajaxResponseSuccessRedirect($responseText, $urlRedirect); break; case "add_slide_fromslideview": $slideID = $slider->createSlideFromData($data, true); $urlRedirect = self::getViewUrl(self::VIEW_SLIDE, "id={$slideID}"); $responseText = __("Slide Created, redirecting...", 'revslider'); self::ajaxResponseSuccessRedirect($responseText, $urlRedirect); break; case 'copy_slide_to_slider': $slideID = isset($data['redirect_id']) ? $data['redirect_id'] : -1; if ($slideID === -1) { RevSliderFunctions::throwError(__('Missing redirect ID!', 'revslider')); } $return = $slider->copySlideToSlider($data); if ($return !== true) { RevSliderFunctions::throwError($return); } $urlRedirect = self::getViewUrl(self::VIEW_SLIDE, "id={$slideID}"); $responseText = __("Slide copied to current Slider, redirecting...", 'revslider'); self::ajaxResponseSuccessRedirect($responseText, $urlRedirect); break; case "update_slide": $slide->updateSlideFromData($data); self::ajaxResponseSuccess(__("Slide updated", 'revslider')); break; case "update_static_slide": $slide->updateStaticSlideFromData($data); self::ajaxResponseSuccess(__("Static Global Layers updated", 'revslider')); break; case "delete_slide": case "delete_slide_stay": $isPost = $slide->deleteSlideFromData($data); if ($isPost) { $message = __("Post deleted", 'revslider'); } else { $message = __("Slide deleted", 'revslider'); } $sliderID = RevSliderFunctions::getVal($data, "sliderID"); if ($action == 'delete_slide_stay') { self::ajaxResponseSuccess($message); } else { self::ajaxResponseSuccessRedirect($message, self::getViewUrl(self::VIEW_SLIDE, "id=new&slider={$sliderID}")); } break; case "duplicate_slide": case "duplicate_slide_stay": $return = $slider->duplicateSlideFromData($data); if ($action == 'duplicate_slide_stay') { self::ajaxResponseSuccess(__("Slide duplicated", 'revslider'), array('id' => $return[1])); } else { self::ajaxResponseSuccessRedirect(__("Slide duplicated", 'revslider'), self::getViewUrl(self::VIEW_SLIDE, "id=new&slider=" . $return[0])); } break; case "copy_move_slide": case "copy_move_slide_stay": $sliderID = $slider->copyMoveSlideFromData($data); if ($action == 'copy_move_slide_stay') { self::ajaxResponseSuccess(__("Success!", 'revslider')); } else { self::ajaxResponseSuccessRedirect(__("Success! Refreshing page...", 'revslider'), self::getViewUrl(self::VIEW_SLIDE, "id=new&slider={$sliderID}")); } break; case "add_slide_to_template": $template = new RevSliderTemplate(); if (!isset($data['slideID']) || intval($data['slideID']) == 0) { RevSliderFunctions::throwError(__('No valid Slide ID given', 'revslider')); exit; } if (!isset($data['title']) || strlen(trim($data['title'])) < 3) { RevSliderFunctions::throwError(__('No valid title given', 'revslider')); exit; } if (!isset($data['settings']) || !isset($data['settings']['width']) || !isset($data['settings']['height'])) { RevSliderFunctions::throwError(__('No valid title given', 'revslider')); exit; } $return = $template->copySlideToTemplates($data['slideID'], $data['title'], $data['settings']); if ($return == false) { RevSliderFunctions::throwError(__('Could not save Slide as Template', 'revslider')); exit; } //get HTML for template section ob_start(); $rs_disable_template_script = true; //disable the script output of template selector file include RS_PLUGIN_PATH . 'admin/views/templates/template-selector.php'; $html = ob_get_contents(); ob_clean(); ob_end_clean(); self::ajaxResponseSuccess(__('Slide added to Templates', 'revslider'), array('HTML' => $html)); exit; break; break; case "get_static_css": $contentCSS = $operations->getStaticCss(); self::ajaxResponseData($contentCSS); break; case "get_dynamic_css": $contentCSS = $operations->getDynamicCss(); self::ajaxResponseData($contentCSS); break; case "insert_captions_css": $arrCaptions = $operations->insertCaptionsContentData($data); if ($arrCaptions !== false) { $db = new RevSliderDB(); $styles = $db->fetch(RevSliderGlobals::$table_css); $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n"); $styles = RevSliderCssParser::compress_css($styles); $custom_css = RevSliderOperations::getStaticCss(); $custom_css = RevSliderCssParser::compress_css($custom_css); $arrCSS = $operations->getCaptionsContentArray(); $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS); $arrCssStyles = $arrCSS; self::ajaxResponseSuccess(__("CSS saved", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles)); } RevSliderFunctions::throwError(__('CSS could not be saved', 'revslider')); exit; break; case "update_captions_css": $arrCaptions = $operations->updateCaptionsContentData($data); if ($arrCaptions !== false) { $db = new RevSliderDB(); $styles = $db->fetch(RevSliderGlobals::$table_css); $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n"); $styles = RevSliderCssParser::compress_css($styles); $custom_css = RevSliderOperations::getStaticCss(); $custom_css = RevSliderCssParser::compress_css($custom_css); $arrCSS = $operations->getCaptionsContentArray(); $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS); $arrCssStyles = $arrCSS; self::ajaxResponseSuccess(__("CSS saved", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles)); } RevSliderFunctions::throwError(__('CSS could not be saved', 'revslider')); exit; break; case "update_captions_advanced_css": $arrCaptions = $operations->updateAdvancedCssData($data); if ($arrCaptions !== false) { $db = new RevSliderDB(); $styles = $db->fetch(RevSliderGlobals::$table_css); $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n"); $styles = RevSliderCssParser::compress_css($styles); $custom_css = RevSliderOperations::getStaticCss(); $custom_css = RevSliderCssParser::compress_css($custom_css); $arrCSS = $operations->getCaptionsContentArray(); $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS); $arrCssStyles = $arrCSS; self::ajaxResponseSuccess(__("CSS saved", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles)); } RevSliderFunctions::throwError(__('CSS could not be saved', 'revslider')); exit; break; case "rename_captions_css": //rename all captions in all sliders with new handle if success $arrCaptions = $operations->renameCaption($data); $db = new RevSliderDB(); $styles = $db->fetch(RevSliderGlobals::$table_css); $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n"); $styles = RevSliderCssParser::compress_css($styles); $custom_css = RevSliderOperations::getStaticCss(); $custom_css = RevSliderCssParser::compress_css($custom_css); $arrCSS = $operations->getCaptionsContentArray(); $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS); $arrCssStyles = $arrCSS; self::ajaxResponseSuccess(__("Class name renamed", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles)); break; case "delete_captions_css": $arrCaptions = $operations->deleteCaptionsContentData($data); $db = new RevSliderDB(); $styles = $db->fetch(RevSliderGlobals::$table_css); $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n"); $styles = RevSliderCssParser::compress_css($styles); $custom_css = RevSliderOperations::getStaticCss(); $custom_css = RevSliderCssParser::compress_css($custom_css); $arrCSS = $operations->getCaptionsContentArray(); $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS); $arrCssStyles = $arrCSS; self::ajaxResponseSuccess(__("Style deleted!", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles)); break; case "update_static_css": $staticCss = $operations->updateStaticCss($data); $db = new RevSliderDB(); $styles = $db->fetch(RevSliderGlobals::$table_css); $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n"); $styles = RevSliderCssParser::compress_css($styles); $custom_css = RevSliderOperations::getStaticCss(); $custom_css = RevSliderCssParser::compress_css($custom_css); self::ajaxResponseSuccess(__("CSS saved", 'revslider'), array("css" => $staticCss, 'compressed_css' => $styles . $custom_css)); break; case "insert_custom_anim": $arrAnims = $operations->insertCustomAnim($data); //$arrCaptions = self::ajaxResponseSuccess(__("Animation saved", 'revslider'), $arrAnims); //,array("arrCaptions"=>$arrCaptions) break; case "update_custom_anim": $arrAnims = $operations->updateCustomAnim($data); self::ajaxResponseSuccess(__("Animation saved", 'revslider'), $arrAnims); //,array("arrCaptions"=>$arrCaptions) break; case "update_custom_anim_name": $arrAnims = $operations->updateCustomAnimName($data); self::ajaxResponseSuccess(__("Animation saved", 'revslider'), $arrAnims); //,array("arrCaptions"=>$arrCaptions) break; case "delete_custom_anim": $arrAnims = $operations->deleteCustomAnim($data); self::ajaxResponseSuccess(__("Animation deleted", 'revslider'), $arrAnims); //,array("arrCaptions"=>$arrCaptions) break; case "update_slides_order": $slider->updateSlidesOrderFromData($data); self::ajaxResponseSuccess(__("Order updated", 'revslider')); break; case "change_slide_title": $slide->updateTitleByID($data); self::ajaxResponseSuccess(__('Title updated', 'revslider')); break; case "change_slide_image": $slide->updateSlideImageFromData($data); $sliderID = RevSliderFunctions::getVal($data, "slider_id"); self::ajaxResponseSuccessRedirect(__("Slide changed", 'revslider'), self::getViewUrl(self::VIEW_SLIDE, "id=new&slider={$sliderID}")); break; case "preview_slide": $operations->putSlidePreviewByData($data); break; case "preview_slider": $sliderID = RevSliderFunctions::getPostGetVariable("sliderid"); $do_markup = RevSliderFunctions::getPostGetVariable("only_markup"); if ($do_markup == 'true') { $operations->previewOutputMarkup($sliderID); } else { $operations->previewOutput($sliderID); } break; case "toggle_slide_state": $currentState = $slide->toggleSlideStatFromData($data); self::ajaxResponseData(array("state" => $currentState)); break; case "toggle_hero_slide": $currentHero = $slider->setHeroSlide($data); self::ajaxResponseSuccess(__('Slide is now the new active Hero Slide', 'revslider')); break; case "slide_lang_operation": $responseData = $slide->doSlideLangOperation($data); self::ajaxResponseData($responseData); break; case "update_general_settings": $operations->updateGeneralSettings($data); self::ajaxResponseSuccess(__("General settings updated", 'revslider')); break; case "update_posts_sortby": $slider->updatePostsSortbyFromData($data); self::ajaxResponseSuccess(__("Sortby updated", 'revslider')); break; case "replace_image_urls": $slider->replaceImageUrlsFromData($data); self::ajaxResponseSuccess(__("Image urls replaced", 'revslider')); break; case "reset_slide_settings": $slider->resetSlideSettings($data); self::ajaxResponseSuccess(__("Settings in all Slides changed", 'revslider')); break; case "activate_purchase_code": $result = false; if (!empty($data['code'])) { $result = $operations->checkPurchaseVerification($data); } else { RevSliderFunctions::throwError(__('The API key, the Purchase Code and the Username need to be set!', 'revslider')); exit; } if ($result) { self::ajaxResponseSuccessRedirect(__("Purchase Code Successfully Activated", 'revslider'), self::getViewUrl(self::VIEW_SLIDERS)); } else { RevSliderFunctions::throwError(__('Purchase Code is invalid', 'revslider')); } break; case "deactivate_purchase_code": $result = $operations->doPurchaseDeactivation($data); if ($result) { self::ajaxResponseSuccessRedirect(__("Successfully removed validation", 'revslider'), self::getViewUrl(self::VIEW_SLIDERS)); } else { RevSliderFunctions::throwError(__('Could not remove Validation!', 'revslider')); } break; case 'dismiss_notice': update_option('revslider-valid-notice', 'false'); self::ajaxResponseSuccess(__(".", 'revslider')); break; case 'dismiss_dynamic_notice': $notices_discarded = get_option('revslider-notices-dc', array()); $notices_discarded[] = esc_attr(trim($data['id'])); update_option('revslider-notices-dc', $notices_discarded); self::ajaxResponseSuccess(__(".", 'revslider')); break; case 'toggle_favorite': if (isset($data['id']) && intval($data['id']) > 0) { $return = self::toggle_favorite_by_id($data['id']); if ($return === true) { self::ajaxResponseSuccess(__('Setting Changed!', 'revslider')); } else { $error = $return; } } else { $error = __('No ID given', 'revslider'); } self::ajaxResponseError($error); break; case "subscribe_to_newsletter": if (isset($data['email']) && !empty($data['email'])) { $return = ThemePunch_Newsletter::subscribe($data['email']); if ($return !== false) { if (!isset($return['status']) || $return['status'] === 'error') { $error = isset($return['message']) && !empty($return['message']) ? $return['message'] : __('Invalid Email', 'revslider'); self::ajaxResponseError($error); } else { self::ajaxResponseSuccess(__("Success! Please check your Emails to finish the subscription", 'revslider'), $return); } } else { self::ajaxResponseError(__('Invalid Email/Could not connect to the Newsletter server', 'revslider')); } } else { self::ajaxResponseError(__('No Email given', 'revslider')); } break; case "unsubscribe_to_newsletter": if (isset($data['email']) && !empty($data['email'])) { $return = ThemePunch_Newsletter::unsubscribe($data['email']); if ($return !== false) { if (!isset($return['status']) || $return['status'] === 'error') { $error = isset($return['message']) && !empty($return['message']) ? $return['message'] : __('Invalid Email', 'revslider'); self::ajaxResponseError($error); } else { self::ajaxResponseSuccess(__("Success! Please check your Emails to finish the process", 'revslider'), $return); } } else { self::ajaxResponseError(__('Invalid Email/Could not connect to the Newsletter server', 'revslider')); } } else { self::ajaxResponseError(__('No Email given', 'revslider')); } break; case 'change_specific_navigation': $nav = new RevSliderNavigation(); $found = false; $navigations = $nav->get_all_navigations(); foreach ($navigations as $navig) { if ($data['id'] == $navig['id']) { $found = true; break; } } if ($found) { $nav->create_update_navigation($data, $data['id']); } else { $nav->create_update_navigation($data); } self::ajaxResponseSuccess(__('Navigation saved/updated', 'revslider'), array('navs' => $nav->get_all_navigations())); break; case 'change_navigations': $nav = new RevSliderNavigation(); $nav->create_update_full_navigation($data); self::ajaxResponseSuccess(__('Navigations updated', 'revslider'), array('navs' => $nav->get_all_navigations())); break; case 'delete_navigation': $nav = new RevSliderNavigation(); if (isset($data) && intval($data) > 0) { $return = $nav->delete_navigation($data); if ($return !== true) { self::ajaxResponseError($return); } else { self::ajaxResponseSuccess(__('Navigation deleted', 'revslider'), array('navs' => $nav->get_all_navigations())); } } self::ajaxResponseError(__('Wrong ID given', 'revslider')); break; case "get_facebook_photosets": if (!empty($data['url'])) { $facebook = new RevSliderFacebook(); $return = $facebook->get_photo_set_photos_options($data['url'], $data['album'], $data['app_id'], $data['app_secret']); if (!empty($return)) { self::ajaxResponseSuccess(__('Successfully fetched Facebook albums', 'revslider'), array('html' => implode(' ', $return))); } else { $error = __('Could not fetch Facebook albums', 'revslider'); self::ajaxResponseError($error); } } else { self::ajaxResponseSuccess(__('Cleared Albums', 'revslider'), array('html' => implode(' ', $return))); } break; case "get_flickr_photosets": if (!empty($data['url']) && !empty($data['key'])) { $flickr = new RevSliderFlickr($data['key']); $user_id = $flickr->get_user_from_url($data['url']); $return = $flickr->get_photo_sets($user_id, $data['count'], $data['set']); if (!empty($return)) { self::ajaxResponseSuccess(__('Successfully fetched flickr photosets', 'revslider'), array("data" => array('html' => implode(' ', $return)))); } else { $error = __('Could not fetch flickr photosets', 'revslider'); self::ajaxResponseError($error); } } else { if (empty($data['url']) && empty($data['key'])) { self::ajaxResponseSuccess(__('Cleared Photosets', 'revslider'), array('html' => implode(' ', $return))); } elseif (empty($data['url'])) { $error = __('No User URL - Could not fetch flickr photosets', 'revslider'); self::ajaxResponseError($error); } else { $error = __('No API KEY - Could not fetch flickr photosets', 'revslider'); self::ajaxResponseError($error); } } break; case "get_youtube_playlists": if (!empty($data['id'])) { $youtube = new RevSliderYoutube(trim($data['api']), trim($data['id'])); $return = $youtube->get_playlist_options($data['playlist']); self::ajaxResponseSuccess(__('Successfully fetched YouTube playlists', 'revslider'), array("data" => array('html' => implode(' ', $return)))); } else { $error = __('Could not fetch YouTube playlists', 'revslider'); self::ajaxResponseError($error); } break; case 'rs_get_store_information': global $wp_version; $code = get_option('revslider-code', ''); $shop_version = RevSliderTemplate::SHOP_VERSION; $validated = get_option('revslider-valid', 'false'); if ($validated == 'false') { $api_key = ''; $username = ''; $code = ''; } $rattr = array('code' => urlencode($code), 'product' => urlencode('revslider'), 'shop_version' => urlencode($shop_version), 'version' => urlencode(RevSliderGlobals::SLIDER_REVISION)); $request = wp_remote_post('http://templates.themepunch.tools/revslider/store.php', array('user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo('url'), 'body' => $rattr)); $response = ''; if (!is_wp_error($request)) { $response = json_decode(@$request['body'], true); } self::ajaxResponseData(array("data" => $response)); break; default: self::ajaxResponseError("wrong ajax action: {$action}"); break; } } catch (Exception $e) { $message = $e->getMessage(); if ($action == "preview_slide" || $action == "preview_slider") { echo $message; exit; } self::ajaxResponseError($message); } //it's an ajax action, so exit self::ajaxResponseError("No response output on {$action} action. please check with the developer."); exit; }
/** * * widget output */ public function widget($args, $instance) { $sliderID = RevSliderFunctions::getVal($instance, "rev_slider"); $title = RevSliderFunctions::getVal($instance, "rev_slider_title"); $homepageCheck = RevSliderFunctions::getVal($instance, "rev_slider_homepage"); $homepage = ""; if ($homepageCheck == "on") { $homepage = "homepage"; } $pages = RevSliderFunctions::getVal($instance, "rev_slider_pages"); if (!empty($pages)) { if (!empty($homepage)) { $homepage .= ","; } $homepage .= $pages; } if (empty($sliderID)) { return false; } //widget output $beforeWidget = RevSliderFunctions::getVal($args, "before_widget"); $afterWidget = RevSliderFunctions::getVal($args, "after_widget"); $beforeTitle = RevSliderFunctions::getVal($args, "before_title"); $afterTitle = RevSliderFunctions::getVal($args, "after_title"); echo $beforeWidget; if (!empty($title)) { echo $beforeTitle . $title . $afterTitle; } RevSliderOutput::putSlider($sliderID, $homepage); add_action('wp_head', array($this, 'writeCSS')); echo $afterWidget; }
/** * Change FontURL to new URL (added for chinese support since google is blocked there) * @since: 5.0 */ public static function modify_punch_url($url) { $operations = new RevSliderOperations(); $arrValues = $operations->getGeneralSettingsValues(); $set_diff_font = RevSliderFunctions::getVal($arrValues, "change_font_loading", ''); if ($set_diff_font !== '') { return $set_diff_font; } else { return $url; } }
); var googlef_template_container = wp.template( "rs-preset-googlefont" ); jQuery('#add_new_google_font').click(function(){ var content = googlef_template_container({'value':''}); jQuery('#rs-google-fonts').append(content); }); jQuery('body').on('click', '.rs-google-remove-field', function(){ jQuery(this).parent().remove(); }); <?php $google_font = RevSliderFunctions::getVal($arrFieldsParams, 'google_font', array()); if (!empty($google_font) && is_array($google_font)) { foreach ($google_font as $gfont) { ?> jQuery('#rs-google-fonts').append(googlef_template_container({'value':'<?php echo esc_attr($gfont); ?> '})); <?php } } ?> /* var data = {}; data['value'] = key;
/** * * on add metabox content */ public static function onAddMetaBoxContent($post, $boxData) { $postID = $post->ID; $boxID = RevSliderFunctions::getVal($boxData, "id"); $index = str_replace('mymetabox_revslider_', "", $boxID); $arrMetabox = self::$arrMetaBoxes[$index]; //draw element $drawFunction = RevSliderFunctions::getVal($arrMetabox, "draw_function"); if (!empty($drawFunction)) { call_user_func($drawFunction); } }
/** * view the estimated speed of the Slider * @since: 5.0 */ public static function get_slider_speed($sliderID) { //$data = wp_get_attachment_metadata($cur_img_id); ob_start(); $total_size = 0; $do_ssl = is_ssl() ? 'http:' : 'https:'; $slider = new RevSliderSlider(); $slider->initByID($sliderID); $slides = $slider->getSlidesForExport(); $static_slides = $slider->getStaticSlideForExport(); if (!empty($static_slides) && is_array($static_slides)) { foreach ($static_slides as $s_slide) { $slides[] = $s_slide; } } $used_images = array(); $used_videos = array(); $used_captions = array(); $using_kenburns = false; $using_parallax = false; $using_carousel = false; $using_navigation = false; $using_videos = false; $using_actions = false; $using_layeranim = false; $img_size = 0; $video_size = 0; $slide_counter = 0; $firstslide_size = 0; $smartslide_size = 0; if ($slider->getParam("use_parallax", "off") == 'on') { $using_parallax = true; } if ($slider->getParam("slider-type", "standard") == 'carousel') { $using_carousel = true; } $enable_arrows = $slider->getParam('enable_arrows', 'off'); $enable_bullets = $slider->getParam('enable_bullets', 'off'); $enable_tabs = $slider->getParam('enable_tabs', 'off'); $enable_thumbnails = $slider->getParam('enable_thumbnails', 'off'); if ($enable_arrows == 'on' || $enable_bullets == 'on' || $enable_tabs == 'on' || $enable_thumbnails == 'on') { $using_navigation = true; } if (!empty($slides) && count($slides) > 0) { foreach ($slides as $key => $slide) { if (isset($slide['params']['state']) && $slide['params']['state'] != 'published') { continue; } if (!isset($slide['id'])) { continue; } $slide_counter++; $slide_id = $slide['id']; if (isset($slide['params']['kenburn_effect']) && $slide['params']['kenburn_effect'] == 'on') { $using_kenburns = true; } if (!isset($slide['params']['image_source_type'])) { $slide['params']['image_source_type'] = 'full'; } if (isset($slide['params']['image']) && $slide['params']['image'] != '') { //add infos of image to an array $infos = array(); $urlImage = false; switch ($slide['params']['background_type']) { case 'streamyoutube': case 'streaminstagram': case 'streamvimeo': case 'youtube': case 'vimeo': $using_videos = true; break; } if (isset($slide['params']['image_id'])) { $cur_img_id = $slide['params']['image_id']; //get image sizes by ID $urlImage = wp_get_attachment_image_src($slide['params']['image_id'], $slide['params']['image_source_type']); } if ($urlImage === false) { $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($slide['params']['image']); if ($cur_img_id !== false) { $urlImage = wp_get_attachment_image_src($cur_img_id, $slide['params']['image_source_type']); } } if ($urlImage !== false) { $infos['id'] = $cur_img_id; $file = get_attached_file($cur_img_id); $infos['info'] = pathinfo($file); if (file_exists($file)) { $infos['size'] = filesize($file); $infos['size-format'] = size_format($infos['size'], 2); $img_size += $infos['size']; if ($slide_counter == 1) { $firstslide_size += $infos['size']; } if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) { $smartslide_size += $infos['size']; } } else { $infos['id'] = false; } } else { $infos['id'] = 'external'; } if (strpos($slide_id, 'static_') !== false) { $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID); } else { $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id); } $used_images[$slide['params']['image']] = $infos; } if (isset($slide['layers']) && !empty($slide['layers']) && count($slide['layers']) > 0) { $using_layeranim = true; foreach ($slide['layers'] as $lKey => $layer) { switch ($layer['type']) { case 'image': $infos = array(); if (isset($layer['image_url']) && trim($layer['image_url']) != '') { $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($layer['image_url']); if ($cur_img_id !== false) { if (!isset($layer['layer-image-size']) || $layer['layer-image-size'] == 'auto') { $layer['layer-image-size'] = $slide['params']['image_source_type']; } $urlImage = wp_get_attachment_image_src($cur_img_id, $layer['layer-image-size']); if ($urlImage !== false) { $infos['id'] = $cur_img_id; $file = get_attached_file($cur_img_id); $infos['info'] = pathinfo($file); if (file_exists($file)) { $infos['size'] = filesize($file); $infos['size-format'] = size_format($infos['size'], 2); $img_size += $infos['size']; if ($slide_counter == 1) { $firstslide_size += $infos['size']; } if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) { $smartslide_size += $infos['size']; } } else { $infos['id'] = false; } } else { $infos['id'] = 'external'; } } else { $infos['id'] = 'external'; } if (strpos($slide_id, 'static_') !== false) { $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID); } else { $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id); } $used_images[$layer['image_url']] = $infos; //image_url if image caption } break; case 'video': $using_videos = true; //get cover image if existing $infos = array(); $poster_img = array(); if (isset($layer['video_data']) && isset($layer['video_data']->urlPoster)) { $poster_img[] = $layer['video_data']->urlPoster; } if (isset($layer['video_image_url']) && isset($layer['video_image_url'])) { $poster_img[] = $layer['video_image_url']; } if (!empty($poster_img)) { foreach ($poster_img as $img) { if (trim($img) == '') { continue; } $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($img); if ($cur_img_id !== false) { if (!isset($layer['layer-image-size']) || $layer['layer-image-size'] == 'auto') { $layer['layer-image-size'] = $slide['params']['image_source_type']; } $urlImage = wp_get_attachment_image_src($cur_img_id, $layer['layer-image-size']); if ($urlImage !== false) { $infos['id'] = $cur_img_id; $file = get_attached_file($cur_img_id); $infos['info'] = pathinfo($file); if (file_exists($file)) { $infos['size'] = filesize($file); $infos['size-format'] = size_format($infos['size'], 2); $img_size += $infos['size']; if ($slide_counter == 1) { $firstslide_size += $infos['size']; } if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) { $smartslide_size += $infos['size']; } } else { $infos['id'] = false; } } else { $infos['id'] = 'external'; } } else { $infos['id'] = 'external'; } if (strpos($slide_id, 'static_') !== false) { $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID); } else { $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id); } $used_images[$img] = $infos; //image_url if image caption } } $infos = array(); if (isset($layer['video_type'])) { //add videos and try to get video size if (isset($layer['video_data'])) { $video_arr = array(); $max_video_size = 0; if (strpos($slide_id, 'static_') !== false) { $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID); } else { $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id); } switch ($layer['video_type']) { case 'html5': if (isset($layer['video_data']->urlMp4) && !empty($layer['video_data']->urlMp4)) { $video_arr['mp4'] = $layer['video_data']->urlMp4; } if (isset($layer['video_data']->urlWebm) && !empty($layer['video_data']->urlWebm)) { $video_arr['webm'] = $layer['video_data']->urlWebm; } if (isset($layer['video_data']->urlOgv) && !empty($layer['video_data']->urlOgv)) { $video_arr['mp4'] = $layer['video_data']->urlOgv; } if (!empty($video_arr)) { foreach ($video_arr as $type => $url) { $cur_id = RevSliderFunctionsWP::get_image_id_by_url($url); if ($cur_id !== false) { $infos['id'] = $cur_id; $file = get_attached_file($cur_id); $infos['info'] = pathinfo($file); if (file_exists($file)) { $infos['size'] = filesize($file); $infos['size-format'] = size_format($infos['size'], 2); if ($infos['size'] > $max_video_size) { $max_video_size = $infos['size']; } //add only the largest video of the three here as each browser loads only one file and we can add here the biggest } else { $infos['id'] = 'external'; } } else { $infos['id'] = 'external'; } $used_videos[$url] = $infos; } $video_size += $max_video_size; } break; case 'youtube': $infos['id'] = 'external'; if (!isset($layer['video_data']->id) || empty($layer['video_data']->id)) { continue; } $used_videos[$do_ssl . '//www.youtube.com/watch?v=' . $layer['video_data']->id] = $infos; break; case 'vimeo': if (!isset($layer['video_data']->id) || empty($layer['video_data']->id)) { continue; } $infos['id'] = 'external'; $used_videos[$do_ssl . '//vimeo.com/' . $layer['video_data']->id] = $infos; break; } } } break; } //check captions for actions if (isset($layer['layer_action']) && !empty($layer['layer_action'])) { $a_action = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($layer['layer_action'], 'action', array())); $a_link_type = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($layer['layer_action'], 'link_type', array())); if (!empty($a_action)) { foreach ($a_action as $num => $action) { if ($using_actions == true) { break; } if ($action !== 'link') { $using_actions = true; } else { //check if jQuery or a tag if ($a_link_type[$num] == 'jquery') { $using_actions = true; } } } } } if (isset($layer['style']) && $layer['style'] != '') { $used_captions[$layer['style']] = true; } } } } } $total_size += $img_size; $img_counter = 0; $issues = ""; //$total_size += $video_size; ?> <span class="tp-clearfix" style="height:15px"></span> <hr> <span class="tp-clearfix" style="height:25px"></span> <!-- HEADER OF MONITORING --> <span class="tp-monitor-performance-title"><?php echo __("Overall Slider Performance", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-performace-wrap"> <span id="image-performace-bar" style="width: %overall_performance%%" class="tp-monitor-performance-bar mo-%overall_color%-col"></span> <span class="tp-monitor-slow"><?php echo __("Slow", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-ok"><?php echo __("Ok", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-fast"><?php echo __("Fast", REVSLIDER_TEXTDOMAIN); ?> </span> </span> <span class="tp-clearfix" style="height:50px"></span> <span class="tp-monitor-speed-table tp-monitor-single-speed"> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed UMTS:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="umts-speed">%umtsspeed-single%</span> </span> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed DSL:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="dsl-speed">%dslspeed-single%</span> </span> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed T1:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="t1-speed">%t1speed-single%</span> </span> </span> <span class="tp-monitor-speed-table tp-monitor-smart-speed"> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed UMTS:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="umts-speed">%umtsspeed-smart%</span> </span> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed DSL:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="dsl-speed">%dslspeed-smart%</span> </span> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed T1:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="t1-speed">%t1speed-smart%</span> </span> </span> <span class="tp-monitor-speed-table tp-monitor-all-speed"> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed UMTS:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="umts-speed">%umtsspeed-all%</span> </span> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed DSL:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="dsl-speed">%dslspeed-all%</span> </span> <span class="tp-monitor-speed-cell"> <span class="tp-monitor-smalllabel"><?php echo __("Load Speed T1:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-total-subsize" id="t1-speed">%t1speed-all%</span> </span> </span> <span class="tp-clearfix" style="height:25px"></span> <span style="float:left;width:165px"> <span class="tp-monitor-smalllabel"><?php echo __("Total Slider Size:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-fullsize">%overall_size%</span> <a class="button-primary revblue tp-monitor-showdetails" data-target="#performance_overall_details" style="float:right; width:160px;vertical-align:top"><i class="eg-icon-chart-bar"></i>Show Full Statistics</a> </span> <span style="float:right; width:165px"> <span class="tp-monitor-smalllabel"><?php echo __("Preloaded Slides Size:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-fullsize tp-monitor-single-speed">%firstslide_size%</span> <span class="tp-monitor-fullsize tp-monitor-smart-speed">%smartslide_size%</span> <span class="tp-monitor-fullsize tp-monitor-all-speed">%allslide_size%</span> <a class="button-primary revred tp-monitor-showdetails" data-target="#monitor-problems" style="float:right; width:160px;vertical-align:top;"><i class="eg-icon-info"></i>Show All Issues</a> </span> <span class="tp-clearfix" style="height:15px"></span> <hr> <span class="tp-clearfix" style="height:25px"></span> <!-- THE IMAGE PERFORMANCE MESSING --> <div id="monitor-problems" style="display:none"> <span class="tp-monitor-performance-title"><?php echo __("Need Some Attention", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-clearfix" style="height:25px"></span> <ul class="tp-monitor-list" id="monitor-problem-details" style="margin-bottom:15px;"> %issues% </ul> <span class="tp-clearfix" style="height:15px"></span> <hr> <span class="tp-clearfix" style="height:25px"></span> </div> <div id="performance_overall_details" style="display:none"> <!-- IMAGE LIST --> <?php if (!empty($used_images)) { ?> <!-- THE IMAGE PERFORMANCE MESSING --> <span class="tp-monitor-performance-title"><?php echo __("Image Performance", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-performace-wrap"> <span id="image-performace-bar" style="width: %image_performance%%" class="tp-monitor-performance-bar mo-%image_color%-col"></span> <span class="tp-monitor-slow"><?php echo __("Slow", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-ok"><?php echo __("Ok", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-fast"><?php echo __("Fast", REVSLIDER_TEXTDOMAIN); ?> </span> </span> <span class="tp-clearfix" style="height:35px"></span> <!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST --> <span style="float:left;width:40%"> <span class="tp-monitor-smalllabel"><?php echo __("Images Loaded:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-imageicon"></span> <span id="image_sub_size" class="tp-monitor-total-subsize"><?php echo size_format($img_size, 2); ?> </span> </span> <span style="float:left;width:60%; text-align:right;"> <span class="tp-monitor-showdetails" data-target="#monitor-image-details" data-open="</span><?php echo __("Hide Details", REVSLIDER_TEXTDOMAIN); ?> " data-close="</span><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> "><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> </span></span> </span> <span class="tp-clearfix" style="height:15px"></span> <!-- THE IMAGE LIST --> <ul class="tp-monitor-list" id="monitor-image-details" style="display:none;margin-bottom:15px;"> <?php foreach ($used_images as $path => $image) { $_li = '<li class="tp-monitor-listli">'; if (isset($image['size'])) { $img_counter++; if ($image['size'] < 200000) { $_li .= '<span class="tp-monitor-good"></span>'; } else { if ($image['size'] < 400000) { $_li .= '<span class="tp-monitor-well"></span>'; } else { $_li .= '<span class="tp-monitor-warning"></span>'; } } if ($image['size'] > 1000000) { $_li .= '<span class="tp-monitor-size">' . size_format($image['size'], 2) . '</span>'; } else { $_li .= '<span class="tp-monitor-size">' . size_format($image['size'], 0) . '</span>'; } } else { if ($image['id'] == 'external') { $_li .= '<span class="tp-monitor-neutral"></span><span class="tp-monitor-size">' . __('extern', REVSLIDER_TEXTDOMAIN) . '</span>'; } else { $_li .= '<span class="tp-monitor-warning"></span><span class="tp-monitor-size">' . __('missing', REVSLIDER_TEXTDOMAIN) . '</span>'; } } $_li .= '<span class="tp-monitor-file">'; if (!isset($image['info']['basename']) || empty($image['info']['basename'])) { $_li .= '...' . substr($path, -20); } else { $_li .= substr($image['info']['basename'], -20); } $_li .= '</span>'; if (isset($image['url'])) { //$_li .= ' <a href="'.$image['url'].'" target="_blank" class="tp-monitor-showimage"></a>'; $_li .= ' <a href="' . $image['url'] . '" target="_blank" class="tp-monitor-linktoslide"></a>'; } $_li .= '</li>'; echo $_li; if (isset($image['size']) && $image['size'] > 199999 || !isset($image['size']) && !$image['id'] == 'external') { $issues .= $_li; } } ?> </ul> <?php } ?> <!-- VIDEO LIST --> <?php if (!empty($used_videos)) { ?> <span class="tp-clearfix" style="height:15px"></span> <hr> <span class="tp-clearfix" style="height:25px"></span> <!-- THE VIDEO PERFORMANCE MESSING --> <span class="tp-monitor-performance-title"><?php echo __("Video Performance", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-performace-wrap"> <span id="video-performace-bar" style="width:50%" class="tp-monitor-performance-bar mo-neutral-col"></span> <span class="tp-monitor-slow"><?php echo __("Slow", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-ok"><?php echo __("Ok", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-fast"><?php echo __("Fast", REVSLIDER_TEXTDOMAIN); ?> </span> </span> <span class="tp-clearfix" style="height:35px"></span> <!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST --> <span style="float:left;width:40%; display:block"> <span class="tp-monitor-smalllabel"><?php echo __("Videos Loaded (max):", REVSLIDER_TEXTDOMAIN); ?> </span> <?php if ($video_size > 0) { ?> <span class="tp-monitor-imageicon"></span> <span id="video_sub_size" class="tp-monitor-total-subsize"><?php echo size_format($video_size, 2); ?> </span> <?php } else { ?> <span class="tp-monitor-imageicon"></span> <span class="tp-monitor-total-subsize"><?php echo __("Unknown", REVSLIDER_TEXTDOMAIN); ?> </span> <?php } ?> </span> <span style="float:left;width:60%; text-align:right;"> <span class="tp-monitor-showdetails" data-target="#monitor-video-details" data-open="</span><?php echo __("Hide Details", REVSLIDER_TEXTDOMAIN); ?> " data-close="</span><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> "><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> </span></span> </span> <span class="tp-clearfix" style="height:15px"></span> <ul class="tp-monitor-list" id="monitor-video-details" style="margin-bottom:15px;display:none;"> <?php foreach ($used_videos as $path => $video) { $_li = '<li class="tp-monitor-listli">'; if (isset($video['size'])) { $_li .= ' <span class="tp-monitor-neutral"></span>'; if ($video['size'] > 1000000) { $_li .= '<span class="tp-monitor-size">' . size_format($video['size'], 2) . '</span>'; } else { $_li .= '<span class="tp-monitor-size">' . size_format($video['size'], 0) . '</span>'; } } else { if ($video['id'] == 'external') { $_li .= '<span class="tp-monitor-neutral"></span><span class="tp-monitor-size">' . __('extern', REVSLIDER_TEXTDOMAIN) . '</span>'; } else { $_li .= '<span class="tp-monitor-warning"></span><span class="tp-monitor-size">' . __('missing', REVSLIDER_TEXTDOMAIN) . '</span>'; } } $_li .= '<span class="tp-monitor-file">'; if (!isset($video['info']['basename']) || empty($video['info']['basename'])) { $_li .= '...' . substr($path, -20); } else { $_li .= substr($video['info']['basename'], -20); } $_li .= '</span>'; if (isset($image['url'])) { $_li .= ' <a href="' . $video['url'] . '" target="_blank" class="tp-monitor-linktoslide"></a>'; } $_li .= '</li>'; if (!isset($video['size']) && !$video['id'] == 'external') { $issues .= $_li; } echo $_li; } ?> </ul> <?php } $css_size = 0; ?> <span class="tp-clearfix" style="height:15px"></span> <hr> <span class="tp-clearfix" style="height:25px"></span> <!-- THE IMAGE PERFORMANCE MESSING --> <span class="tp-monitor-performance-title"><?php echo __("CSS Performance", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-performace-wrap"> <span id="image-performace-bar" style="width:%css_performance%%" class="tp-monitor-performance-bar mo-%css_color%-col"></span> <span class="tp-monitor-slow"><?php echo __("Slow", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-ok"><?php echo __("Ok", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-fast"><?php echo __("Fast", REVSLIDER_TEXTDOMAIN); ?> </span> </span> <span class="tp-clearfix" style="height:35px"></span> <!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST --> <span style="float:left;width:40%"> <span class="tp-monitor-smalllabel"><?php echo __("CSS Loaded:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-cssicon"></span><span id="css_sub_size" class="tp-monitor-total-subsize">%css_size%</span> </span> <span style="float:left;width:60%; text-align:right;"> <span class="tp-monitor-showdetails" data-target="#monitor-CSS-details" data-open="</span><?php echo __("Hide Details", REVSLIDER_TEXTDOMAIN); ?> " data-close="</span><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> "><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> </span></span> </span> <span class="tp-clearfix" style="height:15px"></span> <?php //get css files echo '<ul class="tp-monitor-list" id="monitor-CSS-details" style="margin-bottom:15px;display:none;">'; if (file_exists(RS_PLUGIN_PATH . '/public/assets/css/settings.css')) { $fs = filesize(RS_PLUGIN_PATH . '/public/assets/css/settings.css'); $_li = '<li class="tp-monitor-listli">'; if ($fs < 60000) { $_li .= '<span class="tp-monitor-good"></span>'; } else { if ($fs < 100000) { $_li .= '<span class="tp-monitor-well"></span>'; } else { $_li .= '<span class="tp-monitor-warning"></span>'; } } $_li .= '<span class="tp-monitor-size">' . size_format($fs, 0) . '</span>'; $_li .= '<span class="tp-monitor-file">'; $_li .= __('css/settings.css', REVSLIDER_TEXTDOMAIN); $_li .= '</span>'; $_li .= '</li>'; if ($fs > 99999) { $issues .= $_li; } echo $_li; $total_size += $fs; $css_size += $fs; } $custom_css = RevSliderOperations::getStaticCss(); $custom_css = RevSliderCssParser::compress_css($custom_css); $_li = '<li class="tp-monitor-listli">'; if (strlen($custom_css) < 50000) { $_li .= '<span class="tp-monitor-good"></span>'; } else { if (strlen($custom_css) < 100000) { $_li .= '<span class="tp-monitor-well"></span>'; } else { $_li .= '<span class="tp-monitor-warning"></span>'; } } $_li .= '<span class="tp-monitor-size">' . size_format(strlen($custom_css), 0) . '</span>'; $_li .= '<span class="tp-monitor-file">'; $_li .= __('Static Styles', REVSLIDER_TEXTDOMAIN); $_li .= '</span>'; $_li .= '</li>'; if (strlen($custom_css) > 49999) { $issues .= $_li; } echo $_li; $total_size += strlen($custom_css); $css_size += strlen($custom_css); if (!empty($used_captions)) { $captions = array(); foreach ($used_captions as $class => $val) { $cap = RevSliderOperations::getCaptionsContentArray($class); if (!empty($cap)) { $captions[] = $cap; } } $styles = RevSliderCssParser::parseArrayToCss($captions, "\n"); $styles = RevSliderCssParser::compress_css($styles); $_li = '<li class="tp-monitor-listli">'; if (strlen($styles) < 50000) { $_li .= '<span class="tp-monitor-good"></span>'; } else { if (strlen($styles) < 100000) { $_li .= '<span class="tp-monitor-well"></span>'; } else { $_li .= '<span class="tp-monitor-warning"></span>'; } } $_li .= '<span class="tp-monitor-size">' . size_format(strlen($styles), 0) . '</span>'; $_li .= '<span class="tp-monitor-file">'; $_li .= __('Dynamic Styles', REVSLIDER_TEXTDOMAIN); $_li .= '</span>'; $_li .= '</li>'; if (strlen($styles) > 49999) { $issues .= $_li; } echo $_li; $total_size += strlen($styles); $css_size += strlen($styles); } echo '</ul>'; echo ' <span style="display:none" id="css-size-hidden">' . size_format($css_size, 2) . '</span>'; $js_size = 0; ?> <span class="tp-clearfix" style="height:15px"></span> <hr> <span class="tp-clearfix" style="height:25px"></span> <!-- THE jQuery PERFORMANCE MESSING --> <span class="tp-monitor-performance-title"><?php echo __("jQuery Performance", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-performace-wrap"> <span id="video-performace-bar" style="width:%js_performance%%" class="tp-monitor-performance-bar mo-%js_color%-col"></span> <span class="tp-monitor-slow"><?php echo __("Slow", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-ok"><?php echo __("Ok", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-fast"><?php echo __("Fast", REVSLIDER_TEXTDOMAIN); ?> </span> </span> <span class="tp-clearfix" style="height:35px"></span> <!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST --> <span style="float:left;width:40%; display:block"> <span class="tp-monitor-smalllabel"><?php echo __("jQuery Loaded:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-imageicon"></span><span id="jquery_sub_size" class="tp-monitor-total-subsize">%js_size%</span> </span> <span style="float:left;width:60%; text-align:right;"> <span class="tp-monitor-showdetails" data-target="#monitor-jquery-details" data-open="</span><?php echo __("Hide Details", REVSLIDER_TEXTDOMAIN); ?> " data-close="</span><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> "><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> </span></span> </span> <span class="tp-clearfix" style="height:15px"></span> <?php echo '<ul class="tp-monitor-list" id="monitor-jquery-details" style="margin-bottom:15px;display:none">'; $jsfiles = array('jquery.themepunch.tools.min.js' => RS_PLUGIN_PATH . '/public/assets/js/jquery.themepunch.tools.min.js', 'jquery.themepunch.revolution.min.js' => RS_PLUGIN_PATH . '/public/assets/js/jquery.themepunch.revolution.min.js'); //check which js files will be used by the Slider if ($using_kenburns == true) { $jsfiles['revolution.extension.kenburn.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.kenburn.min.js'; } if ($using_parallax == true) { $jsfiles['revolution.extension.parallax.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.parallax.js'; } if ($using_navigation == true) { $jsfiles['revolution.extension.navigation.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.navigation.min.js'; } if ($using_videos == true) { $jsfiles['revolution.extension.video.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.video.min.js'; } if ($using_actions == true) { $jsfiles['revolution.extension.actions.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.actions.min.js'; } if ($using_layeranim == true) { $jsfiles['revolution.extension.layeranimation.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.layeranimation.min.js'; } if ($using_carousel == true) { $jsfiles['revolution.extension.carousel.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.carousel.min.js'; } else { $jsfiles['revolution.extension.slideanims.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.slideanims.min.js'; } //get the js files foreach ($jsfiles as $name => $path) { if (file_exists($path)) { $fs = filesize($path); echo '<li class="tp-monitor-listli">'; echo '<span class="tp-monitor-good"></span>'; echo '<span class="tp-monitor-size">' . size_format($fs, 0) . '</span>'; echo '<span class="tp-monitor-file">'; echo $name; echo '</span>'; echo '</li>'; $total_size += $fs; $js_size += $fs; } } echo '</ul>'; echo ' <span style="display:none" id="css-size-hidden">' . size_format($js_size, 2) . '</span>'; $http = is_ssl() ? 'https' : 'http'; $operations = new RevSliderOperations(); $arrValues = $operations->getGeneralSettingsValues(); $set_diff_font = RevSliderFunctions::getVal($arrValues, "change_font_loading", ''); if ($set_diff_font !== '') { $font_url = $set_diff_font; } else { $font_url = $http . '://fonts.googleapis.com/css?family='; } $my_fonts = $slider->getParam('google_font', array()); ?> <span class="tp-clearfix" style="height:15px"></span> <hr> <span class="tp-clearfix" style="height:25px"></span> <!-- THE Fonts PERFORMANCE MESSING --> <span class="tp-monitor-performance-title"><?php echo __("Google Fonts Performance", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-performace-wrap"> <span id="video-performace-bar" style="width:%font_performance%%" class="tp-monitor-performance-bar mo-%font_color%-col"></span> <span class="tp-monitor-slow"><?php echo __("Slow", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-ok"><?php echo __("Ok", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-fast"><?php echo __("Fast", REVSLIDER_TEXTDOMAIN); ?> </span> </span> <span class="tp-clearfix" style="height:35px"></span> <!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST --> <span style="float:left;width:40%; display:block"> <span class="tp-monitor-smalllabel"><?php echo __("Fonts Loaded:", REVSLIDER_TEXTDOMAIN); ?> </span> <span class="tp-monitor-jsicon"></span><span class="tp-monitor-total-subsize">%font_size%</span> </span> <span style="float:left;width:60%; text-align:right;"> <span class="tp-monitor-showdetails" data-target="#monitor-fonts-details" data-open="</span><?php echo __("Hide Details", REVSLIDER_TEXTDOMAIN); ?> " data-close="</span><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> "><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php echo __("Show Details", REVSLIDER_TEXTDOMAIN); ?> </span></span> </span> <span class="tp-clearfix" style="height:15px"></span> <?php //echo '<span class="tp-monitor-smalllabel">'.$font_url.'</span>'; echo '<ul class="tp-monitor-list" id="monitor-fonts-details" style="margin-bottom:15px;display:none">'; $all_font_count = 0; if (!empty($my_fonts)) { foreach ($my_fonts as $c_font) { $fcount = RevSliderBase::get_font_weight_count($c_font); $_li = '<li class="tp-monitor-listli">'; if ($fcount < 4) { $_li .= '<span class="tp-monitor-good"></span>'; } else { if ($fcount < 7) { $_li .= '<span class="tp-monitor-well"></span>'; } else { $_li .= '<span class="tp-monitor-warning"></span>'; } } $_li .= '<span class="tp-monitor-file">'; $_li .= strip_tags($c_font); $_li .= '</span>'; $_li .= '</li>'; if ($fcount > 4) { $issues .= $_li; } echo $_li; $all_font_count += $fcount; } } echo '</ul>'; ?> </div><!-- END OF OVERALL Div--> <script> jQuery(document).on("ready",function() { jQuery('body').on('click','.tp-monitor-showdetails',function() { var bt = jQuery(this); if (bt.hasClass("selected")) { bt.find('.tp-show-inner-btn').html(bt.data('close')); bt.removeClass("selected"); jQuery(bt.data('target')).slideUp(200); } else { bt.find('.tp-show-inner-btn').html(bt.data('open')); bt.addClass("selected"); jQuery(bt.data('target')).slideDown(200); } }) }) </script> <?php $content = ob_get_contents(); ob_end_clean(); if ($img_counter == 0) { $img_counter = 1; } if ($slide_counter == 0) { $slide_counter = 1; } $overall = RevSliderOperations::get_performance($total_size / $slide_counter, 0, 400000); // 400KB / Slide is ok $image = RevSliderOperations::get_performance($img_size / $img_counter, 0, 100000); // 100KB Image OK $css = RevSliderOperations::get_performance($css_size, 0, 150000); // 150KB CSS OK $js = RevSliderOperations::get_performance($js_size, 0, 250000); // 250KB Image OK $font = RevSliderOperations::get_performance($all_font_count, 0, 15); // 250KB Image OK $firstslide_size += $js_size; $firstslide_size += $css_size; $smartslide_size += $js_size; $smartslide_size += $css_size; $content = str_replace("%overall_performance%", $overall["proc"], $content); $content = str_replace("%overall_color%", $overall["col"], $content); $content = str_replace("%overall_size%", size_format($total_size, 2), $content); $content = str_replace("%image_performance%", $image["proc"], $content); $content = str_replace("%image_color%", $image["col"], $content); $content = str_replace("%css_performance%", $css["proc"], $content); $content = str_replace("%css_color%", $css["col"], $content); $content = str_replace("%css_size%", size_format($css_size, 2), $content); $content = str_replace("%js_performance%", $js["proc"], $content); $content = str_replace("%js_color%", $js["col"], $content); $content = str_replace("%js_size%", size_format($js_size, 2), $content); $content = str_replace("%font_performance%", $font["proc"], $content); $content = str_replace("%font_color%", $font["col"], $content); $content = str_replace("%font_size%", $all_font_count, $content); $content = str_replace("%issues%", $issues, $content); $content = str_replace("%firstslide_size%", size_format($firstslide_size, 2), $content); $content = str_replace("%smartslide_size%", size_format($smartslide_size, 2), $content); $content = str_replace("%allslide_size%", size_format($total_size, 2), $content); $total_size = $total_size / 1000; $content = str_replace("%umtsspeed-all%", gmdate('i:s', $total_size / 48), $content); $content = str_replace("%dslspeed-all%", gmdate('i:s', $total_size / 307), $content); $content = str_replace("%t1speed-all%", gmdate('i:s', $total_size / 1180), $content); $firstslide_size = $firstslide_size / 1000; $content = str_replace("%umtsspeed-single%", gmdate('i:s', $firstslide_size / 48), $content); $content = str_replace("%dslspeed-single%", gmdate('i:s', $firstslide_size / 307), $content); $content = str_replace("%t1speed-single%", gmdate('i:s', $firstslide_size / 1180), $content); $smartslide_size = $smartslide_size / 1000; $content = str_replace("%umtsspeed-smart%", gmdate('i:s', $smartslide_size / 48), $content); $content = str_replace("%dslspeed-smart%", gmdate('i:s', $smartslide_size / 307), $content); $content = str_replace("%t1speed-smart%", gmdate('i:s', $smartslide_size / 1180), $content); echo $content; }
/** * get categories list, copy the code from default wp functions */ public static function getCategoriesHtmlList($catIDs, $strTax = null) { global $wp_rewrite; //$catList = get_the_category_list( ",", "", $postID ); $categories = self::getCategoriesByIDs($catIDs, $strTax); $arrErrors = RevSliderFunctions::getVal($categories, "errors"); if (!empty($arrErrors)) { foreach ($arrErrors as $key => $arr) { $strErrors = implode($arr, ","); } RevSliderFunctions::throwError("getCategoriesHtmlList error: " . $strErrors); } $rel = is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ? 'rel="category tag"' : 'rel="category"'; $separator = ','; $thelist = ''; $i = 0; foreach ($categories as $category) { if (is_object($category)) { $category = (array) $category; } if (0 < $i) { $thelist .= $separator; } $catID = $category["term_id"]; $link = get_category_link($catID); $catName = $category["name"]; if (!empty($link)) { $thelist .= '<a href="' . esc_url($link) . '" title="' . esc_attr(sprintf(__("View all posts in %s", 'revslider'), $category["name"])) . '" ' . $rel . '>' . $catName . '</a>'; } else { $thelist .= $catName; } ++$i; } return $thelist; }
/** * * put html slider on the html page. * @param $data - mixed, can be ID ot Alias. */ public function putSliderBase($sliderID, $gal_ids = array(), $markup_export = false, $settings = array(), $order = array()) { $this->markup_export = $markup_export; try { $slver = apply_filters('revslider_remove_version', RevSliderGlobals::SLIDER_REVISION); self::$sliderSerial++; $this->slider = new RevSlider(); if ($sliderID !== '-99') { $this->slider->initByMixed($sliderID); } else { //do default $this->slider->initByMixed($sliderID); } //modify settings if there are any special settings given through the shortcode if (!empty($settings)) { $this->modify_settings($settings); } //modify settings for admin preview mode if ($this->previewMode == true) { $this->modifyPreviewModeSettings(); } //set slider language $isWpmlExists = RevSliderWpml::isWpmlExists(); $useWpml = $this->slider->getParam("use_wpml", "off"); if ($isWpmlExists && $useWpml == "on") { if ($this->previewMode == false) { $this->sliderLang = RevSliderFunctionsWP::getCurrentLangCode(); } } //edit html before slider $htmlBeforeSlider = ""; if ($markup_export === true) { $htmlBeforeSlider .= '<!-- FONT -->'; } if ($this->slider->getParam("load_googlefont", "false") == "true") { $googleFont = $this->slider->getParam("google_font"); if (is_array($googleFont)) { foreach ($googleFont as $key => $font) { } } else { $htmlBeforeSlider .= RevSliderOperations::getCleanFontImport($googleFont); } } $gfonts = $this->slider->getParam("google_font", array()); if (!empty($gfonts) && is_array($gfonts)) { foreach ($gfonts as $gf) { $gf = str_replace(array('"', '+'), array('', ' '), $gf); $htmlBeforeSlider .= RevSliderOperations::getCleanFontImport($gf); } } //add all google fonts of layers $gfsubsets = $this->slider->getParam("subsets", array()); $gf = $this->slider->getUsedFonts(false); foreach ($gf as $gfk => $gfv) { $tcf = $gfk . ':'; if (!empty($gfv['variants'])) { $mgfirst = true; foreach ($gfv['variants'] as $mgvk => $mgvv) { if (!$mgfirst) { $tcf .= ','; } $tcf .= $mgvk; $mgfirst = false; } } if (!empty($gfv['subsets'])) { $mgfirst = true; foreach ($gfv['subsets'] as $ssk => $ssv) { if (array_search(esc_attr($gfk . '+' . $ssv), $gfsubsets) !== false) { if ($mgfirst) { $tcf .= '&subset='; } if (!$mgfirst) { $tcf .= ','; } $tcf .= $ssv; $mgfirst = false; } } } $htmlBeforeSlider .= RevSliderOperations::getCleanFontImport($tcf); } if ($markup_export === true) { $htmlBeforeSlider .= '<!-- /FONT -->'; } //pub js to body handle if ($this->slider->getParam("js_to_body", "false") == "true") { $operations = new RevSliderOperations(); $arrValues = $operations->getGeneralSettingsValues(); $enable_logs = RevSliderFunctions::getVal($arrValues, "enable_logs", 'off'); if ($markup_export === true) { $htmlBeforeSlider .= '<!-- SCRIPTINCLUDE -->'; } if ($enable_logs == 'on') { $urlIncludeJS = RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.enablelog.js?rev=' . $slver; $htmlBeforeSlider .= '<script type="text/javascript" src="' . $urlIncludeJS . '"></script>'; } $urlIncludeJS = RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.tools.min.js?rev=' . $slver; $htmlBeforeSlider .= '<script type="text/javascript" src="' . $urlIncludeJS . '"></script>'; $urlIncludeJS = RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.revolution.min.js?rev=' . $slver; $htmlBeforeSlider .= '<script type="text/javascript" src="' . $urlIncludeJS . '"></script>'; if ($markup_export === true) { $htmlBeforeSlider .= '<!-- /SCRIPTINCLUDE -->'; } } //the initial id can be alias $sliderID = $this->slider->getID(); $bannerWidth = $this->slider->getParam("width", null, RevSlider::VALIDATE_NUMERIC, "Slider Width"); $bannerHeight = $this->slider->getParam("height", null, RevSlider::VALIDATE_NUMERIC, "Slider Height"); $sliderType = $this->slider->getParam("slider_type"); $slider_type = $this->slider->getParam("slider-type"); //set wrapper height $wrapperHeigh = 0; $wrapperHeigh += $this->slider->getParam("height"); //add thumb height if ($this->slider->getParam('enable_thumbnails', 'off') == 'on') { $wrapperHeigh += $this->slider->getParam('thumb_height'); } $slider_id = $this->slider->getParam('slider_id', ''); if (trim($slider_id) !== '') { $this->sliderHtmlID = $slider_id; } else { $this->sliderHtmlID = 'rev_slider_' . $sliderID . '_' . self::$sliderSerial; } $this->sliderHtmlID_wrapper = $this->sliderHtmlID . '_wrapper'; $containerStyle = ""; $sliderPosition = $this->slider->getParam("position", "center"); $do_overflow = ''; //set position: if ($sliderType != "fullscreen") { switch ($sliderPosition) { case "center": default: $containerStyle .= "margin:0px auto;"; break; case "left": $containerStyle .= "float:left;"; break; case "right": $containerStyle .= "float:right;"; break; } if ($this->slider->getParam('main_overflow_hidden', 'on') == 'on') { $do_overflow = ' tp-overflow-hidden'; } } //add background color $backgroundColor = esc_attr(trim($this->slider->getParam('background_color'))); if (!empty($backgroundColor)) { $containerStyle .= 'background-color:' . $backgroundColor . ';'; } //set padding $containerStyle .= 'padding:' . esc_attr($this->slider->getParam('padding', '0')) . 'px;'; //set margin: if ($sliderType != 'fullscreen') { if ($sliderPosition != 'center') { $containerStyle .= 'margin-left:' . esc_attr($this->slider->getParam('margin_left', '0', RevSlider::FORCE_NUMERIC)) . 'px;'; $containerStyle .= 'margin-right:' . esc_attr($this->slider->getParam('margin_right', '0', RevSlider::FORCE_NUMERIC)) . 'px;'; } $containerStyle .= 'margin-top:' . esc_attr($this->slider->getParam('margin_top', '0', RevSlider::FORCE_NUMERIC)) . 'px;'; $containerStyle .= 'margin-bottom:' . esc_attr($this->slider->getParam('margin_bottom', '0', RevSlider::FORCE_NUMERIC)) . 'px;'; } //set height and width: $bannerStyle = 'display:none;'; //add background image (to banner style) $showBackgroundImage = $this->slider->getParam('show_background_image', 'off'); if ($showBackgroundImage == 'true' || $showBackgroundImage == 'on') { $backgroundImage = esc_attr($this->slider->getParam('background_image')); $backgroundFit = esc_attr($this->slider->getParam('bg_fit', $this->slider->getParam('def-background_fit', 'cover'))); $backgroundRepeat = esc_attr($this->slider->getParam('bg_repeat', $this->slider->getParam('def-bg_repeat', 'no-repeat'))); $backgroundPosition = esc_attr($this->slider->getParam('bg_position', $this->slider->getParam('def-bg_position', 'center center'))); if (!empty($backgroundImage)) { $containerStyle .= "background-image:url(" . $backgroundImage . ");background-repeat:" . $backgroundRepeat . ";background-size:" . $backgroundFit . ";background-position:" . $backgroundPosition . ";"; } } //set wrapper and slider class: $sliderWrapperClass = "rev_slider_wrapper"; $sliderClass = "rev_slider"; switch ($sliderType) { case "responsitive": //@since 5.0: obsolete now, was custom //@since 5.0: obsolete now, was custom case "fixed": //@since 5.0: obsolete now //@since 5.0: obsolete now case 'auto': case 'fullwidth': $sliderWrapperClass .= " fullwidthbanner-container"; $sliderClass .= " fullwidthabanner"; // KRISZTIAN REMOVED SOME LINE //$bannerStyle .= "max-height:".$bannerHeight."px;height:".$bannerHeight."px;"; //$containerStyle .= "max-height:".$bannerHeight."px;"; break; case 'fullscreen': $sliderWrapperClass .= " fullscreen-container"; $sliderClass .= " fullscreenbanner"; break; default: $bannerStyle .= "height:" . $bannerHeight . "px;width:" . $bannerWidth . "px;"; $containerStyle .= "height:" . $bannerHeight . "px;width:" . $bannerWidth . "px;"; break; } $maxWidth = $this->slider->getParam('max_width', '0', RevSlider::FORCE_NUMERIC); if ($maxWidth > 0 && $this->slider->getParam('slider_type') == 'auto') { $containerStyle .= 'max-width:' . $maxWidth . 'px;'; } $htmlTimerBar = ""; $enable_progressbar = $this->slider->getParam('enable_progressbar', 'on'); $timerBar = $this->slider->getParam('show_timerbar', 'top'); $progress_height = $this->slider->getParam('progress_height', '5'); $progress_opa = $this->slider->getParam('progress_opa', '15'); $progressbar_color = $this->slider->getParam('progressbar_color', '#000000'); if ($enable_progressbar !== 'on' || $slider_type == 'hero') { $timerBar = 'hide'; } $progress_style = ' style="height: ' . esc_attr($progress_height) . 'px; background-color: ' . RevSliderFunctions::hex2rgba($progressbar_color, $progress_opa) . ';"'; switch ($timerBar) { case "top": $htmlTimerBar = '<div class="tp-bannertimer"' . $progress_style . '></div>'; break; case "bottom": $htmlTimerBar = '<div class="tp-bannertimer tp-bottom"' . $progress_style . '></div>'; break; case "hide": $htmlTimerBar = '<div class="tp-bannertimer tp-bottom" style="visibility: hidden !important;"></div>'; break; } //check inner / outer border $paddingType = $this->slider->getParam("padding_type", "outer"); if ($paddingType == "inner") { $sliderWrapperClass .= " tp_inner_padding"; } global $revSliderVersion; $add_alias = ''; if (is_super_admin() || is_admin_bar_showing()) { if (current_user_can('edit_theme_options')) { $add_alias = ' data-alias="' . esc_attr($this->slider->getAlias()) . '"'; } } echo $htmlBeforeSlider . "\n"; echo '<div id="' . $this->sliderHtmlID_wrapper . '" class="' . $sliderWrapperClass . '"' . $add_alias; $show_alternate = $this->slider->getParam("show_alternative_type", "off"); if ($show_alternate !== 'off') { $show_alternate_image = $this->slider->getParam("show_alternate_image", ""); echo ' data-aimg="' . $show_alternate_image . '" '; if ($show_alternate == 'mobile' || $show_alternate == 'mobile-ie8') { echo ' data-amobile="enabled" '; } else { echo ' data-amobile="disabled" '; } if ($show_alternate == 'mobile-ie8' || $show_alternate == 'ie8') { echo ' data-aie8="enabled" '; } else { echo ' data-aie8="disabled" '; } } echo ' style="' . $containerStyle . '">' . "\n"; echo '<!-- START REVOLUTION SLIDER ' . $revSliderVersion . ' ' . $sliderType . ' mode -->' . "\n"; echo ' <div id="' . $this->sliderHtmlID . '"'; echo ' class="' . $sliderClass . $do_overflow . '"'; echo ' style="' . $bannerStyle . '"'; echo ' data-version="' . $revSliderVersion . '">' . "\n"; echo $this->putSlides($gal_ids, $order); echo $htmlTimerBar; echo ' </div>' . "\n"; $this->putJS($markup_export); echo '</div>'; echo '<!-- END REVOLUTION SLIDER -->'; } catch (Exception $e) { $message = $e->getMessage(); $this->putErrorMessage($message); } }
<span style="position:absolute; top:13px;left:0px; text-align: center"> <span class="setting_text_3"><?php _e("Show Layers from Slide:", REVSLIDER_TEXTDOMAIN); ?> </span> <select name="rev_show_the_slides"> <option value="none">---</option> <?php foreach ($all_slides as $c_slide) { $c_params = $c_slide->getParams(); ?> <option value="<?php echo $c_slide->getID(); ?> "><?php echo stripslashes(RevSliderFunctions::getVal($c_params, 'title', 'Slide')) . ' (ID: ' . $c_slide->getID() . ')'; ?> </option> <?php } ?> </select> </span> <?php } ?> </li> <?php $slidecounter = 0; foreach ($arrSlides as $t_slide) {
foreach ($arrSlideLinkLayers as $link_handle => $link_name) { $sel = $link_handle == $slide_link ? ' selected="selected"' : ''; echo '<option value="' . $link_handle . '"' . $sel . '>' . $link_name . '</option>'; } } ?> </select> <span class="description"><?php _e('Call Slide Action', 'revslider'); ?> </span> </p> <!-- Link POSITION --> <p> <?php $link_pos = RevSliderFunctions::getVal($slideParams, 'link_pos', 'front'); ?> <label><?php _e("Link Sensibility:", 'revslider'); ?> </label> <span style="display:inline-block; width:200px; margin-right:20px;"> <input type="radio" id="link_pos_1" value="front" name="link_pos"<?php checked($link_pos, 'front'); ?> ><span style="line-height:30px; vertical-align: middle; margin:0px 20px 0px 10px;"><?php _e('Front', 'revslider'); ?> </span> <input type="radio" id="link_pos_2" value="back" name="link_pos"<?php checked($link_pos, 'back');
public function resetSlideSettings($data) { $sliderID = RevSliderFunctions::getVal($data, "sliderid"); $this->initByID($sliderID); $arrSildes = $this->getSlides(); foreach ($arrSildes as $slide) { $slide->reset_slide_values($data); } }
/** * replace all css classes in all layers * @since: 5.0 */ public function replaceCssClass($css_from, $css_to) { $this->validateInited(); $isUpdated = false; if (!empty($this->arrLayers)) { foreach ($this->arrLayers as $key => $layer) { $caption = RevSliderFunctions::getVal($layer, 'style'); if ($caption == $css_from) { $this->arrLayers[$key]['style'] = $css_to; $isUpdated = true; } } } if ($isUpdated == true) { $this->updateLayersInDB(); } }
$video_start_at = RevSliderFunctions::getVal($slideParams, 'video_start_at', ''); $video_end_at = RevSliderFunctions::getVal($slideParams, 'video_end_at', ''); $video_arguments = RevSliderFunctions::getVal($slideParams, 'video_arguments', RevSliderGlobals::DEFAULT_YOUTUBE_ARGUMENTS); $video_arguments_vim = RevSliderFunctions::getVal($slideParams, 'video_arguments_vimeo', RevSliderGlobals::DEFAULT_VIMEO_ARGUMENTS); /* NEW KEN BURN INPUTS */ $kbStartOffsetX = intval(RevSliderFunctions::getVal($slideParams, 'kb_start_offset_x', $def_kb_start_offset_x)); $kbStartOffsetY = intval(RevSliderFunctions::getVal($slideParams, 'kb_start_offset_y', $def_kb_start_offset_y)); $kbEndOffsetX = intval(RevSliderFunctions::getVal($slideParams, 'kb_end_offset_x', $def_kb_end_offset_x)); $kbEndOffsetY = intval(RevSliderFunctions::getVal($slideParams, 'kb_end_offset_y', $def_kb_end_offset_y)); $kbStartRotate = intval(RevSliderFunctions::getVal($slideParams, 'kb_start_rotate', $def_kb_start_rotate)); $kbEndRotate = intval(RevSliderFunctions::getVal($slideParams, 'kb_end_rotate', $def_kb_start_rotate)); /* END OF NEW KEN BURN INPUTS*/ $bgRepeat = RevSliderFunctions::getVal($slideParams, 'bg_repeat', $def_bg_repeat); $slideBGExternal = RevSliderFunctions::getVal($slideParams, "slide_bg_external", ""); $img_sizes = RevSliderBase::get_all_image_sizes($slider_type); $bg_image_size = RevSliderFunctions::getVal($slideParams, 'image_source_type', $def_image_source_type); $style_wrapper = ''; $class_wrapper = ''; switch ($bgType) { case "trans": $divLayersClass = "slide_layers"; $class_wrapper = "trans_bg"; break; case "solid": $style_wrapper .= "background-color:" . $slideBGColor . ";"; break; case "image": switch ($slider_type) { case 'posts': $imageUrl = RS_PLUGIN_URL . 'public/assets/assets/sources/post.png'; break;
/** * add missing new style fields to the layers as all layers would be broken without this * @since 5.0 */ public static function add_style_settings_to_layer($sliders = false) { $sr = new RevSlider(); $sl = new RevSliderSlide(); $operations = new RevSliderOperations(); if ($sliders === false) { //do it on all Sliders $sliders = $sr->getArrSliders(false); } else { $sliders = array($sliders); } $styles = $operations->getCaptionsContentArray(); if (!empty($sliders) && is_array($sliders)) { foreach ($sliders as $slider) { $slides = $slider->getSlides(); $staticID = $sl->getStaticSlideID($slider->getID()); if ($staticID !== false) { $msl = new RevSliderSlide(); if (strpos($staticID, 'static_') === false) { $staticID = 'static_' . $slider->getID(); } $msl->initByID($staticID); if ($msl->getID() !== '') { $slides = array_merge($slides, array($msl)); } } if (!empty($slides) && is_array($slides)) { foreach ($slides as $slide) { $layers = $slide->getLayers(); if (!empty($layers) && is_array($layers)) { foreach ($layers as $lk => $layer) { $static_styles = (array) RevSliderFunctions::getVal($layer, 'static_styles', array()); $def_val = (array) RevSliderFunctions::getVal($layer, 'deformation', array()); $defh_val = (array) RevSliderFunctions::getVal($layer, 'deformation-hover', array()); if (empty($def_val)) { //add parallax always! $def_val['parallax'] = RevSliderFunctions::getVal($layer, 'parallax_level', '-'); $layers[$lk]['deformation'] = $def_val; //check for selected style in styles, then add all deformations to the layer $cur_style = RevSliderFunctions::getVal($layer, 'style', ''); if (trim($cur_style) == '') { continue; } $wws = false; foreach ($styles as $style) { if ($style['handle'] == '.tp-caption.' . $cur_style) { $wws = $style; break; } } if ($wws == false) { continue; } $css_idle = ''; $css_hover = ''; $wws['params'] = (array) $wws['params']; $wws['hover'] = (array) $wws['hover']; $wws['advanced'] = (array) $wws['advanced']; if (isset($wws['params']['font-family'])) { $def_val['font-family'] = $wws['params']['font-family']; } if (isset($wws['params']['padding'])) { $raw_pad = $wws['params']['padding']; if (!is_array($raw_pad)) { $raw_pad = explode(' ', $raw_pad); } switch (count($raw_pad)) { case 1: $raw_pad = array($raw_pad[0], $raw_pad[0], $raw_pad[0], $raw_pad[0]); break; case 2: $raw_pad = array($raw_pad[0], $raw_pad[1], $raw_pad[0], $raw_pad[1]); break; case 3: $raw_pad = array($raw_pad[0], $raw_pad[1], $raw_pad[2], $raw_pad[1]); break; } $def_val['padding'] = $raw_pad; } if (isset($wws['params']['font-style'])) { $def_val['font-style'] = $wws['params']['font-style']; } if (isset($wws['params']['text-decoration'])) { $def_val['text-decoration'] = $wws['params']['text-decoration']; } if (isset($wws['params']['background-color'])) { if (RevSliderFunctions::isrgb($wws['params']['background-color'])) { $def_val['background-color'] = RevSliderFunctions::rgba2hex($wws['params']['background-color']); } else { $def_val['background-color'] = $wws['params']['background-color']; } } if (isset($wws['params']['background-transparency'])) { $def_val['background-transparency'] = $wws['params']['background-transparency']; if ($def_val['background-transparency'] > 1) { $def_val['background-transparency'] /= 100; } } else { if (isset($wws['params']['background-color'])) { $def_val['background-transparency'] = RevSliderFunctions::get_trans_from_rgba($wws['params']['background-color'], true); } } if (isset($wws['params']['border-color'])) { if (RevSliderFunctions::isrgb($wws['params']['border-color'])) { $def_val['border-color'] = RevSliderFunctions::rgba2hex($wws['params']['border-color']); } else { $def_val['border-color'] = $wws['params']['border-color']; } } if (isset($wws['params']['border-style'])) { $def_val['border-style'] = $wws['params']['border-style']; } if (isset($wws['params']['border-width'])) { $def_val['border-width'] = $wws['params']['border-width']; } if (isset($wws['params']['border-radius'])) { $raw_bor = $wws['params']['border-radius']; if (!is_array($raw_bor)) { $raw_bor = explode(' ', $raw_bor); } switch (count($raw_bor)) { case 1: $raw_bor = array($raw_bor[0], $raw_bor[0], $raw_bor[0], $raw_bor[0]); break; case 2: $raw_bor = array($raw_bor[0], $raw_bor[1], $raw_bor[0], $raw_bor[1]); break; case 3: $raw_bor = array($raw_bor[0], $raw_bor[1], $raw_bor[2], $raw_bor[1]); break; } $def_val['border-radius'] = $raw_bor; } if (isset($wws['params']['x'])) { $def_val['x'] = $wws['params']['x']; } if (isset($wws['params']['y'])) { $def_val['y'] = $wws['params']['y']; } if (isset($wws['params']['z'])) { $def_val['z'] = $wws['params']['z']; } if (isset($wws['params']['skewx'])) { $def_val['skewx'] = $wws['params']['skewx']; } if (isset($wws['params']['skewy'])) { $def_val['skewy'] = $wws['params']['skewy']; } if (isset($wws['params']['scalex'])) { $def_val['scalex'] = $wws['params']['scalex']; } if (isset($wws['params']['scaley'])) { $def_val['scaley'] = $wws['params']['scaley']; } if (isset($wws['params']['opacity'])) { $def_val['opacity'] = $wws['params']['opacity']; } if (isset($wws['params']['xrotate'])) { $def_val['xrotate'] = $wws['params']['xrotate']; } if (isset($wws['params']['yrotate'])) { $def_val['yrotate'] = $wws['params']['yrotate']; } if (isset($wws['params']['2d_rotation'])) { $def_val['2d_rotation'] = $wws['params']['2d_rotation']; } if (isset($wws['params']['2d_origin_x'])) { $def_val['2d_origin_x'] = $wws['params']['2d_origin_x']; } if (isset($wws['params']['2d_origin_y'])) { $def_val['2d_origin_y'] = $wws['params']['2d_origin_y']; } if (isset($wws['params']['pers'])) { $def_val['pers'] = $wws['params']['pers']; } if (isset($wws['params']['color'])) { if (RevSliderFunctions::isrgb($wws['params']['color'])) { $static_styles['color'] = RevSliderFunctions::rgba2hex($wws['params']['color']); } else { $static_styles['color'] = $wws['params']['color']; } } if (isset($wws['params']['font-weight'])) { $static_styles['font-weight'] = $wws['params']['font-weight']; } if (isset($wws['params']['font-size'])) { $static_styles['font-size'] = $wws['params']['font-size']; } if (isset($wws['params']['line-height'])) { $static_styles['line-height'] = $wws['params']['line-height']; } if (isset($wws['params']['font-family'])) { $static_styles['font-family'] = $wws['params']['font-family']; } if (isset($wws['advanced']) && isset($wws['advanced']['idle']) && is_array($wws['advanced']['idle']) && !empty($wws['advanced']['idle'])) { $css_idle = '{' . "\n"; foreach ($wws['advanced']['idle'] as $handle => $value) { $value = implode(' ', $value); if ($value !== '') { $css_idle .= ' ' . $key . ': ' . $value . ';' . "\n"; } } $css_idle .= '}' . "\n"; } if (isset($wws['hover']['color'])) { if (RevSliderFunctions::isrgb($wws['hover']['color'])) { $defh_val['color'] = RevSliderFunctions::rgba2hex($wws['hover']['color']); } else { $defh_val['color'] = $wws['hover']['color']; } } if (isset($wws['hover']['text-decoration'])) { $defh_val['text-decoration'] = $wws['hover']['text-decoration']; } if (isset($wws['hover']['background-color'])) { if (RevSliderFunctions::isrgb($wws['hover']['background-color'])) { $defh_val['background-color'] = RevSliderFunctions::rgba2hex($wws['hover']['background-color']); } else { $defh_val['background-color'] = $wws['hover']['background-color']; } } if (isset($wws['hover']['background-transparency'])) { $defh_val['background-transparency'] = $wws['hover']['background-transparency']; if ($defh_val['background-transparency'] > 1) { $defh_val['background-transparency'] /= 100; } } else { if (isset($wws['hover']['background-color'])) { $defh_val['background-transparency'] = RevSliderFunctions::get_trans_from_rgba($wws['hover']['background-color'], true); } } if (isset($wws['hover']['border-color'])) { if (RevSliderFunctions::isrgb($wws['hover']['border-color'])) { $defh_val['border-color'] = RevSliderFunctions::rgba2hex($wws['hover']['border-color']); } else { $defh_val['border-color'] = $wws['hover']['border-color']; } } if (isset($wws['hover']['border-style'])) { $defh_val['border-style'] = $wws['hover']['border-style']; } if (isset($wws['hover']['border-width'])) { $defh_val['border-width'] = $wws['hover']['border-width']; } if (isset($wws['hover']['border-radius'])) { $raw_bor = $wws['hover']['border-radius']; if (!is_array($raw_bor)) { $raw_bor = explode(' ', $raw_bor); } switch (count($raw_bor)) { case 1: $raw_bor = array($raw_bor[0], $raw_bor[0], $raw_bor[0], $raw_bor[0]); break; case 2: $raw_bor = array($raw_bor[0], $raw_bor[1], $raw_bor[0], $raw_bor[1]); break; case 3: $raw_bor = array($raw_bor[0], $raw_bor[1], $raw_bor[2], $raw_bor[1]); break; } $defh_val['border-radius'] = $raw_bor; } if (isset($wws['hover']['x'])) { $defh_val['x'] = $wws['hover']['x']; } if (isset($wws['hover']['y'])) { $defh_val['y'] = $wws['hover']['y']; } if (isset($wws['hover']['z'])) { $defh_val['z'] = $wws['hover']['z']; } if (isset($wws['hover']['skewx'])) { $defh_val['skewx'] = $wws['hover']['skewx']; } if (isset($wws['hover']['skewy'])) { $defh_val['skewy'] = $wws['hover']['skewy']; } if (isset($wws['hover']['scalex'])) { $defh_val['scalex'] = $wws['hover']['scalex']; } if (isset($wws['hover']['scaley'])) { $defh_val['scaley'] = $wws['hover']['scaley']; } if (isset($wws['hover']['opacity'])) { $defh_val['opacity'] = $wws['hover']['opacity']; } if (isset($wws['hover']['xrotate'])) { $defh_val['xrotate'] = $wws['hover']['xrotate']; } if (isset($wws['hover']['yrotate'])) { $defh_val['yrotate'] = $wws['hover']['yrotate']; } if (isset($wws['hover']['2d_rotation'])) { $defh_val['2d_rotation'] = $wws['hover']['2d_rotation']; } if (isset($wws['hover']['2d_origin_x'])) { $defh_val['2d_origin_x'] = $wws['hover']['2d_origin_x']; } if (isset($wws['hover']['2d_origin_y'])) { $defh_val['2d_origin_y'] = $wws['hover']['2d_origin_y']; } if (isset($wws['hover']['speed'])) { $defh_val['speed'] = $wws['hover']['speed']; } if (isset($wws['hover']['easing'])) { $defh_val['easing'] = $wws['hover']['easing']; } if (isset($wws['advanced']) && isset($wws['advanced']['hover']) && is_array($wws['advanced']['hover']) && !empty($wws['advanced']['hover'])) { $css_hover = '{' . "\n"; foreach ($wws['advanced']['hover'] as $handle => $value) { $value = implode(' ', $value); if ($value !== '') { $css_hover .= ' ' . $key . ': ' . $value . ';' . "\n"; } } $css_hover .= '}' . "\n"; } if (!isset($layers[$lk]['inline'])) { $layers[$lk]['inline'] = array(); } if ($css_idle !== '') { $layers[$lk]['inline']['idle'] = $css_idle; } if ($css_hover !== '') { $layers[$lk]['inline']['idle'] = $css_hover; } $layers[$lk]['deformation'] = $def_val; $layers[$lk]['deformation-hover'] = $defh_val; $layers[$lk]['static_styles'] = $static_styles; } } $slide->setLayersRaw($layers); $slide->saveLayers(); } } } } } }
<span style="position:absolute; top:13px;left:0px; text-align: center"> <span class="setting_text_3"><?php _e("Show Layers from Slide:", REVSLIDER_TEXTDOMAIN); ?> </span> <select name="rev_show_the_slides"> <option value="none">---</option> <?php foreach ($all_slides as $c_slide) { $c_params = $c_slide->getParams(); ?> <option value="<?php echo $c_slide->getID(); ?> "><?php echo RevSliderFunctions::getVal($c_params, 'title', 'Slide') . ' (ID: ' . $c_slide->getID() . ')'; ?> </option> <?php } ?> </select> </span> <?php } ?> </li> <?php $slidecounter = 0; foreach ($arrSlides as $t_slide) {