/** * * 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); } } }
/** * * get slide template * currently it's the first slide in the slider gallery */ private function getSlideTemplates() { $sliderTemplateID = $this->getParam("slider_template_id"); if (empty($sliderTemplateID)) { UniteFunctionsRev::throwError("You must provide a template for the slider show."); } $sliderTemplate = new RevSlider(); $sliderTemplate->initByID($sliderTemplateID); if ($sliderTemplate->isSlidesFromPosts()) { UniteFunctionsRev::throwError("The slider that is template must be from gallery"); } $arrSlides = $sliderTemplate->getSlides(true); return $arrSlides; }
/** * * 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 "get_import_slides_data": $slides = array(); if (!is_array($data)) { $slider->initByID(intval($data)); $full_slides = $slider->getSlides(); //static slide is missing if (!empty($full_slides)) { foreach ($full_slides as $slide_id => $mslide) { $slides[$slide_id]['layers'] = $mslide->getLayers(); $slides[$slide_id]['params'] = $mslide->getParams(); } } $staticID = $slide->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[$msl->getID()]['layers'] = $msl->getLayers(); $slides[$msl->getID()]['params'] = $msl->getParams(); $slides[$msl->getID()]['params']['title'] = __('Static Slide', 'revslider'); } } } if (!empty($slides)) { self::ajaxResponseData(array('slides' => $slides)); } else { self::ajaxResponseData(''); } 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; }
<?php if (!defined('ABSPATH')) { exit; } //get input $slideID = RevSliderFunctions::getGetVar("id"); if ($slideID == 'new') { //add new transparent slide $sID = intval(RevSliderFunctions::getGetVar("slider")); if ($sID > 0) { $revs = new RevSlider(); $revs->initByID($sID); //check if we already have slides, if yes, go to first $arrS = $revs->getSlides(false); if (empty($arrS)) { $slideID = $revs->createSlideFromData(array('sliderid' => $sID), true); } else { $slideID = key($arrS); } } } $patternViewSlide = self::getViewUrl("slide", "id=[slideid]"); //init slide object $slide = new RevSlide(); $slide->initByID($slideID); $slideParams = $slide->getParams(); $operations = new RevSliderOperations(); //init slider object $sliderID = $slide->getSliderID(); $slider = new RevSlider();
$tmpl->write_template_markup($template); } } ?> <div style="clear:both;width:100%"></div> </div> <div style="clear:both;width:100%"></div> </div> <!-- THE ALL SLIDES GROUP --> <div class="revolution-all-slides-templates revolution-template-groups"> <?php if (!empty($all_slider)) { foreach ($all_slider as $c_slider) { $c_slides = $c_slider->getSlides(false); //$c_slides = $c_slider->getArrSlideNames(); $c_title = $c_slider->getTitle(); $width = $c_slider->getParam("width", 1240); $height = $c_slider->getParam("height", 868); /*if(!empty($c_slider['filter']) && is_array($c_slider['filter'])){ foreach($c_slider['filter'] as $f => $v){ $c_slider['filter'][$f] = 'temp_'.$v; } }*/ if (!empty($c_slides)) { ?> <div class="template_group_wrappers <?php //if(isset($c_slider['filter'])){ echo implode(' ', $c_slider['filter']); } ?> ">
static function build($post) { $description = str_replace(']]>', ']]>', apply_filters('the_content', get_the_content())); $standard_details = wpcasa_standard_details(); $custom = get_post_custom($post->ID); $price = $custom['_price'][0]; $address = $custom['_map_address'][0]; $property = new ctwizPropertyModel(array("id" => (string) $post->ID, "url" => esc_url(apply_filters('the_permalink', get_permalink())), 'description' => $description, 'publishDate' => get_the_modified_time('U'), 'requested' => $price, 'currency' => wpcasa_get_currency(), 'address' => $address)); $type_terms = get_the_terms($post->ID, "property-type"); if ($type_terms) { foreach ($type_terms as $term) { $prope = ctwizKeywordModel::_($term->name, "types"); if ($prope) { $property->houseType = $prope; break; } } } else { return false; } $agent_display_option = get_post_meta($post->ID, 'REAL_HOMES_agent_display_option', true); if ($agent_display_option == "my_profile_info") { $property->agentMobilePhone = get_the_author_meta('mobile_number'); $property->agentPhone = get_the_author_meta('office_number'); $property->agentFax = get_the_author_meta('fax_number'); $property->agentEmail = get_the_author_meta('user_email'); $property->agentName = get_the_author_meta('display_name'); } else { $property_agent = get_post_meta($post->ID, 'REAL_HOMES_agents', true); if (!empty($property_agent) && intval($property_agent) > 0) { $agent_id = intval($property_agent); $property->agentMobilePhone = get_post_meta($agent_id, 'REAL_HOMES_mobile_number', true); $property->agentPhone = get_post_meta($agent_id, 'REAL_HOMES_office_number', true); $property->agentFax = get_post_meta($agent_id, 'REAL_HOMES_fax_number', true); $property->agentEmail = get_post_meta($agent_id, 'REAL_HOMES_agent_email', true); $property->agentName = get_the_title($agent_id); } } if (!empty($standard_details)) { foreach ($standard_details as $feature => $value) { $property_details_value = get_post_meta(get_the_ID(), '_' . $feature, true); $prop = ctwizKeywordModel::_($value['label']); if ($prop) { // echo $property_details_value."\n"; $property->{$prop} = $property_details_value; } } } $property_features_terms = get_the_terms(get_the_ID(), 'feature'); if ($property_features_terms) { foreach ($property_features_terms as $term) { $prop = ctwizKeywordModel::_($term->name); if ($prop) { $property->{$prop} = true; } } } $status = $custom['_price_status'][0]; if (!empty($status)) { $prope = ctwizKeywordModel::_($status); if ($prope == "forRent") { $property->forRent = true; } if ($prope == "forSale") { $property->forSale = true; } } $properties_images = get_posts(array("post_parent" => intval($post->ID), 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID')); $photos = array(); foreach ($properties_images as $image_id) { $photos[] = array('url' => wp_get_attachment_url($image_id->ID), 'caption' => $image_id->post_name); } // get rev slider if (isset($custom['_space'][0])) { list($a, $b) = explode(" ", str_replace(array("[", "]"), array("", ""), $custom['_space'][0])); try { $slider = new RevSlider(); $slider->initByMixed($b); $slides = $slider->getSlides(true); foreach ($slides as $slide) { $photos[] = array('url' => $slide->getImageUrl()); } } catch (Exception $e) { //don't care } } if (has_post_thumbnail()) { $image_id = get_post_thumbnail_id(); $image_url = wp_get_attachment_url($image_id); $photos[] = array('url' => $image_url); } $property->photos = $photos; return $property; }
} $slider = new RevSlider(); $slider->initByID($sliderID); $sliderParams = $slider->getParams(); $arrSliders = $slider->getArrSlidersShort($sliderID); $selectSliders = UniteFunctionsRev::getHTMLSelect($arrSliders, "", "id='selectSliders'", true); $numSliders = count($arrSliders); //set iframe parameters //$width = $sliderParams["width"]; //$height = $sliderParams["height"]; $width = isset($sliderParams["width"]) ? $sliderParams["width"] : ''; $height = isset($sliderParams["height"]) ? $sliderParams["height"] : ''; $iframeWidth = $width + 60; $iframeHeight = $height + 50; $iframeStyle = "width:" . $iframeWidth . "px;height:" . $iframeHeight . "px;"; $arrSlides = $slider->getSlides(false); $numSlides = count($arrSlides); $linksSliderSettings = self::getViewUrl(RevSliderAdmin::VIEW_SLIDER, "id={$sliderID}"); $patternViewSlide = self::getViewUrl("slide", "id=[slideid]"); //treat in case of slides from gallery if ($slider->isSlidesFromPosts() == false) { $templateName = "slides_gallery"; //handle wpml $isWpmlExists = UniteWpmlRev::isWpmlExists(); $useWpml = $slider->getParam("use_wpml", "off"); $wpmlActive = false; if ($isWpmlExists && $useWpml == "on") { $wpmlActive = true; //get langs floating menu $urlIconDelete = self::$url_plugin . "images/icon-trash.png"; $urlIconEdit = self::$url_plugin . "images/icon-edit.png";
} $slider = new RevSlider(); $slider->initByID($sliderID); $sliderParams = $slider->getParams(); $arrSliders = $slider->getArrSlidersShort($sliderID); $selectSliders = UniteFunctionsRev::getHTMLSelect($arrSliders, "", "id='selectSliders'", true); $numSliders = count($arrSliders); //set iframe parameters $width = $sliderParams["width"]; $height = $sliderParams["height"]; $iframeWidth = $width + 60; $iframeHeight = $height + 50; $iframeStyle = "width:{$iframeWidth}px;height:{$iframeHeight}px;"; //handle wpml $isWpmlExists = UniteWpmlRev::isWpmlExists(); $useWpml = $slider->getParam("use_wpml", "off"); $langFilterValue = null; $wpmlActive = false; if ($isWpmlExists && $useWpml == "on") { $wpmlActive = true; $arrLangs = UniteWpmlRev::getArrLanguages(); $langFilterValue = $operations->getLangFilterValue(); $selectLangsFilter = UniteFunctionsRev::getHTMLSelect($arrLangs, $langFilterValue, "id='select_lang_filter' ", true); $langFloatMenu = UniteWpmlRev::getLangsWithFlagsHtmlList("id='slides_langs_float' class='slides_langs_float'"); } $arrSlides = $slider->getSlides(false, $langFilterValue); $numSlides = count($arrSlides); $linksSliderSettings = self::getViewUrl(RevSliderAdmin::VIEW_SLIDER, "id={$sliderID}"); require self::getPathTemplate("slides"); ?>
<?php $sliderID = self::getGetVar("id"); if (empty($sliderID)) { UniteFunctionsRev::throwError("Slider ID not found"); } $slider = new RevSlider(); $slider->initByID($sliderID); $sliderParams = $slider->getParams(); //set iframe parameters $width = $sliderParams["width"]; $height = $sliderParams["height"]; $iframeWidth = $width + 60; $iframeHeight = $height + 50; $iframeStyle = "width:{$iframeWidth}px;height:{$iframeHeight}px;"; $arrSlides = $slider->getSlides(); $numSlides = count($arrSlides); $linksSliderSettings = self::getViewUrl(RevSliderAdmin::VIEW_SLIDER, "id={$sliderID}"); require self::getPathTemplate("slides"); ?>
/** * Constructor */ public function __construct() { parent::__construct(); $operations = new RevOperations(); $sliderID = $this->getRequest()->getParam('id'); $storeID = $this->getRequest()->getParam('store_id', 0); if (empty($sliderID)) { UniteFunctionsRev::throwError("Slider ID not found"); } $slider = new RevSlider(); $slider->initByID($sliderID); $sliderParams = $slider->getParams(); $arrSliders = $slider->getArrSlidersShort($sliderID); $selectSliders = UniteFunctionsRev::getHTMLSelect($arrSliders, "", "id='selectSliders'", true); $numSliders = count($arrSliders); //set iframe parameters $width = $sliderParams["width"]; $height = $sliderParams["height"]; $iframeWidth = $width + 60; $iframeHeight = $height + 50; $iframeStyle = "width:" . $iframeWidth . "px;height:" . $iframeHeight . "px;"; $arrSlides = $slider->getSlides(false, $storeID); $numSlides = count($arrSlides); $linksSliderSettings = $this->helper("adminhtml")->getUrl('adminhtml/nwdrevslider/slider/id/' . $sliderID); $patternViewSlide = $this->helper("adminhtml")->getUrl('adminhtml/nwdrevslider/slider/id/[slideid]'); $useStaticLayers = $slider->getParam("enable_static_layers", "off"); //treat in case of slides from gallery if ($slider->isSlidesFromPosts() == false) { $templateName = "slides_gallery"; // store view $selectStoreView = Mage::app()->getLayout()->createBlock('core/html_select')->setName('select_storeview')->setId('select_storeview')->setTitle('Store View')->setValue($storeID)->setOptions(Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true))->getHtml(); $this->assign('storeID', $storeID); $this->assign('selectStoreView', $selectStoreView); $this->setTemplate('nwdthemes/revslider/templates/slides_gallery.phtml'); } else { //slides from posts $templateName = "slides_posts"; $sourceType = $slider->getParam("source_type", "posts"); $showSortBy = $sourceType == "posts" ? true : false; $showDelete = $sourceType == "specific_posts" ? true : false; //get button links $urlNewPost = $this->helper('adminhtml')->getUrl('adminhtml/catalog_product/new'); $linkNewPost = UniteFunctionsRev::getHtmlLink($urlNewPost, $this->__("<i class='revicon-pencil-1'></i>New Product"), "button_new_post", "button-primary revblue", true); //get ordering $arrSortBy = $this->helper('nwdrevslider')->getArrSortBy(); $sortBy = $slider->getParam("post_sortby", RevSlider::DEFAULT_POST_SORTBY); $selectSortBy = UniteFunctionsRev::getHTMLSelect($arrSortBy, $sortBy, "id='select_sortby'", true); $this->assign('showSortBy', $showSortBy); $this->assign('showDelete', $showDelete); $this->assign('selectSortBy', $selectSortBy); $this->assign('linkNewPost', $linkNewPost); $this->setTemplate('nwdthemes/revslider/templates/slides_posts.phtml'); } $this->assign('sliderID', $sliderID); $this->assign('iframeStyle', $iframeStyle); $this->assign('patternViewSlide', $patternViewSlide); $this->assign('selectSliders', $selectSliders); $this->assign('linksSliderSettings', $linksSliderSettings); $this->assign('useStaticLayers', $useStaticLayers); $this->assign('arrSlides', $arrSlides); $this->assign('slider', $slider); $this->assign('numSlides', $numSlides); $this->assign('numSliders', $numSliders); }
public function previewOutputMarkup($sliderID, $output = null) { if ($sliderID == "empty_output") { $this->loadingMessageOutput(); exit; } if ($output == null) { $output = new RevSliderOutput(); } $slider = new RevSlider(); $slider->initByID($sliderID); $output->setPreviewMode(); //put the output html $urlPlugin = "http://yourpluginpath/"; $urlPreviewPattern = UniteBaseClassRev::$url_ajax_actions . "&client_action=preview_slider&only_markup=true&sliderid=" . $sliderID . "&lang=[lang]&nonce=[nonce]"; $setBase = Mage::helper('nwdrevslider')->isSsl() ? "https://" : "http://"; ?> <html> <head> <script type='text/javascript' src='<?php echo $setBase; ?> ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script> </head> <body style="padding:0px;margin:0px;"> <?php //UniteBaseClassRev::$url_plugin ob_start(); ?> <link rel='stylesheet' href='<?php echo $urlPlugin; ?> css/settings.css?rev=<?php echo GlobalsRevSlider::SLIDER_REVISION; ?> ' type='text/css' media='all' /> <?php $_usedStyles = array(); $_slides = $slider->getSlides(); foreach ($_slides as $_slide) { $_layers = $_slide->getLayers(); foreach ($_layers as $_layer) { $_style = isset($_layer['style']) ? $_layer['style'] : ''; if ($_style && !in_array($_style, $_usedStyles)) { $_usedStyles[] = $_style; } } } echo Mage::helper('nwdrevslider')->inlcudeStyleFonts($_usedStyles); $http = Mage::helper('nwdrevslider')->isSsl() ? 'https' : 'http'; ?> <script type='text/javascript' src='<?php echo $urlPlugin; ?> js/jquery.themepunch.tools.min.js?rev=<?php echo GlobalsRevSlider::SLIDER_REVISION; ?> '></script> <script type='text/javascript' src='<?php echo $urlPlugin; ?> js/jquery.themepunch.revolution.min.js?rev=<?php echo GlobalsRevSlider::SLIDER_REVISION; ?> '></script> <?php $head_content = ob_get_contents(); ob_clean(); ob_end_clean(); ob_start(); $custom_css = RevOperations::getStaticCss(); echo $custom_css . "\n\n"; echo '/*****************' . "\n"; echo ' ** ' . __('CAPTIONS CSS') . "\n"; echo ' ****************/' . "\n\n"; $db = new UniteDBRev(); $styles = $db->fetch(GlobalsRevSlider::$table_css); echo UniteCssParserRev::parseDbArrayToCss($styles, "\n"); $style_content = ob_get_contents(); ob_clean(); ob_end_clean(); ob_start(); $output->putSliderBase($sliderID); $content = ob_get_contents(); ob_clean(); ob_end_clean(); $script_content = substr($content, strpos($content, '<script type="text/javascript">'), strpos($content, '</script>') + 9 - strpos($content, '<script type="text/javascript">')); $content = htmlentities(str_replace($script_content, '', $content)); $script_content = str_replace(' ', '', $script_content); $script_content = str_replace(array('<script type="text/javascript">', '</script>'), '', $script_content); ?> <style> body { font-family:sans-serif; font-size:12px;} textarea { background:#f1f1f1; border:#ddd; font-size:10px; line-height:16px; margin-bottom:40px; padding:10px;} .rev_cont_title { color:#000; text-decoration:none;font-size:14px; line-height:24px; font-weight:800;background: #D5D5D5;padding: 10px;} .rev_cont_title a, .rev_cont_title a:visited { margin-left:25px;font-size:12px;line-height:12px;float:right;background-color:#8e44ad; color:#fff; padding:8px 10px;text-decoration:none;} .rev_cont_title a:hover { background-color:#9b59b6} </style> <p><?php $dir = Mage::getBaseUrl('media'); ?> <?php echo Mage::helper('nwdrevslider')->__('Replace image path:'); ?> <?php echo Mage::helper('nwdrevslider')->__('From:'); ?> <input type="text" name="orig_image_path" value="<?php echo $dir; ?> " /> <?php echo Mage::helper('nwdrevslider')->__('To:'); ?> <input type="text" name="replace_image_path" value="" /> <input id="rev_replace_images" type="button" name="replace_images" value="<?php echo Mage::helper('nwdrevslider')->__('Replace'); ?> " /> </p> <div class="rev_cont_title"><?php echo Mage::helper('nwdrevslider')->__('Header'); ?> <a class="button-primary revpurple export_slider_standalone copytoclip" data-idt="rev_head_content" href="javascript:void(0);" original-title=""><?php echo Mage::helper('nwdrevslider')->__('Mark to Copy'); ?> </a><div style="clear:both"></div></div> <textarea id="rev_head_content" readonly="true" style="width: 100%; height: 100px; color:#3498db"><?php echo $head_content; ?> </textarea> <div class="rev_cont_title"><?php echo Mage::helper('nwdrevslider')->__('CSS'); ?> <a class="button-primary revpurple export_slider_standalone copytoclip" data-idt="rev_style_content" href="javascript:void(0);" original-title=""><?php echo Mage::helper('nwdrevslider')->__('Mark to Copy'); ?> </a></div> <textarea id="rev_style_content" readonly="true" style="width: 100%; height: 100px;"><?php echo $style_content; ?> </textarea> <div class="rev_cont_title"><?php echo Mage::helper('nwdrevslider')->__('Body'); ?> <a class="button-primary revpurple export_slider_standalone copytoclip" data-idt="rev_the_content" href="javascript:void(0);" original-title=""><?php echo Mage::helper('nwdrevslider')->__('Mark to Copy'); ?> </a></div> <textarea id="rev_the_content" readonly="true" style="width: 100%; height: 100px;"><?php echo $content; ?> </textarea> <div class="rev_cont_title"><?php echo Mage::helper('nwdrevslider')->__('Script'); ?> <a class="button-primary revpurple export_slider_standalone copytoclip" data-idt="rev_script_content" href="javascript:void(0);" original-title=""><?php echo Mage::helper('nwdrevslider')->__('Mark to Copy'); ?> </a></div> <textarea id="rev_script_content" readonly="true" style="width: 100%; height: 100px;"><?php echo $script_content; ?> </textarea> <script> jQuery('body').on('click','.copytoclip',function() { jQuery("#"+jQuery(this).data('idt')).select(); }); jQuery('#rev_replace_images').on('click', function() { var originalPath = jQuery('input[name=orig_image_path]').val(); var replacePath = jQuery('input[name=replace_image_path]').val(); var revContent = $('#rev_the_content').val(); $('#rev_the_content').val(revContent.replace(originalPath, replacePath)); jQuery('input[name=orig_image_path]').val(replacePath); jQuery('input[name=replace_image_path]').val(originalPath); }); </script> </body> </html> <?php exit; }
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); } } }