template-slider-selector.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. <?php
  2. if( !defined( 'ABSPATH') ) exit();
  3. $tmpl = new RevSliderTemplate();
  4. $author_template_slider = $tmpl->getDefaultTemplateSliders();
  5. $tmp_slider = new RevSlider();
  6. $operations = new RevSliderOperations();
  7. $glob_vals = $operations->getGeneralSettingsValues();
  8. //$all_slider = $tmp_slider->getArrSliders();
  9. ?>
  10. <!-- THE TEMPLATE AREA -->
  11. <div id="template_area">
  12. <div id="template_header_part">
  13. <h2><span class="revlogo-mini" style="margin-right:15px;"></span><?php _e('Slider Template Library', 'revslider'); ?></h2>
  14. <div id="close-template"></div>
  15. <div class="revolution-template-switcher">
  16. <span id="template_filter_buttons_wrapper" style="display:table-cell;vertical-align:top">
  17. <?php
  18. if(!empty($author_template_slider) && is_array($author_template_slider)){
  19. foreach($author_template_slider as $name => $v){
  20. ?>
  21. <span data-type="temp_<?php echo sanitize_title($name); ?>" class="template_filter_button"><?php echo esc_attr($name); ?></span>
  22. <?php
  23. }
  24. }
  25. ?>
  26. <span style="display:none" id="selected_template_package_title">Light Content Block Page</span>
  27. <span style="display:none" id="leave_selected_template_package"><?php _e('Back', 'revslider'); ?></span>
  28. <span class="template_filter_button selected" data-type="temp_all"><?php _e('All Templates', 'revslider'); ?></span>
  29. <span class="template_filter_button" data-type="template_free"><?php _e('Free Templates', 'revslider'); ?></span>
  30. <span class="template_filter_button" data-type="template_premium"><?php _e('Premium Templates', 'revslider'); ?></span>
  31. <span class="template_filter_button" data-type="template_package_parent"><?php _e('Packages', 'revslider'); ?></span>
  32. <span class="template_filter_button" data-type="temp_slider"><?php _e('Slider', 'revslider'); ?></span>
  33. <span class="template_filter_button" data-type="temp_carousel"><?php _e('Carousel', 'revslider'); ?></span>
  34. <span class="template_filter_button" data-type="temp_hero"><?php _e('Hero', 'revslider'); ?></span>
  35. <span class="template_filter_button" data-type="temp_notinstalled"><?php _e('Not Installed', 'revslider'); ?></span>
  36. <span class="template_filter_button" data-type="temp_socialmedia"><?php _e('Social Media', 'revslider'); ?></span>
  37. <span class="template_filter_button" data-type="temp_postbased"><?php _e('Post-Based', 'revslider'); ?></span>
  38. <span class="template_filter_button temp_new_udpated" data-type="temp_newupdate"><?php _e('New / Updated', 'revslider'); ?></span>
  39. </span>
  40. <span style="display:table-cell;vertical-align:top;text-align:right">
  41. <span class="rs-reload-shop"><i class="eg-icon-arrows-ccw"></i><?php _e('Update Library', 'revslider'); ?></span>
  42. </span>
  43. </div>
  44. </div>
  45. <!-- THE REVOLUTION BASE TEMPLATES -->
  46. <div class="revolution-template-groups">
  47. <!-- TEMPLATES WILL BE ADDED OVER AJAX -->
  48. </div>
  49. </div>
  50. <script>
  51. function isElementInViewport(element,sctop,wh,rtgt) {
  52. var etp = parseInt(element.offset().top,0)-rtgt,
  53. etpp = parseInt(element.position().top,0),
  54. inviewport = false;
  55. //element.closest('.template_group_wrappers').find('.template_thumb_title').html("Offset:"+etp+" Scroll:"+sctop+" POffset:"+rtgt);
  56. if ((etp>-50) && (etp<wh+50))
  57. inviewport = true;
  58. return inviewport;
  59. }
  60. function scrollTA() {
  61. var ta = jQuery('.revolution-template-groups'),
  62. st = ta.scrollTop(),
  63. rtgt = parseInt(jQuery('.revolution-template-groups').offset().top,0),
  64. wh = jQuery(window).height();
  65. ta.find('.template_slider_item:visible, .template_slider_item_import:visible, .template_slider_item_img:visible').each(function() {
  66. var el = jQuery(this);
  67. if (el.data('src')!=undefined && el.data('bgadded')!=1) {
  68. if (jQuery('#template_area').hasClass("show"))
  69. if (isElementInViewport(el,st,wh,rtgt)){
  70. el.css({backgroundImage:'url("'+el.data('src')+'")'});
  71. el.data('bgadded',1);
  72. }
  73. }
  74. });
  75. }
  76. function setTWHeight() {
  77. var w = jQuery(window).height(),
  78. wh = jQuery('#template_header_part').height();
  79. jQuery('.revolution-template-groups').css({height:(w-wh)+"px"});
  80. jQuery('.revolution-template-groups').perfectScrollbar("update");
  81. scrollTA();
  82. };
  83. function initTemplateSliders() {
  84. jQuery('#template_area').on('showitnow',scrollTA);
  85. jQuery('body').on('click','.show_more_template_slider',function() {
  86. jQuery('.template_group_wrappers').css({zIndex:2});
  87. var item = jQuery(this).closest('.template_group_wrappers');
  88. if (item.length>0) {
  89. if (jQuery(window).width() - item.offset().left < item.width()*2.1)
  90. item.addClass("show_more_to_left")
  91. else
  92. item.removeClass("show_more_to_left");
  93. item.find('.template_thumb_more').fadeIn(100);
  94. jQuery('#template_bigoverlay').fadeIn(100);
  95. item.css({zIndex:15});
  96. }
  97. });
  98. jQuery('body').on('click','#leave_selected_template_package',function() {
  99. jQuery('.template_filter_button.selected').click();
  100. jQuery('#leave_selected_template_package').hide();
  101. jQuery('#selected_template_package_title').hide();
  102. jQuery('.template_filter_button').show();
  103. });
  104. // SHOW / HIDE THE SLIDERS IN PACKAGES
  105. jQuery('body').on('click','.template_group_opener',function() {
  106. var item = jQuery(this).closest('.template_package_parent'),
  107. title = item.find('.template_thumb_title').text();
  108. dg = item.data('package-group'),
  109. items = [];
  110. jQuery('.template_group_wrappers').each(function() {
  111. items.push(jQuery(this));
  112. });
  113. jQuery('.template_filter_button').hide();
  114. jQuery('#leave_selected_template_package').show();
  115. jQuery('#selected_template_package_title').show();
  116. jQuery('#selected_template_package_title').html(title);
  117. jQuery('#template_filter_buttons_wrapper')
  118. if (dg!==undefined) {
  119. for (var i=0;i<items.length;i++) {
  120. if (items[i].hasClass(dg))
  121. items[i].fadeIn(100);
  122. else
  123. items[i].fadeOut(100);
  124. }
  125. setTimeout(scrollTA,100);
  126. }
  127. })
  128. jQuery('#template_bigoverlay').on('click',function() {
  129. jQuery('#template_bigoverlay').fadeOut(100);
  130. jQuery('.template_thumb_more:visible').fadeOut(100);
  131. });
  132. // TEMPLATE ELEMENTS
  133. jQuery('.template_filter_button').on("click",function() {
  134. jQuery('#template_bigoverlay').fadeOut(100);
  135. jQuery('.template_thumb_more:visible').fadeOut(100);
  136. var btn = jQuery(this),
  137. sch = btn.data('type');
  138. jQuery('.template_filter_button').removeClass("selected");
  139. btn.addClass("selected");
  140. jQuery('.template_group_wrappers').hide();
  141. if (sch=="temp_all") {
  142. jQuery('.template_group_wrappers').each(function() {
  143. var item = jQuery(this);
  144. if (!item.hasClass("template_package")) item.show();
  145. });
  146. } else {
  147. jQuery('.'+sch).each(function() {
  148. var item = jQuery(this);
  149. if ((sch==="template_free" || sch==="template_premium") && item.hasClass("template_package")) {
  150. item.hide();
  151. } else {
  152. item.show();
  153. }
  154. });
  155. }
  156. jQuery('.revolution-template-groups').scrollTop(0);
  157. scrollTA();
  158. });
  159. jQuery('.template_slider_item, .template_slider_item_import').each(function() {
  160. var item = jQuery(this),
  161. gw = item.data('gridwidth'),
  162. gh = item.data('gridheight'),
  163. id = item.data('slideid'),
  164. w = 180;
  165. if (gw==undefined || gw<=0) gw = w;
  166. if (gh==undefined || gh<=0) gh = w;
  167. var h = Math.round((w/gw)*gh);
  168. //item.css({height:h+"px"});
  169. var factor = w/gw;
  170. var htitle = item.closest('.template_group_wrappers').find('h3');
  171. if (!htitle.hasClass("modificated")) {
  172. htitle.html(htitle.html()+" ("+gw+"x"+gh+")").addClass("modificated");
  173. }
  174. });
  175. // CLOSE SLIDE TEMPLATE
  176. jQuery('#close-template').click(function() {
  177. jQuery('#template_area').removeClass("show");
  178. });
  179. // TEMPLATE TAB CHANGE
  180. jQuery('body').on("click",'.revolution-templatebutton',function() {
  181. var btn = jQuery(this);
  182. jQuery('.revolution-template-groups').each(function() { jQuery(this).hide();});
  183. jQuery("."+btn.data("showgroup")).show();
  184. jQuery('.revolution-templatebutton').removeClass("selected");
  185. btn.addClass("selected");
  186. scrollTA();
  187. jQuery('.revolution-template-groups').perfectScrollbar("update");
  188. });
  189. setTWHeight();
  190. jQuery(window).on("resize",setTWHeight);
  191. jQuery('.revolution-template-groups').perfectScrollbar();
  192. document.addEventListener('ps-scroll-y', function (e) {
  193. if (jQuery(e.target).closest('.revolution-template-groups').length>0) {
  194. scrollTA();
  195. jQuery('#template_bigoverlay').css({top:jQuery('.revolution-template-groups').scrollTop()});
  196. }
  197. });
  198. jQuery(".input_import_slider").change(function(){
  199. if(jQuery(this).val() !== ''){
  200. jQuery('.rs-import-slider-button').show();
  201. }else{
  202. jQuery('.rs-import-slider-button').hide();
  203. }
  204. });
  205. };
  206. <?php
  207. if(isset($_REQUEST['update_shop'])){
  208. ?>
  209. jQuery(document).ready(function(){
  210. var recalls_amount = 0;
  211. function callTemplateSlider() {
  212. recalls_amount++;
  213. if (recalls_amount>5000) {
  214. jQuery('#waitaminute').hide();
  215. } else {
  216. if (jQuery('#template_area').length>0) {
  217. jQuery('#template_area').addClass("show");
  218. scrollTA();
  219. setTWHeight();
  220. jQuery('.revolution-template-groups').perfectScrollbar("update");
  221. jQuery('#waitaminute').hide();
  222. RevSliderAdmin.load_slider_template_html();
  223. //jQuery('#button_import_template_slider').click();
  224. } else {
  225. callTemplateSlider();
  226. }
  227. }
  228. }
  229. callTemplateSlider();
  230. });
  231. <?php
  232. }
  233. ?>
  234. var slider_package_uids = {};
  235. var slider_package_names = {};
  236. </script>
  237. <!-- Import template slider dialog -->
  238. <div id="dialog_import_template_slider" title="<?php _e("Import Template Slider",'revslider'); ?>" class="dialog_import_template_slider" style="display:none">
  239. <form id="form-import-online-slider-local" action="<?php echo RevSliderBase::$url_ajax; ?>" enctype="multipart/form-data" method="post">
  240. <input type="hidden" name="action" value="revslider_ajax_action">
  241. <input type="hidden" name="client_action" value="import_slider_template_slidersview">
  242. <input type="hidden" name="nonce" value="<?php echo wp_create_nonce("revslider_actions"); ?>">
  243. <input type="hidden" name="uid" class="rs-uid" value="">
  244. <p><?php _e('Please select the corresponding zip file from the download packages import folder called', 'revslider'); ?>:</p>
  245. <p class="filetoimport"><b><span class="rs-zip-name"></span></b></p>
  246. <?php
  247. $single_page_creation = RevSliderFunctions::getVal($glob_vals, "single_page_creation", "off");
  248. ?>
  249. <table style="margin: 20px 0;<?php echo ($single_page_creation == 'on') ? '' : 'display: none;'; ?>">
  250. <tr>
  251. <td><?php _e('Create Blank Page:','revslider'); ?></td>
  252. <td><input type="radio" name="page-creation" value="true"> <?php _e('Yes', 'revslider'); ?></td>
  253. <td><input type="radio" name="page-creation" value="false" checked="checked"> <?php _e('No', 'revslider'); ?></td>
  254. </tr>
  255. </table>
  256. <?php
  257. ?>
  258. <p class="import-file-wrapper"><input type="file" size="60" name="import_file" class="input_import_slider "></p>
  259. <span style="margin-top:45px;display:block"><input type="submit" class="rs-import-slider-button button-primary revblue tp-be-button" value="<?php _e("Import Template Slider",'revslider'); ?>"></span>
  260. <span class="tp-clearfix"></span>
  261. <span style="font-weight: 700;"><?php _e("Note: style templates will be updated if they exist!",'revslider'); ?></span>
  262. <table style="display: none;">
  263. <tr>
  264. <td><?php _e("Custom Animations:",'revslider'); ?></td>
  265. <td><input type="radio" name="update_animations" value="true" checked="checked"> <?php _e('Overwrite','revslider'); ?></td>
  266. <td><input type="radio" name="update_animations" value="false"> <?php _e('Append','revslider'); ?></td>
  267. </tr>
  268. <!--tr>
  269. <td><?php _e("Static Styles:",'revslider'); ?></td>
  270. <td><input type="radio" name="update_static_captions" value="true"> <?php _e('Overwrite','revslider'); ?></td>
  271. <td><input type="radio" name="update_static_captions" value="false"> <?php _e('Append','revslider'); ?></td>
  272. <td><input type="radio" name="update_static_captions" value="none" checked="checked"> <?php _e('Ignore','revslider'); ?></td>
  273. </tr-->
  274. </table>
  275. </form>
  276. </div>
  277. <div id="dialog_import_template_slider_from" title="<?php _e("Import Template Slider",'revslider'); ?>" class="dialog_import_template_slider_from" style="display:none">
  278. <?php _e('Import Slider from local or from ThemePunch server?', 'revslider'); ?>
  279. <form action="<?php echo RevSliderBase::$url_ajax; ?>" enctype="multipart/form-data" method="post" name="rs-import-template-from-server" id="rs-import-template-from-server">
  280. <input type="hidden" name="action" value="revslider_ajax_action">
  281. <input type="hidden" name="client_action" value="import_slider_online_template_slidersview">
  282. <input type="hidden" name="nonce" value="<?php echo wp_create_nonce("revslider_actions"); ?>">
  283. <input type="hidden" name="uid" class="rs-uid" value="">
  284. <input type="hidden" name="package" class="rs-package" value="false">
  285. <input type="hidden" name="page-creation" class="rs-page-creation" value="false">
  286. </form>
  287. </div>
  288. <div id="dialog_import_template_slider_info" title="<?php _e('Importing Status','revslider'); ?>" class="dialog_import_template_slider_info" style="display:none">
  289. <!-- ADD INFOS HERE ON DEMAND -->
  290. <div class="revslider_logo_rotating"><div class="revslidercycle"></div></div>
  291. <div id="install-slider-counter-wrapper"><span id="install-slider-counter"></span></div>
  292. <div id="nowinstalling_label"><?php _e('Now Installing','revslider'); ?></div>
  293. <div id="import_dialog_box_action"></div>
  294. <div id="import_dialog_box"></div>
  295. </div>
  296. <div id="dialog_import_template_slider_page_template" title="<?php _e("Create Blank Page",'revslider'); ?>" class="dialog_import_template_slider_page_template" style="display:none">
  297. <?php
  298. _e('Create a Blank Demo Page with this Slider added to it?', 'revslider');
  299. ?>
  300. </div>