<?php //set "slider_main" settings $sliderMainSettings = new UniteSettingsAdvancedRev(); $sliderMainSettings->addTextBox("title", "", RevsliderPrestashop::$lang['Slider_Title'], array("description" => RevsliderPrestashop::$lang['title_slider'], "required" => "true")); $sliderMainSettings->addTextBox("alias", "", RevsliderPrestashop::$lang['Slider_Alias'], array("description" => RevsliderPrestashop::$lang['alias_slider'], "required" => "true")); $sliderMainSettings->addHr(); //start set IMages Size $gethooks = array(); require_once dirname(__FILE__) . '../../hook/hook.php'; $hookobj = new sds_rev_hooks_class(); $customhooks = $hookobj->get_all_hooks(); if (isset($customhooks) && !empty($customhooks)) { foreach ($customhooks as $values) { foreach ($values as $valu) { $gethooks[$valu] = $valu; } } } $sliderMainSettings->addSelect("displayhook", $gethooks, RevsliderPrestashop::$lang['Display_Hook'], 'id'); $arrSourceTypes = array("posts" => RevsliderPrestashop::$lang['Products'], "specific_posts" => RevsliderPrestashop::$lang['Specific_Products'], "gallery" => RevsliderPrestashop::$lang['Gallery']); $sliderMainSettings->addRadio("source_type", $arrSourceTypes, RevsliderPrestashop::$lang['Source_Type'], "gallery"); $sliderMainSettings->startBulkControl("source_type", UniteSettingsRev::CONTROL_TYPE_SHOW, "posts"); //post types $arrPostTypes = UniteFunctionsWPRev::getPostTypesAssoc(array("product")); $arrParams = array("args" => "multiple size='5'"); $sliderMainSettings->addSelect("post_types", $arrPostTypes, RevsliderPrestashop::$lang['Types'], "product", $arrParams); //post categories $arrParams = array("args" => "multiple size='7'"); $sliderMainSettings->addSelect("post_category", array(), RevsliderPrestashop::$lang['Product_Categories'], "", $arrParams); //sort by $arrSortBy = UniteFunctionsWPRev::getArrSortBy();
<div class="title_line nobgnopd"><div class="view_title">Create Custom Hook</div></div> <div id="eg-grid-custom-hook-wrapper"> <?php $fonts = new sds_rev_hooks_class(); $custom_fonts = $fonts->get_all_hooks(); if (!empty($custom_fonts)) { foreach ($custom_fonts as $font) { $cur_font = $font['hookname']; $title = $font['hookname']; ?> <div class="postbox eg-postbox" style="width:100%;min-width:500px"> <h3 class="box-closed"> <span style="font-weight:400"><?php echo RevsliderPrestashop::$lang['Hook_Name']; ?> </span> <span style="text-transform:uppercase;"><?php echo $title; ?> </span> <div class="fontpostbox-arrow"></div> </h3> <div class="inside" style="display:none;padding:0px !important;margin:0px !important;height:100%;position:relative;background:#ebebeb"> <div class="tp-googlefont-row"> <div class="eg-cus-row-l"><label><?php echo RevsliderPrestashop::$lang['Hook_Name']; ?> </label><input type="text" name="esg-hook-name[]" value="<?php echo @$font['hookname']; ?>
$message = $response["error"]; dmp("<b>Error: " . $message . "</b>"); echo UniteFunctionsRev::getHtmlLink($viewBack, __("Go Back", REVSLIDER_TEXTDOMAIN)); } else { //handle success, js redirect. dmp(__("Slider Import Success, redirecting...", REVSLIDER_TEXTDOMAIN)); echo "<script>location.href='{$viewBack}'</script>"; } exit; } public static function onAjaxAction() { $slider = new RevSlider(); $slide = new RevSlide(); $operations = new RevOperations(); $action = self::getPostGetVar("client_action"); $data = self::getPostGetVar("data"); //$nonce = self::getPostGetVar("nonce"); try { //verify the nonce // $isVerified = wp_verify_nonce($nonce, "revslider_actions"); // // if($isVerified == false) // UniteFunctionsRev::throwError("Wrong request"); switch ($action) { //start hook setting case 'add_new_hook': $f = new sds_rev_hooks_class(); $result = $f->add_new_hook($data); if ($result === true) { self::ajaxResponseSuccessRedirect(__("Hook successfully created!", REVSLIDER_TEXTDOMAIN), self::getViewUrl("sliders")); } else { self::ajaxResponseError($result, false); } break; case 'removes_hooks': if (!isset($data['hookname'])) { self::ajaxResponseError(__('Hook not found', REVSLIDER_TEXTDOMAIN), false); } $f = new sds_rev_hooks_class(); $result = $f->remove_hook_by_hookname($data['hookname']); if ($result === true) { self::ajaxResponseSuccess(__("Hook successfully removed!", REVSLIDER_TEXTDOMAIN), array('data' => $result)); } else { self::ajaxResponseError($result, false); } break; // end hook setting //start font // end hook setting //start font case 'add_google_fonts': $f = new ThemePunch_Fonts(); $result = $f->add_new_font($data); if ($result === true) { self::ajaxResponseSuccessRedirect(__("Font successfully created!", REVSLIDER_TEXTDOMAIN), self::getViewUrl("sliders")); } else { self::ajaxResponseError($result, false); } break; case 'remove_google_fonts': if (!isset($data['handle'])) { self::ajaxResponseError(__('Font not found', REVSLIDER_TEXTDOMAIN), false); } $f = new ThemePunch_Fonts(); $result = $f->remove_font_by_handle($data['handle']); if ($result === true) { self::ajaxResponseSuccess(__("Font successfully removed!", REVSLIDER_TEXTDOMAIN), array('data' => $result)); } else { self::ajaxResponseError($result, false); } break; case 'edit_google_fonts': if (!isset($data['handle'])) { self::ajaxResponseError(__('No handle given', REVSLIDER_TEXTDOMAIN), false); } if (!isset($data['url'])) { self::ajaxResponseError(__('No parameters given', REVSLIDER_TEXTDOMAIN), false); } $f = new ThemePunch_Fonts(); $result = $f->edit_font_by_handle($data); if ($result === true) { self::ajaxResponseSuccess(__("Font successfully changed!", REVSLIDER_TEXTDOMAIN), array('data' => $result)); } else { self::ajaxResponseError($result, false); } break; //end font //end font 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"); $updateStatic = self::getPostGetVar("update_static_captions"); self::importSliderHandle(null, $updateAnim, $updateStatic); break; case "import_slider_slidersview": $viewBack = self::getViewUrl(self::VIEW_SLIDERS); $updateAnim = self::getPostGetVar("update_animations"); $updateStatic = self::getPostGetVar("update_static_captions"); self::importSliderHandle($viewBack, $updateAnim, $updateStatic); break; case "create_slider": self::requireSettings("slider_settings"); $settingsMain = self::getSettings("slider_main"); $settingsParams = self::getSettings("slider_params"); $data = $operations->modifyCustomSliderParams($data); $newSliderID = $slider->createSliderFromOptions($data, $settingsMain, $settingsParams); if ($newSliderID > 0) { self::ajaxResponseSuccessRedirect(__("The slider successfully created", REVSLIDER_TEXTDOMAIN), self::getViewUrl("sliders")); } break; case "update_slider": self::requireSettings("slider_settings"); $settingsMain = self::getSettings("slider_main"); $settingsParams = self::getSettings("slider_params"); $data = $operations->modifyCustomSliderParams($data); $slider->updateSliderFromOptions($data, $settingsMain, $settingsParams); self::ajaxResponseSuccess(__("Slider updated", REVSLIDER_TEXTDOMAIN)); break; case "delete_slider": $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: " . $isDeleted); } else { self::ajaxResponseSuccessRedirect(__("The slider deleted", REVSLIDER_TEXTDOMAIN), self::getViewUrl(self::VIEW_SLIDERS)); } break; case "duplicate_slider": $slider->duplicateSliderFromData($data); self::ajaxResponseSuccessRedirect(__("The duplicate successfully, refreshing page...", REVSLIDER_TEXTDOMAIN), self::getViewUrl(self::VIEW_SLIDERS)); break; case "add_slide": $numSlides = $slider->createSlideFromData($data); $sliderID = $data["sliderid"]; if ($numSlides == 1) { $responseText = __("Slide Created", REVSLIDER_TEXTDOMAIN); } else { $responseText = $numSlides . " " . __("Slides Created", REVSLIDER_TEXTDOMAIN); } $urlRedirect = self::getViewUrl(self::VIEW_SLIDES, "id={$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_TEXTDOMAIN); self::ajaxResponseSuccessRedirect($responseText, $urlRedirect); break; case "update_slide": require self::getSettingsFilePath("slide_settings"); $slide->updateSlideFromData($data, $slideSettings); self::ajaxResponseSuccess(__("Slide updated", REVSLIDER_TEXTDOMAIN)); break; case "update_static_slide": $slide->updateStaticSlideFromData($data); self::ajaxResponseSuccess(__("Static Global Layers updated", REVSLIDER_TEXTDOMAIN)); break; case "delete_slide": $isPost = $slide->deleteSlideFromData($data); if ($isPost) { $message = __("Post Deleted Successfully", REVSLIDER_TEXTDOMAIN); } else { $message = __("Slide Deleted Successfully", REVSLIDER_TEXTDOMAIN); } $sliderID = UniteFunctionsRev::getVal($data, "sliderID"); self::ajaxResponseSuccessRedirect($message, self::getViewUrl(self::VIEW_SLIDES, "id={$sliderID}")); break; case "duplicate_slide": $sliderID = $slider->duplicateSlideFromData($data); self::ajaxResponseSuccessRedirect(__("Slide Duplicated Successfully", REVSLIDER_TEXTDOMAIN), self::getViewUrl(self::VIEW_SLIDES, "id={$sliderID}")); break; case "copy_move_slide": $sliderID = $slider->copyMoveSlideFromData($data); self::ajaxResponseSuccessRedirect(__("The operation successfully, refreshing page...", REVSLIDER_TEXTDOMAIN), self::getViewUrl(self::VIEW_SLIDES, "id={$sliderID}")); 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); self::ajaxResponseSuccess(__("CSS saved succesfully!", REVSLIDER_TEXTDOMAIN), array("arrCaptions" => $arrCaptions)); break; case "update_captions_css": $arrCaptions = $operations->updateCaptionsContentData($data); self::ajaxResponseSuccess(__("CSS saved succesfully!", REVSLIDER_TEXTDOMAIN), array("arrCaptions" => $arrCaptions)); break; case "delete_captions_css": $arrCaptions = $operations->deleteCaptionsContentData($data); self::ajaxResponseSuccess(__("Style deleted succesfully!", REVSLIDER_TEXTDOMAIN), array("arrCaptions" => $arrCaptions)); break; case "update_static_css": $staticCss = $operations->updateStaticCss($data); self::ajaxResponseSuccess(__("CSS saved succesfully!", REVSLIDER_TEXTDOMAIN), array("css" => $staticCss)); break; case "insert_custom_anim": $arrAnims = $operations->insertCustomAnim($data); //$arrCaptions = self::ajaxResponseSuccess(__("Animation saved succesfully!", REVSLIDER_TEXTDOMAIN), $arrAnims); //,array("arrCaptions"=>$arrCaptions) break; case "update_custom_anim": $arrAnims = $operations->updateCustomAnim($data); self::ajaxResponseSuccess(__("Animation saved succesfully!", REVSLIDER_TEXTDOMAIN), $arrAnims); //,array("arrCaptions"=>$arrCaptions) break; case "delete_custom_anim": $arrAnims = $operations->deleteCustomAnim($data); self::ajaxResponseSuccess(__("Animation saved succesfully!", REVSLIDER_TEXTDOMAIN), $arrAnims); //,array("arrCaptions"=>$arrCaptions) break; case "update_slides_order": $slider->updateSlidesOrderFromData($data); self::ajaxResponseSuccess(__("Order updated successfully", REVSLIDER_TEXTDOMAIN)); break; case "change_slide_image": $slide->updateSlideImageFromData($data); $sliderID = UniteFunctionsRev::getVal($data, "slider_id"); self::ajaxResponseSuccessRedirect(__("Slide Changed Successfully", REVSLIDER_TEXTDOMAIN), self::getViewUrl(self::VIEW_SLIDES, "id={$sliderID}")); break; case "preview_slide": $operations->putSlidePreviewByData($data); break; case "preview_slider": $sliderID = UniteFunctionsRev::getPostGetVariable("sliderid"); $operations->previewOutput($sliderID); break; case "toggle_slide_state": $currentState = $slide->toggleSlideStatFromData($data); self::ajaxResponseData(array("state" => $currentState)); break; case "slide_lang_operation": $responseData = $slide->doSlideLangOperation($data); self::ajaxResponseData($responseData); break; case "update_plugin": self::updatePlugin(self::DEFAULT_VIEW); break; case "update_text": self::updateSettingsText(); self::ajaxResponseSuccess(__("All files successfully updated", REVSLIDER_TEXTDOMAIN)); break; case "update_general_settings": $operations->updateGeneralSettings($data); self::ajaxResponseSuccess(__("General settings updated", REVSLIDER_TEXTDOMAIN)); break; case "update_posts_sortby": $slider->updatePostsSortbyFromData($data); self::ajaxResponseSuccess(__("Sortby updated", REVSLIDER_TEXTDOMAIN)); break; case "replace_image_urls": $slider->replaceImageUrlsFromData($data); self::ajaxResponseSuccess(__("Image urls replaced", REVSLIDER_TEXTDOMAIN)); break; case "reset_slide_settings": $slider->resetSlideSettings($data); self::ajaxResponseSuccess(__("Settings in all Slides changed", REVSLIDER_TEXTDOMAIN)); break; case 'delete_uploaded_image': self::delete_uploaded_file($data); break; case 'get_uploaded_images': self::get_uploaded_files_json(); break; default: self::ajaxResponseError("wrong ajax action: {$action} "); break; } } catch (Exception $e) { $message = $e->getMessage();