Version Description
(17, May 2022) = * [*] Tested up to: 6.0
Download this release
Release Info
Developer | wponlinesupport |
Plugin | 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
- assets/css/wppsac-admin-style.css +78 -1
- assets/images/SlidersPack-50.png +0 -0
- assets/images/beaver-icon.png +0 -0
- assets/images/divi-icon.png +0 -0
- assets/images/elementor-icon.png +0 -0
- assets/images/essential-plugin-logo.png +0 -0
- assets/images/fb-icon.png +0 -0
- assets/images/g-logo.png +0 -0
- assets/images/gutenberg-icon.png +0 -0
- assets/images/inboundwp-50.png +0 -0
- assets/images/page-builder-icon.png +0 -0
- assets/images/page-builder-support.jpg +0 -0
- assets/images/popup-anything-icon.png +0 -0
- assets/images/popup-icon/14-days-money-back-guarantee.png +0 -0
- assets/images/popup-icon/centermode.png +0 -0
- assets/images/popup-icon/grid-box.png +0 -0
- assets/images/popup-icon/popup-design.png +0 -0
- assets/images/popup-icon/slider-carousel.png +0 -0
- assets/images/popup-icon/slider.png +0 -0
- assets/images/rating.png +0 -0
- assets/images/security-icon.png +0 -0
- assets/images/site-origin-icon.png +0 -0
- assets/images/utility-50.png +0 -0
- assets/images/vc-icon.png +0 -0
- assets/images/wordpress-icon-logo.png +0 -0
- assets/images/wpbakery-icon.png +0 -0
- assets/images/wpos-team.png +0 -0
- assets/js/blocks.build.js +1 -1
- includes/admin/class-wprps-admin.php +93 -4
- includes/admin/settings/premium.php +210 -173
- includes/admin/settings/solutions-features.php +190 -0
- includes/admin/settings/trail-premium.php +301 -0
- includes/admin/supports/gutenberg-block.php +5 -5
- includes/admin/wprps-how-it-work.php +32 -26
- includes/class-wppsac-script.php +5 -0
- languages/wp-responsive-recent-post-slider-en_US-wprps-free-block-js.json +1 -1
- languages/wp-responsive-recent-post-slider.pot +147 -556
- readme.txt +57 -14
- wp-recent-post-slider.php +34 -6
- wpos-analytics/assets/images/wpos-logo.png +0 -0
- wpos-analytics/assets/js/wpos-anylc-admin.js +42 -42
- wpos-analytics/includes/class-anylc-admin.php +459 -459
- wpos-analytics/includes/class-anylc-script.php +64 -64
- wpos-analytics/includes/wpos-anylc-function.php +330 -328
- wpos-analytics/templates/analytic.php +93 -93
- wpos-analytics/templates/offers.php +72 -72
- wpos-analytics/templates/optout-popup.php +1 -1
- wpos-analytics/wpos-analytics.php +250 -250
- wpos-plugins/assets/images/essentialplugin-logo.png +0 -0
- wpos-plugins/assets/images/wponlinesupport-logo.png +0 -0
- wpos-plugins/includes/admin/class-espbw-admin.php +1 -1
- 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
|
|
|
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
|
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:
|
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: #
|
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: #
|
56 |
-
|
|
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
|
|
85 |
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
|
|
|
|
|
|
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> & <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 & 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'
|
19 |
-
'free_demo_link'
|
20 |
-
'pro_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( '
|
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 |
-
|
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="
|
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.
|
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:
|
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 |
-
#:
|
19 |
-
|
20 |
-
msgid "Thank you for activating %s"
|
21 |
msgstr ""
|
22 |
|
23 |
-
#:
|
24 |
-
|
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/
|
32 |
-
|
33 |
-
msgid "Design 1"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#: includes/
|
37 |
-
msgid "
|
38 |
msgstr ""
|
39 |
|
40 |
-
|
41 |
-
msgid "
|
|
|
|
|
|
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: includes/
|
45 |
-
msgid "
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: includes/admin/
|
49 |
-
msgid "
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: includes/admin/
|
53 |
-
msgid "
|
54 |
msgstr ""
|
55 |
|
56 |
-
#:
|
57 |
-
|
|
|
|
|
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:
|
65 |
-
msgid "
|
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:
|
117 |
-
msgid "
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: includes/
|
121 |
-
msgid "
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: includes/
|
125 |
-
msgid "
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: includes/
|
129 |
-
msgid "
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: includes/
|
133 |
-
msgid "
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: includes/admin/wprps-how-it-work.php:
|
137 |
msgid ""
|
138 |
-
"
|
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:
|
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:
|
213 |
-
msgid ""
|
214 |
-
"Divi Page Builder Native Support. <span class=\"wpos-new-feature\">New</span>"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: includes/admin/
|
218 |
-
msgid "
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: includes/admin/wprps-how-it-work.php:
|
222 |
-
msgid "
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: includes/admin/wprps-how-it-work.php:
|
226 |
msgid "Fully responsive"
|
227 |
msgstr ""
|
228 |
|
229 |
#: includes/admin/wprps-how-it-work.php:176
|
230 |
-
msgid "
|
|
|
|
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: includes/admin/wprps-how-it-work.php:
|
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:
|
240 |
-
msgid "
|
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 |
-
#:
|
480 |
-
msgid "
|
481 |
msgstr ""
|
482 |
|
483 |
-
#:
|
484 |
-
msgid "
|
485 |
msgstr ""
|
486 |
|
487 |
-
#:
|
488 |
msgid ""
|
489 |
-
"
|
490 |
-
"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: assets/js/blocks.build.js:1
|
494 |
-
msgid "Slider Lazyload"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#:
|
498 |
-
msgid "
|
499 |
msgstr ""
|
500 |
|
501 |
-
#:
|
502 |
-
msgid "
|
503 |
msgstr ""
|
504 |
|
505 |
-
#:
|
506 |
-
msgid "
|
507 |
msgstr ""
|
508 |
|
509 |
-
#:
|
510 |
-
msgid ""
|
511 |
-
"Note: Be sure you have added valid post type name otherwise no result will "
|
512 |
-
"be displayed."
|
513 |
msgstr ""
|
514 |
|
515 |
-
#:
|
516 |
-
msgid ""
|
517 |
-
"Enter registered post type name. You can find it on plugin setting page."
|
518 |
msgstr ""
|
519 |
|
520 |
-
|
521 |
-
msgid "
|
522 |
msgstr ""
|
523 |
|
524 |
-
|
525 |
msgid ""
|
526 |
-
"
|
527 |
-
"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#:
|
531 |
-
|
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 |
-
"
|
549 |
-
|
550 |
-
|
551 |
-
#: assets/js/blocks.build.js:1
|
552 |
-
msgid "Order"
|
553 |
msgstr ""
|
554 |
|
555 |
-
#:
|
556 |
-
msgid ""
|
557 |
-
"Choose option to set post in acesding and descending order. Upgarade to "
|
558 |
msgstr ""
|
559 |
|
560 |
-
#:
|
561 |
-
msgid "
|
562 |
msgstr ""
|
563 |
|
564 |
-
#:
|
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 |
-
#:
|
571 |
-
|
|
|
|
|
572 |
msgstr ""
|
573 |
|
574 |
-
#:
|
575 |
-
msgid "
|
576 |
msgstr ""
|
577 |
|
578 |
-
#:
|
579 |
-
msgid ""
|
580 |
-
"If you are using parent category then whether to display child category or "
|
581 |
-
"not. Upgarade to "
|
582 |
msgstr ""
|
583 |
|
584 |
-
#:
|
585 |
-
msgid "
|
586 |
msgstr ""
|
587 |
|
588 |
-
#:
|
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 |
-
#:
|
596 |
-
msgid "
|
597 |
msgstr ""
|
598 |
|
599 |
-
#:
|
600 |
-
|
601 |
-
"
|
602 |
-
"post listing page."
|
603 |
msgstr ""
|
604 |
|
605 |
-
#:
|
606 |
-
msgid "
|
607 |
msgstr ""
|
608 |
|
609 |
-
#:
|
610 |
-
msgid "
|
611 |
msgstr ""
|
612 |
|
613 |
-
#:
|
614 |
-
msgid "
|
615 |
msgstr ""
|
616 |
|
617 |
-
#:
|
618 |
-
msgid "
|
619 |
msgstr ""
|
620 |
|
621 |
-
#:
|
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 |
-
#:
|
628 |
-
msgid "
|
629 |
msgstr ""
|
630 |
|
631 |
-
#:
|
632 |
msgid ""
|
633 |
-
"
|
634 |
-
"
|
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 |
-
#:
|
643 |
msgid ""
|
644 |
-
"
|
645 |
-
"
|
646 |
-
msgstr ""
|
647 |
-
|
648 |
-
#: assets/js/blocks.build.js:1
|
649 |
-
msgid "Query Offset"
|
650 |
msgstr ""
|
651 |
|
652 |
-
#:
|
653 |
msgid ""
|
654 |
-
"
|
655 |
-
"
|
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 |
-
#:
|
671 |
-
|
|
|
672 |
msgstr ""
|
673 |
|
674 |
-
#:
|
675 |
-
msgid "
|
676 |
msgstr ""
|
677 |
|
678 |
-
#:
|
679 |
-
msgid "
|
680 |
msgstr ""
|
681 |
|
682 |
-
#:
|
683 |
-
msgid "
|
684 |
msgstr ""
|
685 |
|
686 |
-
#:
|
687 |
-
msgid "
|
688 |
msgstr ""
|
689 |
|
690 |
-
#:
|
691 |
-
msgid "
|
692 |
msgstr ""
|
693 |
|
694 |
-
|
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 |
-
#:
|
701 |
-
msgid "WP Responsive Recent Post Slider
|
702 |
msgstr ""
|
703 |
|
704 |
#. Name of the plugin
|
705 |
msgid "WP Responsive Recent Post Slider/Carousel"
|
706 |
msgstr ""
|
707 |
|
708 |
-
|
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 |
-
|
720 |
-
msgid "
|
721 |
msgstr ""
|
722 |
|
723 |
-
|
724 |
-
msgid "
|
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:
|
6 |
-
Stable tag:
|
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 |
-
|
|
|
|
|
15 |
|
16 |
This plugin displays your recent WordPress posts using :
|
17 |
|
18 |
* Posts Slider (4 designs),
|
19 |
* Posts Carousel (1 designs)
|
20 |
|
21 |
-
|
|
|
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 |
-
>
|
|
|
|
|
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.
|
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:
|
10 |
-
* Author URI: https://www.
|
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', '
|
|
|
|
|
|
|
|
|
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.
|
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
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
|
|
|
|
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.
|
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.
|
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.
|
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’ 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’ 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’ 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’ 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:#
|
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="
|
59 |
-
<h3 style="text-align:center;"><?php _e( 'Essential
|
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>
|