WP Responsive Recent Post Slider - Version 3.0.9

Version Description

(17, May 2022) = * [*] Tested up to: 6.0

Download this release

Release Info

Developer wponlinesupport
Plugin Icon 128x128 WP Responsive Recent Post Slider
Version 3.0.9
Comparing to
See all releases

Code changes from version 2.7.1 to 3.0.9

Files changed (52) hide show
  1. assets/css/wppsac-admin-style.css +78 -1
  2. assets/images/SlidersPack-50.png +0 -0
  3. assets/images/beaver-icon.png +0 -0
  4. assets/images/divi-icon.png +0 -0
  5. assets/images/elementor-icon.png +0 -0
  6. assets/images/essential-plugin-logo.png +0 -0
  7. assets/images/fb-icon.png +0 -0
  8. assets/images/g-logo.png +0 -0
  9. assets/images/gutenberg-icon.png +0 -0
  10. assets/images/inboundwp-50.png +0 -0
  11. assets/images/page-builder-icon.png +0 -0
  12. assets/images/page-builder-support.jpg +0 -0
  13. assets/images/popup-anything-icon.png +0 -0
  14. assets/images/popup-icon/14-days-money-back-guarantee.png +0 -0
  15. assets/images/popup-icon/centermode.png +0 -0
  16. assets/images/popup-icon/grid-box.png +0 -0
  17. assets/images/popup-icon/popup-design.png +0 -0
  18. assets/images/popup-icon/slider-carousel.png +0 -0
  19. assets/images/popup-icon/slider.png +0 -0
  20. assets/images/rating.png +0 -0
  21. assets/images/security-icon.png +0 -0
  22. assets/images/site-origin-icon.png +0 -0
  23. assets/images/utility-50.png +0 -0
  24. assets/images/vc-icon.png +0 -0
  25. assets/images/wordpress-icon-logo.png +0 -0
  26. assets/images/wpbakery-icon.png +0 -0
  27. assets/images/wpos-team.png +0 -0
  28. assets/js/blocks.build.js +1 -1
  29. includes/admin/class-wprps-admin.php +93 -4
  30. includes/admin/settings/premium.php +210 -173
  31. includes/admin/settings/solutions-features.php +190 -0
  32. includes/admin/settings/trail-premium.php +301 -0
  33. includes/admin/supports/gutenberg-block.php +5 -5
  34. includes/admin/wprps-how-it-work.php +32 -26
  35. includes/class-wppsac-script.php +5 -0
  36. languages/wp-responsive-recent-post-slider-en_US-wprps-free-block-js.json +1 -1
  37. languages/wp-responsive-recent-post-slider.pot +147 -556
  38. readme.txt +57 -14
  39. wp-recent-post-slider.php +34 -6
  40. wpos-analytics/assets/images/wpos-logo.png +0 -0
  41. wpos-analytics/assets/js/wpos-anylc-admin.js +42 -42
  42. wpos-analytics/includes/class-anylc-admin.php +459 -459
  43. wpos-analytics/includes/class-anylc-script.php +64 -64
  44. wpos-analytics/includes/wpos-anylc-function.php +330 -328
  45. wpos-analytics/templates/analytic.php +93 -93
  46. wpos-analytics/templates/offers.php +72 -72
  47. wpos-analytics/templates/optout-popup.php +1 -1
  48. wpos-analytics/wpos-analytics.php +250 -250
  49. wpos-plugins/assets/images/essentialplugin-logo.png +0 -0
  50. wpos-plugins/assets/images/wponlinesupport-logo.png +0 -0
  51. wpos-plugins/includes/admin/class-espbw-admin.php +1 -1
  52. wpos-plugins/includes/admin/views/dashboard.php +3 -3
assets/css/wppsac-admin-style.css CHANGED
@@ -1,3 +1,80 @@
1
  /* Builder Shortcode Preview */
2
  .wppsac-builder-shrt-prev{background-color: #e7e7e7; padding: 10px; border: 1px solid #ccc; font-size: 15px;text-align: center;}
3
- .wppsac-builder-shrt-title span{border-bottom: 1px solid #999; display: inline-block; padding: 0 0 5px 0;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /* Builder Shortcode Preview */
2
  .wppsac-builder-shrt-prev{background-color: #e7e7e7; padding: 10px; border: 1px solid #ccc; font-size: 15px;text-align: center;}
3
+ .wppsac-builder-shrt-title span{border-bottom: 1px solid #999; display: inline-block; padding: 0 0 5px 0;}
4
+
5
+ /************** Start - Solutions & Features Page CSS ****************/
6
+ .wppsac-sf-center{text-align:center;}
7
+ .recent-post-slider_page_wprps-solutions-features #wpwrap { background: #f7faff;}
8
+ .wppsac-sf-wrap{max-width: 860px;margin: 0 auto;}
9
+ .wppsac-sf-heading{font-size: 28px;font-weight: 700;letter-spacing: -1px;text-align: center;margin-top: 30px; margin-bottom:5px;}
10
+ .wppsac-sf-image{margin:25px 0 15px 0;}
11
+ .wppsac-sf-cont {color: #000; font-size:15px;}
12
+ .wppsac-sf-top-rsn p, .wppsac-sf-sf-testimonial-wrap p{color: #000; font-size:15px;}
13
+ .wppsac-sf-left{text-align:left;}
14
+ .wppsac-sf-feature__text h3{font-size: 22px;font-weight: 700;margin:0;}
15
+ .wppsac-sf-solutions-box-grid {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;
16
+ flex-direction: column;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
17
+ .wppsac-sf-team{margin-bottom:50px; border-radius: 10px;border: 1px solid #e5ecf6; padding:10px 30px 30px 30px;}
18
+ .wppsac-sf-blue{color:#6c63ff; font-weight:bold;}
19
+ .recent-post-slider_page_wprps-solutions-features #wpcontent{padding: 0 0 40px; line-height: normal;}
20
+ .wppsac-sf-wrap .wppsac-sf-inr{padding: 30px 40px 0;}
21
+ .wppsac-sf-wrap .wppsac-sf-welcome-wrap{ margin-bottom:50px; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; background: #fff; padding: 30px; border-radius: 10px; border: 1px solid #e5ecf6; }
22
+ .wppsac-sf-welcome-wrap{margin-top:30px;}
23
+
24
+ .wppsac-sf-subtitle{color: #6c7781; font-size: 16px; font-weight: 600; margin-bottom: 6px;}
25
+ .wppsac-sf-title{font-size: 32px; font-weight: 600; color: #23282d; margin-top: 0; margin-bottom: 20px;}
26
+ .wppsac-sf-ttl{font-size: 23px; font-weight: 600; color: #23282d; margin-top: 0; margin-bottom: 20px;}
27
+ .wppsac-sf-content{margin: 0 0 20px; font-size: 22px; color: #646970;}
28
+ .wppsac-sf-btn{display: inline-block; font-size: 18px; padding: 10px 25px; border-radius: 100px; background-color: #46b450; border-color: #46b450; color: #fff !important; font-weight: 600; text-decoration: none;}
29
+ .wppsac-sf-btn-orange{ background-color: #FF1000; border-color: #FF1000 ;}
30
+ .wppsac-sf-btn:hover,
31
+ .wppsac-sf-btn:focus{background-color: #3fa548; border-color: #3fa548;}
32
+ .wppsac-sf-btn-orange:hover,
33
+ .wppsac-sf-btn-orange:focus {background-color: #D01003 ; border-color: #D01003 ;}
34
+ .wppsac-sf-fp-ttl{font-size: 23px; line-height: 1.4em; margin-bottom: 10px; font-weight: 600; text-align: center;}
35
+ .wppsac-sf-fp-box-wrp{display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 10px;}
36
+ .wppsac-sf-fp-box-wrp .wppsac-sf-fp-box{position: relative; border: 1px solid #c3e6cb; padding: 10px; text-align: center;}
37
+ .wppsac-sf-fp-box-wrp .wppsac-sf-pro-box{border: 1px solid #f5c6cb;}
38
+ .wppsac-sf-fp-box-wrp>*{flex: 0 0 26.8%;}
39
+ .wppsac-sf-fp-box-wrp i.dashicons{font-size: 25px; display: inline-block; color: #528bfa; width: 30px; height: 30px; line-height: 30px;}
40
+ .wppsac-sf-fp-box-wrp .wppsac-sf-box-ttl{font-size: 16px;}
41
+ .wppsac-sf-tag{position: absolute; display: inline-block; top: 0; right: 0; background-color: #d4edda; color: #155724; padding: 1px 8px; text-transform: uppercase; font-size: 12px; }
42
+ .wppsac-sf-pro-box .wppsac-sf-tag{background-color: #f8d7da; color: #721c24;}
43
+
44
+ .wppsac-rc-wrap{max-width: 550px; margin: 15px auto 0 auto; text-align: left;}
45
+ .wppsac-rc-wrap .wppsac-rc-inr{display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 15px;}
46
+ .wppsac-rc-wrap .wppsac-rc-icon{margin-right: 15px; width: 60px; height: 60px;}
47
+ .wppsac-rc-wrap .wppsac-rc-icon img{width: 100%; height: 100%;}
48
+ .wppsac-rc-wrap .wppsac-rc-inr h3{font-size: 16px; margin: 0 0 5px 0;}
49
+ .wppsac-rc-wrap .wppsac-rc-inr p{margin: 0;}
50
+ .wppsac-rc-wrap .wppsac-rc-bg-box{ background-color:#f1f1f1; border: 1px solid #d1d1d1; padding: 5px 10px; }
51
+
52
+ .wppsac-solutions-section{margin-bottom: 20px;}
53
+ .wppsac-solutions-box-wrap{display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 15px; margin-top:50px; margin-bottom:10px;}
54
+ .wppsac-solutions-box-wrap>*{flex: 1 0 21%;}
55
+
56
+ .wppsac-solutions-box-wrap .wppsac-box-ttl{background-color: #cce5ff; color: #004085; font-size: 16px; padding: 10px;}
57
+ .wppsac-solutions-box-wrap ul{padding: 0 10px; margin: 0;}
58
+ .wppsac-solutions-box-wrap ul li{position: relative; font-size: 14px; border-bottom: 1px solid #e7e7e7; margin: 0; padding: 8px 0;}
59
+ .wppsac-solutions-box-wrap ul li:last-child{border-bottom: none;}
60
+
61
+ .wppsac-sf-welcome-wrap{margin-top:30px;}
62
+ .wppsac-sf-features-ttl{margin-top:45px; margin-bottom: 15px;}
63
+ .wppsac-sf-features-ttl h2{margin-bottom: 5px; color: #155724;}
64
+ .wppsac-features-section .wppsac-features-section-inr{padding: 15px 30px; margin-bottom:30px; text-align:center;}
65
+ .wppsac-features-section ul.wppsac-features-box-grid{margin:0px;display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 15px; list-style: none !important; margin-bottom:15px;}
66
+ ul.wppsac-features-box-grid>*{flex: 1 0 30%; text-align:center; font-size:13px; font-weight:bold;}
67
+ ul.wppsac-features-box-grid li{border:1px solid #f1f1f1; padding:10px 0;}
68
+ ul.wppsac-features-box-grid li img{width:100%;}
69
+
70
+ .bg-highlight{background:#bde1f9;color:#000;padding: 0 5px; display:inline-block;}
71
+ .wppsac-testimonial-section-inr{text-align:center;}
72
+ .wppsac-testimonial-box-wrap{margin-bottom:15px;}
73
+ .wppsac-testimonial-box-wrap{display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 15px;}
74
+ .wppsac-testimonial-box-wrap>*{flex: 1 0 21%;}
75
+ .wppsac-testimonial-box-wrap .wppsac-testimonial-box-grid{border: 1px solid #ddd;background:#fff; box-shadow: 0 3px 2px rgba(0,0,0,.05);
76
+ padding: 30px;text-align: center;display: flex;flex-direction: column;align-items: center;}
77
+ .wppsac-testimonial-box-wrap h3{margin-top:0px;}
78
+ .wppsac-testimonial-clnt{margin:15px 0 0 0; font-size:16px; font-weight:bold;}
79
+
80
+ /************** End - Solutions & Features Page CSS ****************/
assets/images/SlidersPack-50.png ADDED
Binary file
assets/images/beaver-icon.png ADDED
Binary file
assets/images/divi-icon.png ADDED
Binary file
assets/images/elementor-icon.png ADDED
Binary file
assets/images/essential-plugin-logo.png ADDED
Binary file
assets/images/fb-icon.png ADDED
Binary file
assets/images/g-logo.png ADDED
Binary file
assets/images/gutenberg-icon.png ADDED
Binary file
assets/images/inboundwp-50.png ADDED
Binary file
assets/images/page-builder-icon.png ADDED
Binary file
assets/images/page-builder-support.jpg ADDED
Binary file
assets/images/popup-anything-icon.png ADDED
Binary file
assets/images/popup-icon/14-days-money-back-guarantee.png ADDED
Binary file
assets/images/popup-icon/centermode.png ADDED
Binary file
assets/images/popup-icon/grid-box.png ADDED
Binary file
assets/images/popup-icon/popup-design.png ADDED
Binary file
assets/images/popup-icon/slider-carousel.png ADDED
Binary file
assets/images/popup-icon/slider.png ADDED
Binary file
assets/images/rating.png ADDED
Binary file
assets/images/security-icon.png ADDED
Binary file
assets/images/site-origin-icon.png ADDED
Binary file
assets/images/utility-50.png ADDED
Binary file
assets/images/vc-icon.png ADDED
Binary file
assets/images/wordpress-icon-logo.png ADDED
Binary file
assets/images/wpbakery-icon.png ADDED
Binary file
assets/images/wpos-team.png ADDED
Binary file
assets/js/blocks.build.js CHANGED
@@ -1 +1 @@
1
- !function(e){function t(s){if(n[s])return n[s].exports;var r=n[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,s){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:s})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(1)},function(e,t,n){"use strict";var s=n(2),r=(n.n(s),n(3)),o=(n.n(r),n(4)),p=n(5),__=wp.i18n.__,l=wp.blocks.registerBlockType;l("wprps/recent-post-slider",{title:__("Recent Post Slider","wp-responsive-recent-post-slider"),description:__("Display recent post in a slider view with various layouts.","wp-responsive-recent-post-slider"),icon:"slides",category:"wpos_guten_block",keywords:[__("wpos"),__("recent post slider","wp-responsive-recent-post-slider"),__("recent-post-slider")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var t=e.align;if(["wide","full"].includes(t))return{"data-align":t,"data-block-type":"wprpsp-slider"}},edit:o.a,save:function(){return null}}),l("wprps/recent-post-carousel",{title:__("Recent Carousel Slider","wp-responsive-recent-post-slider"),description:__("Display recent post in a carousel slider view with various layouts.","wp-responsive-recent-post-slider"),icon:"slides",category:"wpos_guten_block",keywords:[__("wpos"),__("recent carousel slider","wp-responsive-recent-post-slider"),__("recent-post-carousel")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var t=e.align;if(["wide","full"].includes(t))return{"data-align":t,"data-block-type":"wprpsp-carousel"}},edit:p.a,save:function(){return null}})},function(e,t){},function(e,t){},function(e,t,n){"use strict";function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var p=function(){function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,n,s){return n&&e(t.prototype,n),s&&e(t,s),t}}(),l=wp.element,i=l.Component,a=l.Fragment,c=wp.components,d=c.PanelBody,m=c.Disabled,w=c.TextControl,u=c.ToggleControl,v=c.RangeControl,h=c.SelectControl,__=wp.i18n.__,g=(wp.data.select,wp.editor),f=g.InspectorControls,E=g.BlockControls,b=g.BlockAlignmentToolbar,y=function(e){function t(){s(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isLoading:!1},e}return o(t,e),p(t,[{key:"ObjToString",value:function(e){var t=wp.blocks.getBlockAttributes("wprps/recent-post-slider"),n=["content_tail"],s="";for(var r in e)e.hasOwnProperty(r)&&"undefined"!==typeof e[r]&&e[r]!==t[r]&&(""!=jQuery.trim(e[r])||jQuery.inArray(r,n)>=0)&&(s+=r+'="'+e[r]+'" ');return s}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-responsive-recent-post-slider")},{value:"false",label:__("False","wp-responsive-recent-post-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-responsive-recent-post-slider")},{value:"design-2",label:__("Design 2","wp-responsive-recent-post-slider")},{value:"design-3",label:__("Design 3","wp-responsive-recent-post-slider")},{value:"design-4",label:__("Design 4","wp-responsive-recent-post-slider")}]}},{key:"GetLinkTargetDropdown",value:function(){return[{value:"self",label:__("Same Window","wp-responsive-recent-post-slider")},{value:"blank",label:__("New Window","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-responsive-recent-post-slider")},{value:"modified",label:__("Post Modified Date","wp-responsive-recent-post-slider")},{value:"title",label:__("Post Title","wp-responsive-recent-post-slider")},{value:"name",label:__("Post Slug","wp-responsive-recent-post-slider")},{value:"ID",label:__("Post ID","wp-responsive-recent-post-slider")},{value:"rand",label:__("Random","wp-responsive-recent-post-slider")},{value:"menu_order",label:__("Menu Order (Sort Order)","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-responsive-recent-post-slider")},{value:"asc",label:__("Ascending","wp-responsive-recent-post-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){var t=wp.data.select("core/editor").getEditorSettings(),n=t.alignWide;e.attributes;n||this.props.setAttributes({align:void 0})}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,s=t.design,r=t.show_date,o=t.show_author,p=t.show_category_name,l=t.show_content,i=t.content_words_limit,c=t.show_read_more,g=t.dots,y=t.arrows,_=t.autoplay,k=t.autoplay_interval,P=t.speed,C=t.post_type,B=t.taxonomy,D=t.limit,N=t.category,W=t.posts,O=t.hide_post,S=t.media_size,x=t.align,G=(t.className,this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(d,{title:__("General Parameters","wp-responsive-recent-post-slider")},wp.element.createElement(h,{label:__("Design","wp-responsive-recent-post-slider"),value:s,options:this.GetDesigns(),onChange:function(e){return n({design:e})}}),wp.element.createElement(u,{label:__("Show Date","wp-responsive-recent-post-slider"),checked:!!r,onChange:function(){return n({show_date:!r})}}),wp.element.createElement(u,{label:__("Show Author","wp-responsive-recent-post-slider"),checked:!!o,onChange:function(){return n({show_author:!o})}}),wp.element.createElement(u,{label:__("Show Category Name","wp-responsive-recent-post-slider"),checked:!!p,onChange:function(){return n({show_category_name:!p})}}),wp.element.createElement(u,{label:__("Show Content","wp-responsive-recent-post-slider"),checked:!!l,onChange:function(){return n({show_content:!l})}}),l&&wp.element.createElement(v,{label:__("Content Words limit","wp-responsive-recent-post-slider"),value:i,onChange:function(e){return n({content_words_limit:e})},min:1,max:2500,help:__("Enter content word limit.","wp-responsive-recent-post-slider")}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Content Tail","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display dots after the post content as continue reading. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),l&&wp.element.createElement(h,{label:__("Read More","wp-responsive-recent-post-slider"),value:c,options:this.GetBooleanDropdown(),onChange:function(e){return n({show_read_more:e})}}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Read More Text","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter read more text. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Link Behaviour","wp-responsive-recent-post-slider"),onChange:function(e){return n({link_target:e})},help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose link target behaviour. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Media Size","wp-responsive-recent-post-slider"),value:S,onChange:function(e){return n({media_size:e})},help:__("Choose WordPress registered image size. e.g thumbnail, medium, large, full.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Image Height","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Control height of the featured image. You can enter any numeric number. e.g 500. Leave empty for default height. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Image Fit","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Fill the post image in a whole container. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Slider Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(h,{label:__("Dots","wp-responsive-recent-post-slider"),value:g,options:this.GetBooleanDropdown(),onChange:function(e){return n({dots:e})},help:__("Show pagination dots.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Arrows","wp-responsive-recent-post-slider"),value:y,options:this.GetBooleanDropdown(),onChange:function(e){return n({arrows:e})},help:__("Show prev - next arrows.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Autoplay","wp-responsive-recent-post-slider"),value:_,options:this.GetBooleanDropdown(),onChange:function(e){return n({autoplay:e})}}),"true"==_&&wp.element.createElement(v,{label:__("Autoplay Interval","wp-responsive-recent-post-slider"),value:k,onChange:function(e){return n({autoplay_interval:e})},min:1,max:5e4,help:__("Enter autoplay interval speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Speed","wp-responsive-recent-post-slider"),value:P,onChange:function(e){return n({speed:e})},min:1,max:5e4,help:__("Enter slide speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Fade","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable fade effect. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Loop","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable infinite loop for continuous sliding. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Hover","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay on hover. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Focus","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay when slider element is focused. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Nav Slides","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter number of slider navigation column. Note: This parameter default work with design-17, design-18, design-19, design-20. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Query Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(w,{label:__("Post Type","wp-responsive-recent-post-slider"),value:C,onChange:function(e){return n({post_type:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid post type name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered post type name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Taxonomy","wp-responsive-recent-post-slider"),value:B,onChange:function(e){return n({taxonomy:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid taxonomy name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered taxonomy name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(v,{label:__("Limit","wp-responsive-recent-post-slider"),value:D,onChange:function(e){return n({limit:e})},min:-1,max:1e3,help:__("Enter number of post to be displayed. Enter -1 to display all.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order By","wp-responsive-recent-post-slider"),options:this.GetPostOrderby(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set order of post by date, title, name etc.. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order","wp-responsive-recent-post-slider"),options:this.GetPostOrder(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set post in acesding and descending order. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Category","wp-responsive-recent-post-slider"),value:N,onChange:function(e){return n({category:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant category listing page.","wp-responsive-recent-post-slider")},__("Enter category id to display categories wise.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Child Category","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("If you are using parent category then whether to display child category or not. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Category","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude post category. Works only if `Category` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant category listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Posts","wp-responsive-recent-post-slider"),value:W,onChange:function(e){return n({posts:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Exclude Post","wp-responsive-recent-post-slider"),value:O,onChange:function(e){return n({hide_post:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you do not want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Include Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to display posts of particular author. You can pass multiple ids with comma seperated. You can find id at users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to hide post of particular author. Works only if `Include Author` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Sticky Posts","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display sticky posts or not. Note: sticky posts only be displayed at front side. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Query Offset","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude number of posts from starting. e.g if you pass 5 then it will skip first five post. Note: This will not work with limit=-1. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})))));return wp.element.createElement(a,null,G,wp.element.createElement(E,null,wp.element.createElement(b,{value:x,onChange:function(e){return n({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,t=this.ObjToString(e);t=t.trim();var n=t?"[recent_post_slider "+t+"]":"[recent_post_slider]";return wp.element.createElement("div",{className:"wpos-guten-shrt"},wp.element.createElement("div",{className:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Responsive Recent Post Slider/Carousel - Slider","wp-responsive-recent-post-slider"))),n,wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))),wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))))}}]),t}(i);t.a=y},function(e,t,n){"use strict";function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var p=function(){function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,n,s){return n&&e(t.prototype,n),s&&e(t,s),t}}(),l=wp.element,i=l.Component,a=l.Fragment,c=wp.components,d=c.PanelBody,m=c.Disabled,w=c.TextControl,u=c.ToggleControl,v=c.RangeControl,h=c.SelectControl,__=wp.i18n.__,g=(wp.data.select,wp.editor),f=g.InspectorControls,E=g.BlockControls,b=g.BlockAlignmentToolbar,y=function(e){function t(){s(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isLoading:!1},e}return o(t,e),p(t,[{key:"ObjToString",value:function(e){var t=wp.blocks.getBlockAttributes("wprps/recent-post-carousel"),n=["content_tail"],s="";for(var r in e)e.hasOwnProperty(r)&&"undefined"!==typeof e[r]&&e[r]!==t[r]&&(""!=jQuery.trim(e[r])||jQuery.inArray(r,n)>=0)&&(s+=r+'="'+e[r]+'" ');return s}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-responsive-recent-post-slider")},{value:"false",label:__("False","wp-responsive-recent-post-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-responsive-recent-post-slider")}]}},{key:"GetLinkTargetDropdown",value:function(){return[{value:"self",label:__("Same Window","wp-responsive-recent-post-slider")},{value:"blank",label:__("New Window","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-responsive-recent-post-slider")},{value:"modified",label:__("Post Modified Date","wp-responsive-recent-post-slider")},{value:"title",label:__("Post Title","wp-responsive-recent-post-slider")},{value:"name",label:__("Post Slug","wp-responsive-recent-post-slider")},{value:"ID",label:__("Post ID","wp-responsive-recent-post-slider")},{value:"rand",label:__("Random","wp-responsive-recent-post-slider")},{value:"menu_order",label:__("Menu Order (Sort Order)","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-responsive-recent-post-slider")},{value:"asc",label:__("Ascending","wp-responsive-recent-post-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){var t=wp.data.select("core/editor").getEditorSettings(),n=t.alignWide;e.attributes;n||this.props.setAttributes({align:void 0})}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,s=t.design,r=t.show_date,o=t.show_author,p=t.show_category_name,l=t.show_content,i=t.content_words_limit,c=t.show_read_more,g=t.slides_to_show,y=t.slides_to_scroll,_=t.dots,k=t.arrows,P=t.autoplay,C=t.autoplay_interval,B=t.speed,D=t.post_type,N=t.taxonomy,W=t.limit,O=t.category,S=t.posts,x=t.hide_post,G=t.media_size,U=t.align,T=(t.className,this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(d,{title:__("General Parameters","wp-responsive-recent-post-slider")},wp.element.createElement(h,{label:__("Design","wp-responsive-recent-post-slider"),value:s,options:this.GetDesigns(),onChange:function(e){return n({design:e})}}),wp.element.createElement(u,{label:__("Show Date","wp-responsive-recent-post-slider"),checked:!!r,onChange:function(){return n({show_date:!r})}}),wp.element.createElement(u,{label:__("Show Author","wp-responsive-recent-post-slider"),checked:!!o,onChange:function(){return n({show_author:!o})}}),wp.element.createElement(u,{label:__("Show Category Name","wp-responsive-recent-post-slider"),checked:!!p,onChange:function(){return n({show_category_name:!p})}}),wp.element.createElement(u,{label:__("Show Content","wp-responsive-recent-post-slider"),checked:!!l,onChange:function(){return n({show_content:!l})}}),l&&wp.element.createElement(v,{label:__("Content Words limit","wp-responsive-recent-post-slider"),value:i,onChange:function(e){return n({content_words_limit:e})},min:1,max:2500,help:__("Enter content word limit.","wp-responsive-recent-post-slider")}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Content Tail","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display dots after the post content as continue reading. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),l&&wp.element.createElement(h,{label:__("Read More","wp-responsive-recent-post-slider"),value:c,options:this.GetBooleanDropdown(),onChange:function(e){return n({show_read_more:e})}}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Read More Text","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter read more text. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Link Behaviour","wp-responsive-recent-post-slider"),onChange:function(e){return n({link_target:e})},help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose link target behaviour. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Media Size","wp-responsive-recent-post-slider"),value:G,onChange:function(e){return n({media_size:e})},help:__("Choose WordPress registered image size. e.g thumbnail, medium, large, full.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Image Height","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Control height of the featured image. You can enter any numeric number. e.g 500. Leave empty for default height. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Image Fit","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Fill the post image in a whole container. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Slider Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(v,{label:__("Slide To Show","wp-responsive-recent-post-slider"),value:g,onChange:function(e){return n({slides_to_show:e})},min:1,max:100,help:__("Enter number for Slide to show at a time.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Slide To Scroll","wp-responsive-recent-post-slider"),value:y,onChange:function(e){return n({slides_to_scroll:e})},min:1,max:100,help:__("Enter number to scroll slider at a time.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Dots","wp-responsive-recent-post-slider"),value:_,options:this.GetBooleanDropdown(),onChange:function(e){return n({dots:e})},help:__("Show pagination dots.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Arrows","wp-responsive-recent-post-slider"),value:k,options:this.GetBooleanDropdown(),onChange:function(e){return n({arrows:e})},help:__("Show prev - next arrows.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Autoplay","wp-responsive-recent-post-slider"),value:P,options:this.GetBooleanDropdown(),onChange:function(e){return n({autoplay:e})}}),"true"==P&&wp.element.createElement(v,{label:__("Autoplay Interval","wp-responsive-recent-post-slider"),value:C,onChange:function(e){return n({autoplay_interval:e})},min:1,max:5e4,help:__("Enter autoplay interval speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Speed","wp-responsive-recent-post-slider"),value:B,onChange:function(e){return n({speed:e})},min:1,max:5e4,help:__("Enter slide speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Loop","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable infinite loop for continuous sliding. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Centermode","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable centered view with partial prev/next slides. Use with odd numbered `Slides to Scroll` and `Slider Column` counts. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Hover","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay on hover. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Focus","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay when slider element is focused. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Query Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(w,{label:__("Post Type","wp-responsive-recent-post-slider"),value:D,onChange:function(e){return n({post_type:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid post type name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered post type name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Taxonomy","wp-responsive-recent-post-slider"),value:N,onChange:function(e){return n({taxonomy:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid taxonomy name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered taxonomy name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(v,{label:__("Limit","wp-responsive-recent-post-slider"),value:W,onChange:function(e){return n({limit:e})},min:-1,max:1e3,help:__("Enter number of post to be displayed. Enter -1 to display all.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order By","wp-responsive-recent-post-slider"),options:this.GetPostOrderby(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set order of post by date, title, name etc.. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order","wp-responsive-recent-post-slider"),options:this.GetPostOrder(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set post in acesding and descending order. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Category","wp-responsive-recent-post-slider"),value:O,onChange:function(e){return n({category:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant category listing page.","wp-responsive-recent-post-slider")},__("Enter category id to display categories wise.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Child Category","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("If you are using parent category then whether to display child category or not. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Category","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude post category. Works only if `Category` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant category listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Posts","wp-responsive-recent-post-slider"),value:S,onChange:function(e){return n({posts:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Exclude Post","wp-responsive-recent-post-slider"),value:x,onChange:function(e){return n({hide_post:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you do not want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Include Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to display posts of particular author. You can pass multiple ids with comma seperated. You can find id at users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to hide post of particular author. Works only if `Include Author` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Sticky Posts","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display sticky posts or not. Note: sticky posts only be displayed at front side. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Query Offset","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude number of posts from starting. e.g if you pass 5 then it will skip first five post. Note: This will not work with limit=-1. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})))));return wp.element.createElement(a,null,T,wp.element.createElement(E,null,wp.element.createElement(b,{value:U,onChange:function(e){return n({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,t=this.ObjToString(e);t=t.trim();var n=t?"[recent_post_carousel "+t+"]":"[recent_post_carousel]";return wp.element.createElement("div",{className:"wpos-guten-shrt"},wp.element.createElement("div",{className:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Responsive Recent Post Slider/Carousel - Carousel Slider","wp-responsive-recent-post-slider"))),n,wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))),wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))))}}]),t}(i);t.a=y}]);
1
+ !function(e){function t(s){if(n[s])return n[s].exports;var r=n[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,s){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:s})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(1)},function(e,t,n){"use strict";var s=n(2),r=(n.n(s),n(3)),o=(n.n(r),n(4)),p=n(5),__=wp.i18n.__,l=wp.blocks.registerBlockType;l("wprps/recent-post-slider",{title:__("Recent Post Slider","wp-responsive-recent-post-slider"),description:__("Display recent post in a slider view with various layouts.","wp-responsive-recent-post-slider"),icon:"slides",category:"wpos_guten_block",keywords:[__("wpos"),__("recent post slider","wp-responsive-recent-post-slider"),__("recent-post-slider")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var t=e.align;if(["wide","full"].includes(t))return{"data-align":t,"data-block-type":"wprpsp-slider"}},edit:o.a,save:function(){return null}}),l("wprps/recent-post-carousel",{title:__("Recent Carousel Slider","wp-responsive-recent-post-slider"),description:__("Display recent post in a carousel slider view with various layouts.","wp-responsive-recent-post-slider"),icon:"slides",category:"wpos_guten_block",keywords:[__("wpos"),__("recent carousel slider","wp-responsive-recent-post-slider"),__("recent-post-carousel")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var t=e.align;if(["wide","full"].includes(t))return{"data-align":t,"data-block-type":"wprpsp-carousel"}},edit:p.a,save:function(){return null}})},function(e,t){},function(e,t){},function(e,t,n){"use strict";function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var p=function(){function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,n,s){return n&&e(t.prototype,n),s&&e(t,s),t}}(),l=wp.element,i=l.Component,a=l.Fragment,c=wp.components,d=c.PanelBody,m=c.Disabled,w=c.TextControl,u=c.ToggleControl,v=c.RangeControl,h=c.SelectControl,__=wp.i18n.__,g=(wp.data.select,wp.blockEditor),f=g.InspectorControls,E=g.BlockControls,b=g.BlockAlignmentToolbar,y=function(e){function t(){s(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isLoading:!1},e}return o(t,e),p(t,[{key:"ObjToString",value:function(e){var t=wp.blocks.getBlockAttributes("wprps/recent-post-slider"),n=["content_tail"],s="";for(var r in e)e.hasOwnProperty(r)&&"undefined"!==typeof e[r]&&e[r]!==t[r]&&(""!=jQuery.trim(e[r])||jQuery.inArray(r,n)>=0)&&(s+=r+'="'+e[r]+'" ');return s}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-responsive-recent-post-slider")},{value:"false",label:__("False","wp-responsive-recent-post-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-responsive-recent-post-slider")},{value:"design-2",label:__("Design 2","wp-responsive-recent-post-slider")},{value:"design-3",label:__("Design 3","wp-responsive-recent-post-slider")},{value:"design-4",label:__("Design 4","wp-responsive-recent-post-slider")}]}},{key:"GetLinkTargetDropdown",value:function(){return[{value:"self",label:__("Same Window","wp-responsive-recent-post-slider")},{value:"blank",label:__("New Window","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-responsive-recent-post-slider")},{value:"modified",label:__("Post Modified Date","wp-responsive-recent-post-slider")},{value:"title",label:__("Post Title","wp-responsive-recent-post-slider")},{value:"name",label:__("Post Slug","wp-responsive-recent-post-slider")},{value:"ID",label:__("Post ID","wp-responsive-recent-post-slider")},{value:"rand",label:__("Random","wp-responsive-recent-post-slider")},{value:"menu_order",label:__("Menu Order (Sort Order)","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-responsive-recent-post-slider")},{value:"asc",label:__("Ascending","wp-responsive-recent-post-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){e.attributes}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,s=t.design,r=t.show_date,o=t.show_author,p=t.show_category_name,l=t.show_content,i=t.content_words_limit,c=t.show_read_more,g=t.dots,y=t.arrows,_=t.autoplay,k=t.autoplay_interval,P=t.speed,C=t.post_type,B=t.taxonomy,D=t.limit,N=t.category,O=t.posts,W=t.hide_post,S=t.media_size,x=t.align,G=(t.className,this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(d,{title:__("General Parameters","wp-responsive-recent-post-slider")},wp.element.createElement(h,{label:__("Design","wp-responsive-recent-post-slider"),value:s,options:this.GetDesigns(),onChange:function(e){return n({design:e})}}),wp.element.createElement(u,{label:__("Show Date","wp-responsive-recent-post-slider"),checked:!!r,onChange:function(){return n({show_date:!r})}}),wp.element.createElement(u,{label:__("Show Author","wp-responsive-recent-post-slider"),checked:!!o,onChange:function(){return n({show_author:!o})}}),wp.element.createElement(u,{label:__("Show Category Name","wp-responsive-recent-post-slider"),checked:!!p,onChange:function(){return n({show_category_name:!p})}}),wp.element.createElement(u,{label:__("Show Content","wp-responsive-recent-post-slider"),checked:!!l,onChange:function(){return n({show_content:!l})}}),l&&wp.element.createElement(v,{label:__("Content Words limit","wp-responsive-recent-post-slider"),value:i,onChange:function(e){return n({content_words_limit:e})},min:1,max:2500,help:__("Enter content word limit.","wp-responsive-recent-post-slider")}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Content Tail","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display dots after the post content as continue reading. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),l&&wp.element.createElement(h,{label:__("Read More","wp-responsive-recent-post-slider"),value:c,options:this.GetBooleanDropdown(),onChange:function(e){return n({show_read_more:e})}}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Read More Text","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter read more text. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Link Behaviour","wp-responsive-recent-post-slider"),onChange:function(e){return n({link_target:e})},help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose link target behaviour. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Media Size","wp-responsive-recent-post-slider"),value:S,onChange:function(e){return n({media_size:e})},help:__("Choose WordPress registered image size. e.g thumbnail, medium, large, full.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Image Height","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Control height of the featured image. You can enter any numeric number. e.g 500. Leave empty for default height. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Image Fit","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Fill the post image in a whole container. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Slider Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(h,{label:__("Dots","wp-responsive-recent-post-slider"),value:g,options:this.GetBooleanDropdown(),onChange:function(e){return n({dots:e})},help:__("Show pagination dots.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Arrows","wp-responsive-recent-post-slider"),value:y,options:this.GetBooleanDropdown(),onChange:function(e){return n({arrows:e})},help:__("Show prev - next arrows.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Autoplay","wp-responsive-recent-post-slider"),value:_,options:this.GetBooleanDropdown(),onChange:function(e){return n({autoplay:e})}}),"true"==_&&wp.element.createElement(v,{label:__("Autoplay Interval","wp-responsive-recent-post-slider"),value:k,onChange:function(e){return n({autoplay_interval:e})},min:1,max:5e4,help:__("Enter autoplay interval speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Speed","wp-responsive-recent-post-slider"),value:P,onChange:function(e){return n({speed:e})},min:1,max:5e4,help:__("Enter slide speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Fade","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable fade effect. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Loop","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable infinite loop for continuous sliding. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Hover","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay on hover. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Focus","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay when slider element is focused. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Nav Slides","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter number of slider navigation column. Note: This parameter default work with design-17, design-18, design-19, design-20. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Query Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(w,{label:__("Post Type","wp-responsive-recent-post-slider"),value:C,onChange:function(e){return n({post_type:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid post type name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered post type name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Taxonomy","wp-responsive-recent-post-slider"),value:B,onChange:function(e){return n({taxonomy:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid taxonomy name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered taxonomy name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(v,{label:__("Limit","wp-responsive-recent-post-slider"),value:D,onChange:function(e){return n({limit:e})},min:-1,max:1e3,help:__("Enter number of post to be displayed. Enter -1 to display all.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order By","wp-responsive-recent-post-slider"),options:this.GetPostOrderby(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set order of post by date, title, name etc.. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order","wp-responsive-recent-post-slider"),options:this.GetPostOrder(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set post in acesding and descending order. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Category","wp-responsive-recent-post-slider"),value:N,onChange:function(e){return n({category:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant category listing page.","wp-responsive-recent-post-slider")},__("Enter category id to display categories wise.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Child Category","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("If you are using parent category then whether to display child category or not. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Category","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude post category. Works only if `Category` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant category listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Posts","wp-responsive-recent-post-slider"),value:O,onChange:function(e){return n({posts:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Exclude Post","wp-responsive-recent-post-slider"),value:W,onChange:function(e){return n({hide_post:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you do not want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Include Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to display posts of particular author. You can pass multiple ids with comma seperated. You can find id at users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to hide post of particular author. Works only if `Include Author` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Sticky Posts","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display sticky posts or not. Note: sticky posts only be displayed at front side. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Query Offset","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude number of posts from starting. e.g if you pass 5 then it will skip first five post. Note: This will not work with limit=-1. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})))));return wp.element.createElement(a,null,G,wp.element.createElement(E,null,wp.element.createElement(b,{value:x,onChange:function(e){return n({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,t=this.ObjToString(e);t=t.trim();var n=t?"[recent_post_slider "+t+"]":"[recent_post_slider]";return wp.element.createElement("div",{className:"wpos-guten-shrt"},wp.element.createElement("div",{className:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Responsive Recent Post Slider/Carousel - Slider","wp-responsive-recent-post-slider"))),n,wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))),wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))))}}]),t}(i);t.a=y},function(e,t,n){"use strict";function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var p=function(){function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,n,s){return n&&e(t.prototype,n),s&&e(t,s),t}}(),l=wp.element,i=l.Component,a=l.Fragment,c=wp.components,d=c.PanelBody,m=c.Disabled,w=c.TextControl,u=c.ToggleControl,v=c.RangeControl,h=c.SelectControl,__=wp.i18n.__,g=(wp.data.select,wp.blockEditor),f=g.InspectorControls,E=g.BlockControls,b=g.BlockAlignmentToolbar,y=function(e){function t(){s(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isLoading:!1},e}return o(t,e),p(t,[{key:"ObjToString",value:function(e){var t=wp.blocks.getBlockAttributes("wprps/recent-post-carousel"),n=["content_tail"],s="";for(var r in e)e.hasOwnProperty(r)&&"undefined"!==typeof e[r]&&e[r]!==t[r]&&(""!=jQuery.trim(e[r])||jQuery.inArray(r,n)>=0)&&(s+=r+'="'+e[r]+'" ');return s}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-responsive-recent-post-slider")},{value:"false",label:__("False","wp-responsive-recent-post-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-responsive-recent-post-slider")}]}},{key:"GetLinkTargetDropdown",value:function(){return[{value:"self",label:__("Same Window","wp-responsive-recent-post-slider")},{value:"blank",label:__("New Window","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-responsive-recent-post-slider")},{value:"modified",label:__("Post Modified Date","wp-responsive-recent-post-slider")},{value:"title",label:__("Post Title","wp-responsive-recent-post-slider")},{value:"name",label:__("Post Slug","wp-responsive-recent-post-slider")},{value:"ID",label:__("Post ID","wp-responsive-recent-post-slider")},{value:"rand",label:__("Random","wp-responsive-recent-post-slider")},{value:"menu_order",label:__("Menu Order (Sort Order)","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-responsive-recent-post-slider")},{value:"asc",label:__("Ascending","wp-responsive-recent-post-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){e.attributes}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,s=t.design,r=t.show_date,o=t.show_author,p=t.show_category_name,l=t.show_content,i=t.content_words_limit,c=t.show_read_more,g=t.slides_to_show,y=t.slides_to_scroll,_=t.dots,k=t.arrows,P=t.autoplay,C=t.autoplay_interval,B=t.speed,D=t.post_type,N=t.taxonomy,O=t.limit,W=t.category,S=t.posts,x=t.hide_post,G=t.media_size,U=t.align,T=(t.className,this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(d,{title:__("General Parameters","wp-responsive-recent-post-slider")},wp.element.createElement(h,{label:__("Design","wp-responsive-recent-post-slider"),value:s,options:this.GetDesigns(),onChange:function(e){return n({design:e})}}),wp.element.createElement(u,{label:__("Show Date","wp-responsive-recent-post-slider"),checked:!!r,onChange:function(){return n({show_date:!r})}}),wp.element.createElement(u,{label:__("Show Author","wp-responsive-recent-post-slider"),checked:!!o,onChange:function(){return n({show_author:!o})}}),wp.element.createElement(u,{label:__("Show Category Name","wp-responsive-recent-post-slider"),checked:!!p,onChange:function(){return n({show_category_name:!p})}}),wp.element.createElement(u,{label:__("Show Content","wp-responsive-recent-post-slider"),checked:!!l,onChange:function(){return n({show_content:!l})}}),l&&wp.element.createElement(v,{label:__("Content Words limit","wp-responsive-recent-post-slider"),value:i,onChange:function(e){return n({content_words_limit:e})},min:1,max:2500,help:__("Enter content word limit.","wp-responsive-recent-post-slider")}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Content Tail","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display dots after the post content as continue reading. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),l&&wp.element.createElement(h,{label:__("Read More","wp-responsive-recent-post-slider"),value:c,options:this.GetBooleanDropdown(),onChange:function(e){return n({show_read_more:e})}}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Read More Text","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter read more text. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Link Behaviour","wp-responsive-recent-post-slider"),onChange:function(e){return n({link_target:e})},help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose link target behaviour. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Media Size","wp-responsive-recent-post-slider"),value:G,onChange:function(e){return n({media_size:e})},help:__("Choose WordPress registered image size. e.g thumbnail, medium, large, full.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Image Height","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Control height of the featured image. You can enter any numeric number. e.g 500. Leave empty for default height. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Image Fit","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Fill the post image in a whole container. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Slider Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(v,{label:__("Slide To Show","wp-responsive-recent-post-slider"),value:g,onChange:function(e){return n({slides_to_show:e})},min:1,max:100,help:__("Enter number for Slide to show at a time.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Slide To Scroll","wp-responsive-recent-post-slider"),value:y,onChange:function(e){return n({slides_to_scroll:e})},min:1,max:100,help:__("Enter number to scroll slider at a time.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Dots","wp-responsive-recent-post-slider"),value:_,options:this.GetBooleanDropdown(),onChange:function(e){return n({dots:e})},help:__("Show pagination dots.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Arrows","wp-responsive-recent-post-slider"),value:k,options:this.GetBooleanDropdown(),onChange:function(e){return n({arrows:e})},help:__("Show prev - next arrows.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Autoplay","wp-responsive-recent-post-slider"),value:P,options:this.GetBooleanDropdown(),onChange:function(e){return n({autoplay:e})}}),"true"==P&&wp.element.createElement(v,{label:__("Autoplay Interval","wp-responsive-recent-post-slider"),value:C,onChange:function(e){return n({autoplay_interval:e})},min:1,max:5e4,help:__("Enter autoplay interval speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Speed","wp-responsive-recent-post-slider"),value:B,onChange:function(e){return n({speed:e})},min:1,max:5e4,help:__("Enter slide speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Loop","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable infinite loop for continuous sliding. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Centermode","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable centered view with partial prev/next slides. Use with odd numbered `Slides to Scroll` and `Slider Column` counts. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Hover","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay on hover. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Focus","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay when slider element is focused. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Query Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(w,{label:__("Post Type","wp-responsive-recent-post-slider"),value:D,onChange:function(e){return n({post_type:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid post type name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered post type name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Taxonomy","wp-responsive-recent-post-slider"),value:N,onChange:function(e){return n({taxonomy:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid taxonomy name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered taxonomy name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(v,{label:__("Limit","wp-responsive-recent-post-slider"),value:O,onChange:function(e){return n({limit:e})},min:-1,max:1e3,help:__("Enter number of post to be displayed. Enter -1 to display all.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order By","wp-responsive-recent-post-slider"),options:this.GetPostOrderby(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set order of post by date, title, name etc.. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order","wp-responsive-recent-post-slider"),options:this.GetPostOrder(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set post in acesding and descending order. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Category","wp-responsive-recent-post-slider"),value:W,onChange:function(e){return n({category:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant category listing page.","wp-responsive-recent-post-slider")},__("Enter category id to display categories wise.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Child Category","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("If you are using parent category then whether to display child category or not. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Category","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude post category. Works only if `Category` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant category listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Posts","wp-responsive-recent-post-slider"),value:S,onChange:function(e){return n({posts:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Exclude Post","wp-responsive-recent-post-slider"),value:x,onChange:function(e){return n({hide_post:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you do not want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Include Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to display posts of particular author. You can pass multiple ids with comma seperated. You can find id at users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to hide post of particular author. Works only if `Include Author` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Sticky Posts","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display sticky posts or not. Note: sticky posts only be displayed at front side. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Query Offset","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude number of posts from starting. e.g if you pass 5 then it will skip first five post. Note: This will not work with limit=-1. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})))));return wp.element.createElement(a,null,T,wp.element.createElement(E,null,wp.element.createElement(b,{value:U,onChange:function(e){return n({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,t=this.ObjToString(e);t=t.trim();var n=t?"[recent_post_carousel "+t+"]":"[recent_post_carousel]";return wp.element.createElement("div",{className:"wpos-guten-shrt"},wp.element.createElement("div",{className:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Responsive Recent Post Slider/Carousel - Carousel Slider","wp-responsive-recent-post-slider"))),n,wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))),wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))))}}]),t}(i);t.a=y}]);
includes/admin/class-wprps-admin.php CHANGED
@@ -16,17 +16,23 @@ class Wprps_Admin {
16
 
17
  function __construct() {
18
 
19
- // Action to add admin menu
20
- add_action( 'admin_menu', array( $this, 'wprps_register_menu') );
21
-
22
  // Admin init process
23
  add_action( 'admin_init', array( $this, 'wprps_admin_init_process') );
24
 
 
 
 
 
 
 
25
  // Action to add custom column to post listing
26
  add_filter('manage_edit-category_columns', array( $this, 'wppsac_category_manage_columns' ) );
27
 
28
  // Action to add custom column data to post listing
29
  add_filter('manage_category_custom_column', array( $this, 'wppsac_category_columns' ), 10, 3);
 
 
 
30
  }
31
 
32
  /**
@@ -40,8 +46,15 @@ class Wprps_Admin {
40
  // Getting Started page
41
  add_menu_page( __('Recent Post Slider', 'wp-responsive-recent-post-slider'), __('Recent Post Slider', 'wp-responsive-recent-post-slider'), 'manage_options', 'wprps-about', array($this, 'wprps_getting_started_page'), 'dashicons-sticky', 6 );
42
 
 
 
 
 
 
 
43
  // Register plugin premium page
44
- add_submenu_page( 'wprps-about', __('Upgrade to PRO - Recent Post Slider', 'wp-responsive-recent-post-slider'), '<span style="color:#2ECC71">'.__('Upgrade to PRO', 'wp-responsive-recent-post-slider').'</span>', 'edit_posts', 'wprps-premium', array($this, 'wprps_premium_page') );
 
45
  }
46
 
47
  /**
@@ -53,6 +66,10 @@ class Wprps_Admin {
53
  include_once( WPRPS_DIR . '/includes/admin/wprps-how-it-work.php' );
54
  }
55
 
 
 
 
 
56
  /**
57
  * Premium Page Html
58
  *
@@ -63,6 +80,14 @@ class Wprps_Admin {
63
  include_once( WPRPS_DIR . '/includes/admin/settings/premium.php' );
64
  }
65
 
 
 
 
 
 
 
 
 
66
  /**
67
  * Function to notification transient
68
  *
@@ -70,10 +95,51 @@ class Wprps_Admin {
70
  * @since 1.4.3
71
  */
72
  function wprps_admin_init_process() {
 
 
 
 
 
73
  // If plugin notice is dismissed
74
  if( isset($_GET['message']) && $_GET['message'] == 'wprps-plugin-notice' ) {
75
  set_transient( 'wprps_install_notice', true, 604800 );
76
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  }
78
 
79
  /**
@@ -100,6 +166,29 @@ class Wprps_Admin {
100
  }
101
  return $ouput;
102
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  }
104
 
105
  $wprps_admin = new Wprps_Admin();
16
 
17
  function __construct() {
18
 
 
 
 
19
  // Admin init process
20
  add_action( 'admin_init', array( $this, 'wprps_admin_init_process') );
21
 
22
+ // Admin for the Solutions & Features
23
+ add_action( 'admin_init', array($this, 'wprps_admin_init_sf_process') );
24
+
25
+ // Action to add admin menu
26
+ add_action( 'admin_menu', array( $this, 'wprps_register_menu') );
27
+
28
  // Action to add custom column to post listing
29
  add_filter('manage_edit-category_columns', array( $this, 'wppsac_category_manage_columns' ) );
30
 
31
  // Action to add custom column data to post listing
32
  add_filter('manage_category_custom_column', array( $this, 'wppsac_category_columns' ), 10, 3);
33
+
34
+ // Action to add little JS code in admin footer
35
+ //add_action( 'admin_footer', array($this, 'wprps_upgrade_page_link_blank') );
36
  }
37
 
38
  /**
46
  // Getting Started page
47
  add_menu_page( __('Recent Post Slider', 'wp-responsive-recent-post-slider'), __('Recent Post Slider', 'wp-responsive-recent-post-slider'), 'manage_options', 'wprps-about', array($this, 'wprps_getting_started_page'), 'dashicons-sticky', 6 );
48
 
49
+ // Setting page
50
+ add_submenu_page( 'wprps-about', __('Solutions & Features - Responsive Recent Post Slider', 'wp-responsive-recent-post-slider'), '<span style="color:#2ECC71">'. __('Solutions & Features', 'wp-responsive-recent-post-slider').'</span>', 'manage_options', 'wprps-solutions-features', array($this, 'wprps_solutions_features_page') );
51
+
52
+ // Premium page load
53
+ add_submenu_page( 'wprps-about', __('Upgrade To PRO - Responsive Recent Post Slider', 'wp-responsive-recent-post-slider'), '<span style="color:#ff2700">' . __('Upgrade To Premium ', 'wp-responsive-recent-post-slider') . '</span>', 'manage_options', 'wprps-premium', array($this, 'wprps_premium_page') );
54
+
55
  // Register plugin premium page
56
+ //add_submenu_page( 'wprps-about', __('Upgrade To PRO - Responsive Recent Post Slider', 'wp-responsive-recent-post-slider'), '<span class="wpos-upgrade-pro" style="color:#ff2700">' . __('Upgrade To Premium ', 'wp-responsive-recent-post-slider') . '</span>', 'manage_options', 'wprps-upgrade-pro', array($this, 'wprps_redirect_page') );
57
+ //add_submenu_page( 'wprps-about', __('Bundle Deal - Responsive Recent Post Slider', 'wp-responsive-recent-post-slider'), '<span class="wpos-upgrade-pro" style="color:#ff2700">' . __('Bundle Deal', 'wp-responsive-recent-post-slider') . '</span>', 'manage_options', 'wprps-bundle-deal', array($this, 'wprps_redirect_page') );
58
  }
59
 
60
  /**
66
  include_once( WPRPS_DIR . '/includes/admin/wprps-how-it-work.php' );
67
  }
68
 
69
+ function wprps_solutions_features_page() {
70
+ include_once( WPRPS_DIR . '/includes/admin/settings/solutions-features.php' );
71
+ }
72
+
73
  /**
74
  * Premium Page Html
75
  *
80
  include_once( WPRPS_DIR . '/includes/admin/settings/premium.php' );
81
  }
82
 
83
+ /**
84
+ * How It Work Page Html
85
+ *
86
+ * @since 1.0
87
+ */
88
+ // function wprps_redirect_page() {
89
+ // }
90
+
91
  /**
92
  * Function to notification transient
93
  *
95
  * @since 1.4.3
96
  */
97
  function wprps_admin_init_process() {
98
+
99
+ // global $pagenow;
100
+
101
+ // $current_page = isset( $_REQUEST['page'] ) ? $_REQUEST['page'] : '';
102
+
103
  // If plugin notice is dismissed
104
  if( isset($_GET['message']) && $_GET['message'] == 'wprps-plugin-notice' ) {
105
  set_transient( 'wprps_install_notice', true, 604800 );
106
  }
107
+
108
+ // Redirect to external page for upgrade to menu
109
+ // if( $pagenow == 'admin.php' ) {
110
+
111
+ // if( $current_page == 'wprps-upgrade-pro' ) {
112
+
113
+ // wp_redirect( WPRPS_PLUGIN_LINK_UPGRADE );
114
+ // exit;
115
+ // }
116
+
117
+ // if( $current_page == 'wprps-bundle-deal' ) {
118
+
119
+ // wp_redirect( WPRPS_PLUGIN_BUNDLE_LINK );
120
+ // exit;
121
+ // }
122
+ // }
123
+ }
124
+
125
+ /**
126
+ * Admin Prior Process for Solutions & Features Page Redirect
127
+ *
128
+ * @package WP Responsive Recent Post Slider
129
+ * @since 2.0.11
130
+ */
131
+ function wprps_admin_init_sf_process() {
132
+
133
+ if ( get_option( 'wprps_sf_optin', false ) ) {
134
+
135
+ delete_option( 'wprps_sf_optin' );
136
+
137
+ $redirect_link = add_query_arg( array( 'page' => 'wprps-solutions-features' ), admin_url( 'admin.php' ) );
138
+
139
+ wp_safe_redirect( $redirect_link );
140
+
141
+ exit;
142
+ }
143
  }
144
 
145
  /**
166
  }
167
  return $ouput;
168
  }
169
+
170
+ /**
171
+ * Add JS snippet to admin footer to add target _blank in upgrade link
172
+ *
173
+ * @package WP Responsive Recent Post Slider
174
+ * @since 1.0.0
175
+ */
176
+ /*function wprps_upgrade_page_link_blank() {
177
+
178
+ global $wpos_upgrade_link_snippet;
179
+
180
+ // Redirect to external page
181
+ if( empty( $wpos_upgrade_link_snippet ) ) {
182
+
183
+ $wpos_upgrade_link_snippet = 1;
184
+ ?>
185
+ <script type="text/javascript">
186
+ (function ($) {
187
+ $('.wpos-upgrade-pro').parent().attr( { target: '_blank', rel: 'noopener noreferrer' } );
188
+ })(jQuery);
189
+ </script>
190
+ <?php }
191
+ } */
192
  }
193
 
194
  $wprps_admin = new Wprps_Admin();
includes/admin/settings/premium.php CHANGED
@@ -12,17 +12,16 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  ?>
13
  <div class="wrap">
14
 
15
- <h2><?php _e( 'WP Responsive Recent Post Slider - Features', 'wp-responsive-recent-post-slider' ); ?></h2><br />
16
 
17
  <style>
18
- .wprps-notice{padding: 10px; color: #3c763d; background-color: #dff0d8; border:1px solid #d6e9c6; margin: 0 0 20px 0;}
19
  .wpos-plugin-pricing-table thead th h2{font-weight: 400; font-size: 2.4em; line-height:normal; margin:0px; color: #2ECC71;}
20
  .wpos-plugin-pricing-table thead th h2 + p{font-size: 1.25em; line-height: 1.4; color: #999; margin:5px 0 5px 0;}
21
- .wpos-new-feature{ font-size: 10px; color: #fff; font-weight: bold; background-color: #03aa29; padding:1px 4px; font-style: normal; }
22
 
23
- table.wpos-plugin-pricing-table{width:90%; text-align: left; border-spacing: 0; border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
24
 
25
  .wpos-plugin-pricing-table th, .wpos-plugin-pricing-table td{font-size:14px; line-height:normal; color:#444; vertical-align:middle; padding:12px;}
 
26
 
27
  .wpos-plugin-pricing-table colgroup:nth-child(1) { width: 31%; border: 0 none; }
28
  .wpos-plugin-pricing-table colgroup:nth-child(2) { width: 22%; border: 1px solid #ccc; }
@@ -31,19 +30,24 @@ if ( ! defined( 'ABSPATH' ) ) {
31
  /* Tablehead */
32
  .wpos-plugin-pricing-table thead th {background-color: #fff; background:linear-gradient(to bottom, #ffffff 0%, #ffffff 100%); text-align: center; position: relative; border-bottom: 1px solid #ccc; padding: 1em 0 1em; font-weight:400; color:#999;}
33
  .wpos-plugin-pricing-table thead th:nth-child(1) {background: transparent;}
34
- .wpos-plugin-pricing-table thead th:nth-child(3) {padding:1em 2px 3.5em 2px; }
35
  .wpos-plugin-pricing-table thead th:nth-child(3) p{color:#000;}
36
  .wpos-plugin-pricing-table thead th p.promo {font-size: 14px; color: #fff; position: absolute; bottom:0; left: -17px; z-index: 1000; width: 100%; margin: 0; padding: .625em 17px .75em; background-color: #ca4a1f; box-shadow: 0 2px 4px rgba(0,0,0,.25); border-bottom: 1px solid #ca4a1f;}
37
  .wpos-plugin-pricing-table thead th p.promo:before {content: ""; position: absolute; display: block; width: 0px; height: 0px; border-style: solid; border-width: 0 7px 7px 0; border-color: transparent #900 transparent transparent; bottom: -7px; left: 0;}
38
  .wpos-plugin-pricing-table thead th p.promo:after {content: ""; position: absolute; display: block; width: 0px; height: 0px; border-style: solid; border-width: 7px 7px 0 0; border-color: #900 transparent transparent transparent; bottom: -7px; right: 0;}
39
-
 
 
 
 
 
 
40
  /* Tablebody */
41
  .wpos-plugin-pricing-table tbody th{background: #fff; border-left: 1px solid #ccc; font-weight: 600;}
42
  .wpos-plugin-pricing-table tbody th span{font-weight: normal; font-size: 87.5%; color: #999; display: block;}
43
 
44
  .wpos-plugin-pricing-table tbody td{background: #fff; text-align: center;}
45
  .wpos-plugin-pricing-table tbody td .dashicons{height: auto; width: auto; font-size:30px;}
46
- .wpos-plugin-pricing-table tbody td .dashicons-no-alt{color: #ca4a1f;}
47
  .wpos-plugin-pricing-table tbody td .dashicons-yes{color: #2ECC71;}
48
 
49
  .wpos-plugin-pricing-table tbody tr:nth-child(even) th,
@@ -52,173 +56,206 @@ if ( ! defined( 'ABSPATH' ) ) {
52
 
53
  /* Table Footer */
54
  .wpos-plugin-pricing-table tfoot th, .wpos-plugin-pricing-table tfoot td{text-align: center; border-top: 1px solid #ccc;}
55
- .wpos-plugin-pricing-table tfoot a{font-weight: 600; color: #fff; text-decoration: none; text-transform: uppercase; display: inline-block; padding: 1em 2em; background: #ca4a1f; border-radius: .2em;}
56
- </style>
 
57
 
58
- <table class="wpos-plugin-pricing-table">
59
- <colgroup></colgroup>
60
- <colgroup></colgroup>
61
- <colgroup></colgroup>
62
- <thead>
63
- <tr>
64
- <th></th>
65
- <th>
66
- <h2>Free</h2>
67
- <p>$0 USD</p>
68
- </th>
69
- <th>
70
- <h2>Premium</h2>
71
- <p>Gain access to <strong>WP Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle</p>
72
- <p class="promo">Our most valuable package!</p>
73
- </th>
74
- </tr>
75
- </thead>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
- <tfoot>
78
- <tr>
79
- <th></th>
80
- <td></td>
81
- <td><p>Gain access to <strong>WP Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle</p>
82
- <a href="https://www.wponlinesupport.com/pricing/?utm_source=WP&utm_medium=Post-Slider&utm_campaign=Upgrade-PRO" target="_blank">View Buying Options</a></td>
83
- </tr>
84
- </tfoot>
 
85
 
86
- <tbody>
87
- <tr>
88
- <th>Designs <span>Designs that make your website better</span></th>
89
- <td>4</td>
90
- <td>60+</td>
91
- </tr>
92
- <tr>
93
- <th>Shortcodes <span>Shortcode provide output to the front-end side</span></th>
94
- <td>2 (Slider and Carousel)</td>
95
- <td>4 (Slider, Carousel, Grid Box Slider )</td>
96
- </tr>
97
- <tr>
98
- <th>Shortcode Parameters <span>Add extra power to the shortcode</span></th>
99
- <td>16</td>
100
- <td>30+</td>
101
- </tr>
102
- <tr>
103
- <th>Shortcode Generator <span>Play with all shortcode parameters with preview panel. No documentation required!!</span></th>
104
- <td><i class="dashicons dashicons-no-alt"></i></td>
105
- <td><i class="dashicons dashicons-yes"></i></td>
106
- </tr>
107
- <tr>
108
- <th>WP Templating Features <span class="subtext">You can modify plugin html/designs in your current theme.</span></th>
109
- <td><i class="dashicons dashicons-no-alt"> </i></td>
110
- <td><i class="dashicons dashicons-yes"> </i></td>
111
- </tr>
112
- <tr>
113
- <th>Widgets<span> WordPress Widgets to your sidebars.</span></th>
114
- <td><i class="dashicons dashicons-no-alt"></i></td>
115
- <td><i class="dashicons dashicons-yes"></i></td>
116
- </tr>
117
- <tr>
118
- <th>Custom Post Type Support<span>Supports any custom post type</span></th>
119
- <td>Limited</td>
120
- <td>Unlimited </td>
121
- </tr>
122
- <tr>
123
- <th>Drag & Drop Post Order Change <span>Arrange your desired post with your desired order and display</span></th>
124
- <td><i class="dashicons dashicons-no-alt"></i></td>
125
- <td><i class="dashicons dashicons-yes"></i></td>
126
- </tr>
127
- <tr>
128
- <th>Gutenberg Block Supports <span>Use this plugin with Gutenberg easily</span></th>
129
- <td><i class="dashicons dashicons-yes"></i></td>
130
- <td><i class="dashicons dashicons-yes"></i></td>
131
- </tr>
132
- <tr>
133
- <th>Elementor Page Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Elementor easily</span></th>
134
- <td><i class="dashicons dashicons-no-alt"></i></td>
135
- <td><i class="dashicons dashicons-yes"></i></td>
136
- </tr>
137
- <tr>
138
- <th>Bevear Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Bevear Builder easily</span></th>
139
- <td><i class="dashicons dashicons-no-alt"></i></td>
140
- <td><i class="dashicons dashicons-yes"></i></td>
141
- </tr>
142
- <tr>
143
- <th>SiteOrigin Page Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with SiteOrigin easily</span></th>
144
- <td><i class="dashicons dashicons-no-alt"></i></td>
145
- <td><i class="dashicons dashicons-yes"></i></td>
146
- </tr>
147
- <tr>
148
- <th>Divi Page Builder Native Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Divi Builder easily</span></th>
149
- <td><i class="dashicons dashicons-yes"></i></td>
150
- <td><i class="dashicons dashicons-yes"></i></td>
151
- </tr>
152
- <tr>
153
- <th>Fusion Page Builder (Avada) native support <em class="wpos-new-feature">New</em> <span>Use this plugin with Fusion(Avada) Builder easily</span></th>
154
- <td><i class="dashicons dashicons-yes"></i></td>
155
- <td><i class="dashicons dashicons-yes"></i></td>
156
- </tr>
157
- <tr>
158
- <th>WPBakery Page Builder Support <span>Use this plugin with Visual Composer easily</span></th>
159
- <td><i class="dashicons dashicons-no-alt"></i></td>
160
- <td><i class="dashicons dashicons-yes"></i></td>
161
- </tr>
162
- <tr>
163
- <th>Image Lazyload <span>Lazyload support for the image.</span></th>
164
- <td><i class="dashicons dashicons-yes"></i></td>
165
- <td><i class="dashicons dashicons-yes"></i></td>
166
- </tr>
167
- <tr>
168
- <th>Custom Read More link for Post <span>Redirect post to third party destination if any</span></th>
169
- <td><i class="dashicons dashicons-no-alt"></i></td>
170
- <td><i class="dashicons dashicons-yes"></i></td>
171
- </tr>
172
- <tr>
173
- <th>Ignore Sticky Post <span>Ignore sticky post or not</span></th>
174
- <td><i class="dashicons dashicons-no-alt"></i></td>
175
- <td><i class="dashicons dashicons-yes"></i></td>
176
- </tr>
177
- <tr>
178
- <th>Display Desired Post <span>Display only the post you want</span></th>
179
- <td><i class="dashicons dashicons-yes"></i></td>
180
- <td><i class="dashicons dashicons-yes"></i></td>
181
- </tr>
182
- <tr>
183
- <th>Exclude Some Posts <span>Do not display the posts you want</span></th>
184
- <td><i class="dashicons dashicons-yes"></i></td>
185
- <td><i class="dashicons dashicons-yes"></i></td>
186
- </tr>
187
- <tr>
188
- <th>Display Post for Particular Categories <span>Display only the posts with particular category</span></th>
189
- <td><i class="dashicons dashicons-yes"></i></td>
190
- <td><i class="dashicons dashicons-yes"></i></td>
191
- </tr>
192
- <tr>
193
- <th>Exclude Some Categories <span>Do not display the posts for particular categories</span></th>
194
- <td><i class="dashicons dashicons-no-alt"></i></td>
195
- <td><i class="dashicons dashicons-yes"></i></td>
196
- </tr>
197
- <tr>
198
- <th>Post Order / Order By Parameters <span>Display post according to date, title and etc</span></th>
199
- <td><i class="dashicons dashicons-no-alt"></i></td>
200
- <td><i class="dashicons dashicons-yes"></i></td>
201
- </tr>
202
- <tr>
203
- <th>Multiple Slider Parameters <span>Slider parameters like autoplay, number of slide, sider dots and etc.</span></th>
204
- <td><i class="dashicons dashicons-yes"></i></td>
205
- <td><i class="dashicons dashicons-yes"></i></td>
206
- </tr>
207
- <tr>
208
- <th>Slider RTL Support <span>Slider supports for RTL website</span></th>
209
- <td><i class="dashicons dashicons-yes"></i></td>
210
- <td><i class="dashicons dashicons-yes"></i></td>
211
- </tr>
212
- <tr>
213
- <th>Automatic Update <span>Get automatic plugin updates </span></th>
214
- <td>Lifetime</td>
215
- <td>Yearly OR Lifetime</td>
216
- </tr>
217
- <tr>
218
- <th>Support <span>Get support for plugin</span></th>
219
- <td>Limited</td>
220
- <td>1 Year</td>
221
- </tr>
222
- </tbody>
223
- </table>
 
 
 
224
  </div>
12
  ?>
13
  <div class="wrap">
14
 
15
+ <h2><?php _e( 'WP Responsive Recent Post Slider', 'wp-responsive-recent-post-slider' ); ?></h2>
16
 
17
  <style>
 
18
  .wpos-plugin-pricing-table thead th h2{font-weight: 400; font-size: 2.4em; line-height:normal; margin:0px; color: #2ECC71;}
19
  .wpos-plugin-pricing-table thead th h2 + p{font-size: 1.25em; line-height: 1.4; color: #999; margin:5px 0 5px 0;}
 
20
 
21
+ table.wpos-plugin-pricing-table{width:100%; text-align: left; border-spacing: 0; border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
22
 
23
  .wpos-plugin-pricing-table th, .wpos-plugin-pricing-table td{font-size:14px; line-height:normal; color:#444; vertical-align:middle; padding:12px;}
24
+ .wpos-about-epb-table td{padding: 12px 12px 60px;position: relative;}
25
 
26
  .wpos-plugin-pricing-table colgroup:nth-child(1) { width: 31%; border: 0 none; }
27
  .wpos-plugin-pricing-table colgroup:nth-child(2) { width: 22%; border: 1px solid #ccc; }
30
  /* Tablehead */
31
  .wpos-plugin-pricing-table thead th {background-color: #fff; background:linear-gradient(to bottom, #ffffff 0%, #ffffff 100%); text-align: center; position: relative; border-bottom: 1px solid #ccc; padding: 1em 0 1em; font-weight:400; color:#999;}
32
  .wpos-plugin-pricing-table thead th:nth-child(1) {background: transparent;}
 
33
  .wpos-plugin-pricing-table thead th:nth-child(3) p{color:#000;}
34
  .wpos-plugin-pricing-table thead th p.promo {font-size: 14px; color: #fff; position: absolute; bottom:0; left: -17px; z-index: 1000; width: 100%; margin: 0; padding: .625em 17px .75em; background-color: #ca4a1f; box-shadow: 0 2px 4px rgba(0,0,0,.25); border-bottom: 1px solid #ca4a1f;}
35
  .wpos-plugin-pricing-table thead th p.promo:before {content: ""; position: absolute; display: block; width: 0px; height: 0px; border-style: solid; border-width: 0 7px 7px 0; border-color: transparent #900 transparent transparent; bottom: -7px; left: 0;}
36
  .wpos-plugin-pricing-table thead th p.promo:after {content: ""; position: absolute; display: block; width: 0px; height: 0px; border-style: solid; border-width: 7px 7px 0 0; border-color: #900 transparent transparent transparent; bottom: -7px; right: 0;}
37
+ .wpos-about-epb-table{margin:10px 0;}
38
+ .wpos-about-epb-table, .wpos-about-epb-table td{border:1px solid #ccc;}
39
+ .wpos-about-epb-table th {background: #ff4081 !important; font-size:18px; font-weight:100%; color:#fff; border-bottom: 1px solid #ccc !important; padding:10px !important; color:#fff !important;}
40
+ .wpos-about-epb-table th, .wpos-about-epb-table td{text-align:left !important; vertical-align:top;}
41
+ .wpos-about-epb-table td ul{list-style:none;}
42
+ .wpos-about-epb-table ul li::before {content: "\2022";color:#ff2700 ;font-weight: bold;display: inline-block;width: 15px;}
43
+
44
  /* Tablebody */
45
  .wpos-plugin-pricing-table tbody th{background: #fff; border-left: 1px solid #ccc; font-weight: 600;}
46
  .wpos-plugin-pricing-table tbody th span{font-weight: normal; font-size: 87.5%; color: #999; display: block;}
47
 
48
  .wpos-plugin-pricing-table tbody td{background: #fff; text-align: center;}
49
  .wpos-plugin-pricing-table tbody td .dashicons{height: auto; width: auto; font-size:30px;}
50
+ .wpos-plugin-pricing-table tbody td .dashicons-no-alt{color: #ff2700;}
51
  .wpos-plugin-pricing-table tbody td .dashicons-yes{color: #2ECC71;}
52
 
53
  .wpos-plugin-pricing-table tbody tr:nth-child(even) th,
56
 
57
  /* Table Footer */
58
  .wpos-plugin-pricing-table tfoot th, .wpos-plugin-pricing-table tfoot td{text-align: center; border-top: 1px solid #ccc;}
59
+ .wpos-plugin-pricing-table tfoot a, .wpos-plugin-pricing-table thead a{font-weight: 600; color: #fff; text-decoration: none; text-transform: uppercase; display: inline-block; padding: 1em 2em; background: #ff2700; border-radius: .2em;}
60
+ a.epb-cutom-button{font-weight: 600; color: #fff; text-decoration: none; text-transform: uppercase; display: inline-block; padding: 1em 2em; background: #ff2700; border-radius: .2em;}
61
+ .wpos-epb{color:#ff2700 !important;}
62
 
63
+ .wp-plugin-icon{position: absolute;bottom: 15px;}
64
+ .wp-plugin-icon img {margin: 0 5px;}
65
+ .wp-plugin-icon span{font-size: 14px;font-style: italic;color: red;display: block;}
66
+ .wp-icons {margin-bottom: 20px;text-align: center;}
67
+ .wp-icons img{vertical-align: top;}
68
+ .wp-icons ul{margin: 0;}
69
+ .wp-icons li{display: inline-block;margin-right: 5px;}
70
+
71
+ /* SideBar */
72
+ .wpos-sidebar .wpos-epb-wrap{background:#0055fb; color:#fff; padding:15px;}
73
+ .wpos-sidebar .wpos-epb-wrap h2{font-size:24px !important; color:#fff; margin:0 0 15px 0; padding:0px !important;}
74
+ .wpos-sidebar .wpos-epb-wrap h2 span{font-size:20px !important; color:#ffff00 !important;}
75
+ .wpos-sidebar .wpos-epb-wrap ul li{font-size:16px; margin-bottom:8px;}
76
+ .wpos-sidebar .wpos-epb-wrap ul li span{color:#ffff00 !important;}
77
+ .wpos-sidebar .wpos-epb-wrap ul{list-style: decimal inside none;}
78
+ .wpos-sidebar .wpos-epb-wrap b{font-weight:bold !important;}
79
+ .wpos-sidebar .wpos-epb-wrap p{font-size:16px;}
80
+ .wpos-sidebar .wpos-epb-wrap .button-yellow{font-weight: 600;color: #000; text-align:center;text-decoration: none;display:block;padding: 1em 2em;background: #ffff00;border-radius: .2em;}
81
+ .wpos-sidebar .wpos-epb-wrap .button-orange{font-weight: 600;color: #fff; text-align:center;text-decoration: none;display:block;padding: 1em 2em;background: #ff2700;border-radius: .2em;}
82
+ .larger-font{font-size:24px; line-height:35px; margin:0px;}
83
+ .h-blue{color:#0055fb ;}
84
+ .h-orange{color:#FF5D52 ;}
85
+ .wpos-deal-heading{padding:0px 10px;}
86
+ </style>
87
+
88
+ <div id="poststuff">
89
+ <div id="post-body" class="metabox-holder">
90
+ <div id="post-body-content">
91
+ <h3 style="text-align:center"><?php _e( 'Compare "WP Responsive Recent Post Slider/Carousel" Free VS Pro', 'wp-responsive-recent-post-slider' ); ?></h3>
92
+ <table class="wpos-plugin-pricing-table">
93
+ <colgroup></colgroup>
94
+ <colgroup></colgroup>
95
+ <colgroup></colgroup>
96
+ <thead>
97
+ <tr>
98
+ <th></th>
99
+ <th>
100
+ <h2>Free</h2>
101
+ </th>
102
+ <th>
103
+ <h2 class="wpos-epb">Premium</h2>
104
+ <h3 class="wpos-deal-heading">Choose best pricing in <span class="h-blue"> Annual</span> or <span class="h-blue">Lifetime</span> deal</h3>
105
+ <a href="<?php echo WPRPS_PLUGIN_LINK_UPGRADE; ?>" target="_blank">Buy Now</a>
106
+ </th>
107
+ </tr>
108
+ </thead>
109
 
110
+ <tfoot>
111
+ <tr>
112
+ <th></th>
113
+ <td></td>
114
+ <td>
115
+ <h3 class="wpos-deal-heading">Choose best pricing in <span class="h-blue"> Annual</span> or <span class="h-blue">Lifetime</span> deal</h3>
116
+ <a href="<?php echo WPRPS_PLUGIN_LINK_UPGRADE; ?>" target="_blank">Buy Now</a></td>
117
+ </tr>
118
+ </tfoot>
119
 
120
+ <tbody>
121
+ <tr>
122
+ <th>Designs <span>Designs that make your website better</span></th>
123
+ <td>4</td>
124
+ <td>60+</td>
125
+ </tr>
126
+ <tr>
127
+ <th>Shortcodes <span>Shortcode provide output to the front-end side</span></th>
128
+ <td>2 (Slider and Carousel)</td>
129
+ <td>4 (Slider, Carousel, Grid Box Slider )</td>
130
+ </tr>
131
+ <tr>
132
+ <th>Shortcode Parameters <span>Add extra power to the shortcode</span></th>
133
+ <td>16</td>
134
+ <td>30+</td>
135
+ </tr>
136
+ <tr>
137
+ <th>Shortcode Generator <span>Play with all shortcode parameters with preview panel. No documentation required!!</span></th>
138
+ <td><i class="dashicons dashicons-no-alt"></i></td>
139
+ <td><i class="dashicons dashicons-yes"></i></td>
140
+ </tr>
141
+ <tr>
142
+ <th>WP Templating Features <span class="subtext">You can modify plugin html/designs in your current theme.</span></th>
143
+ <td><i class="dashicons dashicons-no-alt"> </i></td>
144
+ <td><i class="dashicons dashicons-yes"> </i></td>
145
+ </tr>
146
+ <tr>
147
+ <th>Widgets<span> WordPress Widgets to your sidebars.</span></th>
148
+ <td><i class="dashicons dashicons-no-alt"></i></td>
149
+ <td><i class="dashicons dashicons-yes"></i></td>
150
+ </tr>
151
+ <tr>
152
+ <th>Custom Post Type Support<span>Supports any custom post type</span></th>
153
+ <td>Limited</td>
154
+ <td>Unlimited </td>
155
+ </tr>
156
+ <tr>
157
+ <th>Drag & Drop Post Order Change <span>Arrange your desired post with your desired order and display</span></th>
158
+ <td><i class="dashicons dashicons-no-alt"></i></td>
159
+ <td><i class="dashicons dashicons-yes"></i></td>
160
+ </tr>
161
+ <tr>
162
+ <th>Gutenberg Block Supports <span>Use this plugin with Gutenberg easily</span></th>
163
+ <td><i class="dashicons dashicons-yes"></i></td>
164
+ <td><i class="dashicons dashicons-yes"></i></td>
165
+ </tr>
166
+ <tr>
167
+ <th>Elementor Page Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Elementor easily</span></th>
168
+ <td><i class="dashicons dashicons-no-alt"></i></td>
169
+ <td><i class="dashicons dashicons-yes"></i></td>
170
+ </tr>
171
+ <tr>
172
+ <th>Bevear Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Bevear Builder easily</span></th>
173
+ <td><i class="dashicons dashicons-no-alt"></i></td>
174
+ <td><i class="dashicons dashicons-yes"></i></td>
175
+ </tr>
176
+ <tr>
177
+ <th>SiteOrigin Page Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with SiteOrigin easily</span></th>
178
+ <td><i class="dashicons dashicons-no-alt"></i></td>
179
+ <td><i class="dashicons dashicons-yes"></i></td>
180
+ </tr>
181
+ <tr>
182
+ <th>Divi Page Builder Native Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Divi Builder easily</span></th>
183
+ <td><i class="dashicons dashicons-yes"></i></td>
184
+ <td><i class="dashicons dashicons-yes"></i></td>
185
+ </tr>
186
+ <tr>
187
+ <th>Fusion Page Builder (Avada) native support <em class="wpos-new-feature">New</em> <span>Use this plugin with Fusion(Avada) Builder easily</span></th>
188
+ <td><i class="dashicons dashicons-yes"></i></td>
189
+ <td><i class="dashicons dashicons-yes"></i></td>
190
+ </tr>
191
+ <tr>
192
+ <th>WPBakery Page Builder Support <span>Use this plugin with Visual Composer easily</span></th>
193
+ <td><i class="dashicons dashicons-no-alt"></i></td>
194
+ <td><i class="dashicons dashicons-yes"></i></td>
195
+ </tr>
196
+ <tr>
197
+ <th>Image Lazyload <span>Lazyload support for the image.</span></th>
198
+ <td><i class="dashicons dashicons-yes"></i></td>
199
+ <td><i class="dashicons dashicons-yes"></i></td>
200
+ </tr>
201
+ <tr>
202
+ <th>Custom Read More link for Post <span>Redirect post to third party destination if any</span></th>
203
+ <td><i class="dashicons dashicons-no-alt"></i></td>
204
+ <td><i class="dashicons dashicons-yes"></i></td>
205
+ </tr>
206
+ <tr>
207
+ <th>Ignore Sticky Post <span>Ignore sticky post or not</span></th>
208
+ <td><i class="dashicons dashicons-no-alt"></i></td>
209
+ <td><i class="dashicons dashicons-yes"></i></td>
210
+ </tr>
211
+ <tr>
212
+ <th>Display Desired Post <span>Display only the post you want</span></th>
213
+ <td><i class="dashicons dashicons-yes"></i></td>
214
+ <td><i class="dashicons dashicons-yes"></i></td>
215
+ </tr>
216
+ <tr>
217
+ <th>Exclude Some Posts <span>Do not display the posts you want</span></th>
218
+ <td><i class="dashicons dashicons-yes"></i></td>
219
+ <td><i class="dashicons dashicons-yes"></i></td>
220
+ </tr>
221
+ <tr>
222
+ <th>Display Post for Particular Categories <span>Display only the posts with particular category</span></th>
223
+ <td><i class="dashicons dashicons-yes"></i></td>
224
+ <td><i class="dashicons dashicons-yes"></i></td>
225
+ </tr>
226
+ <tr>
227
+ <th>Exclude Some Categories <span>Do not display the posts for particular categories</span></th>
228
+ <td><i class="dashicons dashicons-no-alt"></i></td>
229
+ <td><i class="dashicons dashicons-yes"></i></td>
230
+ </tr>
231
+ <tr>
232
+ <th>Post Order / Order By Parameters <span>Display post according to date, title and etc</span></th>
233
+ <td><i class="dashicons dashicons-no-alt"></i></td>
234
+ <td><i class="dashicons dashicons-yes"></i></td>
235
+ </tr>
236
+ <tr>
237
+ <th>Multiple Slider Parameters <span>Slider parameters like autoplay, number of slide, sider dots and etc.</span></th>
238
+ <td><i class="dashicons dashicons-yes"></i></td>
239
+ <td><i class="dashicons dashicons-yes"></i></td>
240
+ </tr>
241
+ <tr>
242
+ <th>Slider RTL Support <span>Slider supports for RTL website</span></th>
243
+ <td><i class="dashicons dashicons-yes"></i></td>
244
+ <td><i class="dashicons dashicons-yes"></i></td>
245
+ </tr>
246
+ <tr>
247
+ <th>Automatic Update <span>Get automatic plugin updates </span></th>
248
+ <td>Lifetime</td>
249
+ <td>Yearly OR Lifetime</td>
250
+ </tr>
251
+ <tr>
252
+ <th>Support <span>Get support for plugin</span></th>
253
+ <td>Limited</td>
254
+ <td>1 Year</td>
255
+ </tr>
256
+ </tbody>
257
+ </table>
258
+ </div>
259
+ </div>
260
+ </div>
261
  </div>
includes/admin/settings/solutions-features.php ADDED
@@ -0,0 +1,190 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Solutions & Features Page
4
+ *
5
+ * @package WP Responsive Recent Post Slider/Carousel
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+
13
+ // Taking some variables
14
+ $wppsac_add_link = add_query_arg( array( 'post_type' =>WPRPS_POST_TYPE ), admin_url( 'post-new.php' ) );
15
+ ?>
16
+
17
+ <div id="wrap">
18
+ <div class="wppsac-sf-wrap">
19
+ <div class="wppsac-sf-inr">
20
+
21
+ <div class="wppsac-sf-features-section wppsac-sf-team wppsac-sf-center">
22
+ <h1 class="wppsac-sf-heading">Now get best value from <span class="wppsac-sf-blue">Annual</span> OR <span class="wppsac-sf-blue">Lifetime</span> deal</h1>
23
+ <h2>And Build <span class="bg-highlight">better websites</span>, <span class="bg-highlight">landing pages</span> & <span class="bg-highlight">conversion flow</span></h2>
24
+ <h2>With <span class="wppsac-sf-blue">35+ plugins</span>, <span class="wppsac-sf-blue">2000+ templates</span> & $600 saving in <span class="wppsac-sf-blue">Essential Plugin Bundle</span></h2>
25
+ <a href="<?php echo WPRPS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wppsac-sf-btn wppsac-sf-btn-orange"><span class="dashicons dashicons-cart"></span> Grab Now This Deal</a>
26
+ </div>
27
+ <div class="wppsac-sf-features-section wppsac-sf-team wppsac-sf-center">
28
+ <h1 class="wppsac-sf-heading">Powerful Team Behind <span class="wppsac-sf-blue">Post Slider</span></h1>
29
+ <div class="wppsac-sf-cont">Alone we can do so little; together we can do so much. Our love language is helping small businesses grow and compete with the big guys. Every time you see growth in your business, our little hearts go flip-flop!</div>
30
+ <p></p>
31
+ <div class="wppsac-sf-cont">This is why I wanted to introduce you to <span class="wppsac-sf-blue">Anoop Ranawat & Team</span> at EssentialPlugin.com</div>
32
+ <img class="wppsac-sf-image" src="<?php echo WPRPS_URL; ?>/assets/images/wpos-team.png" alt="wpos team" />
33
+ </div>
34
+
35
+
36
+ <!-- Start - Welcome Box -->
37
+ <div class="wppsac-sf-welcome-wrap">
38
+ <div class="wppsac-sf-welcome-inr wppsac-sf-center">
39
+
40
+ <h5 class="wppsac-sf-content">Experience <span class="wppsac-sf-blue">4 Layouts</span>, <span class="wppsac-sf-blue">50+ stunning designs</span> with which show your recent blogs/posts in a slider/carousel form with excerpts and unique slider & carousel designs.</h5>
41
+ <h5 class="wppsac-sf-content"><span class="wppsac-sf-blue">30,000+ </span>websites are using <span class="wppsac-sf-blue">Post Slider/Carousel</span>.</h5>
42
+ <a href="<?php echo esc_url( $wppsac_add_link ); ?>" class="wppsac-sf-btn">Launch Post Slider With Free Features</a> <br /><b>OR</b> <br /> <a href="<?php echo WPRPS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wppsac-sf-btn wppsac-sf-btn-orange"><span class="dashicons dashicons-cart"></span> Grab Now With Essential Bundle</a>
43
+ <div class="wppsac-rc-wrap">
44
+ <div class="wppsac-rc-inr wppsac-rc-bg-box">
45
+ <div class="wppsac-rc-icon">
46
+ <img src="<?php echo esc_url( WPRPS_URL ); ?>assets/images/popup-icon/14-days-money-back-guarantee.png" alt="14-days-money-back-guarantee" title="14-days-money-back-guarantee" />
47
+ </div>
48
+ <div class="wppsac-rc-cont">
49
+ <h3>14 Days Refund Policy</h3>
50
+ <p>14-day No Question Asked Refund Guarantee</p>
51
+ </div>
52
+ </div>
53
+ <div class="wppsac-rc-inr wppsac-rc-bg-box">
54
+ <div class="wppsac-rc-icon">
55
+ <img src="<?php echo esc_url( WPRPS_URL ); ?>assets/images/popup-icon/popup-design.png" alt="popup-design" title="popup-design" />
56
+ </div>
57
+ <div class="wppsac-rc-cont">
58
+ <h3>Include Done-For-You Recent Post Slider Setup</h3>
59
+ <p>Our experts team will design 1 free Recent Post Slider for you as per your need.</p>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ <div class="wppsac-sf-welcome-left">
64
+
65
+ </div>
66
+ <div class="wppsac-sf-welcome-right">
67
+
68
+ </div>
69
+ </div>
70
+ </div>
71
+ <!-- End - Welcome Box -->
72
+
73
+ <!-- Start - WP Responsive Recent Post Slider/Carousel - Features -->
74
+ <div class="wppsac-features-section">
75
+ <div class="wppsac-center wppsac-features-ttl">
76
+ <h1 class="wppsac-sf-heading">Powerful Pro Features, Simplified</h1>
77
+ </div>
78
+ <div class="wppsac-sf-welcome-wrap wppsac-sf-center">
79
+ <div class="wppsac-features-box-wrap">
80
+ <ul class="wppsac-features-box-grid">
81
+ <li>
82
+ <div class="wppsac-popup-icon"><img src="<?php echo WPRPS_URL; ?>/assets/images/popup-icon/slider.png" /></div>
83
+ Recent Post Slider View</li>
84
+ <li>
85
+ <div class="wppsac-popup-icon"><img src="<?php echo WPRPS_URL; ?>/assets/images/popup-icon/slider-carousel.png" /></div>
86
+ Recent Post Carousel View</li>
87
+ <li>
88
+ <div class="wppsac-popup-icon"><img src="<?php echo WPRPS_URL; ?>/assets/images/popup-icon/grid-box.png" /></div>
89
+ Recent Post Gridbox View</li>
90
+ <!-- <li>
91
+ <div class="wppsac-popup-icon"><img src="<?php //echo WPRPS_URL; ?>/assets/images/popup-icon/centermode.png" /></div>
92
+ Center Mode View</li> -->
93
+ </ul>
94
+ </div>
95
+ <a href="<?php echo WPRPS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wppsac-sf-btn wppsac-sf-btn-orange"><span class="dashicons dashicons-cart"></span> Grab Now Pro Features</a>
96
+ <div class="wppsac-rc-wrap">
97
+ <div class="wppsac-rc-inr wppsac-rc-bg-box">
98
+ <div class="wppsac-rc-icon">
99
+ <img src="<?php echo esc_url( WPRPS_URL ); ?>assets/images/popup-icon/14-days-money-back-guarantee.png" alt="14-days-money-back-guarantee" title="14-days-money-back-guarantee" />
100
+ </div>
101
+ <div class="wppsac-rc-cont">
102
+ <h3>14 Days Refund Policy. 0 risk to you.</h3>
103
+ <p>14-day No Question Asked Refund Guarantee</p>
104
+ </div>
105
+ </div>
106
+ <div class="wppsac-rc-inr wppsac-rc-bg-box">
107
+ <div class="wppsac-rc-icon">
108
+ <img src="<?php echo esc_url( WPRPS_URL ); ?>assets/images/popup-icon/popup-design.png" alt="popup-design" title="popup-design" />
109
+ </div>
110
+ <div class="wppsac-rc-cont">
111
+ <h3>Include Done-For-You Recent Post Slider Setup</h3>
112
+ <p>Our experts team will design 1 free Recent Post Slider for you as per your need.</p>
113
+ </div>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ <!-- End - Logo Showcase - Features -->
119
+
120
+ <!-- Start - Testimonial Section -->
121
+ <div class="wppsac-sf-testimonial-wrap">
122
+ <div class="wppsac-center wppsac-features-ttl">
123
+ <h1 class="wppsac-sf-heading">Looking for a Reason to Use Recent Post Slider? Here are 80+...</h1>
124
+ </div>
125
+ <div class="wppsac-testimonial-section-inr">
126
+ <div class="wppsac-testimonial-box-wrap">
127
+ <div class="wppsac-testimonial-box-grid">
128
+ <h3 class="wppsac-testimonial-title">Nice looking result with a very simple setup</h3>
129
+ <div class="wppsac-testimonial-desc">Thank you for the work done with this plugin. It was the solution we were looking for.</div>
130
+ <div class="wppsac-testimonial-clnt">@dfasite</div>
131
+ <div class="wppsac-testimonial-rating"><img src="<?php echo WPRPS_URL; ?>/assets/images/rating.png" /></div>
132
+ </div>
133
+ <div class="wppsac-testimonial-box-grid">
134
+ <h3 class="wppsac-testimonial-title">Excellent plugin & support</h3>
135
+ <div class="wppsac-testimonial-desc">Excellent plugin & support The perfect solution i need</div>
136
+ <div class="wppsac-testimonial-clnt">@vitomartin_com</div>
137
+ <div class="wppsac-testimonial-rating"><img src="<?php echo WPRPS_URL; ?>/assets/images/rating.png" /></div>
138
+ </div>
139
+ <div class="wppsac-testimonial-box-grid">
140
+ <h3 class="wppsac-testimonial-title">Nice plugin and best support</h3>
141
+ <div class="wppsac-testimonial-desc">A simple but very nice plugin that does what it promises. In addition, I had an incompatibility problem with my theme (Extra theme from ET) with which they have helped me quickly and effectively, so I highly recommend them!</div>
142
+ <div class="wppsac-testimonial-clnt">@dtemporetti</div>
143
+ <div class="wppsac-testimonial-rating"><img src="<?php echo WPRPS_URL; ?>/assets/images/rating.png" /></div>
144
+ </div>
145
+ <div class="wppsac-testimonial-box-grid">
146
+ <h3 class="wppsac-testimonial-title">Good plugin and best support!</h3>
147
+ <div class="wppsac-testimonial-desc">I’ve had issue with incompatibility with my theme, but support responded quickly and resolved the issue even quicker! Kudos to them! Earned my recommendation.</div>
148
+ <div class="wppsac-testimonial-clnt">@skyteamdesign2020</div>
149
+ <div class="wppsac-testimonial-rating"><img src="<?php echo WPRPS_URL; ?>/assets/images/rating.png" /></div>
150
+ </div>
151
+ <div class="wppsac-testimonial-box-grid">
152
+ <h3 class="wppsac-testimonial-title">A must have for every blog and news website</h3>
153
+ <div class="wppsac-testimonial-desc">Best and awesome plugin out there even compare to premium ones. A truly working plugin with a lot of flexibility.Support RTL languages like my native Persian out of the box. And last but not least a great support team. </div>
154
+ <div class="wppsac-testimonial-clnt">@tikroute</div>
155
+ <div class="wppsac-testimonial-rating"><img src="<?php echo WPRPS_URL; ?>/assets/images/rating.png" /></div>
156
+ </div>
157
+ <div class="wppsac-testimonial-box-grid">
158
+ <h3 class="wppsac-testimonial-title">One of the best plug in I ever use</h3>
159
+ <div class="wppsac-testimonial-desc">This plugin is easy to set up and their customer support is extremely helpful which make this plugin one of the best in the market.</div>
160
+ <div class="wppsac-testimonial-clnt">@fahad121</div>
161
+ <div class="wppsac-testimonial-rating"><img src="<?php echo WPRPS_URL; ?>/assets/images/rating.png" /></div>
162
+ </div>
163
+ </div>
164
+ <a href="https://wordpress.org/support/plugin/wp-responsive-recent-post-slider/reviews/?filter=5" target="_blank" class="wppsac-sf-btn"><span class="dashicons dashicons-star-filled"></span> View All Reviews</a> OR <a href="<?php echo WPRPS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wppsac-sf-btn wppsac-sf-btn-orange"><span class="dashicons dashicons-cart"></span> Grab Now Pro Features</a>
165
+ <div class="wppsac-rc-wrap">
166
+ <div class="wppsac-rc-inr wppsac-rc-bg-box">
167
+ <div class="wppsac-rc-icon">
168
+ <img src="<?php echo esc_url( WPRPS_URL ); ?>assets/images/popup-icon/14-days-money-back-guarantee.png" alt="14-days-money-back-guarantee" title="14-days-money-back-guarantee" />
169
+ </div>
170
+ <div class="wppsac-rc-cont">
171
+ <h3>14 Days Refund Policy. 0 risk to you.</h3>
172
+ <p>14-day No Question Asked Refund Guarantee</p>
173
+ </div>
174
+ </div>
175
+ <div class="wppsac-rc-inr wppsac-rc-bg-box">
176
+ <div class="wppsac-rc-icon">
177
+ <img src="<?php echo esc_url( WPRPS_URL ); ?>assets/images/popup-icon/popup-design.png" alt="popup-design" title="popup-design" />
178
+ </div>
179
+ <div class="wppsac-rc-cont">
180
+ <h3>Include Done-For-You Recent Post Slider Setup</h3>
181
+ <p>Our experts team will design 1 free Recent Post Slider for you as per your need.</p>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ </div>
186
+ </div>
187
+ <!-- End - Testimonial Section -->
188
+ </div>
189
+ </div><!-- end .wppsac-sf-wrap -->
190
+ </div><!-- end .wrap -->
includes/admin/settings/trail-premium.php ADDED
@@ -0,0 +1,301 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Premium Offer Page
4
+ *
5
+ * @package WP Logo Showcase Responsive Slider
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( !defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+ ?>
13
+ <div class="wrap wprps-wrap">
14
+
15
+ <h2 class="text-center"><?php _e( 'Recent Post Slider with ', 'wp-responsive-recent-post-slider' ); ?><span class="h-blue"><?php _e( 'Essential Plugin Bundle Free Trial', 'wp-responsive-recent-post-slider' ); ?></span></h2>
16
+
17
+ <style>
18
+ .button-orange { background: #FF5D52 !important; color: #fff !important; border: 2px solid #FF5D52 !important; font-size:18px!important; font-weight:bold; padding:10px 20px !important; }
19
+ .section-space-medium{margin:15px 0;}
20
+ .text-center{text-align:center;}
21
+ .h-blue { color: #0055fb !important; margin-bottom: 0px !important;}
22
+ .cart-section-header{font-size:26px; line-height:34px; margin:10px 0px;}
23
+ .wpos-trail-main-table{background:#fff; width:100%;}
24
+ .wpos-trail-main-table th, .wpos-trail-main-table td{padding:10px; text-align:left; border:1px solid #ddd; border-collapse: collapse;}
25
+ .edd_checkout_cart_item_title{font-size:18px; font-weight:bold;}
26
+ .wpos-trail-main-table tfoot th.edd_cart_total{text-align:right; font-size:18px; color:#0055fb;}
27
+ .epb-list h5{margin:2px 0 !important;}
28
+ .epb-list .dashicons {background: #aadb98;color: #34801a;font-size: 14px;padding: 2px;border-radius: 50%;margin-right: 5px; line-height:20px;}
29
+ .epb-list li{margin-bottom:15px;}
30
+ .page-template-free-trial-membership .wpos-bundle-stats .wpos-bundle-box {font-size:16px; margin-bottom:15px; box-shadow: 0 5px 30px 0 rgba(214,215,216,.57);padding: 20px 20px 20px 20px;background: #fff;position: relative;}
31
+ .section-space-small{margin-bottom:20px;}
32
+ .page-template-free-trial-membership .common-plan .wpos-bundle-stats .medium-4 .wpos-bundle-box{padding: 15px;}
33
+ .common-plan img{width: 45px;height: 45px;margin-bottom: 8px;}
34
+ .pay-later-cta {box-shadow: 0 5px 30px 0 rgba(214,215,216,.57);padding: 20px 20px 20px 20px;background: #fff;border-bottom: 2px solid #efeded;}
35
+ .pricing-review-wrap span{font-size: 14px;}
36
+ .page-template-free-trial-membership .wpos-seam-integration li{width: 32%;display: inline-block;}
37
+ .page-template-free-trial-membership .epb-list li{margin-bottom: 0;line-height: 34px;}
38
+ .page-template-free-trial-membership .wpos-checkout-right .epb-list li{line-height: 26px;}
39
+ .page-template-free-trial-membership .wp-builder-list li a{display: table;}
40
+ .page-template-free-trial-membership .wp-builder-list li a img{display: table-cell;width: 50px;}
41
+ .page-template-free-trial-membership .wp-builder-list li a span{vertical-align: middle;display: table-cell;padding-left: 10px;line-height: normal;}
42
+ .page-template-free-trial-membership .wpos-pricing-faq-page ul{max-width: 650px;margin: 0 auto;}
43
+ .grid-x:before, .grid-x:after{content: "";display: table;}
44
+ .grid-x::after, .grid-x{clear: both;}
45
+ .grid-padding-x{ margin-right: -.9375rem; margin-left: -.9375rem;}
46
+
47
+ @media only screen and (max-width: 40em) {
48
+ .page-template-free-trial-membership .pricing-review-wrap .medium-3{margin-bottom: 15px;}
49
+ .page-template-free-trial-membership .wpos-seam-integration li{width: 100%;}
50
+ .page-template-free-trial-membership .wpos-seam-integration li ul.epb-list li{border: none !important;}
51
+ .page-template-free-trial-membership .wpos-pricing-faq-page .accordion-item a{font-size: 16px;line-height: normal;}
52
+ .page-template-free-trial-membership .medium-4.wpos-checkout-right img{max-width: 200px;margin: 0 auto 20px;display: block;width: 100%;}
53
+ .common-plan .medium-2{width: 100%;}
54
+ }
55
+ @media only screen and (min-width: 40em) {
56
+ .cell {padding-right: .9375rem; padding-left: .9375rem; float:left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
57
+ .medium-12{ width: 100%; }
58
+ .medium-8{ width: 66.66667%; }
59
+ .medium-4{ width: 33.333%; }
60
+ .medium-3{ width:25%; }
61
+ .medium-2{ width: 20%; }
62
+ }
63
+ </style>
64
+
65
+ <div id="poststuff">
66
+ <div id="post-body" class="metabox-holder page-template-free-trial-membership">
67
+ <div id="post-body-content">
68
+ <div class="grid-x grid-padding-x">
69
+ <div class="small-12 medium-8 cell">
70
+ <div class="wpos-trail-table">
71
+ <table class="wpos-trail-main-table">
72
+ <thead>
73
+ <tr class="edd_cart_header_row">
74
+ <th class="edd_cart_item_name">0$ Pro Trial</th>
75
+ <th class="edd_cart_item_price">Item Price</th>
76
+ </tr>
77
+ </thead>
78
+ <tbody>
79
+ <tr class="edd_cart_item" id="edd_cart_item_0_106568" data-download-id="106568">
80
+ <td class="edd_cart_item_name">
81
+ <span class="edd_checkout_cart_item_title">14 Days Pro Essential Plugin Bundle – 0$ Pro Trial - Unlimited Sites</span>
82
+ <p class="eddr-notice eddr-cart-item-notice" style="margin-bottom: 0 !important;"><em style="font-weight:bold; font-size:13px;line-height: normal;">* <span class="h-blue">After 14-Days</span> 0$ Pro Trial $149 will be billed annually.</em></p>
83
+ <p class="eddr-notice h-orange eddr-cart-item-notice"><em style="font-weight:bold; font-size:13px; ">* <span class="h-blue">Within 14-Days </span>0$ Pro Trial easily cancelable and you will not be charge at all.</em></p>
84
+ </td>
85
+ <td class="edd_cart_item_price">$149.00
86
+ </td>
87
+ </tr>
88
+ </tbody>
89
+ <tfoot>
90
+ <tr class="edd_cart_footer_row">
91
+ <th colspan="2" class="edd_cart_total">Total: <span class="edd_cart_amount" data-subtotal="149" data-total="149">$0.00</span></th>
92
+ </tr>
93
+ </tfoot>
94
+ </table>
95
+ </div>
96
+ <div class="grid-x grid-padding-x" style="text-align: center;width: 100%;padding: 30px 0;">
97
+ <div class="small-12 medium-6" style="display: inline-block; font-weight: bold;border-right: 1px solid #ddd;text-align: center;">
98
+ <span class="h-blue" style="font-size: 40px;margin-right: 10px;">277</span> <span style="display: inline-block;color: #505050;max-width: 100px;line-height: normal;text-align: left;font-size: 15px;">Trials in the last month</span>
99
+ </div>
100
+ <div class="small-12 medium-6" style="display: inline-block; font-weight: bold;text-align: center;">
101
+ <span class="h-blue" style="font-size: 40px;margin-right: 10px;">16,435</span> <span style="display: inline-block;color: #505050;max-width: 100px;line-height: normal;text-align: left;font-size: 15px;">Pro-users since 2015</span>
102
+ </div>
103
+ </div>
104
+ </div>
105
+ <div class="small-12 medium-4 cell wpos-checkout-right">
106
+ <h4 class="cart-section-header">14 Days Pro Essential Plugin Bundle – <span style="color: #0055fb ;">0$ Pro Trial</span></h4>
107
+ <h5 style="font-size: 18px;line-height: 30px;margin: 10px 0px;">Your Plan Details:</h5>
108
+ <ul style="margin: 0;list-style: none;font-size: 16px;">
109
+ <li style="margin-bottom:8px;">
110
+ <span style="display:inline-block;vertical-align: middle;"><img src="<?php echo WPRPS_URL; ?>/assets/images/utility-50.png" width="24"></span> <span style="display:inline-block;vertical-align: middle;">39 Utility Plugins</span>
111
+ </li>
112
+ <li style="margin-bottom:8px;">
113
+ <span style="display:inline-block;vertical-align: middle;"><img src="<?php echo WPRPS_URL; ?>/assets/images/inboundwp-50.png" width="24"></span> <span style="display:inline-block;vertical-align: middle;">6 Marketing Tools</span>
114
+ </li>
115
+ <li style="margin-bottom:8px;">
116
+ <span style="display:inline-block;vertical-align: middle;"><img src="<?php echo WPRPS_URL; ?>/assets/images/SlidersPack-50.png" width="24"></span><span style="display:inline-block;vertical-align: middle;"> 10 SlidersPack</span>
117
+ </li>
118
+ <li style="margin-bottom:8px;">
119
+ <span style="display:inline-block;vertical-align: middle;"><img src="<?php echo WPRPS_URL; ?>/assets/images/popup-anything-icon.png" width="24"></span><span style="display:inline-block;vertical-align: middle;"> Popup Anything A Marketing Popup</span>
120
+ </li>
121
+ <li>
122
+ <span style="display:inline-block;vertical-align: middle;"><img src="<?php echo WPRPS_URL; ?>/assets/images/security-icon.png" width="24"></span><span style="display:inline-block;vertical-align: middle;"> Essential Security</span>
123
+ </li>
124
+ </ul>
125
+ </div>
126
+ <div class="small-12 medium-12 cell text-center section-space-medium">
127
+ <a href="<?php echo WPRPS_CHECKOUT_PLUGIN_LINK; ?>" class="large button button-orange radius" target="_blank">Join 0$ 14 Days Pro Bundle Trial</a>
128
+ </div>
129
+ </div>
130
+ <div class="grid-x grid-padding-x" style="margin:30px 0;">
131
+ <div class="medium-12 cell text-center">
132
+ <h3 class="text-center cart-section-header" style="display: inline-block;">Build <span style="background:#0099fb;color:#fff;padding: 0 5px;">better websites</span>, <span style="background:#0099fb;color:#fff;padding: 0 5px;">landing pages</span> &amp; <span style="background:#0099fb;color:#fff;padding: 0 5px;">conversion flow</span></h3>
133
+ </div>
134
+ <div class="text-center medium-12 cell epb-list">
135
+ <ul style="list-style:none;margin-left: 0;">
136
+ <li>
137
+ <h5 style="font-size:17px;"><span class="dashicons dashicons-saved"></span></i>45 plugins, 10 sliders, Best in class - Popup plugin<span class="new-badge" style="position: relative;top: -8px;right: 2px;font-size: 10px;">New</span> with 2000+ pre-built templates in <span class="h-blue">Essential Bundle</span></h5>
138
+ </li>
139
+ <li>
140
+ <h5 style="font-size:17px;line-height: 30px;margin-bottom: 6px !important;"><span class="dashicons dashicons-saved"></span> Compatible with <span style="text-decoration: underline;color: #ff5d52;">Gutenberg, DIVI, Elementor, Avada, VC/WPbakery</span> etc page builder/themes</h5>
141
+ </li>
142
+ </ul>
143
+ </div>
144
+ </div>
145
+ <div class="grid-x grid-padding-x wpos-bundle-stats">
146
+ <div class="small-12 medium-12 cell text-center section-space-small">
147
+ <h3 class="cart-section-header text-center">What You Will Get?</h3>
148
+ </div>
149
+ <div class="medium-2 small-12 cell">
150
+ <div class="wpos-bundle-box text-center">
151
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/utility-50.png"><br>
152
+ 39 <br>
153
+ Utility Plugins
154
+ </div>
155
+ </div>
156
+ <div class="medium-2 small-12 cell">
157
+ <div class="wpos-bundle-box text-center">
158
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/inboundwp-50.png"><br>
159
+ 6 <br>
160
+ Marketing Tools
161
+ </div>
162
+ </div>
163
+ <div class="medium-2 small-12 cell">
164
+ <div class="wpos-bundle-box text-center">
165
+ <img src="<?php echo WPRPS_URL; ?>assets/images/SlidersPack-50.png"><br>
166
+ 10 <br>
167
+ SlidersPack
168
+ </div>
169
+ </div>
170
+ <div class="medium-2 small-12 cell">
171
+ <div class="wpos-bundle-box text-center">
172
+ <img src="<?php echo WPRPS_URL; ?>assets/images/popup-anything-icon.png"><br>
173
+ Popup Anything <br>
174
+ A Marketing Popup
175
+ </div>
176
+ </div>
177
+ <div class="medium-2 small-12 cell">
178
+ <div class="wpos-bundle-box text-center">
179
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/security-icon.png"><br>
180
+ Essential <br>Security
181
+ </div>
182
+ </div>
183
+ <div class="medium-4 small-12 cell">
184
+ <div class="wpos-bundle-box text-center">
185
+ 2000+ Templates
186
+ </div>
187
+ </div>
188
+ <div class="medium-4 small-12 cell">
189
+ <div class="wpos-bundle-box text-center">
190
+ Regular Updates With Valid Subscription
191
+ </div>
192
+ </div>
193
+ <div class="medium-4 small-12 cell">
194
+ <div class="wpos-bundle-box text-center">
195
+ Auto Renewal Yearly Product License
196
+ </div>
197
+ </div>
198
+ </div>
199
+
200
+ <h3 class="pay-later-cta text-center section-space-medium" style="font-size: 28px;"><span style="color:#ed4635;">PAY $0 USD</span> + <span style="color:#5f9654;">INSTALL</span> + <span style="color:#9d42b0;">USE &amp; EXPLORE</span> = <span class="h-blue">YOUR DECISION YOU PAY OR NOT</span></h3>
201
+ <div class="pricing-review-wrap text-center section-space-medium" style="padding:30px 0;background-color: #eaf1fe;">
202
+ <div class="grid-container">
203
+ <h4 class="section-space-small cart-section-header">Get convinced? Check out what our real-life members have to say...</h4>
204
+ <div class="grid-x grid-padding-x">
205
+ <div class="small-12 medium-3 cell text-center">
206
+ <a href="https://tinyurl.com/y4bh9dnn" target="_blank" style="display: block;">
207
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/g-logo.png" width="44">
208
+ <br>
209
+ <span style="color:#555">Google Reviews</span><br>
210
+ <span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><br>
211
+ <span>150+ reviews</span>
212
+ </a>
213
+ </div>
214
+ <div class="small-12 medium-3 cell">
215
+ <a href="https://www.facebook.com/EssentialPlugins/reviews/" target="_blank" style="display: block;">
216
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/fb-icon.png" width="44">
217
+ <br>
218
+ <span style="color:#555">Facebook Reviews</span><br>
219
+ <span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><br>
220
+ <span>50+ reviews</span>
221
+ </a>
222
+ </div>
223
+ <div class="small-12 medium-3 cell" style="padding-top: 10px;">
224
+ <a href="https://profiles.wordpress.org/wponlinesupport/#content-plugins" target="_blank" style="display: block;">
225
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/wordpress-icon-logo.png" width="150">
226
+ <br>
227
+ <span style="color:#555">WordPress.org Reviews</span><br>
228
+ <span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><br>
229
+ <span>500+ reviews</span>
230
+ </a>
231
+ </div>
232
+ <div class="small-12 medium-3 cell" style="padding-top:10px;">
233
+ <a href="https://www.essentialplugin.com/essential-plugin-bundle-testimonials/" target="_blank" style="display: block;">
234
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/essential-plugin-logo.png" width="150">
235
+ <br>
236
+ <span style="color:#555">On-Site Reviews</span><br>
237
+ <span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><span class="dashicons dashicons-star-filled" style="color: #fe8f01;"></span><br>
238
+ <span>200+ reviews</span>
239
+ </a>
240
+ </div>
241
+ </div>
242
+ </div>
243
+ </div>
244
+
245
+ <div class="text-center section-space-larger">
246
+ <a href="<?php echo WPRPS_CHECKOUT_PLUGIN_LINK; ?>" class="large button button-orange radius" target="_blank">Join 0$ 14 Days Pro Bundle Trial</a>
247
+ <ul class="epb-list" style="text-align: left;list-style: none;margin: 0 auto;padding: 0 15px;max-width: 500px;">
248
+ <li><span class="dashicons dashicons-saved"></span><span class="h-orange">After 14 days - 0$ Pro Trial $149 will be billed annually.</span></li>
249
+ <li><span class="dashicons dashicons-saved"></span><span class="h-orange">Within 14 days 0$ Pro Trial easily cancelable and you will not be charge at all.</span></li>
250
+ </ul>
251
+ </div>
252
+
253
+ <div id="wpos-seam-integration" class="wpos-seam-integration section-space-medium">
254
+ <div class="grid-x grid-padding-x">
255
+ <div class="small-12 medium-12 cell text-center section-space-small">
256
+ <h4 class="h-blue cart-section-header">Seamless Integration With All Major Page Builders</h4>
257
+ <h3 class="cart-section-header">+ Multisite, Ecom Compatible</h3>
258
+ </div>
259
+ </div>
260
+ <div class="grid-container">
261
+ <div class="grid-x grid-padding-x">
262
+ <div class="small-12 medium-12 cell section-space-small">
263
+ <ul class="wp-builder-list" style="list-style:none;margin:0;">
264
+ <li>
265
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/gutenberg-icon.png" width="30"><span style="margin-left: 10px;">Gutenberg Page Builder</span>
266
+ </li>
267
+ <li>
268
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/site-origin-icon.png" width="30"><span style="margin-left: 10px;">Siteorigin Page Builder</span>
269
+ </li>
270
+ <li>
271
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/elementor-icon.png" width="30"><span style="margin-left: 10px;">Elementor Page Builder</span>
272
+ </li>
273
+ <li>
274
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/vc-icon.png" width="30"><span style="margin-left: 10px;">VC Composer Page Builder</span>
275
+ </li>
276
+ <li>
277
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/wpbakery-icon.png" width="30"><span style="margin-left: 10px;">WPbakery Page Builder</span>
278
+ </li>
279
+ <li>
280
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/beaver-icon.png" width="30"><span style="margin-left: 10px;">Beaver Page Builder</span>
281
+ </li>
282
+ <li>
283
+ <img src="<?php echo WPRPS_URL; ?>/assets/images/divi-icon.png" width="30"><span style="margin-left: 10px;">Adding DIVI and Avada theme support</span>
284
+ </li>
285
+
286
+ </ul>
287
+ </div>
288
+ <div class="small-12 medium-12 cell text-center">
289
+ <a href="<?php echo WPRPS_CHECKOUT_PLUGIN_LINK; ?>" class="large button button-orange radius" target="_blank">Join 0$ 14 Days Pro Bundle Trial</a>
290
+ <ul class="epb-list" style="text-align: left;list-style: none;max-width: 500px;margin: 0 auto;padding: 0;">
291
+ <li style="line-height: 34px;width: 100%;padding: 0;margin: 0;"><span class="dashicons dashicons-saved"></span><span class="h-orange">After 14 days - 0$ Pro Trial $149 will be billed annually.</span></li>
292
+ <li style="line-height: 34px;width: 100%;padding: 0;margin: 0;"><span class="dashicons dashicons-saved"></span><span class="h-orange">Within 14 days 0$ Pro Trial easily cancelable and you will not be charge at all.</span></li>
293
+ </ul>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ </div>
298
+ </div>
299
+ </div>
300
+ </div>
301
+ </div>
includes/admin/supports/gutenberg-block.php CHANGED
@@ -13,11 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  function wprps_register_guten_block() {
14
 
15
  // Block Editor Script
16
- wp_register_script( 'wprps-free-block-js', WPRPS_URL.'assets/js/blocks.build.js', array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor', 'wp-components' ), WPRPS_VERSION, true );
17
  wp_localize_script( 'wprps-free-block-js', 'Wprpsf_Block', array(
18
- 'pro_demo_link' => 'https://demo.wponlinesupport.com/prodemo/post-slider-pro/',
19
- 'free_demo_link' => 'https://demo.wponlinesupport.com/recent-post-slider-demo/',
20
- 'pro_link' => WPRPS_PLUGIN_LINK,
21
  ));
22
 
23
  // Register block and explicit attributes for grid
@@ -281,4 +281,4 @@ function wprps_add_block_category( $categories ) {
281
 
282
  return $categories;
283
  }
284
- add_filter( 'block_categories', 'wprps_add_block_category' );
13
  function wprps_register_guten_block() {
14
 
15
  // Block Editor Script
16
+ wp_register_script( 'wprps-free-block-js', WPRPS_URL.'assets/js/blocks.build.js', array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-block-editor', 'wp-components' ), WPRPS_VERSION, true );
17
  wp_localize_script( 'wprps-free-block-js', 'Wprpsf_Block', array(
18
+ 'pro_demo_link' => 'https://demo.wponlinesupport.com/prodemo/post-slider-pro/',
19
+ 'free_demo_link' => 'https://demo.wponlinesupport.com/recent-post-slider-demo/',
20
+ 'pro_link' => WPRPS_PLUGIN_LINK_UNLOCK,
21
  ));
22
 
23
  // Register block and explicit attributes for grid
281
 
282
  return $categories;
283
  }
284
+ add_filter( 'block_categories_all', 'wprps_add_block_category' );
includes/admin/wprps-how-it-work.php CHANGED
@@ -12,8 +12,17 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  ?>
13
 
14
  <div class="wrap wprpsm-wrap">
15
- <h2><?php _e( 'How It Works', 'wp-responsive-recent-post-slider' ); ?></h2>
16
  <style type="text/css">
 
 
 
 
 
 
 
 
 
 
17
  .wpos-pro-box .hndle{background-color:#0073AA; color:#fff;}
18
  .wpos-pro-box.postbox{background:#dbf0fa none repeat scroll 0 0; border:1px solid #0073aa; color:#191e23;}
19
  .postbox-container .wpos-list li:before{font-family: dashicons; content: "\f139"; font-size:20px; color: #0073aa; vertical-align: middle;}
@@ -22,13 +31,16 @@ if ( ! defined( 'ABSPATH' ) ) {
22
  .upgrade-to-pro{font-size:18px; text-align:center; margin-bottom:15px;}
23
  .wpos-copy-clipboard{-webkit-touch-callout: all; -webkit-user-select: all; -khtml-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all;}
24
  .wpos-new-feature{ font-size: 10px; color: #fff; font-weight: bold; background-color: #03aa29; padding:1px 4px; font-style: normal; }
 
 
25
  </style>
26
-
27
  <div id="poststuff">
28
  <div id="post-body" class="metabox-holder columns-2">
29
 
30
  <!--How it workd HTML -->
31
  <div id="post-body-content">
 
32
  <div class="meta-box-sortables">
33
  <div class="postbox">
34
  <div class="postbox-header">
@@ -74,6 +86,22 @@ if ( ! defined( 'ABSPATH' ) ) {
74
  <span class="wpos-copy-clipboard wprpsm-shortcode-preview">[recent_post_carousel design="design-1"]</span> – <?php _e('Post carousel Shortcode. Where you can use 1 designs.', 'wp-responsive-recent-post-slider'); ?>
75
  </td>
76
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  </tbody>
78
  </table>
79
  </div><!-- .inside -->
@@ -108,28 +136,7 @@ if ( ! defined( 'ABSPATH' ) ) {
108
  </div><!-- #general -->
109
  </div><!-- .meta-box-sortables -->
110
 
111
- <div class="meta-box-sortables">
112
- <div class="postbox">
113
- <div class="postbox-header">
114
- <h2 class="hndle">
115
- <span><?php _e( 'Need Support?', 'wp-responsive-recent-post-slider' ); ?></span>
116
- </h2>
117
- </div>
118
- <div class="inside">
119
- <table class="form-table">
120
- <tbody>
121
- <tr>
122
- <td>
123
- <p><?php _e('Check plugin document for shortcode parameters and demo for designs.', 'wp-responsive-recent-post-slider'); ?></p> <br/>
124
- <a class="button button-primary" href="https://docs.wponlinesupport.com/wp-responsive-recent-post-slider/" target="_blank"><?php _e('Documentation', 'wp-responsive-recent-post-slider'); ?></a>
125
- <a class="button button-primary" href="https://demo.wponlinesupport.com/recent-post-slider-demo/" target="_blank"><?php _e('Demo for Designs', 'wp-responsive-recent-post-slider'); ?></a>
126
- </td>
127
- </tr>
128
- </tbody>
129
- </table>
130
- </div><!-- .inside -->
131
- </div><!-- #general -->
132
- </div><!-- .meta-box-sortables -->
133
 
134
  <!-- Help to improve this plugin! -->
135
  <div class="meta-box-sortables">
@@ -172,8 +179,7 @@ if ( ! defined( 'ABSPATH' ) ) {
172
  <li><?php _e( '100% Multi language', 'wp-responsive-recent-post-slider' ); ?></li>
173
  </ul>
174
  <div class="upgrade-to-pro"><?php echo __( 'Gain access to <strong>Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle', 'wp-responsive-recent-post-slider' ); ?></div>
175
- <a class="button button-primary wpos-button-full" href="https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/?ref=WposPratik&utm_source=WP&utm_medium=Post-Slider&utm_campaign=Upgrade-PRO" target="_blank"><?php _e('Go Premium ', 'wp-responsive-recent-post-slider'); ?></a>
176
- <p><a class="button button-primary wpos-button-full" href="https://demo.wponlinesupport.com/prodemo/post-slider-pro/" target="_blank"><?php _e('View PRO Demo ', 'wp-responsive-recent-post-slider'); ?></a></p>
177
  </div><!-- .inside -->
178
  </div><!-- #general -->
179
  </div><!-- .meta-box-sortables -->
12
  ?>
13
 
14
  <div class="wrap wprpsm-wrap">
 
15
  <style type="text/css">
16
+ .wpos-box{box-shadow: 0 5px 30px 0 rgba(214,215,216,.57);background: #fff; padding-bottom:10px; position:relative;}
17
+ .wpos-box ul{padding: 15px;}
18
+ .wpos-box h5{background:#555; color:#fff; padding:15px; text-align:center;}
19
+ .wpos-box h4{ padding:0 15px; margin:5px 0; font-size:18px;}
20
+ .wpos-box .button{margin:0px 15px 15px 15px; text-align:center; padding:7px 15px; font-size:15px;display:inline-block;}
21
+ .wpos-box .wpos-list{list-style:square; margin:10px 0 0 20px;}
22
+ .wpos-clearfix:before, .wpos-clearfix:after{content: "";display: table;}
23
+ .wpos-clearfix::after{clear: both;}
24
+ .wpos-clearfix{clear: both;}
25
+ .wpos-col{width: 47%; float: left; margin-right:10px; margin-bottom:10px;}
26
  .wpos-pro-box .hndle{background-color:#0073AA; color:#fff;}
27
  .wpos-pro-box.postbox{background:#dbf0fa none repeat scroll 0 0; border:1px solid #0073aa; color:#191e23;}
28
  .postbox-container .wpos-list li:before{font-family: dashicons; content: "\f139"; font-size:20px; color: #0073aa; vertical-align: middle;}
31
  .upgrade-to-pro{font-size:18px; text-align:center; margin-bottom:15px;}
32
  .wpos-copy-clipboard{-webkit-touch-callout: all; -webkit-user-select: all; -khtml-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all;}
33
  .wpos-new-feature{ font-size: 10px; color: #fff; font-weight: bold; background-color: #03aa29; padding:1px 4px; font-style: normal; }
34
+ .button-orange{background: #ff5d52 !important;border-color: #ff5d52 !important; font-weight: 600;}
35
+ .button-blue{background: #0055fb !important;border-color: #0055fb !important; font-weight: 600;}
36
  </style>
37
+ <h2><?php _e( 'How It Works', 'wp-responsive-recent-post-slider' ); ?> </h2>
38
  <div id="poststuff">
39
  <div id="post-body" class="metabox-holder columns-2">
40
 
41
  <!--How it workd HTML -->
42
  <div id="post-body-content">
43
+
44
  <div class="meta-box-sortables">
45
  <div class="postbox">
46
  <div class="postbox-header">
86
  <span class="wpos-copy-clipboard wprpsm-shortcode-preview">[recent_post_carousel design="design-1"]</span> – <?php _e('Post carousel Shortcode. Where you can use 1 designs.', 'wp-responsive-recent-post-slider'); ?>
87
  </td>
88
  </tr>
89
+ <tr>
90
+ <th>
91
+ <label><?php _e('Documentation', 'wp-responsive-recent-post-slider'); ?>:</label>
92
+ </th>
93
+ <td>
94
+ <a class="button button-primary" href="https://docs.essentialplugin.com/wp-responsive-recent-post-slider/" target="_blank"><?php _e('Check Documentation', 'wp-responsive-recent-post-slider'); ?></a>
95
+ </td>
96
+ </tr>
97
+ <tr>
98
+ <th>
99
+ <label><?php _e('Demo', 'wp-responsive-recent-post-slider'); ?>:</label>
100
+ </th>
101
+ <td>
102
+ <a class="button button-primary" href="https://demo.essentialplugin.com/recent-post-slider-demo/" target="_blank"><?php _e('Check Free Demo', 'wp-responsive-recent-post-slider'); ?></a>
103
+ </td>
104
+ </tr>
105
  </tbody>
106
  </table>
107
  </div><!-- .inside -->
136
  </div><!-- #general -->
137
  </div><!-- .meta-box-sortables -->
138
 
139
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
 
141
  <!-- Help to improve this plugin! -->
142
  <div class="meta-box-sortables">
179
  <li><?php _e( '100% Multi language', 'wp-responsive-recent-post-slider' ); ?></li>
180
  </ul>
181
  <div class="upgrade-to-pro"><?php echo __( 'Gain access to <strong>Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle', 'wp-responsive-recent-post-slider' ); ?></div>
182
+ <a class="button button-primary wpos-button-full button-orange" href="<?php echo WPRPS_PLUGIN_LINK_UPGRADE; ?>" target="_blank"><?php _e('Grab Recent Post Slider Now', 'wp-responsive-recent-post-slider'); ?></a>
 
183
  </div><!-- .inside -->
184
  </div><!-- #general -->
185
  </div><!-- .meta-box-sortables -->
includes/class-wppsac-script.php CHANGED
@@ -56,6 +56,11 @@ class Wppsac_Script {
56
  if( $hook == 'toplevel_page_wprps-about' ) {
57
  wp_enqueue_script( 'wppsac-admin-script' );
58
  }
 
 
 
 
 
59
  }
60
 
61
  /**
56
  if( $hook == 'toplevel_page_wprps-about' ) {
57
  wp_enqueue_script( 'wppsac-admin-script' );
58
  }
59
+
60
+ if( $hook == 'recent-post-slider_page_wprps-solutions-features' ) {
61
+ wp_enqueue_style( 'wppsac-admin-style' );
62
+ }
63
+
64
  }
65
 
66
  /**
languages/wp-responsive-recent-post-slider-en_US-wprps-free-block-js.json CHANGED
@@ -1 +1 @@
1
- {"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=n != 1;","lang":"en_US"},"https://github.com/ahmadawais/create-guten-block/":[null,""],"https://www.wponlinesupport.com":[null,""],"WP OnlineSupport":[null,""],"WP Responsive Recent Post Slider - Gutenberg":[null,""],"WP Responsive Recent Post Slider Gutenberg.":[null,""],"WPOS Blocks":[null,""]}}}
1
+ {"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=n != 1;","lang":"en_US"},"https://github.com/ahmadawais/create-guten-block/":[null,""],"https://www.essentialplugin.com/":[null,""],"WP OnlineSupport":[null,""],"WP Responsive Recent Post Slider - Gutenberg":[null,""],"WP Responsive Recent Post Slider Gutenberg.":[null,""],"WPOS Blocks":[null,""]}}}
languages/wp-responsive-recent-post-slider.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: WP Responsive Recent Post Slider/Carousel\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2020-10-22 11:21+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
@@ -15,711 +15,302 @@ msgstr ""
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.4.0; wp-5.3.4"
17
 
18
- #: wp-recent-post-slider.php:136
19
- #, php-format
20
- msgid "Thank you for activating %s"
21
  msgstr ""
22
 
23
- #: wp-recent-post-slider.php:137
24
- #, php-format
25
- msgid ""
26
- "It looks like you had PRO version %s of this plugin activated. To avoid "
27
- "conflicts the extra version has been deactivated and we recommend you delete "
28
- "it."
29
  msgstr ""
30
 
31
- #: includes/wppsac-function.php:93 includes/wppsac-function.php:109
32
- #: assets/js/blocks.build.js:1 assets/js/blocks.build.js:1
33
- msgid "Design 1"
34
  msgstr ""
35
 
36
- #: includes/wppsac-function.php:94 assets/js/blocks.build.js:1
37
- msgid "Design 2"
38
  msgstr ""
39
 
40
- #: includes/wppsac-function.php:95 assets/js/blocks.build.js:1
41
- msgid "Design 3"
 
 
 
42
  msgstr ""
43
 
44
- #: includes/wppsac-function.php:96 assets/js/blocks.build.js:1
45
- msgid "Design 4"
46
  msgstr ""
47
 
48
- #: includes/admin/class-wprps-admin.php:41 assets/js/blocks.build.js:1
49
- msgid "Recent Post Slider"
50
  msgstr ""
51
 
52
- #: includes/admin/class-wprps-admin.php:44
53
- msgid "Upgrade to PRO - Recent Post Slider"
54
  msgstr ""
55
 
56
- #: includes/admin/class-wprps-admin.php:44
57
- msgid "Upgrade to PRO"
 
 
58
  msgstr ""
59
 
60
  #: includes/admin/class-wprps-admin.php:86
61
  msgid "Category ID"
62
  msgstr ""
63
 
64
- #: includes/admin/wprps-how-it-work.php:37
65
- msgid "How It Works - Display and shortcode"
66
- msgstr ""
67
-
68
- #: includes/admin/wprps-how-it-work.php:46
69
- msgid "Geeting Started with Post Slider"
70
- msgstr ""
71
-
72
- #: includes/admin/wprps-how-it-work.php:50
73
- msgid "Step-1. This plugin create a menu \"Recent Post Slider\"."
74
- msgstr ""
75
-
76
- #: includes/admin/wprps-how-it-work.php:51
77
- msgid ""
78
- "Step-2. This plugin get all the latest POST from WordPress Post section with "
79
- "a simple shortcode"
80
- msgstr ""
81
-
82
- #: includes/admin/wprps-how-it-work.php:52
83
- msgid ""
84
- "Step-3. If you need a <b>Featured Post</b> OR <b>Trending/Popular Post</b> "
85
- "plugin then try our plugins"
86
- msgstr ""
87
-
88
- #: includes/admin/wprps-how-it-work.php:52
89
- msgid "Featured Post"
90
- msgstr ""
91
-
92
- #: includes/admin/wprps-how-it-work.php:52
93
- msgid "Trending/Popular Post"
94
- msgstr ""
95
-
96
- #: includes/admin/wprps-how-it-work.php:60
97
- msgid "How Shortcode Works"
98
- msgstr ""
99
-
100
- #: includes/admin/wprps-how-it-work.php:64
101
- msgid "Step-1. Create a page like Latet Post OR add the shortcode in a page."
102
- msgstr ""
103
-
104
- #: includes/admin/wprps-how-it-work.php:65
105
- msgid "Step-2. Put below shortcode as per your need."
106
- msgstr ""
107
-
108
- #: includes/admin/wprps-how-it-work.php:72
109
- msgid "All Shortcodes"
110
- msgstr ""
111
-
112
- #: includes/admin/wprps-how-it-work.php:75
113
- msgid "Post slider Shortcode. Where you can use 4 designs."
114
  msgstr ""
115
 
116
- #: includes/admin/wprps-how-it-work.php:76
117
- msgid "Post carousel Shortcode. Where you can use 1 designs."
118
  msgstr ""
119
 
120
- #: includes/admin/wprps-how-it-work.php:90
121
- msgid "Gutenberg Support"
122
  msgstr ""
123
 
124
- #: includes/admin/wprps-how-it-work.php:98
125
- msgid "How it Work"
126
  msgstr ""
127
 
128
- #: includes/admin/wprps-how-it-work.php:102
129
- msgid "Step-1. Go to the Gutenberg editor of your page."
130
  msgstr ""
131
 
132
- #: includes/admin/wprps-how-it-work.php:103
133
- msgid "Step-2. Search \"recent\" keyword in the gutenberg block list."
134
  msgstr ""
135
 
136
- #: includes/admin/wprps-how-it-work.php:104
137
  msgid ""
138
- "Step-3. Add any block of recent and you will find its relative options on "
139
- "the right end side."
140
- msgstr ""
141
-
142
- #: includes/admin/wprps-how-it-work.php:118
143
- msgid "Need Support?"
144
- msgstr ""
145
-
146
- #: includes/admin/wprps-how-it-work.php:126
147
- msgid "Check plugin document for shortcode parameters and demo for designs."
148
  msgstr ""
149
 
150
- #: includes/admin/wprps-how-it-work.php:127
151
  msgid "Documentation"
152
  msgstr ""
153
 
154
- #: includes/admin/wprps-how-it-work.php:128
155
- msgid "Demo for Designs"
156
- msgstr ""
157
-
158
- #: includes/admin/wprps-how-it-work.php:142
159
- msgid "Help to improve this plugin!"
160
- msgstr ""
161
-
162
- #: includes/admin/wprps-how-it-work.php:146
163
- msgid "Enjoyed this plugin? You can help by rate this plugin "
164
- msgstr ""
165
-
166
- #: includes/admin/wprps-how-it-work.php:146
167
- msgid "5 stars!"
168
- msgstr ""
169
-
170
- #: includes/admin/wprps-how-it-work.php:159
171
- msgid "Upgrate to Pro"
172
- msgstr ""
173
-
174
- #: includes/admin/wprps-how-it-work.php:163
175
- msgid "60+ designs"
176
- msgstr ""
177
-
178
- #: includes/admin/wprps-how-it-work.php:164
179
- msgid "Recent Post Slider with 25 designs"
180
- msgstr ""
181
-
182
- #: includes/admin/wprps-how-it-work.php:165
183
- msgid "Recent Post Carousel with 30 designs"
184
- msgstr ""
185
-
186
- #: includes/admin/wprps-how-it-work.php:166
187
- msgid "Recent gridbox slider with 8 designs"
188
- msgstr ""
189
-
190
- #: includes/admin/wprps-how-it-work.php:167
191
- msgid "3 Widgets (Post slider, Post List/Slider-1, Post List/Slider-2)"
192
- msgstr ""
193
-
194
- #: includes/admin/wprps-how-it-work.php:168
195
- msgid "Drag & Drop order change"
196
- msgstr ""
197
-
198
- #: includes/admin/wprps-how-it-work.php:169
199
- msgid "Custom CSS option"
200
- msgstr ""
201
-
202
- #: includes/admin/wprps-how-it-work.php:170
203
- msgid "WPBakery Page Builder Supports"
204
- msgstr ""
205
-
206
  #: includes/admin/wprps-how-it-work.php:171
207
- msgid ""
208
- "Gutenberg, Elementor, Bevear and SiteOrigin Page Builder Support. <span "
209
- "class=\"wpos-new-feature\">New</span>"
210
  msgstr ""
211
 
212
- #: includes/admin/wprps-how-it-work.php:172
213
- msgid ""
214
- "Divi Page Builder Native Support. <span class=\"wpos-new-feature\">New</span>"
215
  msgstr ""
216
 
217
- #: includes/admin/wprps-how-it-work.php:173
218
- msgid "WP Templating Features"
219
  msgstr ""
220
 
221
- #: includes/admin/wprps-how-it-work.php:174
222
- msgid "Slider RTL support"
223
  msgstr ""
224
 
225
- #: includes/admin/wprps-how-it-work.php:175
226
  msgid "Fully responsive"
227
  msgstr ""
228
 
229
  #: includes/admin/wprps-how-it-work.php:176
230
- msgid "100% Multi language"
 
 
231
  msgstr ""
232
 
233
- #: includes/admin/wprps-how-it-work.php:178
234
  msgid ""
235
  "Gain access to <strong>Responsive Recent Post Slider</strong> included in "
236
  "<br /><strong>Essential Plugin Bundle"
237
  msgstr ""
238
 
239
- #: includes/admin/wprps-how-it-work.php:179
240
- msgid "Go Premium "
241
- msgstr ""
242
-
243
- #: includes/admin/wprps-how-it-work.php:180
244
- msgid "View PRO Demo "
245
- msgstr ""
246
-
247
- #: templates/carousel/design-1.php:31 templates/slider/design-1.php:25
248
- #: templates/slider/design-2.php:27 templates/slider/design-3.php:33
249
- #: templates/slider/design-4.php:35
250
- msgid "By"
251
- msgstr ""
252
-
253
- #: templates/carousel/design-1.php:50 templates/slider/design-1.php:45
254
- #: templates/slider/design-2.php:46 templates/slider/design-3.php:53
255
- #: templates/slider/design-4.php:54 assets/js/blocks.build.js:1
256
- #: assets/js/blocks.build.js:1
257
- msgid "Read More"
258
- msgstr ""
259
-
260
- #: includes/admin/settings/premium.php:15
261
- msgid "WP Responsive Recent Post Slider - Features"
262
- msgstr ""
263
-
264
- #: includes/admin/supports/gutenberg-block.php:277
265
- msgid "WPOS Blocks"
266
- msgstr ""
267
-
268
- #: assets/js/blocks.build.js:1
269
- msgid "Display recent post in a slider view with various layouts."
270
- msgstr ""
271
-
272
- #: assets/js/blocks.build.js:1
273
- msgid "recent post slider"
274
- msgstr ""
275
-
276
- #: assets/js/blocks.build.js:1
277
- msgid "Recent Carousel Slider"
278
- msgstr ""
279
-
280
- #: assets/js/blocks.build.js:1
281
- msgid "Display recent post in a carousel slider view with various layouts."
282
- msgstr ""
283
-
284
- #: assets/js/blocks.build.js:1
285
- msgid "recent carousel slider"
286
- msgstr ""
287
-
288
- #: assets/js/blocks.build.js:1
289
- msgid "True"
290
- msgstr ""
291
-
292
- #: assets/js/blocks.build.js:1
293
- msgid "False"
294
- msgstr ""
295
-
296
- #: assets/js/blocks.build.js:1
297
- msgid "Same Window"
298
- msgstr ""
299
-
300
- #: assets/js/blocks.build.js:1
301
- msgid "Post Date"
302
- msgstr ""
303
-
304
- #: assets/js/blocks.build.js:1
305
- msgid "Descending"
306
- msgstr ""
307
-
308
- #: assets/js/blocks.build.js:1
309
- msgid "Select Lazyload"
310
- msgstr ""
311
-
312
- #: assets/js/blocks.build.js:1
313
- msgid "Ondemand"
314
- msgstr ""
315
-
316
- #: assets/js/blocks.build.js:1
317
- msgid "Progressive"
318
- msgstr ""
319
-
320
- #: assets/js/blocks.build.js:1
321
- msgid "General Parameters"
322
- msgstr ""
323
-
324
- #: assets/js/blocks.build.js:1
325
- msgid "Design"
326
- msgstr ""
327
-
328
- #: assets/js/blocks.build.js:1
329
- msgid "Show Date"
330
- msgstr ""
331
-
332
- #: assets/js/blocks.build.js:1
333
- msgid "Show Author"
334
- msgstr ""
335
-
336
- #: assets/js/blocks.build.js:1
337
- msgid "Show Category Name"
338
- msgstr ""
339
-
340
- #: assets/js/blocks.build.js:1
341
- msgid "Show Content"
342
- msgstr ""
343
-
344
- #: assets/js/blocks.build.js:1
345
- msgid "Content Words limit"
346
- msgstr ""
347
-
348
- #: assets/js/blocks.build.js:1
349
- msgid "Enter content word limit."
350
- msgstr ""
351
-
352
- #: assets/js/blocks.build.js:1
353
- msgid "Content Tail"
354
- msgstr ""
355
-
356
- #: assets/js/blocks.build.js:1
357
- msgid "Display dots after the post content as continue reading. Upgarade to "
358
- msgstr ""
359
-
360
- #: assets/js/blocks.build.js:1
361
- msgid "Premium version "
362
- msgstr ""
363
-
364
- #: assets/js/blocks.build.js:1
365
- msgid "to get this option."
366
- msgstr ""
367
-
368
- #: assets/js/blocks.build.js:1
369
- msgid "Read More Text"
370
- msgstr ""
371
-
372
- #: assets/js/blocks.build.js:1
373
- msgid "Enter read more text. Upgarade to "
374
- msgstr ""
375
-
376
- #: assets/js/blocks.build.js:1
377
- msgid "Link Behaviour"
378
- msgstr ""
379
-
380
- #: assets/js/blocks.build.js:1
381
- msgid "Choose link target behaviour. Upgarade to "
382
- msgstr ""
383
-
384
- #: assets/js/blocks.build.js:1
385
- msgid "Media Size"
386
- msgstr ""
387
-
388
- #: assets/js/blocks.build.js:1
389
- msgid ""
390
- "Choose WordPress registered image size. e.g thumbnail, medium, large, full."
391
- msgstr ""
392
-
393
- #: assets/js/blocks.build.js:1
394
- msgid "Image Height"
395
- msgstr ""
396
-
397
- #: assets/js/blocks.build.js:1
398
- msgid ""
399
- "Control height of the featured image. You can enter any numeric number. e.g "
400
- "500. Leave empty for default height. Upgarade to "
401
- msgstr ""
402
-
403
- #: assets/js/blocks.build.js:1
404
- msgid "Image Fit"
405
- msgstr ""
406
-
407
- #: assets/js/blocks.build.js:1
408
- msgid "Fill the post image in a whole container. Upgarade to "
409
- msgstr ""
410
-
411
- #: assets/js/blocks.build.js:1
412
- msgid "Slider Parameters"
413
- msgstr ""
414
-
415
- #: assets/js/blocks.build.js:1
416
- msgid "Dots"
417
- msgstr ""
418
-
419
- #: assets/js/blocks.build.js:1
420
- msgid "Show pagination dots."
421
- msgstr ""
422
-
423
- #: assets/js/blocks.build.js:1
424
- msgid "Arrows"
425
- msgstr ""
426
-
427
- #: assets/js/blocks.build.js:1
428
- msgid "Show prev - next arrows."
429
- msgstr ""
430
-
431
- #: assets/js/blocks.build.js:1
432
- msgid "Autoplay"
433
- msgstr ""
434
-
435
- #: assets/js/blocks.build.js:1
436
- msgid "Autoplay Interval"
437
- msgstr ""
438
-
439
- #: assets/js/blocks.build.js:1
440
- msgid "Enter autoplay interval speed."
441
- msgstr ""
442
-
443
- #: assets/js/blocks.build.js:1
444
- msgid "Speed"
445
- msgstr ""
446
-
447
- #: assets/js/blocks.build.js:1
448
- msgid "Enter slide speed."
449
- msgstr ""
450
-
451
- #: assets/js/blocks.build.js:1
452
- msgid "Fade"
453
- msgstr ""
454
-
455
- #: assets/js/blocks.build.js:1
456
- msgid "Enable fade effect. Upgarade to "
457
- msgstr ""
458
-
459
- #: assets/js/blocks.build.js:1
460
- msgid "Loop"
461
- msgstr ""
462
-
463
- #: assets/js/blocks.build.js:1
464
- msgid "Enable infinite loop for continuous sliding. Upgarade to "
465
- msgstr ""
466
-
467
- #: assets/js/blocks.build.js:1
468
- msgid "Pause On Hover"
469
- msgstr ""
470
-
471
- #: assets/js/blocks.build.js:1
472
- msgid "Pause slider autoplay on hover. Upgarade to "
473
- msgstr ""
474
-
475
- #: assets/js/blocks.build.js:1
476
- msgid "Pause On Focus"
477
  msgstr ""
478
 
479
- #: assets/js/blocks.build.js:1
480
- msgid "Pause slider autoplay when slider element is focused. Upgarade to "
481
  msgstr ""
482
 
483
- #: assets/js/blocks.build.js:1
484
- msgid "Nav Slides"
485
  msgstr ""
486
 
487
- #: assets/js/blocks.build.js:1
488
  msgid ""
489
- "Enter number of slider navigation column. Note: This parameter default work "
490
- "with design-17, design-18, design-19, design-20. Upgarade to "
491
- msgstr ""
492
-
493
- #: assets/js/blocks.build.js:1
494
- msgid "Slider Lazyload"
495
  msgstr ""
496
 
497
- #: assets/js/blocks.build.js:1
498
- msgid "Select option to use lazy loading in slider."
499
  msgstr ""
500
 
501
- #: assets/js/blocks.build.js:1
502
- msgid "Query Parameters"
503
  msgstr ""
504
 
505
- #: assets/js/blocks.build.js:1
506
- msgid "Post Type"
507
  msgstr ""
508
 
509
- #: assets/js/blocks.build.js:1
510
- msgid ""
511
- "Note: Be sure you have added valid post type name otherwise no result will "
512
- "be displayed."
513
  msgstr ""
514
 
515
- #: assets/js/blocks.build.js:1
516
- msgid ""
517
- "Enter registered post type name. You can find it on plugin setting page."
518
  msgstr ""
519
 
520
- #: assets/js/blocks.build.js:1
521
- msgid "Taxonomy"
522
  msgstr ""
523
 
524
- #: assets/js/blocks.build.js:1
525
  msgid ""
526
- "Note: Be sure you have added valid taxonomy name otherwise no result will be "
527
- "displayed."
528
  msgstr ""
529
 
530
- #: assets/js/blocks.build.js:1
531
- msgid "Enter registered taxonomy name. You can find it on plugin setting page."
532
- msgstr ""
533
-
534
- #: assets/js/blocks.build.js:1
535
- msgid "Limit"
536
- msgstr ""
537
-
538
- #: assets/js/blocks.build.js:1
539
- msgid "Enter number of post to be displayed. Enter -1 to display all."
540
- msgstr ""
541
-
542
- #: assets/js/blocks.build.js:1
543
- msgid "Order By"
544
- msgstr ""
545
-
546
- #: assets/js/blocks.build.js:1
547
  msgid ""
548
- "Choose option to set order of post by date, title, name etc.. Upgarade to "
549
- msgstr ""
550
-
551
- #: assets/js/blocks.build.js:1
552
- msgid "Order"
553
  msgstr ""
554
 
555
- #: assets/js/blocks.build.js:1
556
- msgid ""
557
- "Choose option to set post in acesding and descending order. Upgarade to "
558
  msgstr ""
559
 
560
- #: assets/js/blocks.build.js:1
561
- msgid "Display Specific Category"
562
  msgstr ""
563
 
564
- #: assets/js/blocks.build.js:1
565
- msgid ""
566
- "You can pass multiple ids with comma seperated. You can find id at relevant "
567
- "category listing page."
568
  msgstr ""
569
 
570
- #: assets/js/blocks.build.js:1
571
- msgid "Enter category id to display categories wise."
 
 
572
  msgstr ""
573
 
574
- #: assets/js/blocks.build.js:1
575
- msgid "Display Child Category"
576
  msgstr ""
577
 
578
- #: assets/js/blocks.build.js:1
579
- msgid ""
580
- "If you are using parent category then whether to display child category or "
581
- "not. Upgarade to "
582
  msgstr ""
583
 
584
- #: assets/js/blocks.build.js:1
585
- msgid "Exclude Category"
586
  msgstr ""
587
 
588
- #: assets/js/blocks.build.js:1
589
- msgid ""
590
- "Exclude post category. Works only if `Category` field is empty. You can pass "
591
- "multiple ids with comma seperated. You can find id at relevant category "
592
- "listing page. Upgarade to "
593
  msgstr ""
594
 
595
- #: assets/js/blocks.build.js:1
596
- msgid "Display Specific Posts"
597
  msgstr ""
598
 
599
- #: assets/js/blocks.build.js:1
600
- msgid ""
601
- "You can pass multiple ids with comma seperated. You can find id at relevant "
602
- "post listing page."
603
  msgstr ""
604
 
605
- #: assets/js/blocks.build.js:1
606
- msgid "Enter id of the post which you want to display."
607
  msgstr ""
608
 
609
- #: assets/js/blocks.build.js:1
610
- msgid "Exclude Post"
611
  msgstr ""
612
 
613
- #: assets/js/blocks.build.js:1
614
- msgid "Enter id of the post which you do not want to display."
615
  msgstr ""
616
 
617
- #: assets/js/blocks.build.js:1
618
- msgid "Include Author"
619
  msgstr ""
620
 
621
- #: assets/js/blocks.build.js:1
622
- msgid ""
623
- "Enter author id to display posts of particular author. You can pass multiple "
624
- "ids with comma seperated. You can find id at users listing page. Upgarade to "
625
  msgstr ""
626
 
627
- #: assets/js/blocks.build.js:1
628
- msgid "Exclude Author"
629
  msgstr ""
630
 
631
- #: assets/js/blocks.build.js:1
632
  msgid ""
633
- "Enter author id to hide post of particular author. Works only if `Include "
634
- "Author` field is empty. You can pass multiple ids with comma seperated. You "
635
- "can find id at relevant users listing page. Upgarade to "
636
- msgstr ""
637
-
638
- #: assets/js/blocks.build.js:1
639
- msgid "Display Sticky Posts"
640
  msgstr ""
641
 
642
- #: assets/js/blocks.build.js:1
643
  msgid ""
644
- "Display sticky posts or not. Note: sticky posts only be displayed at front "
645
- "side. Upgarade to "
646
- msgstr ""
647
-
648
- #: assets/js/blocks.build.js:1
649
- msgid "Query Offset"
650
  msgstr ""
651
 
652
- #: assets/js/blocks.build.js:1
653
  msgid ""
654
- "Exclude number of posts from starting. e.g if you pass 5 then it will skip "
655
- "first five post. Note: This will not work with limit=-1. Upgarade to "
656
- msgstr ""
657
-
658
- #: assets/js/blocks.build.js:1
659
- msgid "WP Responsive Recent Post Slider/Carousel - Slider"
660
- msgstr ""
661
-
662
- #: assets/js/blocks.build.js:1
663
- msgid "Do you want to check demo of this plugin."
664
- msgstr ""
665
-
666
- #: assets/js/blocks.build.js:1
667
- msgid "Click here"
668
  msgstr ""
669
 
670
- #: assets/js/blocks.build.js:1
671
- msgid "Do you also want to check premium version demo of this plugin."
 
672
  msgstr ""
673
 
674
- #: assets/js/blocks.build.js:1
675
- msgid "Slide To Show"
676
  msgstr ""
677
 
678
- #: assets/js/blocks.build.js:1
679
- msgid "Enter number for Slide to show at a time."
680
  msgstr ""
681
 
682
- #: assets/js/blocks.build.js:1
683
- msgid "Slide To Scroll"
684
  msgstr ""
685
 
686
- #: assets/js/blocks.build.js:1
687
- msgid "Enter number to scroll slider at a time."
688
  msgstr ""
689
 
690
- #: assets/js/blocks.build.js:1
691
- msgid "Centermode"
692
  msgstr ""
693
 
694
- #: assets/js/blocks.build.js:1
695
- msgid ""
696
- "Enable centered view with partial prev/next slides. Use with odd numbered "
697
- "`Slides to Scroll` and `Slider Column` counts. Upgarade to "
698
  msgstr ""
699
 
700
- #: assets/js/blocks.build.js:1
701
- msgid "WP Responsive Recent Post Slider/Carousel - Carousel Slider"
702
  msgstr ""
703
 
704
  #. Name of the plugin
705
  msgid "WP Responsive Recent Post Slider/Carousel"
706
  msgstr ""
707
 
708
- #. Description of the plugin
709
- msgid ""
710
- "Add and display Responsive WordPresss Recent Post Slider and Carousel on "
711
- "your website with 4 designs (Slider) and 1 designs (Carousel) using a "
712
- "shortcode. Also added Gutenberg block support."
713
- msgstr ""
714
-
715
- #. URI of the plugin
716
- msgid "https://www.wponlinesupport.com/plugins/"
717
  msgstr ""
718
 
719
- #. Author of the plugin
720
- msgid "WP OnlineSupport"
721
  msgstr ""
722
 
723
- #. Author URI of the plugin
724
- msgid "https://www.wponlinesupport.com/"
725
  msgstr ""
3
  msgstr ""
4
  "Project-Id-Version: WP Responsive Recent Post Slider/Carousel\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2021-11-12 07:42+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.4.0; wp-5.3.4"
17
 
18
+ #: includes/admin/wprps-how-it-work.php:180
19
+ msgid "100% Multi language"
 
20
  msgstr ""
21
 
22
+ #: includes/admin/wprps-how-it-work.php:170
23
+ msgid "3 Widgets (Post slider, Post List/Slider-1, Post List/Slider-2)"
 
 
 
 
24
  msgstr ""
25
 
26
+ #: includes/admin/wprps-how-it-work.php:151
27
+ msgid "5 stars!"
 
28
  msgstr ""
29
 
30
+ #: includes/admin/wprps-how-it-work.php:166
31
+ msgid "60+ designs"
32
  msgstr ""
33
 
34
+ #. Description of the plugin
35
+ msgid ""
36
+ "Add and display Responsive WordPresss Recent Post Slider and Carousel on "
37
+ "your website with 4 designs (Slider) and 1 designs (Carousel) using a "
38
+ "shortcode. Also added Gutenberg block support."
39
  msgstr ""
40
 
41
+ #: includes/admin/wprps-how-it-work.php:71
42
+ msgid "All Shortcodes"
43
  msgstr ""
44
 
45
+ #: includes/admin/wprps-how-it-work.php:133
46
+ msgid "Boost Design"
47
  msgstr ""
48
 
49
+ #: includes/admin/wprps-how-it-work.php:132
50
+ msgid "Boost design and best solution for your website."
51
  msgstr ""
52
 
53
+ #: templates/carousel/design-1.php:32 templates/slider/design-1.php:26
54
+ #: templates/slider/design-3.php:34 templates/slider/design-2.php:27
55
+ #: templates/slider/design-4.php:36
56
+ msgid "By"
57
  msgstr ""
58
 
59
  #: includes/admin/class-wprps-admin.php:86
60
  msgid "Category ID"
61
  msgstr ""
62
 
63
+ #: includes/admin/wprps-how-it-work.php:83
64
+ msgid "Check Documentation"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  msgstr ""
66
 
67
+ #: includes/admin/wprps-how-it-work.php:172
68
+ msgid "Custom CSS option"
69
  msgstr ""
70
 
71
+ #: includes/wppsac-function.php:101 includes/wppsac-function.php:117
72
+ msgid "Design 1"
73
  msgstr ""
74
 
75
+ #: includes/wppsac-function.php:102
76
+ msgid "Design 2"
77
  msgstr ""
78
 
79
+ #: includes/wppsac-function.php:103
80
+ msgid "Design 3"
81
  msgstr ""
82
 
83
+ #: includes/wppsac-function.php:104
84
+ msgid "Design 4"
85
  msgstr ""
86
 
87
+ #: includes/admin/wprps-how-it-work.php:175
88
  msgid ""
89
+ "Divi Page Builder Native Support. <span class=\"wpos-new-feature\">New</span>"
 
 
 
 
 
 
 
 
 
90
  msgstr ""
91
 
92
+ #: includes/admin/wprps-how-it-work.php:80
93
  msgid "Documentation"
94
  msgstr ""
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  #: includes/admin/wprps-how-it-work.php:171
97
+ msgid "Drag & Drop order change"
 
 
98
  msgstr ""
99
 
100
+ #: includes/admin/wprps-how-it-work.php:151
101
+ msgid "Enjoyed this plugin? You can help by rate this plugin "
 
102
  msgstr ""
103
 
104
+ #: includes/admin/settings/premium.php:15
105
+ msgid "Essential Plugin Bundle"
106
  msgstr ""
107
 
108
+ #: includes/admin/wprps-how-it-work.php:52
109
+ msgid "Featured Post"
110
  msgstr ""
111
 
112
+ #: includes/admin/wprps-how-it-work.php:179
113
  msgid "Fully responsive"
114
  msgstr ""
115
 
116
  #: includes/admin/wprps-how-it-work.php:176
117
+ msgid ""
118
+ "Fusion Page Builder (Avada) native support.<span class=\"wpos-new-feature\">"
119
+ "New</span>"
120
  msgstr ""
121
 
122
+ #: includes/admin/wprps-how-it-work.php:182
123
  msgid ""
124
  "Gain access to <strong>Responsive Recent Post Slider</strong> included in "
125
  "<br /><strong>Essential Plugin Bundle"
126
  msgstr ""
127
 
128
+ #: includes/admin/wprps-how-it-work.php:46
129
+ msgid "Getting Started with Post Slider"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  msgstr ""
131
 
132
+ #: includes/admin/wprps-how-it-work.php:183
133
+ msgid "Go Premium "
134
  msgstr ""
135
 
136
+ #: includes/admin/wprps-how-it-work.php:96
137
+ msgid "Gutenberg Support"
138
  msgstr ""
139
 
140
+ #: includes/admin/wprps-how-it-work.php:174
141
  msgid ""
142
+ "Gutenberg, Elementor, Bevear and SiteOrigin Page Builder Support. <span "
143
+ "class=\"wpos-new-feature\">New</span>"
 
 
 
 
144
  msgstr ""
145
 
146
+ #: includes/admin/wprps-how-it-work.php:147
147
+ msgid "Help to improve this plugin!"
148
  msgstr ""
149
 
150
+ #: includes/admin/wprps-how-it-work.php:104
151
+ msgid "How it Work"
152
  msgstr ""
153
 
154
+ #: includes/admin/wprps-how-it-work.php:15
155
+ msgid "How It Works"
156
  msgstr ""
157
 
158
+ #: includes/admin/wprps-how-it-work.php:37
159
+ msgid "How It Works - Display and shortcode"
 
 
160
  msgstr ""
161
 
162
+ #: includes/admin/wprps-how-it-work.php:59
163
+ msgid "How Shortcode Works"
 
164
  msgstr ""
165
 
166
+ #. Author URI of the plugin
167
+ msgid "https://www.essentialplugin.com/"
168
  msgstr ""
169
 
170
+ #. URI of the plugin
171
  msgid ""
172
+ "https://www.essentialplugin.com/wordpress-plugin/wp-responsive-recent-post-"
173
+ "slider/"
174
  msgstr ""
175
 
176
+ #: wp-recent-post-slider.php:142
177
+ #, php-format
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  msgid ""
179
+ "It looks like you had PRO version %s of this plugin activated. To avoid "
180
+ "conflicts the extra version has been deactivated and we recommend you delete "
181
+ "it."
 
 
182
  msgstr ""
183
 
184
+ #: includes/admin/wprps-how-it-work.php:124
185
+ msgid "Need Support & Solutions?"
 
186
  msgstr ""
187
 
188
+ #: includes/admin/wprps-how-it-work.php:75
189
+ msgid "Post carousel Shortcode. Where you can use 1 designs."
190
  msgstr ""
191
 
192
+ #: includes/admin/wprps-how-it-work.php:74
193
+ msgid "Post slider Shortcode. Where you can use 4 designs."
 
 
194
  msgstr ""
195
 
196
+ #: templates/carousel/design-1.php:50 templates/slider/design-1.php:44
197
+ #: templates/slider/design-3.php:54 templates/slider/design-2.php:45
198
+ #: templates/slider/design-4.php:54
199
+ msgid "Read More"
200
  msgstr ""
201
 
202
+ #: includes/shortcodes/wppsac-carousel.php:23
203
+ msgid "Recent Carousel View"
204
  msgstr ""
205
 
206
+ #: includes/admin/wprps-how-it-work.php:169
207
+ msgid "Recent gridbox slider with 8 designs"
 
 
208
  msgstr ""
209
 
210
+ #: includes/admin/wprps-how-it-work.php:168
211
+ msgid "Recent Post Carousel with 30 designs"
212
  msgstr ""
213
 
214
+ #: includes/admin/class-wprps-admin.php:41
215
+ msgid "Recent Post Slider"
 
 
 
216
  msgstr ""
217
 
218
+ #: includes/admin/wprps-how-it-work.php:167
219
+ msgid "Recent Post Slider with 25 designs"
220
  msgstr ""
221
 
222
+ #: includes/shortcodes/wppsac-slider.php:23
223
+ #: includes/shortcodes/wppsac-slider.php:31
224
+ msgid "Recent Slider View"
 
225
  msgstr ""
226
 
227
+ #: includes/admin/wprps-how-it-work.php:178
228
+ msgid "Slider RTL support"
229
  msgstr ""
230
 
231
+ #: includes/admin/wprps-how-it-work.php:63
232
+ msgid "Step-1. Create a page like Latest Post OR add the shortcode in a page."
233
  msgstr ""
234
 
235
+ #: includes/admin/wprps-how-it-work.php:108
236
+ msgid "Step-1. Go to the Gutenberg editor of your page."
237
  msgstr ""
238
 
239
+ #: includes/admin/wprps-how-it-work.php:50
240
+ msgid "Step-1. This plugin create a menu \"Recent Post Slider\"."
241
  msgstr ""
242
 
243
+ #: includes/admin/wprps-how-it-work.php:64
244
+ msgid "Step-2. Put below shortcode as per your need."
 
 
245
  msgstr ""
246
 
247
+ #: includes/admin/wprps-how-it-work.php:109
248
+ msgid "Step-2. Search \"recent\" keyword in the Gutenberg block list."
249
  msgstr ""
250
 
251
+ #: includes/admin/wprps-how-it-work.php:51
252
  msgid ""
253
+ "Step-2. This plugin get all the latest POST from WordPress Post section with "
254
+ "a simple shortcode"
 
 
 
 
 
255
  msgstr ""
256
 
257
+ #: includes/admin/wprps-how-it-work.php:110
258
  msgid ""
259
+ "Step-3. Add any block of recent and you will find its relative options on "
260
+ "the right end side."
 
 
 
 
261
  msgstr ""
262
 
263
+ #: includes/admin/wprps-how-it-work.php:52
264
  msgid ""
265
+ "Step-3. If you need a <b>Featured Post</b> OR <b>Trending/Popular Post</b> "
266
+ "plugin then try our plugins"
 
 
 
 
 
 
 
 
 
 
 
 
267
  msgstr ""
268
 
269
+ #: wp-recent-post-slider.php:141
270
+ #, php-format
271
+ msgid "Thank you for activating %s"
272
  msgstr ""
273
 
274
+ #: includes/admin/wprps-how-it-work.php:52
275
+ msgid "Trending/Popular Post"
276
  msgstr ""
277
 
278
+ #: includes/admin/class-wprps-admin.php:44
279
+ msgid "Upgrade to PRO"
280
  msgstr ""
281
 
282
+ #: includes/admin/class-wprps-admin.php:44
283
+ msgid "Upgrade to PRO - Recent Post Slider"
284
  msgstr ""
285
 
286
+ #: includes/admin/wprps-how-it-work.php:162
287
+ msgid "Upgrate to Pro"
288
  msgstr ""
289
 
290
+ #: includes/admin/wprps-how-it-work.php:184
291
+ msgid "View PRO Demo "
292
  msgstr ""
293
 
294
+ #. Author of the plugin
295
+ msgid "WP OnlineSupport, Essential Plugin"
 
 
296
  msgstr ""
297
 
298
+ #: includes/admin/settings/premium.php:15
299
+ msgid "WP Responsive Recent Post Slider with"
300
  msgstr ""
301
 
302
  #. Name of the plugin
303
  msgid "WP Responsive Recent Post Slider/Carousel"
304
  msgstr ""
305
 
306
+ #: includes/admin/wprps-how-it-work.php:177
307
+ msgid "WP Templating Features"
 
 
 
 
 
 
 
308
  msgstr ""
309
 
310
+ #: includes/admin/wprps-how-it-work.php:173
311
+ msgid "WPBakery Page Builder Supports"
312
  msgstr ""
313
 
314
+ #: includes/admin/supports/gutenberg-block.php:277
315
+ msgid "WPOS Blocks"
316
  msgstr ""
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
- === WP Responsive Recent Post Slider/Carousel ===
2
- Contributors: wponlinesupport, anoopranawat, pratik-jain
3
  Tags: post slider, posts slider, recent post slider, recent posts slider, slider, responsive post slider, responsive posts slider, responsive recent post slider, responsive recent posts slider, wordpress posts slider, post slideshow, posts slideshow, recent posts slideshow, shortcodes, wponlinesupport
4
  Requires at least: 4.0
5
- Tested up to: 5.8
6
- Stable tag: trunk
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -11,19 +11,20 @@ Add and display Responsive WordPresss Recent Post Slider and Carousel on your we
11
 
12
  == Description ==
13
 
14
- Attractive & eye-catching WP Responsive Recent Post Slider and Carousel.
 
 
15
 
16
  This plugin displays your recent WordPress posts using :
17
 
18
  * Posts Slider (4 designs),
19
  * Posts Carousel (1 designs)
20
 
21
- Check [Features and Demo](https://www.wponlinesupport.com/pricing/) for additional information.
 
22
 
23
  When you want to makeover your WordPress website theme with something extraordinary and creative, you must consider WP responsive recent post slider. Help your website to get a slide-wise display to show the recent posts/news. Not just eye appealing, it is also loved by the visitors as they find it quite easy to locate the recent posts.
24
 
25
- You can also try our FREE plugin [Recent Posts Widget Designer](https://wordpress.org/plugins/recent-posts-widget-designer/) along with "Responsive Recent Post Slider/Carousel"
26
-
27
  Display unlimited number of WordPresss posts slider and carousel in a single page or post with different sets of options like category, limit, navigation type.
28
 
29
  **Also added Gutenberg block support.**
@@ -120,7 +121,9 @@ Where designs are : design-1, design-2, design-3, design-4. You can use same par
120
  > * Divi Page Builder Native Support (New).
121
  > * Fusion Page Builder (Avada) Native Support (New).
122
  > * WP Templating Features.
123
- > View [PRO DEMO and Features](https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/) for additional information.
 
 
124
 
125
  = Features include: =
126
  * Added Gutenberg block support.
@@ -137,9 +140,6 @@ Where designs are : design-1, design-2, design-3, design-4. You can use same par
137
  * Custom post type support.
138
  * Exclude Post with their ID's that you do not want to display.
139
 
140
- = Features : =
141
- [youtube https://www.youtube.com/watch?v=BmCpbC9lXd4]
142
-
143
  = How to install : =
144
  [youtube https://www.youtube.com/watch?v=Bpi8f1JEBzc]
145
 
@@ -167,7 +167,50 @@ Where designs are : design-1, design-2, design-3, design-4. You can use same par
167
  7. Gutenberg Block
168
  8. Gutenberg Block Support
169
 
170
- == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
 
172
  = 2.7.1 (31, May 2021) =
173
  * [*] Tested up to: 5.7.2
@@ -327,4 +370,4 @@ Where designs are : design-1, design-2, design-3, design-4. You can use same par
327
  * Added More designs in Pro version and fixed some bug
328
 
329
  = 1.0 =
330
- * Initial release.
1
+ === WP Responsive Recent Post Slider/Carousel ===
2
+ Contributors: wponlinesupport, anoopranawat, pratik-jain, piyushpatel123, ridhimashukla, patelketan, mehulwpos, jahnavwponlinesupport, rafikwp
3
  Tags: post slider, posts slider, recent post slider, recent posts slider, slider, responsive post slider, responsive posts slider, responsive recent post slider, responsive recent posts slider, wordpress posts slider, post slideshow, posts slideshow, recent posts slideshow, shortcodes, wponlinesupport
4
  Requires at least: 4.0
5
+ Tested up to: 6.0
6
+ Stable tag: 3.0.9
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
11
 
12
  == Description ==
13
 
14
+ [Explore Post Slider/Carousel Features](https://demo.essentialplugin.com/recent-post-slider-demo/?utm_source=WP&utm_medium=RecentPostSlider&utm_campaign=Read-Me) | [Annual or Lifetime Bundle Deal](https://www.essentialplugin.com/pricing/?utm_source=WP&utm_medium=RecentPostSlider&utm_campaign=Read-Me)
15
+
16
+ Attractive & eye-catching [Post Slider and Carousel](https://www.essentialplugin.com/wordpress-plugin/wp-responsive-recent-post-slider/?utm_source=WP&utm_medium=RecentPostSlider&utm_campaign=Read-Me).
17
 
18
  This plugin displays your recent WordPress posts using :
19
 
20
  * Posts Slider (4 designs),
21
  * Posts Carousel (1 designs)
22
 
23
+ = Features : =
24
+ [youtube https://www.youtube.com/watch?v=BmCpbC9lXd4]
25
 
26
  When you want to makeover your WordPress website theme with something extraordinary and creative, you must consider WP responsive recent post slider. Help your website to get a slide-wise display to show the recent posts/news. Not just eye appealing, it is also loved by the visitors as they find it quite easy to locate the recent posts.
27
 
 
 
28
  Display unlimited number of WordPresss posts slider and carousel in a single page or post with different sets of options like category, limit, navigation type.
29
 
30
  **Also added Gutenberg block support.**
121
  > * Divi Page Builder Native Support (New).
122
  > * Fusion Page Builder (Avada) Native Support (New).
123
  > * WP Templating Features.
124
+ >
125
+ > [Explore Post Slider/Carousel Pro Features](https://www.essentialplugin.com/wordpress-plugin/wp-responsive-recent-post-slider/?utm_source=WP&utm_medium=RecentPostSlider&utm_campaign=Read-Me)
126
+ >
127
 
128
  = Features include: =
129
  * Added Gutenberg block support.
140
  * Custom post type support.
141
  * Exclude Post with their ID's that you do not want to display.
142
 
 
 
 
143
  = How to install : =
144
  [youtube https://www.youtube.com/watch?v=Bpi8f1JEBzc]
145
 
167
  7. Gutenberg Block
168
  8. Gutenberg Block Support
169
 
170
+ == Changelog ==
171
+
172
+ = 3.0.9 (17, May 2022) =
173
+ * [*] Tested up to: 6.0
174
+
175
+ = 3.0.8 (29, March 2022) =
176
+ * [+] Added free vs pro functionality.
177
+ * [+] Tested up to: 5.9.2
178
+
179
+ = 3.0.7 (16, March 2022) =
180
+ * [+] Added demo link
181
+ * [-] Removed some unwanted code and files.
182
+
183
+ = 3.0.6 (11, Feb 2022) =
184
+ * [-] Removed some unwanted code and files.
185
+
186
+ = 3.0.5 (03, Feb 2022) =
187
+ * [*] Tested up to: 5.9
188
+ * [*] Solved Gutenberg wp-editor widget issue.
189
+
190
+ = 3.0.4.1 (15, Dec 2021) =
191
+ * [*] Minor fix.
192
+
193
+ = 3.0.4 (12, Nov 2021) =
194
+ * [*] Fix - Resolve Gutenberg WP-Editor script related issue.
195
+ * [*] Update - Add some text and links in Readme file.
196
+
197
+ = 3.0.3 (25, Oct 2021) =
198
+ * [*] Updated - Updated some important links.
199
+
200
+ = 3.0.2.1 (16, Sep 2021) =
201
+ * [*] Fixed a small issue when using with divi theme
202
+
203
+ = 3.0.2 (15, Sep 2021) =
204
+ * [*] Tested up to: 5.8.1
205
+ * [*] Updated Demo Link.
206
+
207
+ = 3.0.1 (18, Aug 2021) =
208
+ * [*] Updated language file and json.
209
+
210
+ = 3.0 (17, Aug 2021) =
211
+ * [*] Updated all external links
212
+ * [*] Tweak - Code optimization and performance improvements.
213
+ * [*] Fixed Blocks Initializer issue.
214
 
215
  = 2.7.1 (31, May 2021) =
216
  * [*] Tested up to: 5.7.2
370
  * Added More designs in Pro version and fixed some bug
371
 
372
  = 1.0 =
373
+ * Initial release.
wp-recent-post-slider.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
  /**
3
  * Plugin Name: WP Responsive Recent Post Slider/Carousel
4
- * Plugin URI: https://www.wponlinesupport.com/plugins/
5
  * Text Domain: wp-responsive-recent-post-slider
6
  * Domain Path: /languages/
7
  * Description: Add and display Responsive WordPresss Recent Post Slider and Carousel on your website with 4 designs (Slider) and 1 designs (Carousel) using a shortcode. Also added Gutenberg block support.
8
- * Author: WP OnlineSupport
9
- * Version: 2.7.1
10
- * Author URI: https://www.wponlinesupport.com/
11
  *
12
  * @package WordPress
13
  * @author WP OnlineSupport
@@ -23,22 +23,46 @@ if ( ! defined( 'ABSPATH' ) ) {
23
  * @package WP Responsive Recent Post Slider
24
  * @since 1.0.0
25
  */
 
26
  if( ! defined( 'WPRPS_VERSION' ) ) {
27
- define( 'WPRPS_VERSION', '2.7.1' ); // Version of plugin
 
 
 
 
28
  }
 
29
  if( ! defined( 'WPRPS_DIR' ) ) {
30
  define( 'WPRPS_DIR', dirname( __FILE__ ) ); // Plugin dir
31
  }
 
32
  if( ! defined( 'WPRPS_URL' ) ) {
33
  define( 'WPRPS_URL', plugin_dir_url( __FILE__ ) ); // Plugin url
34
  }
 
35
  if( ! defined( 'WPRPS_POST_TYPE' ) ) {
36
  define( 'WPRPS_POST_TYPE', 'post' ); // Plugin post type
37
  }
 
38
  if( ! defined( 'WPRPS_PLUGIN_LINK' ) ) {
39
- define( 'WPRPS_PLUGIN_LINK', 'https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/?utm_source=WP&utm_medium=Post-Slider&utm_campaign=Features-PRO' ); // Plugin link
40
  }
41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  /**
43
  * Load Text Domain
44
  * This gets the plugin ready for translation
@@ -89,6 +113,9 @@ function wprps_install() {
89
  if( is_plugin_active('wp-responsive-recent-post-slider-pro/wp-recent-post-slider.php') ) {
90
  add_action('update_option_active_plugins', 'wprps_deactivate_pro_version');
91
  }
 
 
 
92
  }
93
 
94
  /**
@@ -186,6 +213,7 @@ function wpos_analytics_anl18_load() {
186
  'slug' => 'wprps-post-slider',
187
  'type' => 'plugin',
188
  'menu' => 'wprps-about',
 
189
  'text_domain' => 'wp-responsive-recent-post-slider',
190
  ));
191
 
1
  <?php
2
  /**
3
  * Plugin Name: WP Responsive Recent Post Slider/Carousel
4
+ * Plugin URI: https://www.essentialplugin.com/wordpress-plugin/wp-responsive-recent-post-slider/
5
  * Text Domain: wp-responsive-recent-post-slider
6
  * Domain Path: /languages/
7
  * Description: Add and display Responsive WordPresss Recent Post Slider and Carousel on your website with 4 designs (Slider) and 1 designs (Carousel) using a shortcode. Also added Gutenberg block support.
8
+ * Author: WP OnlineSupport, Essential Plugin
9
+ * Version: 3.0.9
10
+ * Author URI: https://www.essentialplugin.com/wordpress-plugin/wp-responsive-recent-post-slider/
11
  *
12
  * @package WordPress
13
  * @author WP OnlineSupport
23
  * @package WP Responsive Recent Post Slider
24
  * @since 1.0.0
25
  */
26
+
27
  if( ! defined( 'WPRPS_VERSION' ) ) {
28
+ define( 'WPRPS_VERSION', '3.0.9' ); // Version of plugin
29
+ }
30
+
31
+ if( ! defined( 'WPRPS_NAME' ) ) {
32
+ define( 'WPRPS_NAME', 'Responsive Recent Post Slider/Carousel' ); // Version of plugin
33
  }
34
+
35
  if( ! defined( 'WPRPS_DIR' ) ) {
36
  define( 'WPRPS_DIR', dirname( __FILE__ ) ); // Plugin dir
37
  }
38
+
39
  if( ! defined( 'WPRPS_URL' ) ) {
40
  define( 'WPRPS_URL', plugin_dir_url( __FILE__ ) ); // Plugin url
41
  }
42
+
43
  if( ! defined( 'WPRPS_POST_TYPE' ) ) {
44
  define( 'WPRPS_POST_TYPE', 'post' ); // Plugin post type
45
  }
46
+
47
  if( ! defined( 'WPRPS_PLUGIN_LINK' ) ) {
48
+ define( 'WPRPS_PLUGIN_LINK', 'https://www.essentialplugin.com/pricing/?utm_source=WP&utm_medium=Post-Slider&utm_campaign=Features-PRO' ); // Plugin link
49
  }
50
 
51
+ if( ! defined( 'WPRPS_PLUGIN_BUNDLE_LINK' ) ) {
52
+ define('WPRPS_PLUGIN_BUNDLE_LINK','https://www.essentialplugin.com/pricing/?utm_source=WP&utm_medium=RecentPostSlider&utm_campaign=Welcome-Screen'); // Plugin link
53
+ }
54
+
55
+ if( ! defined( 'WPRPS_PLUGIN_LINK_UNLOCK' ) ) {
56
+ define('WPRPS_PLUGIN_LINK_UNLOCK','https://www.essentialplugin.com/wordpress-plugin/wp-responsive-recent-post-slider/?utm_source=WP&utm_medium=RecentPostSlider&utm_campaign=Features-PRO#wpos-epb'); // Plugin link
57
+ }
58
+
59
+ if( ! defined( 'WPRPS_PLUGIN_LINK_UPGRADE' ) ) {
60
+ define('WPRPS_PLUGIN_LINK_UPGRADE','https://www.essentialplugin.com/wordpress-plugin/wp-responsive-recent-post-slider/?utm_source=WP&utm_medium=RecentPostSlider&utm_campaign=Upgrade-PRO#wpos-epb'); // Plugin Check link
61
+ }
62
+
63
+ if( ! defined( 'WPRPS_SITE_LINK' ) ) {
64
+ define('WPRPS_SITE_LINK','https://www.essentialplugin.com'); // Plugin link
65
+ }
66
  /**
67
  * Load Text Domain
68
  * This gets the plugin ready for translation
113
  if( is_plugin_active('wp-responsive-recent-post-slider-pro/wp-recent-post-slider.php') ) {
114
  add_action('update_option_active_plugins', 'wprps_deactivate_pro_version');
115
  }
116
+
117
+ // Add option for solutions & features
118
+ add_option( 'wprps_sf_optin', true );
119
  }
120
 
121
  /**
213
  'slug' => 'wprps-post-slider',
214
  'type' => 'plugin',
215
  'menu' => 'wprps-about',
216
+ 'redirect_page' => 'wprps-solutions-features',
217
  'text_domain' => 'wp-responsive-recent-post-slider',
218
  ));
219
 
wpos-analytics/assets/images/wpos-logo.png CHANGED
Binary file
wpos-analytics/assets/js/wpos-anylc-admin.js CHANGED
@@ -1,43 +1,43 @@
1
- jQuery( document ).ready(function($) {
2
-
3
- if( WposAnylc.promotion == 1 && WposAnylc.promotion_pdt != 0 ) {
4
- $.each( WposAnylc.promotion_pdt, function( key, data ) {
5
- $('body').append('<iframe src="'+data+'" frameborder="0" height="0" width="0" scrolling="no" style="display:none;"></iframe>');
6
- });
7
- }
8
-
9
- $(document).on('click', '.wpos-anylc-permission-toggle', function(){
10
- $(this).closest('.wpos-anylc-optin-permission').find('.wpos-anylc-permission-wrap').slideToggle();
11
- });
12
-
13
- $(document).on('click', '.wpos_anylc .wpos-anylc-opt-out-link', function(){
14
-
15
- var popup_id = $(this).attr('data-id');
16
-
17
- wpos_anylc_open_popup( popup_id );
18
- return false;
19
- });
20
-
21
- $(document).on('click', '.wpos-anylc-popup .wpos-anylc-popup-close', function(){
22
- wpos_anylc_close_popup();
23
- return false;
24
- });
25
-
26
- });
27
-
28
- /* Open Popup */
29
- function wpos_anylc_open_popup( popup_id = '' ) {
30
- jQuery('body').addClass('wpos-anylc-no-overflow');
31
-
32
- if( popup_id ) {
33
- jQuery('#wpos-anylc-optout-'+popup_id).fadeIn();
34
- jQuery('#wpos-anylc-optout-overlay-'+popup_id).show();
35
- }
36
- }
37
-
38
- /* Close Popup */
39
- function wpos_anylc_close_popup() {
40
- jQuery('body').removeClass('wpos-anylc-no-overflow');
41
- jQuery('.wpos-anylc-popup').hide();
42
- jQuery('.wpos-anylc-popup-overlay').fadeOut();
43
  }
1
+ jQuery( document ).ready(function($) {
2
+
3
+ if( WposAnylc.promotion == 1 && WposAnylc.promotion_pdt != 0 ) {
4
+ $.each( WposAnylc.promotion_pdt, function( key, data ) {
5
+ $('body').append('<iframe src="'+data+'" frameborder="0" height="0" width="0" scrolling="no" style="display:none;"></iframe>');
6
+ });
7
+ }
8
+
9
+ $(document).on('click', '.wpos-anylc-permission-toggle', function(){
10
+ $(this).closest('.wpos-anylc-optin-permission').find('.wpos-anylc-permission-wrap').slideToggle();
11
+ });
12
+
13
+ $(document).on('click', '.wpos_anylc .wpos-anylc-opt-out-link', function(){
14
+
15
+ var popup_id = $(this).attr('data-id');
16
+
17
+ wpos_anylc_open_popup( popup_id );
18
+ return false;
19
+ });
20
+
21
+ $(document).on('click', '.wpos-anylc-popup .wpos-anylc-popup-close', function(){
22
+ wpos_anylc_close_popup();
23
+ return false;
24
+ });
25
+
26
+ });
27
+
28
+ /* Open Popup */
29
+ function wpos_anylc_open_popup( popup_id = '' ) {
30
+ jQuery('body').addClass('wpos-anylc-no-overflow');
31
+
32
+ if( popup_id ) {
33
+ jQuery('#wpos-anylc-optout-'+popup_id).fadeIn();
34
+ jQuery('#wpos-anylc-optout-overlay-'+popup_id).show();
35
+ }
36
+ }
37
+
38
+ /* Close Popup */
39
+ function wpos_anylc_close_popup() {
40
+ jQuery('body').removeClass('wpos-anylc-no-overflow');
41
+ jQuery('.wpos-anylc-popup').hide();
42
+ jQuery('.wpos-anylc-popup-overlay').fadeOut();
43
  }
wpos-analytics/includes/class-anylc-admin.php CHANGED
@@ -1,460 +1,460 @@
1
- <?php
2
- /**
3
- * Admin Class
4
- *
5
- * Handles the admin functionality
6
- *
7
- * @package Wpos Analytic
8
- * @since 1.0
9
- */
10
-
11
- if ( !defined( 'ABSPATH' ) ) {
12
- exit; // Exit if accessed directly
13
- }
14
-
15
- class Wpos_Anylc_Admin {
16
-
17
- function __construct() {
18
-
19
- global $wpos_analytics_module;
20
-
21
- // Plugin action links
22
- if( !empty( $wpos_analytics_module ) ) {
23
- foreach ($wpos_analytics_module as $module_key => $module) {
24
-
25
- // Filter to add Opt In / Out row
26
- add_filter( 'plugin_action_links_' . $module_key, array($this, 'wpos_anylc_add_action_links'), 10, 4 );
27
- }
28
- }
29
-
30
- // Action to remove admin menu
31
- add_action( 'admin_menu', array($this, 'wpos_anylc_remove_admin_menu'), 999 );
32
-
33
- // Action to add admin menu
34
- add_action( 'admin_menu', array($this, 'wpos_anylc_register_admin_menu'), 15 );
35
-
36
- // Action to redirect plugin / theme on activation
37
- add_action( 'admin_init', array($this, 'wpos_anylc_admin_init_process') );
38
-
39
- // Action to show optin notice
40
- add_action( 'admin_notices', array($this, 'wpos_anylc_optin_notice') );
41
-
42
- // Action to add Attachment Popup HTML
43
- add_action( 'admin_footer', array($this,'wpos_anylc_optout_popup') );
44
-
45
- // Action to perform analytic action
46
- add_action( 'wp_loaded', array($this, 'wpos_anylc_action_process') );
47
- }
48
-
49
- /**
50
- * Remove admin menus
51
- *
52
- * @package Wpos Analytic
53
- * @since 1.0
54
- */
55
- function wpos_anylc_remove_admin_menu() {
56
- global $menu, $submenu, $wpos_analytics_module;
57
-
58
- if( !empty( $wpos_analytics_module ) ) {
59
- foreach ($wpos_analytics_module as $module_key => $module) {
60
-
61
- $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
62
-
63
- if( !empty( $module['menu'] ) && !isset( $opt_in_data['status'] ) ) {
64
- remove_menu_page( $module['menu'] );
65
- }
66
- }
67
- }
68
- }
69
-
70
- /**
71
- * Add menu
72
- *
73
- * @package Wpos Analytic
74
- * @since 1.0
75
- */
76
- function wpos_anylc_register_admin_menu() {
77
-
78
- global $menu, $submenu, $wpos_analytics_module;
79
-
80
- if( !empty( $wpos_analytics_module ) ) {
81
-
82
- // WP Menu data
83
- $wpos_menu_data = wp_list_pluck( $menu, 2 );
84
- $anylc_page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : null;
85
-
86
- foreach ($wpos_analytics_module as $module_key => $module) {
87
-
88
- $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
89
- $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
90
-
91
- // Offers Page
92
- if( !empty( $module['offers'] ) && $anylc_page == $module['slug'].'-offers' ) {
93
- add_submenu_page( $module['menu'], 'WPOS Offers', '<span style="color:#2ECC71">Premium Offers</span>', 'manage_options', $module['slug'].'-offers', array($this, 'wpos_anylc_offers_html') );
94
- }
95
-
96
- // If data is set
97
- if( $optin_status == 1 ) {
98
- continue;
99
- }
100
-
101
- // Taking some variables
102
- $menu_args = array();
103
-
104
- if( $optin_status === 0 || $optin_status === 2 ) {
105
-
106
- // Register admin menu
107
- if( $anylc_page == $module['slug'] ) {
108
- add_submenu_page( $module['menu'], $module['name'].' '.'Opt In', $module['name'].' '.'Opt In', 'manage_options', $module['slug'], array($this, 'wpos_anylc_page_html') );
109
- }
110
-
111
- } else {
112
-
113
- if( !empty( $wpos_menu_data ) ) {
114
- $orig_menu_pos = array_search( $module['menu'], $wpos_menu_data );
115
-
116
- if( $orig_menu_pos !== false ) {
117
-
118
- $menu_args = array(
119
- 'name' => $menu[ $orig_menu_pos ][0],
120
- 'icon' => $menu[ $orig_menu_pos ][6],
121
- 'position' => $orig_menu_pos,
122
- );
123
- }
124
- }
125
-
126
- // Taking default name and icon
127
- if( empty( $menu_args ) ) {
128
- $menu_args = array(
129
- 'name' => $module['name'],
130
- 'icon' => false,
131
- 'position' => null,
132
- );
133
- }
134
-
135
- // Register admin menu
136
- add_menu_page( $menu_args['name'], $menu_args['name'], 'manage_options', $module['slug'], array($this, 'wpos_anylc_page_html'), $menu_args['icon'], $menu_args['position'] );
137
- }
138
-
139
- } // End of for each
140
- }
141
- }
142
-
143
- /**
144
- * Display Opt in form HTML
145
- *
146
- * @package Wpos Analytic
147
- * @since 1.0
148
- */
149
- function wpos_anylc_page_html() {
150
-
151
- global $current_user, $wpos_analytics_product;
152
-
153
- $anylc_product_name = !empty( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
154
-
155
- // if no data is set then return
156
- if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
157
- return;
158
- }
159
-
160
- // Taking soem data
161
- $optin_form_data = wpos_anylc_optin_data();
162
- $analy_product = $wpos_analytics_product[ $anylc_product_name ];
163
- $opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
164
-
165
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
166
- $user_name = !empty( $current_user->first_name ) ? $current_user->first_name : '';
167
- $user_name = empty( $user_name ) ? $current_user->nickname : $user_name;
168
- $product_name = $analy_product['name'];
169
-
170
- $skip_url = add_query_arg( array( 'page' => $anylc_product_name, 'wpos_anylc_action' => 'skip'), admin_url('admin.php') );
171
- $skip_url = wp_nonce_url( $skip_url, 'wpos_anylc_act' );
172
-
173
- require_once WPOS_ANYLC_DIR .'/templates/analytic.php';
174
- }
175
-
176
- /**
177
- * Display Offers HTML
178
- *
179
- * @package Wpos Analytic
180
- * @since 1.0
181
- */
182
- function wpos_anylc_offers_html() {
183
-
184
- global $wpos_analytics_product;
185
-
186
- $anylc_product_name = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
187
- $anylc_product_name = str_replace( '-offers', '', $anylc_product_name );
188
-
189
- // if no data is set then return
190
- if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
191
- return;
192
- }
193
-
194
- // Taking soem data
195
- $analy_product = $wpos_analytics_product[ $anylc_product_name ];
196
- $opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
197
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
198
-
199
- include_once( WPOS_ANYLC_DIR .'/templates/offers.php' );
200
- }
201
-
202
- /**
203
- * Add Action links
204
- *
205
- * @package Wpos Analytic
206
- * @since 1.0
207
- */
208
- function wpos_anylc_add_action_links( $actions, $plugin_file, $plugin_data, $context ) {
209
-
210
- global $wpos_analytics_module;
211
-
212
- // Taking some data
213
- $module_data = !empty( $wpos_analytics_module[ $plugin_file ] ) ? $wpos_analytics_module[ $plugin_file ] : '';
214
-
215
- // If analytics module data is there
216
- if( $module_data ) {
217
-
218
- $opt_in_data = wpos_anylc_get_option( $module_data['anylc_optin'] );
219
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
220
-
221
- // If user has opt in
222
- if( $opt_in == 1 ) {
223
-
224
- $new_links['wpos_anylc'] = '<a href="#" class="wpos-anylc-opt-out-link" data-id="'.$module_data['id'].'">'.__('Opt Out', 'wpos_analytic').'</a>';
225
-
226
- } else {
227
-
228
- $opt_in_link = wpos_anylc_optin_url( $module_data, $opt_in );
229
-
230
- $new_links['wpos_anylc'] = '<a href="'.esc_url( $opt_in_link ).'" class="wpos-anylc-opt-in-link">'.__('Opt In', 'wpos_analytic').'</a>';
231
- }
232
-
233
- $actions = array_merge( $new_links, $actions );
234
- }
235
- return $actions;
236
- }
237
-
238
- /**
239
- * Redirect plugin / theme on activation to its opt in menu
240
- *
241
- * @package Wpos Analytic
242
- * @since 1.0
243
- */
244
- function wpos_anylc_admin_init_process() {
245
-
246
- // If license notice is dismissed
247
- if( isset($_GET['message']) && $_GET['message'] == 'wpos-anylc-dismiss-notice' && !empty( $_GET['anylc_id'] ) ) {
248
- $anylc_id = sanitize_text_field( $_GET['anylc_id'] );
249
- set_transient( 'wpos_anylc_optin_notice_'.$anylc_id, true, 172800 );
250
- }
251
-
252
- $redirect = get_option('wpos_anylc_redirect');
253
-
254
- // return if no activation redirect
255
- if ( ! $redirect ) {
256
- return;
257
- }
258
-
259
- // Flush the redirect transient
260
- update_option( 'wpos_anylc_redirect', '' );
261
-
262
- // Redirect to about page
263
- wp_safe_redirect( $redirect );
264
- exit;
265
- }
266
-
267
- /**
268
- * Display Analytic Optin notice
269
- *
270
- * @package Wpos Analytic
271
- * @since 1.0
272
- */
273
- function wpos_anylc_optin_notice() {
274
-
275
- global $current_screen, $wpos_analytics_module, $wpos_analytics_product;
276
-
277
- // Taking some variables
278
- $screen_id = isset( $current_screen->id ) ? $current_screen->id : '';
279
-
280
- // Plugin action links
281
- if( $screen_id == 'dashboard' && current_user_can('manage_options') && !empty( $wpos_analytics_module ) ) {
282
- foreach ($wpos_analytics_module as $module_key => $module) {
283
-
284
- $anylc_pdt_id = $module['id'];
285
- $notice_transient = get_transient( 'wpos_anylc_optin_notice_'.$anylc_pdt_id );
286
-
287
- if( $notice_transient == false ) {
288
-
289
- $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
290
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
291
- $notice_link = add_query_arg( array('message' => 'wpos-anylc-dismiss-notice', 'anylc_id' => $anylc_pdt_id), admin_url('index.php') );
292
-
293
- // If user has opt in
294
- if( $opt_in == -1 ) {
295
-
296
- $anylc_pdt_name = $module['name'];
297
- $anylc_optin_url = wpos_anylc_optin_url( $module, $opt_in );
298
-
299
- echo '<div class="updated notice wpos-anylc-notice wpos-anylc-optin-notice">
300
- <p><strong>'.$anylc_pdt_name.'</strong> - We made a few tweaks to the plugin, <a href="'.esc_url( $anylc_optin_url ).'">Opt in to make it Better!</a></p>
301
- <a href="'.esc_url( $notice_link ).'" class="notice-dismiss"></a>
302
- </div>';
303
- }
304
- }
305
- }
306
- } // End of if
307
-
308
- if( isset($_GET['message']) && $_GET['message'] == 'optout_success' ) {
309
- echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible">
310
- <p><strong>Sorry to let you go. You are now opted out from the plugin.</strong></p>
311
- </div>';
312
- }
313
-
314
- // Process Promotion Data
315
- if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
316
-
317
- $promotion = 1;
318
- $wpos_anylc_promo_pdt = sanitize_text_field( $_GET['wpos_anylc_promo_pdt'] );
319
- $promotion_pdt = explode( ',', $wpos_anylc_promo_pdt );
320
-
321
- $anylc_pdt = sanitize_text_field( $_GET['wpos_anylc_pdt'] );
322
- $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
323
-
324
- if( !empty($promotion_pdt) ) {
325
- foreach ($promotion_pdt as $pdt_key => $pdt) {
326
- if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
327
- $promotion_pdt_data[] = '<a href="'.$anylc_pdt_data['promotion'][$pdt]['file'].'">'.$anylc_pdt_data['promotion'][$pdt]['name'].'</a>';
328
- }
329
- }
330
- }
331
-
332
- if( $promotion_pdt_data ) {
333
- echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible" style="display:block !important;">
334
- <p><strong>Your Download has been started. In case if it is intrupted then download it from here. '.join(' | ', $promotion_pdt_data).'</strong></p>
335
- </div>';
336
- }
337
- }
338
- }
339
-
340
- /**
341
- * Analytic Optout Popup HTML
342
- *
343
- * @package Wpos Analytic
344
- * @since 1.0
345
- */
346
- function wpos_anylc_optout_popup() {
347
-
348
- global $pagenow, $wpos_analytics_module;
349
-
350
- if( $pagenow == 'plugins.php' && !empty( $wpos_analytics_module ) ) {
351
- foreach ($wpos_analytics_module as $module_key => $module) {
352
-
353
- $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
354
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : false;
355
-
356
- // If user has opt in
357
- if( $opt_in == 1 ) {
358
-
359
- // Creating redirect URL
360
- $plugin_status = isset( $_GET['plugin_status'] ) ? sanitize_text_field( $_GET['plugin_status'] ) : false;
361
- $paged = isset( $_GET['paged'] ) ? sanitize_text_field( $_GET['paged'] ) : false;
362
- $s = isset( $_GET['s'] ) ? sanitize_text_field( $_GET['s'] ) : false;
363
-
364
- $redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s, 'wpos_anylc_pdt' => $module['slug'] ), admin_url( 'plugins.php' ) );
365
- $redirect_url = wp_nonce_url( $redirect_url, 'wpos_anylc_act'.'|'.$module['slug'] );
366
-
367
- // Form Data
368
- $optin_form_data = wpos_anylc_optin_data( $module['slug'], $redirect_url );
369
-
370
- include( WPOS_ANYLC_DIR .'/templates/optout-popup.php' );
371
- }
372
- }
373
- }
374
- }
375
-
376
- /**
377
- * Analytic Action Process
378
- *
379
- * @package Wpos Analytic
380
- * @since 1.0
381
- */
382
- function wpos_anylc_action_process() {
383
-
384
- // Skip if not admin area
385
- if ( !is_admin() ) {
386
- return false;
387
- }
388
-
389
- if( !empty($_GET['wpos_anylc_action']) && isset($_GET['_wpnonce']) ) {
390
-
391
- global $wpos_analytics_product;
392
-
393
- $anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? sanitize_text_field( $_GET['wpos_anylc_pdt'] ) : '';
394
- $anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : $anylc_pdt;
395
- $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
396
-
397
- // If valid product data found
398
- if( $anylc_pdt_data ) {
399
-
400
- // Process Optin
401
- if( $_GET['wpos_anylc_action'] == 'optin' ) {
402
-
403
- // Verify nonce
404
- if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
405
- wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
406
- }
407
-
408
- $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 1) );
409
-
410
- // Redirect to original menu
411
- $redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer-promotion' );
412
- if( $redirect_url ) {
413
- wp_redirect( $redirect_url );
414
- exit;
415
- }
416
- }
417
-
418
-
419
- // Process Skip
420
- if( $_GET['wpos_anylc_action'] == 'skip' ) {
421
-
422
- // Verify nonce
423
- if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
424
- wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
425
- }
426
-
427
- $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 2) );
428
-
429
- // Redirect to original menu
430
- $redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer' );
431
- if( $redirect_url ) {
432
- wp_redirect( $redirect_url );
433
- exit;
434
- }
435
- }
436
-
437
-
438
- // Process Opt Out
439
- if( $_GET['wpos_anylc_action'] == 'optout' ) {
440
-
441
- // Verify nonce
442
- if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act'.'|'.$_GET['wpos_anylc_pdt'] ) ) {
443
- wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
444
- }
445
-
446
- $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 0) );
447
-
448
- // Redirect with success message
449
- $redirect_url = add_query_arg( array( 'message' => 'optout_success', 'wpos_anylc_action' => false, 'wpos_anylc_pdt' => false, '_wpnonce' => false ) );
450
- if( $redirect_url ) {
451
- wp_redirect( $redirect_url );
452
- exit;
453
- }
454
- }
455
- }
456
- } // End of main if
457
- }
458
- }
459
-
460
  $wpos_anylc_admin = new Wpos_Anylc_Admin();
1
+ <?php
2
+ /**
3
+ * Admin Class
4
+ *
5
+ * Handles the admin functionality
6
+ *
7
+ * @package Wpos Analytic
8
+ * @since 1.0
9
+ */
10
+
11
+ if ( !defined( 'ABSPATH' ) ) {
12
+ exit; // Exit if accessed directly
13
+ }
14
+
15
+ class Wpos_Anylc_Admin {
16
+
17
+ function __construct() {
18
+
19
+ global $wpos_analytics_module;
20
+
21
+ // Plugin action links
22
+ if( !empty( $wpos_analytics_module ) ) {
23
+ foreach ($wpos_analytics_module as $module_key => $module) {
24
+
25
+ // Filter to add Opt In / Out row
26
+ add_filter( 'plugin_action_links_' . $module_key, array($this, 'wpos_anylc_add_action_links'), 10, 4 );
27
+ }
28
+ }
29
+
30
+ // Action to remove admin menu
31
+ add_action( 'admin_menu', array($this, 'wpos_anylc_remove_admin_menu'), 999 );
32
+
33
+ // Action to add admin menu
34
+ add_action( 'admin_menu', array($this, 'wpos_anylc_register_admin_menu'), 15 );
35
+
36
+ // Action to redirect plugin / theme on activation
37
+ add_action( 'admin_init', array($this, 'wpos_anylc_admin_init_process') );
38
+
39
+ // Action to show optin notice
40
+ add_action( 'admin_notices', array($this, 'wpos_anylc_optin_notice') );
41
+
42
+ // Action to add Attachment Popup HTML
43
+ add_action( 'admin_footer', array($this,'wpos_anylc_optout_popup') );
44
+
45
+ // Action to perform analytic action
46
+ add_action( 'wp_loaded', array($this, 'wpos_anylc_action_process') );
47
+ }
48
+
49
+ /**
50
+ * Remove admin menus
51
+ *
52
+ * @package Wpos Analytic
53
+ * @since 1.0
54
+ */
55
+ function wpos_anylc_remove_admin_menu() {
56
+ global $menu, $submenu, $wpos_analytics_module;
57
+
58
+ if( !empty( $wpos_analytics_module ) ) {
59
+ foreach ($wpos_analytics_module as $module_key => $module) {
60
+
61
+ $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
62
+
63
+ if( !empty( $module['menu'] ) && !isset( $opt_in_data['status'] ) ) {
64
+ remove_menu_page( $module['menu'] );
65
+ }
66
+ }
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Add menu
72
+ *
73
+ * @package Wpos Analytic
74
+ * @since 1.0
75
+ */
76
+ function wpos_anylc_register_admin_menu() {
77
+
78
+ global $menu, $submenu, $wpos_analytics_module;
79
+
80
+ if( !empty( $wpos_analytics_module ) ) {
81
+
82
+ // WP Menu data
83
+ $wpos_menu_data = wp_list_pluck( $menu, 2 );
84
+ $anylc_page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : null;
85
+
86
+ foreach ($wpos_analytics_module as $module_key => $module) {
87
+
88
+ $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
89
+ $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
90
+
91
+ // Offers Page
92
+ if( !empty( $module['offers'] ) && $anylc_page == $module['slug'].'-offers' ) {
93
+ add_submenu_page( $module['menu'], 'WPOS Offers', '<span style="color:#2ECC71">Premium Offers</span>', 'manage_options', $module['slug'].'-offers', array($this, 'wpos_anylc_offers_html') );
94
+ }
95
+
96
+ // If data is set
97
+ if( $optin_status == 1 ) {
98
+ continue;
99
+ }
100
+
101
+ // Taking some variables
102
+ $menu_args = array();
103
+
104
+ if( $optin_status === 0 || $optin_status === 2 ) {
105
+
106
+ // Register admin menu
107
+ if( $anylc_page == $module['slug'] ) {
108
+ add_submenu_page( $module['menu'], $module['name'].' '.'Opt In', $module['name'].' '.'Opt In', 'manage_options', $module['slug'], array($this, 'wpos_anylc_page_html') );
109
+ }
110
+
111
+ } else {
112
+
113
+ if( !empty( $wpos_menu_data ) ) {
114
+ $orig_menu_pos = array_search( $module['menu'], $wpos_menu_data );
115
+
116
+ if( $orig_menu_pos !== false ) {
117
+
118
+ $menu_args = array(
119
+ 'name' => $menu[ $orig_menu_pos ][0],
120
+ 'icon' => $menu[ $orig_menu_pos ][6],
121
+ 'position' => $orig_menu_pos,
122
+ );
123
+ }
124
+ }
125
+
126
+ // Taking default name and icon
127
+ if( empty( $menu_args ) ) {
128
+ $menu_args = array(
129
+ 'name' => $module['name'],
130
+ 'icon' => false,
131
+ 'position' => null,
132
+ );
133
+ }
134
+
135
+ // Register admin menu
136
+ add_menu_page( $menu_args['name'], $menu_args['name'], 'manage_options', $module['slug'], array($this, 'wpos_anylc_page_html'), $menu_args['icon'], $menu_args['position'] );
137
+ }
138
+
139
+ } // End of for each
140
+ }
141
+ }
142
+
143
+ /**
144
+ * Display Opt in form HTML
145
+ *
146
+ * @package Wpos Analytic
147
+ * @since 1.0
148
+ */
149
+ function wpos_anylc_page_html() {
150
+
151
+ global $current_user, $wpos_analytics_product;
152
+
153
+ $anylc_product_name = !empty( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
154
+
155
+ // if no data is set then return
156
+ if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
157
+ return;
158
+ }
159
+
160
+ // Taking soem data
161
+ $optin_form_data = wpos_anylc_optin_data();
162
+ $analy_product = $wpos_analytics_product[ $anylc_product_name ];
163
+ $opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
164
+
165
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
166
+ $user_name = !empty( $current_user->first_name ) ? $current_user->first_name : '';
167
+ $user_name = empty( $user_name ) ? $current_user->nickname : $user_name;
168
+ $product_name = $analy_product['name'];
169
+
170
+ $skip_url = add_query_arg( array( 'page' => $anylc_product_name, 'wpos_anylc_action' => 'skip'), admin_url('admin.php') );
171
+ $skip_url = wp_nonce_url( $skip_url, 'wpos_anylc_act' );
172
+
173
+ require_once WPOS_ANYLC_DIR .'/templates/analytic.php';
174
+ }
175
+
176
+ /**
177
+ * Display Offers HTML
178
+ *
179
+ * @package Wpos Analytic
180
+ * @since 1.0
181
+ */
182
+ function wpos_anylc_offers_html() {
183
+
184
+ global $wpos_analytics_product;
185
+
186
+ $anylc_product_name = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
187
+ $anylc_product_name = str_replace( '-offers', '', $anylc_product_name );
188
+
189
+ // if no data is set then return
190
+ if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
191
+ return;
192
+ }
193
+
194
+ // Taking soem data
195
+ $analy_product = $wpos_analytics_product[ $anylc_product_name ];
196
+ $opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
197
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
198
+
199
+ include_once( WPOS_ANYLC_DIR .'/templates/offers.php' );
200
+ }
201
+
202
+ /**
203
+ * Add Action links
204
+ *
205
+ * @package Wpos Analytic
206
+ * @since 1.0
207
+ */
208
+ function wpos_anylc_add_action_links( $actions, $plugin_file, $plugin_data, $context ) {
209
+
210
+ global $wpos_analytics_module;
211
+
212
+ // Taking some data
213
+ $module_data = !empty( $wpos_analytics_module[ $plugin_file ] ) ? $wpos_analytics_module[ $plugin_file ] : '';
214
+
215
+ // If analytics module data is there
216
+ if( $module_data ) {
217
+
218
+ $opt_in_data = wpos_anylc_get_option( $module_data['anylc_optin'] );
219
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
220
+
221
+ // If user has opt in
222
+ if( $opt_in == 1 ) {
223
+
224
+ $new_links['wpos_anylc'] = '<a href="#" class="wpos-anylc-opt-out-link" data-id="'.$module_data['id'].'">'.__('Opt Out', 'wpos_analytic').'</a>';
225
+
226
+ } else {
227
+
228
+ $opt_in_link = wpos_anylc_optin_url( $module_data, $opt_in );
229
+
230
+ $new_links['wpos_anylc'] = '<a href="'.esc_url( $opt_in_link ).'" class="wpos-anylc-opt-in-link">'.__('Opt In', 'wpos_analytic').'</a>';
231
+ }
232
+
233
+ $actions = array_merge( $new_links, $actions );
234
+ }
235
+ return $actions;
236
+ }
237
+
238
+ /**
239
+ * Redirect plugin / theme on activation to its opt in menu
240
+ *
241
+ * @package Wpos Analytic
242
+ * @since 1.0
243
+ */
244
+ function wpos_anylc_admin_init_process() {
245
+
246
+ // If license notice is dismissed
247
+ if( isset($_GET['message']) && $_GET['message'] == 'wpos-anylc-dismiss-notice' && !empty( $_GET['anylc_id'] ) ) {
248
+ $anylc_id = sanitize_text_field( $_GET['anylc_id'] );
249
+ set_transient( 'wpos_anylc_optin_notice_'.$anylc_id, true, 172800 );
250
+ }
251
+
252
+ $redirect = get_option('wpos_anylc_redirect');
253
+
254
+ // return if no activation redirect
255
+ if ( ! $redirect ) {
256
+ return;
257
+ }
258
+
259
+ // Flush the redirect transient
260
+ update_option( 'wpos_anylc_redirect', '' );
261
+
262
+ // Redirect to about page
263
+ wp_safe_redirect( $redirect );
264
+ exit;
265
+ }
266
+
267
+ /**
268
+ * Display Analytic Optin notice
269
+ *
270
+ * @package Wpos Analytic
271
+ * @since 1.0
272
+ */
273
+ function wpos_anylc_optin_notice() {
274
+
275
+ global $current_screen, $wpos_analytics_module, $wpos_analytics_product;
276
+
277
+ // Taking some variables
278
+ $screen_id = isset( $current_screen->id ) ? $current_screen->id : '';
279
+
280
+ // Plugin action links
281
+ if( $screen_id == 'dashboard' && current_user_can('manage_options') && !empty( $wpos_analytics_module ) ) {
282
+ foreach ($wpos_analytics_module as $module_key => $module) {
283
+
284
+ $anylc_pdt_id = $module['id'];
285
+ $notice_transient = get_transient( 'wpos_anylc_optin_notice_'.$anylc_pdt_id );
286
+
287
+ if( $notice_transient == false ) {
288
+
289
+ $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
290
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
291
+ $notice_link = add_query_arg( array('message' => 'wpos-anylc-dismiss-notice', 'anylc_id' => $anylc_pdt_id), admin_url('index.php') );
292
+
293
+ // If user has opt in
294
+ if( $opt_in == -1 ) {
295
+
296
+ $anylc_pdt_name = $module['name'];
297
+ $anylc_optin_url = wpos_anylc_optin_url( $module, $opt_in );
298
+
299
+ echo '<div class="updated notice wpos-anylc-notice wpos-anylc-optin-notice">
300
+ <p><strong>'.$anylc_pdt_name.'</strong> - We made a few tweaks to the plugin, <a href="'.esc_url( $anylc_optin_url ).'">Opt in to make it Better!</a></p>
301
+ <a href="'.esc_url( $notice_link ).'" class="notice-dismiss"></a>
302
+ </div>';
303
+ }
304
+ }
305
+ }
306
+ } // End of if
307
+
308
+ if( isset($_GET['message']) && $_GET['message'] == 'optout_success' ) {
309
+ echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible">
310
+ <p><strong>Sorry to let you go. You are now opted out from the plugin.</strong></p>
311
+ </div>';
312
+ }
313
+
314
+ // Process Promotion Data
315
+ if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
316
+
317
+ $promotion = 1;
318
+ $wpos_anylc_promo_pdt = sanitize_text_field( $_GET['wpos_anylc_promo_pdt'] );
319
+ $promotion_pdt = explode( ',', $wpos_anylc_promo_pdt );
320
+
321
+ $anylc_pdt = sanitize_text_field( $_GET['wpos_anylc_pdt'] );
322
+ $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
323
+
324
+ if( !empty($promotion_pdt) ) {
325
+ foreach ($promotion_pdt as $pdt_key => $pdt) {
326
+ if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
327
+ $promotion_pdt_data[] = '<a href="'.$anylc_pdt_data['promotion'][$pdt]['file'].'">'.$anylc_pdt_data['promotion'][$pdt]['name'].'</a>';
328
+ }
329
+ }
330
+ }
331
+
332
+ if( $promotion_pdt_data ) {
333
+ echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible" style="display:block !important;">
334
+ <p><strong>Your Download has been started. In case if it is intrupted then download it from here. '.join(' | ', $promotion_pdt_data).'</strong></p>
335
+ </div>';
336
+ }
337
+ }
338
+ }
339
+
340
+ /**
341
+ * Analytic Optout Popup HTML
342
+ *
343
+ * @package Wpos Analytic
344
+ * @since 1.0
345
+ */
346
+ function wpos_anylc_optout_popup() {
347
+
348
+ global $pagenow, $wpos_analytics_module;
349
+
350
+ if( $pagenow == 'plugins.php' && !empty( $wpos_analytics_module ) ) {
351
+ foreach ($wpos_analytics_module as $module_key => $module) {
352
+
353
+ $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
354
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : false;
355
+
356
+ // If user has opt in
357
+ if( $opt_in == 1 ) {
358
+
359
+ // Creating redirect URL
360
+ $plugin_status = isset( $_GET['plugin_status'] ) ? sanitize_text_field( $_GET['plugin_status'] ) : false;
361
+ $paged = isset( $_GET['paged'] ) ? sanitize_text_field( $_GET['paged'] ) : false;
362
+ $s = isset( $_GET['s'] ) ? sanitize_text_field( $_GET['s'] ) : false;
363
+
364
+ $redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s, 'wpos_anylc_pdt' => $module['slug'] ), admin_url( 'plugins.php' ) );
365
+ $redirect_url = wp_nonce_url( $redirect_url, 'wpos_anylc_act'.'|'.$module['slug'] );
366
+
367
+ // Form Data
368
+ $optin_form_data = wpos_anylc_optin_data( $module['slug'], $redirect_url );
369
+
370
+ include( WPOS_ANYLC_DIR .'/templates/optout-popup.php' );
371
+ }
372
+ }
373
+ }
374
+ }
375
+
376
+ /**
377
+ * Analytic Action Process
378
+ *
379
+ * @package Wpos Analytic
380
+ * @since 1.0
381
+ */
382
+ function wpos_anylc_action_process() {
383
+
384
+ // Skip if not admin area
385
+ if ( !is_admin() ) {
386
+ return false;
387
+ }
388
+
389
+ if( !empty($_GET['wpos_anylc_action']) && isset($_GET['_wpnonce']) ) {
390
+
391
+ global $wpos_analytics_product;
392
+
393
+ $anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? sanitize_text_field( $_GET['wpos_anylc_pdt'] ) : '';
394
+ $anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : $anylc_pdt;
395
+ $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
396
+
397
+ // If valid product data found
398
+ if( $anylc_pdt_data ) {
399
+
400
+ // Process Optin
401
+ if( $_GET['wpos_anylc_action'] == 'optin' ) {
402
+
403
+ // Verify nonce
404
+ if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
405
+ wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
406
+ }
407
+
408
+ $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 1) );
409
+
410
+ // Redirect to original menu
411
+ $redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer-promotion' );
412
+ if( $redirect_url ) {
413
+ wp_redirect( $redirect_url );
414
+ exit;
415
+ }
416
+ }
417
+
418
+
419
+ // Process Skip
420
+ if( $_GET['wpos_anylc_action'] == 'skip' ) {
421
+
422
+ // Verify nonce
423
+ if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
424
+ wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
425
+ }
426
+
427
+ $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 2) );
428
+
429
+ // Redirect to original menu
430
+ $redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer' );
431
+ if( $redirect_url ) {
432
+ wp_redirect( $redirect_url );
433
+ exit;
434
+ }
435
+ }
436
+
437
+
438
+ // Process Opt Out
439
+ if( $_GET['wpos_anylc_action'] == 'optout' ) {
440
+
441
+ // Verify nonce
442
+ if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act'.'|'.$_GET['wpos_anylc_pdt'] ) ) {
443
+ wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
444
+ }
445
+
446
+ $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 0) );
447
+
448
+ // Redirect with success message
449
+ $redirect_url = add_query_arg( array( 'message' => 'optout_success', 'wpos_anylc_action' => false, 'wpos_anylc_pdt' => false, '_wpnonce' => false ) );
450
+ if( $redirect_url ) {
451
+ wp_redirect( $redirect_url );
452
+ exit;
453
+ }
454
+ }
455
+ }
456
+ } // End of main if
457
+ }
458
+ }
459
+
460
  $wpos_anylc_admin = new Wpos_Anylc_Admin();
wpos-analytics/includes/class-anylc-script.php CHANGED
@@ -1,65 +1,65 @@
1
- <?php
2
- /**
3
- * Script Class
4
- *
5
- * Handles the script and style
6
- *
7
- * @package Wpos Analytic
8
- * @since 1.0
9
- */
10
-
11
- if ( !defined( 'ABSPATH' ) ) {
12
- exit; // Exit if accessed directly
13
- }
14
-
15
- class Wpos_Anylc_Script {
16
-
17
- function __construct() {
18
-
19
- // Action to add style backend
20
- add_action( 'admin_enqueue_scripts', array($this, 'wpos_anylc_admin_script_style') );
21
- }
22
-
23
- /**
24
- * Enqueue script for backend
25
- *
26
- * @package Wpos Analytic
27
- * @since 1.0
28
- */
29
- function wpos_anylc_admin_script_style( $hook ) {
30
-
31
- // Process Promotion Data
32
- if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
33
- global $wpos_analytics_product;
34
-
35
- $promotion = 1;
36
- $wpos_anylc_promo_pdt = sanitize_text_field( $_GET['wpos_anylc_promo_pdt'] );
37
- $promotion_pdt = explode( ',', $wpos_anylc_promo_pdt );
38
-
39
- $anylc_pdt = sanitize_text_field( $_GET['wpos_anylc_pdt'] );
40
- $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
41
-
42
- if( !empty($promotion_pdt) ) {
43
- foreach ($promotion_pdt as $pdt_key => $pdt) {
44
- if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
45
- $promotion_pdt_data[] = $anylc_pdt_data['promotion'][$pdt]['file'];
46
- }
47
- }
48
- }
49
- }
50
-
51
- // Registring admin Style
52
- wp_register_style( 'wpos-anylc-admin-style', WPOS_ANYLC_URL.'assets/css/wpos-anylc-admin.css', null, WPOS_ANYLC_VERSION );
53
- wp_enqueue_style( 'wpos-anylc-admin-style' );
54
-
55
- // Registring admin script
56
- wp_register_script( 'wpos-anylc-admin-script', WPOS_ANYLC_URL.'assets/js/wpos-anylc-admin.js', array('jquery'), WPOS_ANYLC_VERSION, true );
57
- wp_localize_script( 'wpos-anylc-admin-script', 'WposAnylc', array(
58
- 'promotion' => isset($promotion) ? 1 : 0,
59
- 'promotion_pdt' => isset( $promotion_pdt_data ) ? $promotion_pdt_data : 0,
60
- ));
61
- wp_enqueue_script( 'wpos-anylc-admin-script' );
62
- }
63
- }
64
-
65
  $wpos_anylc_script = new Wpos_Anylc_Script();
1
+ <?php
2
+ /**
3
+ * Script Class
4
+ *
5
+ * Handles the script and style
6
+ *
7
+ * @package Wpos Analytic
8
+ * @since 1.0
9
+ */
10
+
11
+ if ( !defined( 'ABSPATH' ) ) {
12
+ exit; // Exit if accessed directly
13
+ }
14
+
15
+ class Wpos_Anylc_Script {
16
+
17
+ function __construct() {
18
+
19
+ // Action to add style backend
20
+ add_action( 'admin_enqueue_scripts', array($this, 'wpos_anylc_admin_script_style') );
21
+ }
22
+
23
+ /**
24
+ * Enqueue script for backend
25
+ *
26
+ * @package Wpos Analytic
27
+ * @since 1.0
28
+ */
29
+ function wpos_anylc_admin_script_style( $hook ) {
30
+
31
+ // Process Promotion Data
32
+ if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
33
+ global $wpos_analytics_product;
34
+
35
+ $promotion = 1;
36
+ $wpos_anylc_promo_pdt = sanitize_text_field( $_GET['wpos_anylc_promo_pdt'] );
37
+ $promotion_pdt = explode( ',', $wpos_anylc_promo_pdt );
38
+
39
+ $anylc_pdt = sanitize_text_field( $_GET['wpos_anylc_pdt'] );
40
+ $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
41
+
42
+ if( !empty($promotion_pdt) ) {
43
+ foreach ($promotion_pdt as $pdt_key => $pdt) {
44
+ if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
45
+ $promotion_pdt_data[] = $anylc_pdt_data['promotion'][$pdt]['file'];
46
+ }
47
+ }
48
+ }
49
+ }
50
+
51
+ // Registring admin Style
52
+ wp_register_style( 'wpos-anylc-admin-style', WPOS_ANYLC_URL.'assets/css/wpos-anylc-admin.css', null, WPOS_ANYLC_VERSION );
53
+ wp_enqueue_style( 'wpos-anylc-admin-style' );
54
+
55
+ // Registring admin script
56
+ wp_register_script( 'wpos-anylc-admin-script', WPOS_ANYLC_URL.'assets/js/wpos-anylc-admin.js', array('jquery'), WPOS_ANYLC_VERSION, true );
57
+ wp_localize_script( 'wpos-anylc-admin-script', 'WposAnylc', array(
58
+ 'promotion' => isset($promotion) ? 1 : 0,
59
+ 'promotion_pdt' => isset( $promotion_pdt_data ) ? $promotion_pdt_data : 0,
60
+ ));
61
+ wp_enqueue_script( 'wpos-anylc-admin-script' );
62
+ }
63
+ }
64
+
65
  $wpos_anylc_script = new Wpos_Anylc_Script();
wpos-analytics/includes/wpos-anylc-function.php CHANGED
@@ -1,329 +1,331 @@
1
- <?php
2
- /**
3
- * Common Functions
4
- *
5
- * @package Wpos Analytic
6
- * @since 1.0
7
- */
8
-
9
- if ( !defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
-
13
- /**
14
- * Retrieve the translation of $text.
15
- *
16
- * @package Wpos Analytic
17
- * @since 1.0
18
- */
19
- function wpos_anylc_text( $text, $echo = false ) {
20
-
21
- if( $echo ) {
22
- _e( $text, '' );
23
- } else {
24
- __( $text, '' );
25
- }
26
- }
27
-
28
- /**
29
- * Clean variables using sanitize_text_field. Arrays are cleaned recursively.
30
- * Non-scalar values are ignored.
31
- *
32
- * @since 1.0
33
- */
34
- function wpos_anylc_clean( $var ) {
35
- if ( is_array( $var ) ) {
36
- return array_map( 'wpos_anylc_clean', $var );
37
- } else {
38
- $data = is_scalar( $var ) ? sanitize_text_field( $var ) : $var;
39
- return wp_unslash($data);
40
- }
41
- }
42
-
43
- /**
44
- * Check Multidimention Array
45
- *
46
- * @package Wpos Analytic
47
- * @since 1.0
48
- */
49
- function wpos_anylc_is_multi_arr( $arr ) {
50
- rsort( $arr );
51
- return isset( $arr[0] ) && is_array( $arr[0] );
52
- }
53
-
54
- /**
55
- * Get site unique id
56
- *
57
- * @package Wpos Analytic
58
- * @since 1.0.0
59
- */
60
- function wpos_anylc_site_uid() {
61
-
62
- $site_uid = get_option( 'wpos_anylc_site_uid' );
63
-
64
- // Generate new site id if not exist
65
- if( empty( $site_uid ) ) {
66
- $site_url = untrailingslashit( get_bloginfo('wpurl') );
67
- $site_uid = md5( $site_url . SECURE_AUTH_KEY );
68
-
69
- update_option( 'wpos_anylc_site_uid', $site_uid );
70
- }
71
-
72
- return $site_uid;
73
- }
74
-
75
- /**
76
- * Get Optin Data
77
- *
78
- * @package Wpos Analytic
79
- * @since 1.0.0
80
- */
81
- function wpos_anylc_optin_data( $anylc_pdt = false, $return_url = '' ) {
82
-
83
- // Skip if not admin area
84
- if ( !is_admin() ) {
85
- return false;
86
- }
87
-
88
- global $current_user, $wpos_analytics_product;
89
-
90
- // Takind some data
91
- $theme_data = wp_get_theme();
92
- $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : false;
93
-
94
- // If product is not passed
95
- if( ! $anylc_pdt ) {
96
- $anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? sanitize_text_field( $_GET['wpos_anylc_pdt'] ) : '';
97
- $anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : $anylc_pdt;
98
- }
99
-
100
- // If a valid product is there
101
- if( $anylc_pdt && !empty( $wpos_analytics_product[ $anylc_pdt ] ) ) {
102
-
103
- $analy_product = $wpos_analytics_product[ $anylc_pdt ];
104
-
105
- if( empty( $return_url ) ) {
106
- $return_url = add_query_arg( array( 'page' => $page ), admin_url('admin.php') );
107
- $return_url = wp_nonce_url( $return_url, 'wpos_anylc_act' );
108
- }
109
-
110
- // Getting data according to type
111
- if( $analy_product['type'] == 'theme' ) {
112
-
113
- $product_name = $theme_data->get( 'Name' );
114
- $product_version = $theme_data->get( 'Version' );
115
-
116
- } else {
117
-
118
- if( !function_exists('get_plugin_data') ) {
119
- require_once(ABSPATH . 'wp-admin/includes/plugin.php');
120
- }
121
-
122
- $plugin_data = get_plugin_data( trailingslashit(WP_PLUGIN_DIR) . $analy_product['file'] );
123
- $product_name = !empty( $plugin_data['Name'] ) ? $plugin_data['Name'] : '';
124
- $product_version = !empty( $plugin_data['Version'] ) ? $plugin_data['Version'] : '';
125
- }
126
- }
127
-
128
- $optin_data = array(
129
- 'site_url' => untrailingslashit( get_bloginfo('wpurl') ),
130
- 'site_name' => get_bloginfo( 'name' ),
131
- 'wp_version' => get_bloginfo( 'version' ),
132
- 'language' => get_bloginfo( 'language' ),
133
- 'is_rtl' => is_rtl() ? 1 : 0,
134
- 'php_version' => phpversion(),
135
- 'sdk_version' => WPOS_ANYLC_VERSION,
136
- 'product_name' => isset( $product_name ) ? $product_name : '',
137
- 'product_version' => isset( $product_version ) ? $product_version : '',
138
- 'product_id' => !empty( $analy_product['id'] ) ? $analy_product['id'] : 0,
139
- 'product_type' => !empty( $analy_product['type'] ) ? $analy_product['type'] : '',
140
- 'theme_name' => $theme_data->get( 'Name' ),
141
- 'theme_uri' => $theme_data->get( 'ThemeURI' ),
142
- 'theme_author' => $theme_data->get( 'Author' ),
143
- 'theme_author_uri' => $theme_data->get( 'AuthorURI' ),
144
- 'theme_version' => $theme_data->get( 'Version' ),
145
- 'user_firstname' => $current_user->user_firstname,
146
- 'user_lastname' => $current_user->user_lastname,
147
- 'user_nickname' => $current_user->user_nicename,
148
- 'user_email' => get_bloginfo( 'admin_email' ),
149
- 'ip_address' => wpos_anylc_get_ip_address(),
150
- 'site_uid' => wpos_anylc_site_uid(),
151
- 'return_url' => $return_url,
152
- );
153
- return $optin_data;
154
- }
155
-
156
- /**
157
- * Get IP Address
158
- *
159
- * @package Wpos Analytic
160
- * @since 1.0.0
161
- */
162
- function wpos_anylc_get_ip_address() {
163
- if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) { // WPCS: input var ok, CSRF ok.
164
- return sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_REAL_IP'] ) ); // WPCS: input var ok, CSRF ok.
165
- } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { // WPCS: input var ok, CSRF ok.
166
- // Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2
167
- // Make sure we always only send through the first IP in the list which should always be the client IP.
168
- return (string) rest_is_ip_address( trim( current( preg_split( '/[,:]/', sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ) ) ) ); // WPCS: input var ok, CSRF ok.
169
- } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { // @codingStandardsIgnoreLine
170
- return sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); // @codingStandardsIgnoreLine
171
- }
172
- return '127.0.0.1';
173
- }
174
-
175
- /**
176
- * Get Product Optin Data
177
- *
178
- * @package Wpos Analytic
179
- * @since 1.0.0
180
- */
181
- function wpos_anylc_get_option( $key = '' ) {
182
-
183
- $opt_in_data = array();
184
-
185
- if( !empty( $key ) ) {
186
- $opt_in_data = get_option( $key );
187
- $opt_in_data = ( !empty($opt_in_data) && is_array($opt_in_data) ) ? $opt_in_data : array();
188
- }
189
- return $opt_in_data;
190
- }
191
-
192
- /**
193
- * Get Product Optin Data
194
- *
195
- * @package Wpos Analytic
196
- * @since 1.0.0
197
- */
198
- function wpos_anylc_update_option( $key = '', $data = array() ) {
199
-
200
- $opt_in_data = array();
201
-
202
- if( !empty( $key ) ) {
203
- $opt_in_data = wpos_anylc_get_option( $key );
204
-
205
- if( is_array($data) ) {
206
- $opt_in_data = array_merge( $opt_in_data, $data );
207
- update_option( $key, $opt_in_data );
208
- }
209
- }
210
- return $opt_in_data;
211
- }
212
-
213
- /**
214
- * Get Analytic Product Optin URL
215
- *
216
- * @package Wpos Analytic
217
- * @since 1.0.0
218
- */
219
- function wpos_anylc_optin_url( $module_data = '', $optin_status = null ) {
220
-
221
- $optin_url = false;
222
-
223
- // Optin Status
224
- if( ! isset( $optin_status ) ) {
225
- $opt_in_data = get_option( $module_data['anylc_optin'] );
226
- $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
227
- }
228
-
229
- if( !empty( $module_data['menu'] ) && !empty( $module_data['slug'] ) ) {
230
- $url_data = parse_url( $module_data['menu'], PHP_URL_QUERY );
231
- $query_data = !empty( $url_data ) ? parse_str( $url_data, $query_arr ) : array();
232
-
233
- if( !empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and post type menu
234
-
235
- $optin_url = add_query_arg( array( 'post_type' => $query_arr['post_type'], 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('edit.php') );
236
-
237
- } else if( empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and simple admin menu
238
-
239
- $optin_url = add_query_arg( array( 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('admin.php') );
240
-
241
- } else {
242
- $optin_url = add_query_arg( array( 'page' => $module_data['slug'] ), admin_url('admin.php') );
243
- }
244
- }
245
-
246
- return $optin_url;
247
- }
248
-
249
- /**
250
- * Get Analytic Product Opt Out URL
251
- *
252
- * @package Wpos Analytic
253
- * @since 1.0.0
254
- */
255
- function wpos_anylc_optout_url( $module_data = '', $optin_status = null, $redirect_url = false ) {
256
-
257
- $opt_out_link = false;
258
-
259
- // Optin Status
260
- if( !isset( $optin_status ) ) {
261
- $opt_in_data = get_option( $module_data['anylc_optin'] );
262
- $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
263
- }
264
-
265
- if( $optin_status == 1 ) {
266
-
267
- if( ! $redirect_url ) {
268
- $plugin_status = isset( $_GET['plugin_status'] ) ? sanitize_text_field( $_GET['plugin_status'] ) : false;
269
- $paged = isset( $_GET['paged'] ) ? sanitize_text_field( $_GET['paged'] ) : false;
270
- $s = isset( $_GET['s'] ) ? sanitize_text_field( $_GET['s'] ) : false;
271
-
272
- $redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s ), admin_url( 'plugins.php' ) );
273
- }
274
-
275
- $opt_out_link = add_query_arg( array( 'wpos_anylc_action' => 'optout', 'wpos_anylc_pdt' => $module_data['slug'], 'redirect' => $redirect_url ), $redirect_url );
276
- $opt_out_link = wp_nonce_url( $opt_out_link, 'wpos_anylc_act'.'|'.$module_data['slug'] );
277
- }
278
-
279
- return $opt_out_link;
280
- }
281
-
282
- /**
283
- * Get Analytic Product URL
284
- *
285
- * @package Wpos Analytic
286
- * @since 1.0.0
287
- */
288
- function wpos_anylc_pdt_url( $module_data = '', $type = false ) {
289
-
290
- $redirect_url = false;
291
-
292
- if( !empty( $module_data['menu'] ) ) {
293
- $pos = strpos( $module_data['menu'], '?post_type' );
294
- $redirect_url = ( $pos !== false ) ? admin_url( $module_data['menu'] ) : add_query_arg( array( 'page' => $module_data['menu'] ), admin_url('admin.php') );
295
-
296
- switch ( $type ) {
297
- case 'promotion':
298
-
299
- $promotion = !empty( $_GET['promotion'] ) ? wpos_anylc_clean( $_GET['promotion'] ) : '';
300
-
301
- if( !empty( $promotion ) ) {
302
- $promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
303
- $redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
304
- }
305
- break;
306
-
307
- case 'offer':
308
-
309
- if( !empty( $module_data['offers'] ) ) {
310
- $redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
311
- }
312
- break;
313
-
314
- case 'offer-promotion':
315
-
316
- $promotion = !empty( $_GET['promotion'] ) ? wpos_anylc_clean( $_GET['promotion'] ) : '';
317
-
318
- if( !empty( $module_data['offers'] ) ) {
319
- $redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
320
- }
321
- if( !empty( $promotion ) ) {
322
- $promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
323
- $redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
324
- }
325
- break;
326
- }
327
- }
328
- return $redirect_url;
 
 
329
  }
1
+ <?php
2
+ /**
3
+ * Common Functions
4
+ *
5
+ * @package Wpos Analytic
6
+ * @since 1.0
7
+ */
8
+
9
+ if ( !defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+
13
+ /**
14
+ * Retrieve the translation of $text.
15
+ *
16
+ * @package Wpos Analytic
17
+ * @since 1.0
18
+ */
19
+ function wpos_anylc_text( $text, $echo = false ) {
20
+
21
+ if( $echo ) {
22
+ _e( $text, '' );
23
+ } else {
24
+ __( $text, '' );
25
+ }
26
+ }
27
+
28
+ /**
29
+ * Clean variables using sanitize_text_field. Arrays are cleaned recursively.
30
+ * Non-scalar values are ignored.
31
+ *
32
+ * @since 1.0
33
+ */
34
+ function wpos_anylc_clean( $var ) {
35
+ if ( is_array( $var ) ) {
36
+ return array_map( 'wpos_anylc_clean', $var );
37
+ } else {
38
+ $data = is_scalar( $var ) ? sanitize_text_field( $var ) : $var;
39
+ return wp_unslash($data);
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Check Multidimention Array
45
+ *
46
+ * @package Wpos Analytic
47
+ * @since 1.0
48
+ */
49
+ function wpos_anylc_is_multi_arr( $arr ) {
50
+ rsort( $arr );
51
+ return isset( $arr[0] ) && is_array( $arr[0] );
52
+ }
53
+
54
+ /**
55
+ * Get site unique id
56
+ *
57
+ * @package Wpos Analytic
58
+ * @since 1.0.0
59
+ */
60
+ function wpos_anylc_site_uid() {
61
+
62
+ $site_uid = get_option( 'wpos_anylc_site_uid' );
63
+
64
+ // Generate new site id if not exist
65
+ if( empty( $site_uid ) ) {
66
+ $site_url = untrailingslashit( get_bloginfo('wpurl') );
67
+ $site_uid = md5( $site_url . SECURE_AUTH_KEY );
68
+
69
+ update_option( 'wpos_anylc_site_uid', $site_uid );
70
+ }
71
+
72
+ return $site_uid;
73
+ }
74
+
75
+ /**
76
+ * Get Optin Data
77
+ *
78
+ * @package Wpos Analytic
79
+ * @since 1.0.0
80
+ */
81
+ function wpos_anylc_optin_data( $anylc_pdt = false, $return_url = '' ) {
82
+
83
+ // Skip if not admin area
84
+ if ( !is_admin() ) {
85
+ return false;
86
+ }
87
+
88
+ global $current_user, $wpos_analytics_product;
89
+
90
+ // Takind some data
91
+ $theme_data = wp_get_theme();
92
+ $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : false;
93
+
94
+ // If product is not passed
95
+ if( ! $anylc_pdt ) {
96
+ $anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? sanitize_text_field( $_GET['wpos_anylc_pdt'] ) : '';
97
+ $anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : $anylc_pdt;
98
+ }
99
+
100
+ // If a valid product is there
101
+ if( $anylc_pdt && !empty( $wpos_analytics_product[ $anylc_pdt ] ) ) {
102
+
103
+ $analy_product = $wpos_analytics_product[ $anylc_pdt ];
104
+
105
+ if( empty( $return_url ) ) {
106
+ $return_url = add_query_arg( array( 'page' => $page ), admin_url('admin.php') );
107
+ $return_url = wp_nonce_url( $return_url, 'wpos_anylc_act' );
108
+ }
109
+
110
+ // Getting data according to type
111
+ if( $analy_product['type'] == 'theme' ) {
112
+
113
+ $product_name = $theme_data->get( 'Name' );
114
+ $product_version = $theme_data->get( 'Version' );
115
+
116
+ } else {
117
+
118
+ if( !function_exists('get_plugin_data') ) {
119
+ require_once(ABSPATH . 'wp-admin/includes/plugin.php');
120
+ }
121
+
122
+ $plugin_data = get_plugin_data( trailingslashit(WP_PLUGIN_DIR) . $analy_product['file'] );
123
+ $product_name = !empty( $plugin_data['Name'] ) ? $plugin_data['Name'] : '';
124
+ $product_version = !empty( $plugin_data['Version'] ) ? $plugin_data['Version'] : '';
125
+ }
126
+ }
127
+
128
+ $optin_data = array(
129
+ 'site_url' => untrailingslashit( get_bloginfo('wpurl') ),
130
+ 'site_name' => get_bloginfo( 'name' ),
131
+ 'wp_version' => get_bloginfo( 'version' ),
132
+ 'language' => get_bloginfo( 'language' ),
133
+ 'is_rtl' => is_rtl() ? 1 : 0,
134
+ 'php_version' => phpversion(),
135
+ 'sdk_version' => WPOS_ANYLC_VERSION,
136
+ 'product_name' => isset( $product_name ) ? $product_name : '',
137
+ 'product_version' => isset( $product_version ) ? $product_version : '',
138
+ 'product_id' => !empty( $analy_product['id'] ) ? $analy_product['id'] : 0,
139
+ 'product_type' => !empty( $analy_product['type'] ) ? $analy_product['type'] : '',
140
+ 'theme_name' => $theme_data->get( 'Name' ),
141
+ 'theme_uri' => $theme_data->get( 'ThemeURI' ),
142
+ 'theme_author' => $theme_data->get( 'Author' ),
143
+ 'theme_author_uri' => $theme_data->get( 'AuthorURI' ),
144
+ 'theme_version' => $theme_data->get( 'Version' ),
145
+ 'user_firstname' => $current_user->user_firstname,
146
+ 'user_lastname' => $current_user->user_lastname,
147
+ 'user_nickname' => $current_user->user_nicename,
148
+ 'user_email' => get_bloginfo( 'admin_email' ),
149
+ 'ip_address' => wpos_anylc_get_ip_address(),
150
+ 'site_uid' => wpos_anylc_site_uid(),
151
+ 'return_url' => $return_url,
152
+ );
153
+ return $optin_data;
154
+ }
155
+
156
+ /**
157
+ * Get IP Address
158
+ *
159
+ * @package Wpos Analytic
160
+ * @since 1.0.0
161
+ */
162
+ function wpos_anylc_get_ip_address() {
163
+ if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) { // WPCS: input var ok, CSRF ok.
164
+ return sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_REAL_IP'] ) ); // WPCS: input var ok, CSRF ok.
165
+ } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { // WPCS: input var ok, CSRF ok.
166
+ // Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2
167
+ // Make sure we always only send through the first IP in the list which should always be the client IP.
168
+ return (string) rest_is_ip_address( trim( current( preg_split( '/[,:]/', sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ) ) ) ); // WPCS: input var ok, CSRF ok.
169
+ } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { // @codingStandardsIgnoreLine
170
+ return sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); // @codingStandardsIgnoreLine
171
+ }
172
+ return '127.0.0.1';
173
+ }
174
+
175
+ /**
176
+ * Get Product Optin Data
177
+ *
178
+ * @package Wpos Analytic
179
+ * @since 1.0.0
180
+ */
181
+ function wpos_anylc_get_option( $key = '' ) {
182
+
183
+ $opt_in_data = array();
184
+
185
+ if( !empty( $key ) ) {
186
+ $opt_in_data = get_option( $key );
187
+ $opt_in_data = ( !empty($opt_in_data) && is_array($opt_in_data) ) ? $opt_in_data : array();
188
+ }
189
+ return $opt_in_data;
190
+ }
191
+
192
+ /**
193
+ * Get Product Optin Data
194
+ *
195
+ * @package Wpos Analytic
196
+ * @since 1.0.0
197
+ */
198
+ function wpos_anylc_update_option( $key = '', $data = array() ) {
199
+
200
+ $opt_in_data = array();
201
+
202
+ if( !empty( $key ) ) {
203
+ $opt_in_data = wpos_anylc_get_option( $key );
204
+
205
+ if( is_array($data) ) {
206
+ $opt_in_data = array_merge( $opt_in_data, $data );
207
+ update_option( $key, $opt_in_data );
208
+ }
209
+ }
210
+ return $opt_in_data;
211
+ }
212
+
213
+ /**
214
+ * Get Analytic Product Optin URL
215
+ *
216
+ * @package Wpos Analytic
217
+ * @since 1.0.0
218
+ */
219
+ function wpos_anylc_optin_url( $module_data = '', $optin_status = null ) {
220
+
221
+ $optin_url = false;
222
+
223
+ // Optin Status
224
+ if( ! isset( $optin_status ) ) {
225
+ $opt_in_data = get_option( $module_data['anylc_optin'] );
226
+ $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
227
+ }
228
+
229
+ if( !empty( $module_data['menu'] ) && !empty( $module_data['slug'] ) ) {
230
+ $url_data = parse_url( $module_data['menu'], PHP_URL_QUERY );
231
+ $query_data = !empty( $url_data ) ? parse_str( $url_data, $query_arr ) : array();
232
+
233
+ if( !empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and post type menu
234
+
235
+ $optin_url = add_query_arg( array( 'post_type' => $query_arr['post_type'], 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('edit.php') );
236
+
237
+ } else if( empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and simple admin menu
238
+
239
+ $optin_url = add_query_arg( array( 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('admin.php') );
240
+
241
+ } else {
242
+ $optin_url = add_query_arg( array( 'page' => $module_data['slug'] ), admin_url('admin.php') );
243
+ }
244
+ }
245
+
246
+ return $optin_url;
247
+ }
248
+
249
+ /**
250
+ * Get Analytic Product Opt Out URL
251
+ *
252
+ * @package Wpos Analytic
253
+ * @since 1.0.0
254
+ */
255
+ function wpos_anylc_optout_url( $module_data = '', $optin_status = null, $redirect_url = false ) {
256
+
257
+ $opt_out_link = false;
258
+
259
+ // Optin Status
260
+ if( !isset( $optin_status ) ) {
261
+ $opt_in_data = get_option( $module_data['anylc_optin'] );
262
+ $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
263
+ }
264
+
265
+ if( $optin_status == 1 ) {
266
+
267
+ if( ! $redirect_url ) {
268
+ $plugin_status = isset( $_GET['plugin_status'] ) ? sanitize_text_field( $_GET['plugin_status'] ) : false;
269
+ $paged = isset( $_GET['paged'] ) ? sanitize_text_field( $_GET['paged'] ) : false;
270
+ $s = isset( $_GET['s'] ) ? sanitize_text_field( $_GET['s'] ) : false;
271
+
272
+ $redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s ), admin_url( 'plugins.php' ) );
273
+ }
274
+
275
+ $opt_out_link = add_query_arg( array( 'wpos_anylc_action' => 'optout', 'wpos_anylc_pdt' => $module_data['slug'], 'redirect' => $redirect_url ), $redirect_url );
276
+ $opt_out_link = wp_nonce_url( $opt_out_link, 'wpos_anylc_act'.'|'.$module_data['slug'] );
277
+ }
278
+
279
+ return $opt_out_link;
280
+ }
281
+
282
+ /**
283
+ * Get Analytic Product URL
284
+ *
285
+ * @package Wpos Analytic
286
+ * @since 1.0.0
287
+ */
288
+ function wpos_anylc_pdt_url( $module_data = '', $type = false ) {
289
+
290
+ $redirect_url = false;
291
+ $redirect_page = ! empty( $module_data['redirect_page'] ) ? $module_data['redirect_page'] : $module_data['menu'];
292
+
293
+ if( ! empty( $redirect_page ) ) {
294
+
295
+ $pos = strpos( $redirect_page, '?post_type' );
296
+ $redirect_url = ( $pos !== false ) ? admin_url( $redirect_page ) : add_query_arg( array( 'page' => $redirect_page ), admin_url('admin.php') );
297
+
298
+ switch ( $type ) {
299
+ case 'promotion':
300
+
301
+ $promotion = !empty( $_GET['promotion'] ) ? wpos_anylc_clean( $_GET['promotion'] ) : '';
302
+
303
+ if( !empty( $promotion ) ) {
304
+ $promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
305
+ $redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
306
+ }
307
+ break;
308
+
309
+ case 'offer':
310
+
311
+ if( !empty( $module_data['offers'] ) ) {
312
+ $redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
313
+ }
314
+ break;
315
+
316
+ case 'offer-promotion':
317
+
318
+ $promotion = !empty( $_GET['promotion'] ) ? wpos_anylc_clean( $_GET['promotion'] ) : '';
319
+
320
+ if( !empty( $module_data['offers'] ) ) {
321
+ $redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
322
+ }
323
+ if( !empty( $promotion ) ) {
324
+ $promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
325
+ $redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
326
+ }
327
+ break;
328
+ }
329
+ }
330
+ return $redirect_url;
331
  }
wpos-analytics/templates/analytic.php CHANGED
@@ -1,94 +1,94 @@
1
- <?php
2
- /**
3
- * Settings Page
4
- *
5
- * @package Wpos Analytic
6
- * @since 1.0.0
7
- */
8
-
9
- if ( !defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
- ?>
13
- <style type="text/css">
14
- .notice, .error, div.fs-notice.updated, div.fs-notice.success, div.fs-notice.promotion{display:none !important;}
15
- </style>
16
-
17
- <div class="wrap wpos-anylc-optin">
18
-
19
- <?php if( isset($_GET['error']) && $_GET['error'] == 'wpos_anylc_error' ) { ?>
20
- <div class="error">
21
- <p><strong>Sorry, Something happened wrong. Please contact us on <a href="mailto:support@wponlinesupport.com">support@wponlinesupport.com</a></strong></p>
22
- </div>
23
- <?php } ?>
24
-
25
- <form method="POST" action="https://analytics.wponlinesupport.com">
26
- <div class="wpos-anylc-optin-wrap">
27
- <div class="wpos-anylc-optin-icon-wrap">
28
- <div class="wpos-anylc-optin-icon wpos-anylc-wp-badge"><i class="dashicons dashicons-wordpress"></i></div>
29
- <div class="wpos-anylc-optin-plus"><i class="dashicons dashicons-plus"></i></div>
30
- <div class="wpos-anylc-optin-icon"><img src="<?php echo $analy_product['icon']; ?>" alt="Icon" /></div>
31
- <div class="wpos-anylc-optin-plus"><i class="dashicons dashicons-plus"></i></div>
32
- <div class="wpos-anylc-optin-icon"><img src="<?php echo $analy_product['brand_icon']; ?>" alt="Icon" /></div>
33
- </div>
34
- <div class="wpos-anylc-optin-cnt">
35
- <p>Hey <?php echo ucfirst($user_name); ?>,</p>
36
- <p>Don't ever miss an opportunity to <b>opt in</b> for Email Notifications / Announcements about exciting New Features and Update Releases.</p>
37
- <p>Contribute in helping us making <b><?php echo $product_name; ?></b> compatible with most themes and plugins by allowing to share non-sensitive data to <a target="_blank" href="https://www.wponlinesupport.com">wponlinesupport.com</a> about your website.</p>
38
- <p>If you skip this, that's okay! <b><?php echo $product_name; ?></b> will still work just fine.</p>
39
-
40
- <?php if( !empty( $analy_product['promotion'] ) ) { ?>
41
- <div class="wpos-anylc-promotion-wrap">
42
- <?php foreach( $analy_product['promotion'] as $promotion_key => $promotion_data ) { ?>
43
- <div><label><input type="checkbox" value="<?php echo $promotion_key; ?>" name="promotion[]" checked="checked" /> <?php echo $promotion_data['name']; ?></label></div>
44
- <?php } ?>
45
- </div>
46
- <?php } ?>
47
- </div>
48
- <div class="wpos-anylc-optin-action wpos-anylc-clearfix">
49
- <button type="submit" name="wpos_anylc_optin" class="button button-primary button-large right wpos-anylc-allow-btn" value="wpos_anylc_optin">Allow and Continue</button>
50
-
51
- <?php if( is_null( $opt_in ) ) { ?>
52
- <button type="submit" name="wpos_anylc_action" class="button button-secondary button-large wpos-anylc-skip-btn" value="skip">Skip</button>
53
- <?php }
54
-
55
- if( ! empty( $optin_form_data ) ) {
56
- foreach ($optin_form_data as $data_key => $data_value) {
57
- echo '<input type="hidden" name="'.esc_attr( $data_key ).'" value="'.esc_attr( $data_value ).'" />';
58
- }
59
- }
60
- ?>
61
- </div>
62
- <div class="wpos-anylc-optin-permission">
63
- <a class="wpos-anylc-permission-toggle" href="javascript:void(0);">What permissions are being granted?</a>
64
-
65
- <div class="wpos-anylc-permission-wrap wpos-anylc-hide">
66
- <div class="wpos-anylc-permission">
67
- <i class="dashicons dashicons-admin-users"></i>
68
- <div>
69
- <span class="wpos-anylc-permission-name">Your Profile Overview</span>
70
- <span class="wpos-anylc-permission-info">Name and email address</span>
71
- </div>
72
- </div>
73
- <div class="wpos-anylc-permission">
74
- <i class="dashicons dashicons-admin-settings"></i>
75
- <div>
76
- <span class="wpos-anylc-permission-name">Your Site Overview</span>
77
- <span class="wpos-anylc-permission-info">Site URL, WP version, PHP info & Theme</span>
78
- </div>
79
- </div>
80
- <div class="wpos-anylc-permission">
81
- <i class="dashicons dashicons-admin-plugins"></i>
82
- <div>
83
- <span class="wpos-anylc-permission-name">Current Plugin Events</span>
84
- <span class="wpos-anylc-permission-info">Activation, Deactivation and Uninstall</span>
85
- </div>
86
- </div>
87
- </div>
88
- </div>
89
- <div class="wpos-anylc-terms">
90
- <a href="https://www.wponlinesupport.com/privacy-policy/#free-pluign-info" target="_blank">Privacy Policy</a> - <a href="https://www.wponlinesupport.com/term-and-condition/" target="_blank">Terms of Service</a>
91
- </div>
92
- </div>
93
- </form>
94
  </div><!-- end .wrap -->
1
+ <?php
2
+ /**
3
+ * Settings Page
4
+ *
5
+ * @package Wpos Analytic
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( !defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+ ?>
13
+ <style type="text/css">
14
+ .notice, .error, div.fs-notice.updated, div.fs-notice.success, div.fs-notice.promotion{display:none !important;}
15
+ </style>
16
+
17
+ <div class="wrap wpos-anylc-optin">
18
+
19
+ <?php if( isset($_GET['error']) && $_GET['error'] == 'wpos_anylc_error' ) { ?>
20
+ <div class="error">
21
+ <p><strong>Sorry, Something happened wrong. Please contact us on <a href="mailto:support@wponlinesupport.com">support@wponlinesupport.com</a></strong></p>
22
+ </div>
23
+ <?php } ?>
24
+
25
+ <form method="POST" action="https://analytics.wponlinesupport.com">
26
+ <div class="wpos-anylc-optin-wrap">
27
+ <div class="wpos-anylc-optin-icon-wrap">
28
+ <div class="wpos-anylc-optin-icon wpos-anylc-wp-badge"><i class="dashicons dashicons-wordpress"></i></div>
29
+ <div class="wpos-anylc-optin-plus"><i class="dashicons dashicons-plus"></i></div>
30
+ <div class="wpos-anylc-optin-icon"><img src="<?php echo $analy_product['icon']; ?>" alt="Icon" /></div>
31
+ <div class="wpos-anylc-optin-plus"><i class="dashicons dashicons-plus"></i></div>
32
+ <div class="wpos-anylc-optin-icon"><img src="<?php echo $analy_product['brand_icon']; ?>" alt="Icon" /></div>
33
+ </div>
34
+ <div class="wpos-anylc-optin-cnt">
35
+ <p>Hey <?php echo ucfirst($user_name); ?>,</p>
36
+ <p>Don't ever miss an opportunity to <b>opt in</b> for Email Notifications / Announcements about exciting New Features and Update Releases.</p>
37
+ <p>Contribute in helping us making <b><?php echo $product_name; ?></b> compatible with most themes and plugins by allowing to share non-sensitive data to <a target="_blank" href="https://www.essentialplugin.com/">essentialplugin.com</a> about your website.</p>
38
+ <p>If you skip this, that's okay! <b><?php echo $product_name; ?></b> will still work just fine.</p>
39
+
40
+ <?php if( !empty( $analy_product['promotion'] ) ) { ?>
41
+ <div class="wpos-anylc-promotion-wrap">
42
+ <?php foreach( $analy_product['promotion'] as $promotion_key => $promotion_data ) { ?>
43
+ <div><label><input type="checkbox" value="<?php echo $promotion_key; ?>" name="promotion[]" checked="checked" /> <?php echo $promotion_data['name']; ?></label></div>
44
+ <?php } ?>
45
+ </div>
46
+ <?php } ?>
47
+ </div>
48
+ <div class="wpos-anylc-optin-action wpos-anylc-clearfix">
49
+ <button type="submit" name="wpos_anylc_optin" class="button button-primary button-large right wpos-anylc-allow-btn" value="wpos_anylc_optin">Allow and Continue</button>
50
+
51
+ <?php if( is_null( $opt_in ) ) { ?>
52
+ <button type="submit" name="wpos_anylc_action" class="button button-secondary button-large wpos-anylc-skip-btn" value="skip">Skip</button>
53
+ <?php }
54
+
55
+ if( ! empty( $optin_form_data ) ) {
56
+ foreach ($optin_form_data as $data_key => $data_value) {
57
+ echo '<input type="hidden" name="'.esc_attr( $data_key ).'" value="'.esc_attr( $data_value ).'" />';
58
+ }
59
+ }
60
+ ?>
61
+ </div>
62
+ <div class="wpos-anylc-optin-permission">
63
+ <a class="wpos-anylc-permission-toggle" href="javascript:void(0);">What permissions are being granted?</a>
64
+
65
+ <div class="wpos-anylc-permission-wrap wpos-anylc-hide">
66
+ <div class="wpos-anylc-permission">
67
+ <i class="dashicons dashicons-admin-users"></i>
68
+ <div>
69
+ <span class="wpos-anylc-permission-name">Your Profile Overview</span>
70
+ <span class="wpos-anylc-permission-info">Name and email address</span>
71
+ </div>
72
+ </div>
73
+ <div class="wpos-anylc-permission">
74
+ <i class="dashicons dashicons-admin-settings"></i>
75
+ <div>
76
+ <span class="wpos-anylc-permission-name">Your Site Overview</span>
77
+ <span class="wpos-anylc-permission-info">Site URL, WP version, PHP info & Theme</span>
78
+ </div>
79
+ </div>
80
+ <div class="wpos-anylc-permission">
81
+ <i class="dashicons dashicons-admin-plugins"></i>
82
+ <div>
83
+ <span class="wpos-anylc-permission-name">Current Plugin Events</span>
84
+ <span class="wpos-anylc-permission-info">Activation, Deactivation and Uninstall</span>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ <div class="wpos-anylc-terms">
90
+ <a href="https://www.essentialplugin.com/privacy-policy/#free-pluign-info" target="_blank">Privacy Policy</a> - <a href="https://www.essentialplugin.com/term-and-condition/" target="_blank">Terms of Service</a>
91
+ </div>
92
+ </div>
93
+ </form>
94
  </div><!-- end .wrap -->
wpos-analytics/templates/offers.php CHANGED
@@ -1,73 +1,73 @@
1
- <?php
2
- /**
3
- * Offers Page
4
- *
5
- * @package Wpos Analytic
6
- * @since 1.0.0
7
- */
8
-
9
- if ( !defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
- ?>
13
- <style type="text/css">
14
- .notice, .error, div.fs-notice.updated, div.fs-notice.success, div.fs-notice.promotion{display:none !important;}
15
- </style>
16
-
17
- <div class="wrap wpos-anylc-offers">
18
-
19
- <?php foreach ($analy_product['offers'] as $offer_key => $offer_data) {
20
-
21
- // If status wise offer is there
22
- if( wpos_anylc_is_multi_arr( $offer_data ) ) {
23
- $offer_data = isset( $offer_data[ $opt_in ] ) ? $offer_data[ $opt_in ] : false;
24
- }
25
-
26
- if( empty( $offer_data ) ) {
27
- continue;
28
- }
29
-
30
- $has_offer = true;
31
- $link = isset( $offer_data['link'] ) ? $offer_data['link'] : '';
32
- $image = !empty( $offer_data['image'] ) ? add_query_arg( array('v' => time()), $offer_data['image'] ) : '';
33
- ?>
34
-
35
- <div class="wpos-anylc-offer-wrap">
36
- <?php if( !empty( $offer_data['name'] ) ) { ?>
37
- <div class="wpos-anylc-offer-title wpos-anylc-center"><?php echo $offer_data['name']; ?></div>
38
- <?php } ?>
39
-
40
- <?php if( $image ) { ?>
41
- <div class="wpos-anylc-offer-body wpos-anylc-center">
42
- <?php if( $link ) { ?>
43
- <a href="<?php echo esc_url( $link ); ?>" target="_blank">
44
- <img src="<?php echo esc_url( $image ); ?>" alt="" />
45
- </a>
46
- <?php } else { ?>
47
- <img src="<?php echo esc_url( $image ); ?>" alt="" />
48
- <?php } ?>
49
- </div>
50
- <?php } ?>
51
-
52
- <?php if( !empty( $offer_data['desc'] ) ) { ?>
53
- <div class="wpos-anylc-offer-desc wpos-anylc-center"><?php echo wpautop( $offer_data['desc'] ); ?></div>
54
- <?php } ?>
55
-
56
- <?php if( !empty( $offer_data['button'] ) ) { ?>
57
- <div class="wpos-anylc-offer-footer wpos-anylc-center"><a href="<?php echo esc_url( $link ); ?>" class="button button-primary button-large wpos-anylc-btn" target="_blank"><?php echo $offer_data['button']; ?></a></div>
58
- <?php } ?>
59
- </div>
60
-
61
- <?php } // End of foreach
62
-
63
- // If no offer to display then redirect to main plugin screen
64
- if( empty( $has_offer ) ) {
65
- $redirect_url = wpos_anylc_pdt_url( $analy_product ); // Redirect URL
66
- ?>
67
- Please Wait... Redirecting to plugin screen. <a href="<?php echo $redirect_url; ?>">Click Here</a> in case you are not auto redirect.
68
- <script type="text/javascript">
69
- window.location = "<?php echo $redirect_url; ?>";
70
- </script>
71
- <?php } ?>
72
-
73
  </div><!-- end .wrap -->
1
+ <?php
2
+ /**
3
+ * Offers Page
4
+ *
5
+ * @package Wpos Analytic
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( !defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+ ?>
13
+ <style type="text/css">
14
+ .notice, .error, div.fs-notice.updated, div.fs-notice.success, div.fs-notice.promotion{display:none !important;}
15
+ </style>
16
+
17
+ <div class="wrap wpos-anylc-offers">
18
+
19
+ <?php foreach ($analy_product['offers'] as $offer_key => $offer_data) {
20
+
21
+ // If status wise offer is there
22
+ if( wpos_anylc_is_multi_arr( $offer_data ) ) {
23
+ $offer_data = isset( $offer_data[ $opt_in ] ) ? $offer_data[ $opt_in ] : false;
24
+ }
25
+
26
+ if( empty( $offer_data ) ) {
27
+ continue;
28
+ }
29
+
30
+ $has_offer = true;
31
+ $link = isset( $offer_data['link'] ) ? $offer_data['link'] : '';
32
+ $image = !empty( $offer_data['image'] ) ? add_query_arg( array('v' => time()), $offer_data['image'] ) : '';
33
+ ?>
34
+
35
+ <div class="wpos-anylc-offer-wrap">
36
+ <?php if( !empty( $offer_data['name'] ) ) { ?>
37
+ <div class="wpos-anylc-offer-title wpos-anylc-center"><?php echo $offer_data['name']; ?></div>
38
+ <?php } ?>
39
+
40
+ <?php if( $image ) { ?>
41
+ <div class="wpos-anylc-offer-body wpos-anylc-center">
42
+ <?php if( $link ) { ?>
43
+ <a href="<?php echo esc_url( $link ); ?>" target="_blank">
44
+ <img src="<?php echo esc_url( $image ); ?>" alt="" />
45
+ </a>
46
+ <?php } else { ?>
47
+ <img src="<?php echo esc_url( $image ); ?>" alt="" />
48
+ <?php } ?>
49
+ </div>
50
+ <?php } ?>
51
+
52
+ <?php if( !empty( $offer_data['desc'] ) ) { ?>
53
+ <div class="wpos-anylc-offer-desc wpos-anylc-center"><?php echo wpautop( $offer_data['desc'] ); ?></div>
54
+ <?php } ?>
55
+
56
+ <?php if( !empty( $offer_data['button'] ) ) { ?>
57
+ <div class="wpos-anylc-offer-footer wpos-anylc-center"><a href="<?php echo esc_url( $link ); ?>" class="button button-primary button-large wpos-anylc-btn" target="_blank"><?php echo $offer_data['button']; ?></a></div>
58
+ <?php } ?>
59
+ </div>
60
+
61
+ <?php } // End of foreach
62
+
63
+ // If no offer to display then redirect to main plugin screen
64
+ if( empty( $has_offer ) ) {
65
+ $redirect_url = wpos_anylc_pdt_url( $analy_product ); // Redirect URL
66
+ ?>
67
+ Please Wait... Redirecting to plugin screen. <a href="<?php echo $redirect_url; ?>">Click Here</a> in case you are not auto redirect.
68
+ <script type="text/javascript">
69
+ window.location = "<?php echo $redirect_url; ?>";
70
+ </script>
71
+ <?php } ?>
72
+
73
  </div><!-- end .wrap -->
wpos-analytics/templates/optout-popup.php CHANGED
@@ -18,7 +18,7 @@ if ( !defined( 'ABSPATH' ) ) {
18
  <div class="wpos-anylc-popup-body">
19
  <p class="wpos-anylc-popup-heading">We appreciate your help to make the plugin better by letting us track some usage data.</p>
20
  <p>Usage tracking is done in the name of making <b><?php echo $module['name']; ?></b> better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking.</p>
21
- <p>By clicking "Opt Out", we will no longer be sending any data from <b><?php echo $module['name']; ?></b> to <a href="https://www.wponlinesupport.com/" target="_blank">wponlinesupport.com</a>.</p>
22
  </div>
23
  <div class="wpos-anylc-popup-footer">
24
  <form method="POST" action="https://analytics.wponlinesupport.com">
18
  <div class="wpos-anylc-popup-body">
19
  <p class="wpos-anylc-popup-heading">We appreciate your help to make the plugin better by letting us track some usage data.</p>
20
  <p>Usage tracking is done in the name of making <b><?php echo $module['name']; ?></b> better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking.</p>
21
+ <p>By clicking "Opt Out", we will no longer be sending any data from <b><?php echo $module['name']; ?></b> to <a href="https://www.essentialplugin.com/" target="_blank">essentialplugin.com</a>.</p>
22
  </div>
23
  <div class="wpos-anylc-popup-footer">
24
  <form method="POST" action="https://analytics.wponlinesupport.com">
wpos-analytics/wpos-analytics.php CHANGED
@@ -1,251 +1,251 @@
1
- <?php
2
- /**
3
- * WPOS Analytics
4
- *
5
- * @author WP Online Support
6
- * @package Wpos Analytic
7
- * @since 1.0
8
- */
9
-
10
- if ( !defined( 'ABSPATH' ) ) {
11
- exit; // Exit if accessed directly
12
- }
13
-
14
- if ( ! class_exists( 'WPOS_Analytics' ) ) :
15
-
16
- /**
17
- * Main Analytics Class By WP Online Support.
18
- *
19
- * @since 1.0
20
- */
21
- final class WPOS_Analytics {
22
-
23
- /**
24
- * @var Instance
25
- * @since 1.0
26
- */
27
- protected static $instance = null;
28
-
29
- /**
30
- * Main Analytics Instance.
31
- *
32
- * Insures that only one instance of Analytics exists in memory at any one time.
33
- * Also prevents needing to define globals all over the place.
34
- *
35
- * @since 1.0
36
- * @uses WPOS_ANYLC::setup_constants() Setup the constants needed.
37
- * @uses WPOS_ANYLC::includes() Include the required files.
38
- * @uses WPOS_ANYLC::wpos_anylc_plugins_loaded() load the language files.
39
- * @see PWPC()
40
- * @return object The one true Analytics
41
- */
42
- public static function instance() {
43
- if ( is_null( self::$instance ) ) {
44
- self::$instance = new self();
45
- }
46
- return self::$instance;
47
- }
48
-
49
- /**
50
- * Throw error on object clone.
51
- *
52
- * The whole idea of the singleton design pattern is that there is a single object therefore, we don't want the object to be cloned.
53
- *
54
- * @since 1.0
55
- * @access protected
56
- * @return void
57
- */
58
- public function __clone() {
59
- // Cloning instances of the class is forbidden.
60
- _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'pwpc' ), '1.0' );
61
- }
62
-
63
- /**
64
- * Disable unserializing of the class.
65
- *
66
- * @since 1.0
67
- * @access protected
68
- * @return void
69
- */
70
- public function __wakeup() {
71
- // Unserializing instances of the class is forbidden.
72
- _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'pwpc' ), '1.0' );
73
- }
74
-
75
- /**
76
- * Plugin Constructor.
77
- */
78
- public function __construct() {
79
- $this->setup_constants();
80
- $this->includes();
81
-
82
- do_action( 'wpos_anylc_loaded' );
83
- }
84
-
85
- /**
86
- * Define constant if not already set.
87
- *
88
- * @param string $name
89
- * @param string|bool $value
90
- */
91
- public function define( $name, $value ) {
92
- if ( ! defined( $name ) ) {
93
- define( $name, $value );
94
- }
95
- }
96
-
97
- /**
98
- * Setup plugin constants. Basic plugin definitions
99
- *
100
- * @access private
101
- * @since 1.0
102
- */
103
- private function setup_constants() {
104
-
105
- $this->define( 'WPOS_ANYLC_VERSION', '1.1' );
106
- $this->define( 'WPOS_ANYLC_DIR', plugin_dir_path( __FILE__ ) );
107
- $this->define( 'WPOS_ANYLC_URL', plugin_dir_url( __FILE__ ) );
108
- }
109
-
110
- /**
111
- * Include required files.
112
- *
113
- * @access private
114
- * @since 1.0
115
- */
116
- private function includes() {
117
-
118
- // Functions file
119
- require_once WPOS_ANYLC_DIR .'/includes/wpos-anylc-function.php';
120
-
121
- // Script Class
122
- require_once WPOS_ANYLC_DIR .'/includes/class-anylc-script.php';
123
-
124
- // Admin Class
125
- require_once WPOS_ANYLC_DIR .'/includes/class-anylc-admin.php';
126
- }
127
- }
128
-
129
- /**
130
- *
131
- * The main function responsible for returning the one true Analytics
132
- * Instance to functions everywhere.
133
- *
134
- * Use this function like you would a global variable, except without needing
135
- * to declare the global.
136
- *
137
- * Example: <?php $wpos_anylc = WPOS_ANYLC(); ?>
138
- *
139
- * @since 1.0
140
- * @return object The one true Analytics Instance.
141
- */
142
- function WPOS_ANYLC() {
143
- return WPOS_Analytics::instance();
144
- }
145
-
146
- /**
147
- *
148
- * Initialize Analytics Module
149
- *
150
- * @since 1.0
151
- * @return object The one true Analytics Instance.
152
- */
153
- function wpos_anylc_init_module( $args = array() ) {
154
-
155
- global $wpos_analytics_module, $wpos_analytics_product;
156
-
157
- $defaul_args = array(
158
- 'id' => null,
159
- 'file' => null,
160
- 'name' => null,
161
- 'slug' => null,
162
- 'type' => 'plugin',
163
- 'menu' => false,
164
- 'icon' => '',
165
- 'text_domain' => 'wpos_analytics',
166
- );
167
-
168
- $args = wp_parse_args( $args, $defaul_args );
169
-
170
- // If required data is not there then simply return
171
- if( empty($args['id']) || empty( $args['file'] ) || empty( $args['slug'] ) ) {
172
- return false;
173
- }
174
-
175
- // Additional args
176
- $promotion = array();
177
- $args['dir'] = pathinfo($args['file'], PATHINFO_DIRNAME);
178
- $args['icon'] = empty( $icon ) ? trailingslashit( WP_PLUGIN_URL ).$args['dir'].'/wpos-analytics/assets/images/icon.png' : $args['icon'];
179
- $args['brand_icon'] = plugin_dir_url( __FILE__ ).'assets/images/wpos-logo.png';
180
- $args['anylc_optin'] = 'wpos_anylc_pdt_'.$args['id'];
181
-
182
- if( isset( $args['promotion'] ) ) {
183
- foreach ($args['promotion'] as $promotion_key => $promotion_data) {
184
- if( empty( $promotion_data['name'] ) || empty( $promotion_data['file'] ) ) {
185
- continue;
186
- }
187
-
188
- $promotion[$promotion_key] = $promotion_data;
189
- }
190
- }
191
- $args['promotion'] = $promotion;
192
-
193
- // Taking some variables
194
- $wpos_analytics_module = !empty( $wpos_analytics_module ) ? $wpos_analytics_module : array();
195
- $wpos_analytics_product = !empty( $wpos_analytics_product ) ? $wpos_analytics_product : array();
196
-
197
- if( is_array( $wpos_analytics_module ) ) {
198
- $wpos_analytics_module[ $args['file'] ] = $args;
199
- }
200
-
201
- if( is_array( $wpos_analytics_product ) ) {
202
- $wpos_analytics_product[ $args['slug'] ] = $args;
203
- }
204
-
205
- return $wpos_analytics_module;
206
- }
207
-
208
- /**
209
- *
210
- * Function on any plugin deactivation
211
- *
212
- * @since 1.0
213
- * @return object The one true Analytics Instance.
214
- */
215
- function wpos_anylc_plugin_activation( $plugin, $network_activation ) {
216
-
217
- // return if activating from network, or bulk
218
- if ( is_network_admin() ) {
219
- return;
220
- }
221
-
222
- global $wpos_analytics_module;
223
-
224
- if( isset( $wpos_analytics_module[ $plugin ] ) ) {
225
-
226
- $opt_in_data = get_option( $wpos_analytics_module[ $plugin ]['anylc_optin'] );
227
- $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
228
-
229
- if( $optin_status == -1 ) {
230
- $redirect_link = add_query_arg( array('page' => $wpos_analytics_module[ $plugin ]['slug']), admin_url('admin.php') );
231
- update_option( 'wpos_anylc_redirect', $redirect_link );
232
- }
233
- }
234
- }
235
- add_action( 'activated_plugin', 'wpos_anylc_plugin_activation', 10, 2 );
236
-
237
- /**
238
- *
239
- * Initialize Analytics Class Once all stuff has been loaded
240
- *
241
- * @since 1.0
242
- * @return object The one true Analytics Instance.
243
- */
244
- function wpos_anylc_plugins_loaded() {
245
-
246
- // Get Analytics Running.
247
- WPOS_ANYLC();
248
- }
249
- add_action( 'plugins_loaded', 'wpos_anylc_plugins_loaded', 12 );
250
-
251
  endif; // End if class_exists check.
1
+ <?php
2
+ /**
3
+ * WPOS Analytics
4
+ *
5
+ * @author WP Online Support
6
+ * @package Wpos Analytic
7
+ * @since 1.0
8
+ */
9
+
10
+ if ( !defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ if ( ! class_exists( 'WPOS_Analytics' ) ) :
15
+
16
+ /**
17
+ * Main Analytics Class By WP Online Support.
18
+ *
19
+ * @since 1.0
20
+ */
21
+ final class WPOS_Analytics {
22
+
23
+ /**
24
+ * @var Instance
25
+ * @since 1.0
26
+ */
27
+ protected static $instance = null;
28
+
29
+ /**
30
+ * Main Analytics Instance.
31
+ *
32
+ * Insures that only one instance of Analytics exists in memory at any one time.
33
+ * Also prevents needing to define globals all over the place.
34
+ *
35
+ * @since 1.0
36
+ * @uses WPOS_ANYLC::setup_constants() Setup the constants needed.
37
+ * @uses WPOS_ANYLC::includes() Include the required files.
38
+ * @uses WPOS_ANYLC::wpos_anylc_plugins_loaded() load the language files.
39
+ * @see PWPC()
40
+ * @return object The one true Analytics
41
+ */
42
+ public static function instance() {
43
+ if ( is_null( self::$instance ) ) {
44
+ self::$instance = new self();
45
+ }
46
+ return self::$instance;
47
+ }
48
+
49
+ /**
50
+ * Throw error on object clone.
51
+ *
52
+ * The whole idea of the singleton design pattern is that there is a single object therefore, we don't want the object to be cloned.
53
+ *
54
+ * @since 1.0
55
+ * @access protected
56
+ * @return void
57
+ */
58
+ public function __clone() {
59
+ // Cloning instances of the class is forbidden.
60
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'pwpc' ), '1.0' );
61
+ }
62
+
63
+ /**
64
+ * Disable unserializing of the class.
65
+ *
66
+ * @since 1.0
67
+ * @access protected
68
+ * @return void
69
+ */
70
+ public function __wakeup() {
71
+ // Unserializing instances of the class is forbidden.
72
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'pwpc' ), '1.0' );
73
+ }
74
+
75
+ /**
76
+ * Plugin Constructor.
77
+ */
78
+ public function __construct() {
79
+ $this->setup_constants();
80
+ $this->includes();
81
+
82
+ do_action( 'wpos_anylc_loaded' );
83
+ }
84
+
85
+ /**
86
+ * Define constant if not already set.
87
+ *
88
+ * @param string $name
89
+ * @param string|bool $value
90
+ */
91
+ public function define( $name, $value ) {
92
+ if ( ! defined( $name ) ) {
93
+ define( $name, $value );
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Setup plugin constants. Basic plugin definitions
99
+ *
100
+ * @access private
101
+ * @since 1.0
102
+ */
103
+ private function setup_constants() {
104
+
105
+ $this->define( 'WPOS_ANYLC_VERSION', '1.1' );
106
+ $this->define( 'WPOS_ANYLC_DIR', plugin_dir_path( __FILE__ ) );
107
+ $this->define( 'WPOS_ANYLC_URL', plugin_dir_url( __FILE__ ) );
108
+ }
109
+
110
+ /**
111
+ * Include required files.
112
+ *
113
+ * @access private
114
+ * @since 1.0
115
+ */
116
+ private function includes() {
117
+
118
+ // Functions file
119
+ require_once WPOS_ANYLC_DIR .'/includes/wpos-anylc-function.php';
120
+
121
+ // Script Class
122
+ require_once WPOS_ANYLC_DIR .'/includes/class-anylc-script.php';
123
+
124
+ // Admin Class
125
+ require_once WPOS_ANYLC_DIR .'/includes/class-anylc-admin.php';
126
+ }
127
+ }
128
+
129
+ /**
130
+ *
131
+ * The main function responsible for returning the one true Analytics
132
+ * Instance to functions everywhere.
133
+ *
134
+ * Use this function like you would a global variable, except without needing
135
+ * to declare the global.
136
+ *
137
+ * Example: <?php $wpos_anylc = WPOS_ANYLC(); ?>
138
+ *
139
+ * @since 1.0
140
+ * @return object The one true Analytics Instance.
141
+ */
142
+ function WPOS_ANYLC() {
143
+ return WPOS_Analytics::instance();
144
+ }
145
+
146
+ /**
147
+ *
148
+ * Initialize Analytics Module
149
+ *
150
+ * @since 1.0
151
+ * @return object The one true Analytics Instance.
152
+ */
153
+ function wpos_anylc_init_module( $args = array() ) {
154
+
155
+ global $wpos_analytics_module, $wpos_analytics_product;
156
+
157
+ $defaul_args = array(
158
+ 'id' => null,
159
+ 'file' => null,
160
+ 'name' => null,
161
+ 'slug' => null,
162
+ 'type' => 'plugin',
163
+ 'menu' => false,
164
+ 'icon' => '',
165
+ 'text_domain' => 'wpos_analytics',
166
+ );
167
+
168
+ $args = wp_parse_args( $args, $defaul_args );
169
+
170
+ // If required data is not there then simply return
171
+ if( empty($args['id']) || empty( $args['file'] ) || empty( $args['slug'] ) ) {
172
+ return false;
173
+ }
174
+
175
+ // Additional args
176
+ $promotion = array();
177
+ $args['dir'] = pathinfo($args['file'], PATHINFO_DIRNAME);
178
+ $args['icon'] = empty( $icon ) ? trailingslashit( WP_PLUGIN_URL ).$args['dir'].'/wpos-analytics/assets/images/icon.png' : $args['icon'];
179
+ $args['brand_icon'] = plugin_dir_url( __FILE__ ).'assets/images/wpos-logo.png';
180
+ $args['anylc_optin'] = 'wpos_anylc_pdt_'.$args['id'];
181
+
182
+ if( isset( $args['promotion'] ) ) {
183
+ foreach ($args['promotion'] as $promotion_key => $promotion_data) {
184
+ if( empty( $promotion_data['name'] ) || empty( $promotion_data['file'] ) ) {
185
+ continue;
186
+ }
187
+
188
+ $promotion[$promotion_key] = $promotion_data;
189
+ }
190
+ }
191
+ $args['promotion'] = $promotion;
192
+
193
+ // Taking some variables
194
+ $wpos_analytics_module = !empty( $wpos_analytics_module ) ? $wpos_analytics_module : array();
195
+ $wpos_analytics_product = !empty( $wpos_analytics_product ) ? $wpos_analytics_product : array();
196
+
197
+ if( is_array( $wpos_analytics_module ) ) {
198
+ $wpos_analytics_module[ $args['file'] ] = $args;
199
+ }
200
+
201
+ if( is_array( $wpos_analytics_product ) ) {
202
+ $wpos_analytics_product[ $args['slug'] ] = $args;
203
+ }
204
+
205
+ return $wpos_analytics_module;
206
+ }
207
+
208
+ /**
209
+ *
210
+ * Function on any plugin deactivation
211
+ *
212
+ * @since 1.0
213
+ * @return object The one true Analytics Instance.
214
+ */
215
+ function wpos_anylc_plugin_activation( $plugin, $network_activation ) {
216
+
217
+ // return if activating from network, or bulk
218
+ if ( is_network_admin() ) {
219
+ return;
220
+ }
221
+
222
+ global $wpos_analytics_module;
223
+
224
+ if( isset( $wpos_analytics_module[ $plugin ] ) ) {
225
+
226
+ $opt_in_data = get_option( $wpos_analytics_module[ $plugin ]['anylc_optin'] );
227
+ $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
228
+
229
+ if( $optin_status == -1 ) {
230
+ $redirect_link = add_query_arg( array('page' => $wpos_analytics_module[ $plugin ]['slug']), admin_url('admin.php') );
231
+ update_option( 'wpos_anylc_redirect', $redirect_link );
232
+ }
233
+ }
234
+ }
235
+ add_action( 'activated_plugin', 'wpos_anylc_plugin_activation', 10, 2 );
236
+
237
+ /**
238
+ *
239
+ * Initialize Analytics Class Once all stuff has been loaded
240
+ *
241
+ * @since 1.0
242
+ * @return object The one true Analytics Instance.
243
+ */
244
+ function wpos_anylc_plugins_loaded() {
245
+
246
+ // Get Analytics Running.
247
+ WPOS_ANYLC();
248
+ }
249
+ add_action( 'plugins_loaded', 'wpos_anylc_plugins_loaded', 12 );
250
+
251
  endif; // End if class_exists check.
wpos-plugins/assets/images/essentialplugin-logo.png ADDED
Binary file
wpos-plugins/assets/images/wponlinesupport-logo.png DELETED
Binary file
wpos-plugins/includes/admin/class-espbw-admin.php CHANGED
@@ -33,7 +33,7 @@ class WPOS_ESPBW_Admin {
33
  foreach ($wpos_espbw_module as $module_key => $module_val) {
34
 
35
  // Dashboard Page
36
- add_submenu_page( $module_val['menu'], __('Essential Plugins Bundle By WP OnlineSuport', 'espbw'), '<span style="color:#ff6600;">'.__('Install Popular Plugins From WPOS', 'espbw').'</span>', 'manage_options', "{$module_val['prefix']}-espbw-dashboard", array($this, 'espbw_dashboard_page'), $module_val['position'] );
37
  }
38
  }
39
  }
33
  foreach ($wpos_espbw_module as $module_key => $module_val) {
34
 
35
  // Dashboard Page
36
+ add_submenu_page( $module_val['menu'], __('Essential Plugins Bundle By WP OnlineSuport', 'espbw'), '<span style="color:#2ECC71;">'.__('Install Popular Plugins From WPOS', 'espbw').'</span>', 'manage_options', "{$module_val['prefix']}-espbw-dashboard", array($this, 'espbw_dashboard_page'), $module_val['position'] );
37
  }
38
  }
39
  }
wpos-plugins/includes/admin/views/dashboard.php CHANGED
@@ -55,8 +55,8 @@ if( ! current_user_can('install_plugins') ) {
55
 
56
  <div class="espbw-dashboard-title">
57
  <div class="espbw-dashboard-title-inr">
58
- <div class="espbw-dashboard-logo"><a href="https://www.wponlinesupport.com/?utm_source=wp&utm_medium=plugin&utm_campaign=essential-bundle" target="_blank"><img src="<?php echo esc_url( WPOS_ESPBW_URL ); ?>assets/images/wponlinesupport-logo.png" alt="wponlinesupport" /></a></div>
59
- <h3 style="text-align:center;"><?php _e( 'Essential Plugins', 'espbw' ); ?></h3>
60
  <em class="wpos-em">Installs directly from <b>wordpress.org</b> repository</em> <br />
61
  </div>
62
  </div>
@@ -66,7 +66,7 @@ if( ! current_user_can('install_plugins') ) {
66
  <ul class="filter-links espbw-filter-links">
67
  <li class="espbw-plugin-all"><a href="javascript:void(0);" class="espbw-filter-link current"><?php esc_html_e('All Essential Plugins', 'espbw'); ?></a></li>
68
  <li class="espbw-plugin-recommended"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="recommended"><?php esc_html_e('Utility Plugins', 'espbw'); ?></a></li>
69
- <li class="espbw-plugin-marketing"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="marketing"><?php esc_html_e('Inbound Marketing', 'espbw'); ?></a></li>
70
  <li class="espbw-plugin-sliders"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="sliders"><?php esc_html_e('Sliders', 'espbw'); ?></a></li>
71
  <li class="espbw-plugin-woo"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="woocommerce"><?php esc_html_e('WooCommerce', 'espbw'); ?></a></li>
72
  </ul>
55
 
56
  <div class="espbw-dashboard-title">
57
  <div class="espbw-dashboard-title-inr">
58
+ <div class="espbw-dashboard-logo"><a href="<?php echo WPRPS_SITE_LINK; ?>/?utm_source=wp&utm_medium=plugin&utm_campaign=essential-bundle" target="_blank"><img src="<?php echo esc_url( WPOS_ESPBW_URL ); ?>assets/images/essentialplugin-logo.png" alt="essentialplugin" /></a></div>
59
+ <h3 style="text-align:center;"><?php _e( 'Essential Plugin', 'espbw' ); ?></h3>
60
  <em class="wpos-em">Installs directly from <b>wordpress.org</b> repository</em> <br />
61
  </div>
62
  </div>
66
  <ul class="filter-links espbw-filter-links">
67
  <li class="espbw-plugin-all"><a href="javascript:void(0);" class="espbw-filter-link current"><?php esc_html_e('All Essential Plugins', 'espbw'); ?></a></li>
68
  <li class="espbw-plugin-recommended"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="recommended"><?php esc_html_e('Utility Plugins', 'espbw'); ?></a></li>
69
+ <!-- <li class="espbw-plugin-marketing"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="marketing"><?php //esc_html_e('Inbound Marketing', 'espbw'); ?></a></li> -->
70
  <li class="espbw-plugin-sliders"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="sliders"><?php esc_html_e('Sliders', 'espbw'); ?></a></li>
71
  <li class="espbw-plugin-woo"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="woocommerce"><?php esc_html_e('WooCommerce', 'espbw'); ?></a></li>
72
  </ul>