WP Logo Showcase Responsive Slider - Version 3.1.4

Version Description

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

Download this release

Release Info

Developer wponlinesupport
Plugin Icon 128x128 WP Logo Showcase Responsive Slider
Version 3.1.4
Comparing to
See all releases

Code changes from version 2.9.2 to 3.1.4

Files changed (61) hide show
  1. assets/css/logo-showcase-admin.css +81 -1
  2. wpos-plugins/assets/images/sliderspack.png → assets/images/SlidersPack-50.png +0 -0
  3. assets/images/center-mode.png +0 -0
  4. assets/images/drawing-customers-attention.png +0 -0
  5. assets/images/easy-to-represent.png +0 -0
  6. assets/images/essential-plugin-logo.png +0 -0
  7. assets/images/fb-icon.png +0 -0
  8. assets/images/g-logo.png +0 -0
  9. assets/images/inboundwp-50.png +0 -0
  10. assets/images/model-popup.png +0 -0
  11. assets/images/page-builder-icon.png +0 -0
  12. assets/images/page-builder-support.jpg +0 -0
  13. assets/images/popup-anything-icon.png +0 -0
  14. assets/images/popup-icon/14-days-money-back-guarantee.png +0 -0
  15. assets/images/popup-icon/center-mode.png +0 -0
  16. assets/images/popup-icon/filter.png +0 -0
  17. assets/images/popup-icon/grid.png +0 -0
  18. assets/images/popup-icon/list.png +0 -0
  19. assets/images/popup-icon/popup-design.png +0 -0
  20. assets/images/popup-icon/slider-carousel.png +0 -0
  21. assets/images/rating.png +0 -0
  22. assets/images/security-icon.png +0 -0
  23. assets/images/utility-50.png +0 -0
  24. assets/images/wordpress-icon-logo.png +0 -0
  25. assets/images/wpos-team.png +0 -0
  26. assets/js/blocks.build.js +1 -1
  27. includes/admin/class-wpls-admin.php +105 -12
  28. includes/admin/metabox/wpls-post-setting-metabox-pro.php +7 -7
  29. includes/admin/metabox/wpls-post-setting-metabox.php +4 -4
  30. includes/admin/settings/how-it-work.php +33 -27
  31. includes/admin/settings/premium.php +35 -27
  32. includes/admin/settings/solutions-features.php +311 -0
  33. includes/admin/settings/trail-premium.php +301 -0
  34. includes/admin/supports/gutenberg-block.php +3 -3
  35. languages/wp-logo-showcase-responsive-slider-slider-en_US-wpls-free-block-js.json +1 -1
  36. languages/wp-logo-showcase-responsive-slider-slider.pot +180 -71
  37. logo-showcase.php +29 -19
  38. readme.txt +65 -12
  39. wpos-analytics/assets/images/wpos-logo.png +0 -0
  40. wpos-analytics/assets/js/wpos-anylc-admin.js +42 -42
  41. wpos-analytics/includes/class-anylc-admin.php +459 -459
  42. wpos-analytics/includes/class-anylc-script.php +64 -64
  43. wpos-analytics/includes/wpos-anylc-function.php +330 -328
  44. wpos-analytics/templates/analytic.php +93 -93
  45. wpos-analytics/templates/offers.php +72 -72
  46. wpos-analytics/templates/optout-popup.php +1 -1
  47. wpos-analytics/wpos-analytics.php +250 -250
  48. wpos-plugins/assets/css/admin-style.css +0 -22
  49. wpos-plugins/assets/images/cart-2.png +0 -0
  50. wpos-plugins/assets/images/essential-plugin-16.png +0 -0
  51. wpos-plugins/assets/images/essential-plugin-50.png +0 -0
  52. wpos-plugins/assets/images/inbound50-by-50.png +0 -0
  53. wpos-plugins/assets/images/utility-icon.png +0 -0
  54. wpos-plugins/assets/images/wponlinesupport-logo.png +0 -0
  55. wpos-plugins/assets/js/admin-script.js +0 -76
  56. wpos-plugins/includes/admin/class-espbw-admin.php +0 -51
  57. wpos-plugins/includes/admin/views/dashboard.php +0 -326
  58. wpos-plugins/includes/class-espbw-script.php +0 -57
  59. wpos-plugins/includes/espbw-functions.php +0 -258
  60. wpos-plugins/plugins-data.json +0 -1
  61. wpos-plugins/wpos-recommendation.php +0 -187
assets/css/logo-showcase-admin.css CHANGED
@@ -1,3 +1,5 @@
 
 
1
  .wpls-pro-tag {padding: 4px 7px 4px 5px;background-color:#cdd9f3;color: #1e2b48; position: relative; font-size: 10px; margin: 0 10px; display: inline-block; line-height: 1.1;}
2
  .wpls-pro-tag::before { content: ""; left: -10px; top: 0; border-top: 10px solid transparent;border-right: 10px solid #cdd9f3;border-bottom: 10px solid transparent; position: absolute;}
3
  .wpls-pro-feature { opacity: 0.5;}
@@ -14,4 +16,82 @@
14
 
15
  /* Builder Shortcode Preview */
16
  .wpls-builder-shrt-prev{background-color: #e7e7e7; padding: 10px; border: 1px solid #ccc; font-size: 15px;text-align: center;}
17
- .wpls-builder-shrt-title span{border-bottom: 1px solid #999; display: inline-block; padding: 0 0 5px 0;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* General CSS */
2
+ .wpls-center{text-align: center;}
3
  .wpls-pro-tag {padding: 4px 7px 4px 5px;background-color:#cdd9f3;color: #1e2b48; position: relative; font-size: 10px; margin: 0 10px; display: inline-block; line-height: 1.1;}
4
  .wpls-pro-tag::before { content: ""; left: -10px; top: 0; border-top: 10px solid transparent;border-right: 10px solid #cdd9f3;border-bottom: 10px solid transparent; position: absolute;}
5
  .wpls-pro-feature { opacity: 0.5;}
16
 
17
  /* Builder Shortcode Preview */
18
  .wpls-builder-shrt-prev{background-color: #e7e7e7; padding: 10px; border: 1px solid #ccc; font-size: 15px;text-align: center;}
19
+ .wpls-builder-shrt-title span{border-bottom: 1px solid #999; display: inline-block; padding: 0 0 5px 0;}
20
+
21
+ /************** Start - Solutions & Features Page CSS ****************/
22
+ .wpls-sf-center{text-align:center;}
23
+ .logoshowcase_page_wpls-solutions-features #wpwrap { background: #f7faff;}
24
+ .wpls-sf-wrap{max-width: 860px;margin: 0 auto;}
25
+ .wpls-sf-heading{font-size: 28px;font-weight: 700;letter-spacing: -1px;text-align: center;margin-top: 30px; margin-bottom:5px;}
26
+ .wpls-sf-image{margin:25px 0 15px 0;}
27
+ .wpls-sf-cont {color: #000; font-size:15px;}
28
+ .wpls-sf-top-rsn p, .wpls-sf-sf-testimonial-wrap p{color: #000; font-size:15px;}
29
+ .wpls-sf-left{text-align:left;}
30
+ .wpls-sf-feature__text h3{font-size: 22px;font-weight: 700;margin:0;}
31
+ .wpls-sf-solutions-box-grid {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;
32
+ flex-direction: column;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
33
+ .wpls-sf-team{margin-bottom:50px; border-radius: 10px;border: 1px solid #e5ecf6; padding:10px 30px 30px 30px;}
34
+ .wpls-sf-blue{color:#6c63ff; font-weight:bold;}
35
+ .logoshowcase_page_wpls-solutions-features #wpcontent{padding: 0 0 40px; line-height: normal;}
36
+ .wpls-sf-wrap .wpls-sf-inr{padding: 30px 40px 0;}
37
+ .wpls-sf-wrap .wpls-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; }
38
+ .wpls-sf-welcome-wrap{margin-top:30px;}
39
+
40
+ .wpls-sf-subtitle{color: #6c7781; font-size: 16px; font-weight: 600; margin-bottom: 6px;}
41
+ .wpls-sf-title{font-size: 32px; font-weight: 600; color: #23282d; margin-top: 0; margin-bottom: 20px;}
42
+ .wpls-sf-ttl{font-size: 23px; font-weight: 600; color: #23282d; margin-top: 0; margin-bottom: 20px;}
43
+ .wpls-sf-content{margin: 0 0 20px; font-size: 22px; color: #646970;}
44
+ .wpls-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;}
45
+ .wpls-sf-btn-orange{ background-color: #FF1000; border-color: #FF1000 ;}
46
+ .wpls-sf-btn:hover,
47
+ .wpls-sf-btn:focus{background-color: #3fa548; border-color: #3fa548;}
48
+ .wpls-sf-btn-orange:hover,
49
+ .wpls-sf-btn-orange:focus {background-color: #D01003 ; border-color: #D01003 ;}
50
+ .wpls-sf-fp-ttl{font-size: 23px; line-height: 1.4em; margin-bottom: 10px; font-weight: 600; text-align: center;}
51
+ .wpls-sf-fp-box-wrp{display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 10px;}
52
+ .wpls-sf-fp-box-wrp .wpls-sf-fp-box{position: relative; border: 1px solid #c3e6cb; padding: 10px; text-align: center;}
53
+ .wpls-sf-fp-box-wrp .wpls-sf-pro-box{border: 1px solid #f5c6cb;}
54
+ .wpls-sf-fp-box-wrp>*{flex: 0 0 26.8%;}
55
+ .wpls-sf-fp-box-wrp i.dashicons{font-size: 25px; display: inline-block; color: #528bfa; width: 30px; height: 30px; line-height: 30px;}
56
+ .wpls-sf-fp-box-wrp .wpls-sf-box-ttl{font-size: 16px;}
57
+ .wpls-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; }
58
+ .wpls-sf-pro-box .wpls-sf-tag{background-color: #f8d7da; color: #721c24;}
59
+
60
+ .wpls-rc-wrap{max-width: 550px; margin: 15px auto 0 auto; text-align: left;}
61
+ .wpls-rc-wrap .wpls-rc-inr{display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 15px;}
62
+ .wpls-rc-wrap .wpls-rc-icon{margin-right: 15px; width: 60px; height: 60px;}
63
+ .wpls-rc-wrap .wpls-rc-icon img{width: 100%; height: 100%;}
64
+ .wpls-rc-wrap .wpls-rc-inr h3{font-size: 16px; margin: 0 0 5px 0;}
65
+ .wpls-rc-wrap .wpls-rc-inr p{margin: 0;}
66
+ .wpls-rc-wrap .wpls-rc-bg-box{ background-color:#f1f1f1; border: 1px solid #d1d1d1; padding: 5px 10px; }
67
+
68
+ .wpls-solutions-section{margin-bottom: 20px;}
69
+ .wpls-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;}
70
+ .wpls-solutions-box-wrap>*{flex: 1 0 21%;}
71
+
72
+ .wpls-solutions-box-wrap .wpls-box-ttl{background-color: #cce5ff; color: #004085; font-size: 16px; padding: 10px;}
73
+ .wpls-solutions-box-wrap ul{padding: 0 10px; margin: 0;}
74
+ .wpls-solutions-box-wrap ul li{position: relative; font-size: 14px; border-bottom: 1px solid #e7e7e7; margin: 0; padding: 8px 0;}
75
+ .wpls-solutions-box-wrap ul li:last-child{border-bottom: none;}
76
+
77
+ .wpls-sf-welcome-wrap{margin-top:30px;}
78
+ .wpls-sf-features-ttl{margin-top:45px; margin-bottom: 15px;}
79
+ .wpls-sf-features-ttl h2{margin-bottom: 5px; color: #155724;}
80
+ .wpls-features-section .wpls-features-section-inr{padding: 15px 30px; margin-bottom:30px; text-align:center;}
81
+ .wpls-features-section ul.wpls-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;}
82
+ ul.wpls-features-box-grid>*{flex: 1 0 30%; text-align:center; font-size:13px; font-weight:bold;}
83
+ ul.wpls-features-box-grid li{border:1px solid #f1f1f1; padding:10px 0;}
84
+ ul.wpls-features-box-grid li img{width:100%;}
85
+
86
+ .bg-highlight{background:#bde1f9;color:#000;padding: 0 5px; display:inline-block;}
87
+ .wpls-testimonial-section-inr{text-align:center;}
88
+ .wpls-testimonial-box-wrap{margin-bottom:15px;}
89
+ .wpls-testimonial-box-wrap{display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 15px;}
90
+ .wpls-testimonial-box-wrap>*{flex: 1 0 21%;}
91
+ .wpls-testimonial-box-wrap .wpls-testimonial-box-grid{border: 1px solid #ddd;background:#fff; box-shadow: 0 3px 2px rgba(0,0,0,.05);
92
+ padding: 30px;text-align: center;display: flex;flex-direction: column;align-items: center;}
93
+ .wpls-testimonial-box-wrap h3{margin-top:0px;}
94
+ .wpls-testimonial-clnt{margin:15px 0 0 0; font-size:16px; font-weight:bold;}
95
+
96
+ /************** End - Solutions & Features Page CSS ****************/
97
+
wpos-plugins/assets/images/sliderspack.png → assets/images/SlidersPack-50.png RENAMED
Binary file
assets/images/center-mode.png ADDED
Binary file
assets/images/drawing-customers-attention.png ADDED
Binary file
assets/images/easy-to-represent.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/inboundwp-50.png ADDED
Binary file
assets/images/model-popup.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/center-mode.png ADDED
Binary file
assets/images/popup-icon/filter.png ADDED
Binary file
assets/images/popup-icon/grid.png ADDED
Binary file
assets/images/popup-icon/list.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/rating.png ADDED
Binary file
assets/images/security-icon.png ADDED
Binary file
assets/images/utility-50.png ADDED
Binary file
assets/images/wordpress-icon-logo.png ADDED
Binary file
assets/images/wpos-team.png ADDED
Binary file
assets/js/blocks.build.js CHANGED
@@ -1 +1 @@
1
- !function(e){function s(l){if(o[l])return o[l].exports;var t=o[l]={i:l,l:!1,exports:{}};return e[l].call(t.exports,t,t.exports,s),t.l=!0,t.exports}var o={};s.m=e,s.c=o,s.d=function(e,o,l){s.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:l})},s.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(o,"a",o),o},s.o=function(e,s){return Object.prototype.hasOwnProperty.call(e,s)},s.p="",s(s.s=0)}([function(e,s,o){"use strict";Object.defineProperty(s,"__esModule",{value:!0});o(1)},function(e,s,o){"use strict";var l=o(2),t=(o.n(l),o(3)),r=(o.n(t),o(4)),__=wp.i18n.__;(0,wp.blocks.registerBlockType)("wpls/logoshowcase",{title:__("Logo Slider","wp-logo-showcase-responsive-slider-slider"),description:__("Display logo in a slider view with various layouts.","wp-logo-showcase-responsive-slider-slider"),icon:"images-alt2",category:"wpos_guten_block",keywords:[__("wpos"),__("wpls logo slider","wp-logo-showcase-responsive-slider-slider"),__("logoshowcase")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var s=e.align;if(["wide","full"].includes(s))return{"data-align":s,"data-block-type":"wpls-logo-slider"}},edit:r.a,save:function(){return null}})},function(e,s){},function(e,s){},function(e,s,o){"use strict";function l(e,s){if(!(e instanceof s))throw new TypeError("Cannot call a class as a function")}function t(e,s){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!s||"object"!==typeof s&&"function"!==typeof s?e:s}function r(e,s){if("function"!==typeof s&&null!==s)throw new TypeError("Super expression must either be null or a function, not "+typeof s);e.prototype=Object.create(s&&s.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),s&&(Object.setPrototypeOf?Object.setPrototypeOf(e,s):e.__proto__=s)}var n=function(){function e(e,s){for(var o=0;o<s.length;o++){var l=s[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(s,o,l){return o&&e(s.prototype,o),l&&e(s,l),s}}(),i=wp.element,a=i.Component,p=i.Fragment,d=wp.components,c=d.PanelBody,w=d.Disabled,m=d.TextControl,h=d.ToggleControl,u=d.RangeControl,g=d.SelectControl,__=wp.i18n.__,v=(wp.data.select,wp.editor),f=v.InspectorControls,b=v.BlockControls,E=v.BlockAlignmentToolbar,y=function(e){function s(){l(this,s);var e=t(this,(s.__proto__||Object.getPrototypeOf(s)).apply(this,arguments));return e.state={isLoading:!1},e}return r(s,e),n(s,[{key:"ObjToString",value:function(e){var s=wp.blocks.getBlockAttributes("wpls/logoshowcase"),o=["content_tail"],l="";for(var t in e)e.hasOwnProperty(t)&&"undefined"!==typeof e[t]&&e[t]!==s[t]&&(""!=jQuery.trim(e[t])||jQuery.inArray(t,o)>=0)&&(l+=t+'="'+e[t]+'" ');return l}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-logo-showcase-responsive-slider-slider")},{value:"false",label:__("False","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetAnimationEffect",value:function(){return[{value:"",label:__("Select Animation Effect","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetLinkTarget",value:function(){return[{value:"self",label:__("Same Window","wp-logo-showcase-responsive-slider-slider")},{value:"blank",label:__("New Window","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-logo-showcase-responsive-slider-slider")},{value:"modified",label:__("Post Modified Date","wp-logo-showcase-responsive-slider-slider")},{value:"title",label:__("Post Title","wp-logo-showcase-responsive-slider-slider")},{value:"name",label:__("Post Slug","wp-logo-showcase-responsive-slider-slider")},{value:"ID",label:__("Post ID","wp-logo-showcase-responsive-slider-slider")},{value:"rand",label:__("Random","wp-logo-showcase-responsive-slider-slider")},{value:"menu_order",label:__("Menu Order (Sort Order)","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-logo-showcase-responsive-slider-slider")},{value:"asc",label:__("Ascending","wp-logo-showcase-responsive-slider-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){var s=wp.data.select("core/editor").getEditorSettings(),o=s.alignWide;e.attributes;o||this.props.setAttributes({align:void 0})}},{key:"render",value:function(){var e=this.props,s=e.attributes,o=e.setAttributes,l=s.limit,t=s.design,r=s.cat_id,n=s.cat_name,i=s.slides_column,a=s.slides_scroll,d=s.dots,v=s.arrows,y=s.autoplay,_=s.autoplay_interval,k=s.speed,C=s.center_mode,P=s.loop,B=s.link_target,D=s.show_title,O=s.image_size,S=s.orderby,x=s.order,W=s.hide_border,G=s.max_height,N=s.align,T=(this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(c,{title:__("General Parameters","wp-logo-showcase-responsive-slider-slider")},wp.element.createElement(m,{label:__("Logo Showcase Heading","wp-logo-showcase-responsive-slider-slider"),value:n,onChange:function(e){return o({cat_name:e})},help:__("Enter Logo Heading.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Design","wp-logo-showcase-responsive-slider-slider"),value:t,options:this.GetDesigns(),onChange:function(e){return o({design:e})}}),wp.element.createElement(h,{label:__("Show Title","wp-logo-showcase-responsive-slider-slider"),checked:!!D,onChange:function(){return o({show_title:!D})}}),wp.element.createElement(w,null,wp.element.createElement(h,{label:__("Show Tooltip","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to enable/disable tooltip on logo. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(u,{label:__("Content Words Limit","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter content word limit. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(m,{label:__("Content Tail","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display dots after the post content as continue reading. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Link","wp-logo-showcase-responsive-slider-slider"),options:this.GetBooleanDropdown()})),wp.element.createElement(g,{label:__("Link Behaviour","wp-logo-showcase-responsive-slider-slider"),value:B,options:this.GetLinkTarget(),onChange:function(e){return o({link_target:e})}}),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Animation Effect","wp-logo-showcase-responsive-slider-slider"),options:this.GetAnimationEffect(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose to manage diffrent type of animation effect of logos list. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(m,{label:__("Media Size","wp-logo-showcase-responsive-slider-slider"),value:O,onChange:function(e){return o({image_size:e})},help:__("Choose WordPress registered image size. e.g original, large, medium, thumbnail.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Hide Border","wp-logo-showcase-responsive-slider-slider"),value:W,options:this.GetBooleanDropdown(),onChange:function(e){return o({hide_border:e})},help:__("Choose option to hide logo border.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(u,{label:__("Max Height","wp-logo-showcase-responsive-slider-slider"),value:G,onChange:function(e){return o({max_height:e})},min:1,max:2500,help:__('Enter image maximum height 80px with 100% maximum width for better output. By default value is "250".',"wp-logo-showcase-responsive-slider-slider")})),wp.element.createElement(c,{title:__("Slider Parameters","wp-logo-showcase-responsive-slider-slider"),initialOpen:!1},wp.element.createElement(u,{label:__("Slides Column","wp-logo-showcase-responsive-slider-slider"),value:i,onChange:function(e){return o({slides_column:e})},min:1,max:100,help:__("Enter number for slide to show at a time.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(w,null,wp.element.createElement(u,{label:__("Slides Rows","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter number of rows for slider. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(u,{label:__("Slides Scroll","wp-logo-showcase-responsive-slider-slider"),value:a,onChange:function(e){return o({slides_scroll:e})},min:1,max:100,help:__("Enter number of slide to scroll at a time.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Dots","wp-logo-showcase-responsive-slider-slider"),value:d,options:this.GetBooleanDropdown(),onChange:function(e){return o({dots:e})},help:__("Show pagination dots.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Arrows","wp-logo-showcase-responsive-slider-slider"),value:v,options:this.GetBooleanDropdown(),onChange:function(e){return o({arrows:e})},help:__("Show prev - next arrows.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Autoplay","wp-logo-showcase-responsive-slider-slider"),value:y,options:this.GetBooleanDropdown(),onChange:function(e){return o({autoplay:e})}}),"true"==y&&wp.element.createElement(u,{label:__("Autoplay Interval","wp-logo-showcase-responsive-slider-slider"),value:_,onChange:function(e){return o({autoplay_interval:e})},min:1,max:5e4,help:__("Enter autoplay interval speed. 1000 is equal to 1 sec.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(u,{label:__("Speed","wp-logo-showcase-responsive-slider-slider"),value:k,onChange:function(e){return o({speed:e})},min:1,max:5e4,help:__("Enter slide speed. 1000 is equal to 1 sec.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Center Mode","wp-logo-showcase-responsive-slider-slider"),value:C,options:this.GetBooleanDropdown(),onChange:function(e){return o({center_mode:e})},help:__("Enable slider center mode effect.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Infinite Loop","wp-logo-showcase-responsive-slider-slider"),value:P,options:this.GetBooleanDropdown(),onChange:function(e){return o({loop:e})},help:__("Enable infinite loop for continuous sliding.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Ticker Mode","wp-logo-showcase-responsive-slider-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable ticker mode for slider. Note: When you enable ticker mode Autoplay, Slides Scroll and Autoplay Interval will set to default. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Pause On Hover","wp-logo-showcase-responsive-slider-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay on hover. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Pause On Focus","wp-logo-showcase-responsive-slider-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-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))}))),wp.element.createElement(c,{title:__("Query Parameters","wp-logo-showcase-responsive-slider-slider"),initialOpen:!1},wp.element.createElement(u,{label:__("Limit","wp-logo-showcase-responsive-slider-slider"),value:l,onChange:function(e){return o({limit:e})},min:-1,max:1e3,help:__("Enter number of logos to be displayed. Enter -1 to display all.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Order By","wp-logo-showcase-responsive-slider-slider"),value:S,options:this.GetPostOrderby(),onChange:function(e){return o({orderby:e})}}),wp.element.createElement(g,{label:__("Order","wp-logo-showcase-responsive-slider-slider"),value:x,options:this.GetPostOrder(),onChange:function(e){return o({order:e})}}),wp.element.createElement(m,{label:__("Display Specific Category","wp-logo-showcase-responsive-slider-slider"),value:r,onChange:function(e){return o({cat_id: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-logo-showcase-responsive-slider-slider")},__("Enter category id to display categories wise.","wp-logo-showcase-responsive-slider-slider")," [?]")}),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Display Child Category","wp-logo-showcase-responsive-slider-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-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(m,{label:__("Exclude Category","wp-logo-showcase-responsive-slider-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-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(m,{label:__("Display Specific Posts","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter id of the post which you want to display. You can pass multiple ids with comma seperated. You can find id at relevant post listing page. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(m,{label:__("Exclude Post","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter id of the post which you do not want to display. You can pass multiple ids with comma seperated. You can find id at relevant post listing page. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(u,{label:__("Query Offset","wp-logo-showcase-responsive-slider-slider"),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-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})))));return wp.element.createElement(p,null,T,wp.element.createElement(b,null,wp.element.createElement(E,{value:N,onChange:function(e){return o({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,s=this.ObjToString(e);s=s.trim();var o=s?"[logoshowcase "+s+"]":"[logoshowcase]";return wp.element.createElement("div",{className:"wpos-guten-shrt"},wp.element.createElement("div",{className:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Logo Showcase Responsive Slider","wp-logo-showcase-responsive-slider-slider"))),o,wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-logo-showcase-responsive-slider-slider")," ",wp.element.createElement("a",{href:Wplsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-logo-showcase-responsive-slider-slider"))),wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-logo-showcase-responsive-slider-slider")," ",wp.element.createElement("a",{href:Wplsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-logo-showcase-responsive-slider-slider"))))}}]),s}(a);s.a=y}]);
1
+ !function(e){function s(l){if(o[l])return o[l].exports;var t=o[l]={i:l,l:!1,exports:{}};return e[l].call(t.exports,t,t.exports,s),t.l=!0,t.exports}var o={};s.m=e,s.c=o,s.d=function(e,o,l){s.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:l})},s.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(o,"a",o),o},s.o=function(e,s){return Object.prototype.hasOwnProperty.call(e,s)},s.p="",s(s.s=0)}([function(e,s,o){"use strict";Object.defineProperty(s,"__esModule",{value:!0});o(1)},function(e,s,o){"use strict";var l=o(2),t=(o.n(l),o(3)),r=(o.n(t),o(4)),__=wp.i18n.__;(0,wp.blocks.registerBlockType)("wpls/logoshowcase",{title:__("Logo Slider","wp-logo-showcase-responsive-slider-slider"),description:__("Display logo in a slider view with various layouts.","wp-logo-showcase-responsive-slider-slider"),icon:"images-alt2",category:"wpos_guten_block",keywords:[__("wpos"),__("wpls logo slider","wp-logo-showcase-responsive-slider-slider"),__("logoshowcase")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var s=e.align;if(["wide","full"].includes(s))return{"data-align":s,"data-block-type":"wpls-logo-slider"}},edit:r.a,save:function(){return null}})},function(e,s){},function(e,s){},function(e,s,o){"use strict";function l(e,s){if(!(e instanceof s))throw new TypeError("Cannot call a class as a function")}function t(e,s){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!s||"object"!==typeof s&&"function"!==typeof s?e:s}function r(e,s){if("function"!==typeof s&&null!==s)throw new TypeError("Super expression must either be null or a function, not "+typeof s);e.prototype=Object.create(s&&s.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),s&&(Object.setPrototypeOf?Object.setPrototypeOf(e,s):e.__proto__=s)}var n=function(){function e(e,s){for(var o=0;o<s.length;o++){var l=s[o];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(s,o,l){return o&&e(s.prototype,o),l&&e(s,l),s}}(),i=wp.element,a=i.Component,p=i.Fragment,d=wp.components,c=d.PanelBody,w=d.Disabled,m=d.TextControl,h=d.ToggleControl,u=d.RangeControl,g=d.SelectControl,__=wp.i18n.__,v=(wp.data.select,wp.blockEditor),f=v.InspectorControls,b=v.BlockControls,E=v.BlockAlignmentToolbar,y=function(e){function s(){l(this,s);var e=t(this,(s.__proto__||Object.getPrototypeOf(s)).apply(this,arguments));return e.state={isLoading:!1},e}return r(s,e),n(s,[{key:"ObjToString",value:function(e){var s=wp.blocks.getBlockAttributes("wpls/logoshowcase"),o=["content_tail"],l="";for(var t in e)e.hasOwnProperty(t)&&"undefined"!==typeof e[t]&&e[t]!==s[t]&&(""!=jQuery.trim(e[t])||jQuery.inArray(t,o)>=0)&&(l+=t+'="'+e[t]+'" ');return l}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-logo-showcase-responsive-slider-slider")},{value:"false",label:__("False","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetAnimationEffect",value:function(){return[{value:"",label:__("Select Animation Effect","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetLinkTarget",value:function(){return[{value:"self",label:__("Same Window","wp-logo-showcase-responsive-slider-slider")},{value:"blank",label:__("New Window","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-logo-showcase-responsive-slider-slider")},{value:"modified",label:__("Post Modified Date","wp-logo-showcase-responsive-slider-slider")},{value:"title",label:__("Post Title","wp-logo-showcase-responsive-slider-slider")},{value:"name",label:__("Post Slug","wp-logo-showcase-responsive-slider-slider")},{value:"ID",label:__("Post ID","wp-logo-showcase-responsive-slider-slider")},{value:"rand",label:__("Random","wp-logo-showcase-responsive-slider-slider")},{value:"menu_order",label:__("Menu Order (Sort Order)","wp-logo-showcase-responsive-slider-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-logo-showcase-responsive-slider-slider")},{value:"asc",label:__("Ascending","wp-logo-showcase-responsive-slider-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){e.attributes}},{key:"render",value:function(){var e=this.props,s=e.attributes,o=e.setAttributes,l=s.limit,t=s.design,r=s.cat_id,n=s.cat_name,i=s.slides_column,a=s.slides_scroll,d=s.dots,v=s.arrows,y=s.autoplay,_=s.autoplay_interval,k=s.speed,C=s.center_mode,P=s.loop,B=s.link_target,D=s.show_title,O=s.image_size,S=s.orderby,x=s.order,G=s.hide_border,W=s.max_height,N=s.align,T=(this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(c,{title:__("General Parameters","wp-logo-showcase-responsive-slider-slider")},wp.element.createElement(m,{label:__("Logo Showcase Heading","wp-logo-showcase-responsive-slider-slider"),value:n,onChange:function(e){return o({cat_name:e})},help:__("Enter Logo Heading.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Design","wp-logo-showcase-responsive-slider-slider"),value:t,options:this.GetDesigns(),onChange:function(e){return o({design:e})}}),wp.element.createElement(h,{label:__("Show Title","wp-logo-showcase-responsive-slider-slider"),checked:!!D,onChange:function(){return o({show_title:!D})}}),wp.element.createElement(w,null,wp.element.createElement(h,{label:__("Show Tooltip","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to enable/disable tooltip on logo. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(u,{label:__("Content Words Limit","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter content word limit. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(m,{label:__("Content Tail","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display dots after the post content as continue reading. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Link","wp-logo-showcase-responsive-slider-slider"),options:this.GetBooleanDropdown()})),wp.element.createElement(g,{label:__("Link Behaviour","wp-logo-showcase-responsive-slider-slider"),value:B,options:this.GetLinkTarget(),onChange:function(e){return o({link_target:e})}}),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Animation Effect","wp-logo-showcase-responsive-slider-slider"),options:this.GetAnimationEffect(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose to manage diffrent type of animation effect of logos list. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(m,{label:__("Media Size","wp-logo-showcase-responsive-slider-slider"),value:O,onChange:function(e){return o({image_size:e})},help:__("Choose WordPress registered image size. e.g original, large, medium, thumbnail.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Hide Border","wp-logo-showcase-responsive-slider-slider"),value:G,options:this.GetBooleanDropdown(),onChange:function(e){return o({hide_border:e})},help:__("Choose option to hide logo border.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(u,{label:__("Max Height","wp-logo-showcase-responsive-slider-slider"),value:W,onChange:function(e){return o({max_height:e})},min:1,max:2500,help:__('Enter image maximum height 80px with 100% maximum width for better output. By default value is "250".',"wp-logo-showcase-responsive-slider-slider")})),wp.element.createElement(c,{title:__("Slider Parameters","wp-logo-showcase-responsive-slider-slider"),initialOpen:!1},wp.element.createElement(u,{label:__("Slides Column","wp-logo-showcase-responsive-slider-slider"),value:i,onChange:function(e){return o({slides_column:e})},min:1,max:100,help:__("Enter number for slide to show at a time.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(w,null,wp.element.createElement(u,{label:__("Slides Rows","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter number of rows for slider. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(u,{label:__("Slides Scroll","wp-logo-showcase-responsive-slider-slider"),value:a,onChange:function(e){return o({slides_scroll:e})},min:1,max:100,help:__("Enter number of slide to scroll at a time.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Dots","wp-logo-showcase-responsive-slider-slider"),value:d,options:this.GetBooleanDropdown(),onChange:function(e){return o({dots:e})},help:__("Show pagination dots.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Arrows","wp-logo-showcase-responsive-slider-slider"),value:v,options:this.GetBooleanDropdown(),onChange:function(e){return o({arrows:e})},help:__("Show prev - next arrows.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Autoplay","wp-logo-showcase-responsive-slider-slider"),value:y,options:this.GetBooleanDropdown(),onChange:function(e){return o({autoplay:e})}}),"true"==y&&wp.element.createElement(u,{label:__("Autoplay Interval","wp-logo-showcase-responsive-slider-slider"),value:_,onChange:function(e){return o({autoplay_interval:e})},min:1,max:5e4,help:__("Enter autoplay interval speed. 1000 is equal to 1 sec.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(u,{label:__("Speed","wp-logo-showcase-responsive-slider-slider"),value:k,onChange:function(e){return o({speed:e})},min:1,max:5e4,help:__("Enter slide speed. 1000 is equal to 1 sec.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Center Mode","wp-logo-showcase-responsive-slider-slider"),value:C,options:this.GetBooleanDropdown(),onChange:function(e){return o({center_mode:e})},help:__("Enable slider center mode effect.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Infinite Loop","wp-logo-showcase-responsive-slider-slider"),value:P,options:this.GetBooleanDropdown(),onChange:function(e){return o({loop:e})},help:__("Enable infinite loop for continuous sliding.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Ticker Mode","wp-logo-showcase-responsive-slider-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable ticker mode for slider. Note: When you enable ticker mode Autoplay, Slides Scroll and Autoplay Interval will set to default. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Pause On Hover","wp-logo-showcase-responsive-slider-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay on hover. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Pause On Focus","wp-logo-showcase-responsive-slider-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-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))}))),wp.element.createElement(c,{title:__("Query Parameters","wp-logo-showcase-responsive-slider-slider"),initialOpen:!1},wp.element.createElement(u,{label:__("Limit","wp-logo-showcase-responsive-slider-slider"),value:l,onChange:function(e){return o({limit:e})},min:-1,max:1e3,help:__("Enter number of logos to be displayed. Enter -1 to display all.","wp-logo-showcase-responsive-slider-slider")}),wp.element.createElement(g,{label:__("Order By","wp-logo-showcase-responsive-slider-slider"),value:S,options:this.GetPostOrderby(),onChange:function(e){return o({orderby:e})}}),wp.element.createElement(g,{label:__("Order","wp-logo-showcase-responsive-slider-slider"),value:x,options:this.GetPostOrder(),onChange:function(e){return o({order:e})}}),wp.element.createElement(m,{label:__("Display Specific Category","wp-logo-showcase-responsive-slider-slider"),value:r,onChange:function(e){return o({cat_id: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-logo-showcase-responsive-slider-slider")},__("Enter category id to display categories wise.","wp-logo-showcase-responsive-slider-slider")," [?]")}),wp.element.createElement(w,null,wp.element.createElement(g,{label:__("Display Child Category","wp-logo-showcase-responsive-slider-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-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(m,{label:__("Exclude Category","wp-logo-showcase-responsive-slider-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-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(m,{label:__("Display Specific Posts","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter id of the post which you want to display. You can pass multiple ids with comma seperated. You can find id at relevant post listing page. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(m,{label:__("Exclude Post","wp-logo-showcase-responsive-slider-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter id of the post which you do not want to display. You can pass multiple ids with comma seperated. You can find id at relevant post listing page. Upgarade to ","wp-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})),wp.element.createElement(w,null,wp.element.createElement(u,{label:__("Query Offset","wp-logo-showcase-responsive-slider-slider"),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-logo-showcase-responsive-slider-slider"),wp.element.createElement("a",{href:Wplsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-logo-showcase-responsive-slider-slider")),__("to get this option.","wp-logo-showcase-responsive-slider-slider"))})))));return wp.element.createElement(p,null,T,wp.element.createElement(b,null,wp.element.createElement(E,{value:N,onChange:function(e){return o({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,s=this.ObjToString(e);s=s.trim();var o=s?"[logoshowcase "+s+"]":"[logoshowcase]";return wp.element.createElement("div",{className:"wpos-guten-shrt"},wp.element.createElement("div",{className:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Logo Showcase Responsive Slider","wp-logo-showcase-responsive-slider-slider"))),o,wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-logo-showcase-responsive-slider-slider")," ",wp.element.createElement("a",{href:Wplsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-logo-showcase-responsive-slider-slider"))),wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-logo-showcase-responsive-slider-slider")," ",wp.element.createElement("a",{href:Wplsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-logo-showcase-responsive-slider-slider"))))}}]),s}(a);s.a=y}]);
includes/admin/class-wpls-admin.php CHANGED
@@ -19,6 +19,9 @@ class Wpls_Admin {
19
  // Admin init process
20
  add_action( 'admin_init', array( $this, 'wpls_admin_init_process') );
21
 
 
 
 
22
  // Action to add metabox
23
  add_action( 'add_meta_boxes', array( $this, 'wpls_post_sett_metabox'), 10, 2 );
24
 
@@ -33,6 +36,63 @@ class Wpls_Admin {
33
 
34
  // Action to add custom column data to Logo listing
35
  add_filter("manage_edit-wplss_logo_showcase_cat_columns", array( $this, 'wplss_logoshowcase_cat_manage_columns') );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  }
37
 
38
  /**
@@ -85,7 +145,7 @@ class Wpls_Admin {
85
 
86
  $prefix = WPLS_META_PREFIX; // Taking metabox prefix
87
 
88
- $logo_link = isset($_POST[$prefix.'logo_link']) ? wpls_clean_url( $_POST[$prefix.'logo_link'] ) : '';
89
 
90
  // Updating Post Meta
91
  update_post_meta( $post_id, 'wplss_slide_link', $logo_link );
@@ -102,8 +162,13 @@ class Wpls_Admin {
102
  // How it work page
103
  add_submenu_page( 'edit.php?post_type='.WPLS_POST_TYPE, __('How it works, our plugins and offers', 'wp-logo-showcase-responsive-slider-slider'), __('How It Works', 'wp-logo-showcase-responsive-slider-slider'), 'manage_options', 'wpls-designs', array($this, 'wpls_designs_page') );
104
 
 
 
 
105
  // Register plugin premium page
106
- add_submenu_page( 'edit.php?post_type='.WPLS_POST_TYPE, __('Upgrade to PRO - Logo Showcase Responsive Slider', 'wp-logo-showcase-responsive-slider-slider'), '<span style="color:#2ECC71">'.__('Upgrade to PRO', 'wp-logo-showcase-responsive-slider-slider').'</span>', 'manage_options', 'wpls-premium', array($this, 'wpls_premium_page') );
 
 
107
  }
108
 
109
  /**
@@ -116,26 +181,31 @@ class Wpls_Admin {
116
  include_once( WPLS_DIR . '/includes/admin/settings/premium.php' );
117
  }
118
 
 
 
 
 
 
 
 
 
 
 
119
  /**
120
  * How It Work Page Html
121
  *
122
  * @since 1.0
123
  */
124
- function wpls_designs_page() {
125
- include_once( WPLS_DIR . '/includes/admin/settings/how-it-work.php' );
126
  }
127
 
128
  /**
129
- * Function to notification transient
130
  *
131
- * @package WP Logo Showcase Responsive Slider
132
- * @since 1.0.0
133
  */
134
- function wpls_admin_init_process() {
135
- // If plugin notice is dismissed
136
- if( isset($_GET['message']) && $_GET['message'] == 'wpls-plugin-notice' ) {
137
- set_transient( 'wpls_install_notice', true, 604800 );
138
- }
139
  }
140
 
141
  /**
@@ -162,6 +232,29 @@ class Wpls_Admin {
162
  $columns = wpls_logo_add_array( $columns, $new_columns, 2 );
163
  return $columns;
164
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  }
166
 
167
  $wpls_Admin = new Wpls_Admin();
19
  // Admin init process
20
  add_action( 'admin_init', array( $this, 'wpls_admin_init_process') );
21
 
22
+ // Admin for the Solutions & Features
23
+ add_action( 'admin_init', array($this, 'wpls_admin_init_sf_process') );
24
+
25
  // Action to add metabox
26
  add_action( 'add_meta_boxes', array( $this, 'wpls_post_sett_metabox'), 10, 2 );
27
 
36
 
37
  // Action to add custom column data to Logo listing
38
  add_filter("manage_edit-wplss_logo_showcase_cat_columns", array( $this, 'wplss_logoshowcase_cat_manage_columns') );
39
+
40
+ // Action to add little JS code in admin footer
41
+ add_action( 'admin_footer', array($this, 'wpls_upgrade_page_link_blank') );
42
+ }
43
+
44
+ /**
45
+ * Function to notification transient
46
+ *
47
+ * @package WP Logo Showcase Responsive Slider
48
+ * @since 1.0.0
49
+ */
50
+ function wpls_admin_init_process() {
51
+
52
+ global $typenow, $pagenow;
53
+
54
+ $current_page = isset( $_REQUEST['page'] ) ? $_REQUEST['page'] : '';
55
+
56
+ // If plugin notice is dismissed
57
+ if( isset($_GET['message']) && $_GET['message'] == 'wpls-plugin-notice' ) {
58
+ set_transient( 'wpls_install_notice', true, 604800 );
59
+ }
60
+
61
+ // Redirect to external page for upgrade to menu
62
+ if( $typenow == WPLS_POST_TYPE ) {
63
+
64
+ if( $current_page == 'wpls-upgrade-pro' ) {
65
+
66
+ wp_redirect( WPLS_PLUGIN_LINK_UPGRADE );
67
+ exit;
68
+ }
69
+
70
+ if( $current_page == 'wpls-bundle-deal' ) {
71
+
72
+ wp_redirect( WPLS_PLUGIN_BUNDLE_LINK );
73
+ exit;
74
+ }
75
+ }
76
+ }
77
+
78
+ /**
79
+ * Admin Prior Process for Solutions & Features Page Redirect
80
+ *
81
+ * @package WP Logo Showcase Responsive Slider
82
+ * @since 2.0.11
83
+ */
84
+ function wpls_admin_init_sf_process() {
85
+
86
+ if ( get_option( 'wpls_sf_optin', false ) ) {
87
+
88
+ delete_option( 'wpls_sf_optin' );
89
+
90
+ $redirect_link = add_query_arg( array( 'post_type' => WPLS_POST_TYPE, 'page' => 'wpls-solutions-features' ), admin_url( 'edit.php' ) );
91
+
92
+ wp_safe_redirect( $redirect_link );
93
+
94
+ exit;
95
+ }
96
  }
97
 
98
  /**
145
 
146
  $prefix = WPLS_META_PREFIX; // Taking metabox prefix
147
 
148
+ $logo_link = isset($_POST[$prefix.'logo_link']) ? wpls_clean_url( $_POST[$prefix.'logo_link'] ) : '';
149
 
150
  // Updating Post Meta
151
  update_post_meta( $post_id, 'wplss_slide_link', $logo_link );
162
  // How it work page
163
  add_submenu_page( 'edit.php?post_type='.WPLS_POST_TYPE, __('How it works, our plugins and offers', 'wp-logo-showcase-responsive-slider-slider'), __('How It Works', 'wp-logo-showcase-responsive-slider-slider'), 'manage_options', 'wpls-designs', array($this, 'wpls_designs_page') );
164
 
165
+ // Setting page
166
+ add_submenu_page( 'edit.php?post_type='.WPLS_POST_TYPE, __('Solutions & Features - Logo Showcase Responsive Slider', 'wp-logo-showcase-responsive-slider-slider'), '<span style="color:#2ECC71">'. __('Solutions & Features', 'wp-logo-showcase-responsive-slider-slider').'</span>', 'manage_options', 'wpls-solutions-features', array($this, 'wpls_solutions_features_page') );
167
+
168
  // Register plugin premium page
169
+ add_submenu_page( 'edit.php?post_type='.WPLS_POST_TYPE, __('Upgrade To PRO - Logo Showcase Responsive Slider', 'wp-logo-showcase-responsive-slider-slider'), '<span style="color:#ff2700">'.__('Upgrade To PRO', 'wp-logo-showcase-responsive-slider-slider').'</span>', 'manage_options', 'wpls-premium', array($this, 'wpls_premium_page') );
170
+ //add_submenu_page( 'edit.php?post_type='.WPLS_POST_TYPE, __('Upgrade To PRO - Logo Showcase Responsive Slider', 'wp-logo-showcase-responsive-slider-slider'), '<span class="wpos-upgrade-pro" style="color:#ff2700">' . __('Upgrade To Premium ', 'wp-logo-showcase-responsive-slider-slider') . '</span>', 'manage_options', 'wpls-upgrade-pro', array($this, 'wpls_redirect_page') );
171
+ add_submenu_page( 'edit.php?post_type='.WPLS_POST_TYPE, __('Bundle Deal - Logo Showcase Responsive Slider', 'wp-logo-showcase-responsive-slider-slider'), '<span class="wpos-upgrade-pro" style="color:#ff2700">' . __('Bundle Deal', 'wp-logo-showcase-responsive-slider-slider') . '</span>', 'manage_options', 'wpls-bundle-deal', array($this, 'wpls_redirect_page') );
172
  }
173
 
174
  /**
181
  include_once( WPLS_DIR . '/includes/admin/settings/premium.php' );
182
  }
183
 
184
+ /**
185
+ * Solutions & Features Page Html
186
+ *
187
+ * @package Popup Anything on Click
188
+ * @since 2.0.11
189
+ */
190
+ function wpls_solutions_features_page() {
191
+ include_once( WPLS_DIR . '/includes/admin/settings/solutions-features.php' );
192
+ }
193
+
194
  /**
195
  * How It Work Page Html
196
  *
197
  * @since 1.0
198
  */
199
+ function wpls_redirect_page() {
 
200
  }
201
 
202
  /**
203
+ * How It Work Page Html
204
  *
205
+ * @since 1.0
 
206
  */
207
+ function wpls_designs_page() {
208
+ include_once( WPLS_DIR . '/includes/admin/settings/how-it-work.php' );
 
 
 
209
  }
210
 
211
  /**
232
  $columns = wpls_logo_add_array( $columns, $new_columns, 2 );
233
  return $columns;
234
  }
235
+
236
+ /**
237
+ * Add JS snippet to admin footer to add target _blank in upgrade link
238
+ *
239
+ * @package WP Logo Showcase Responsive Slider
240
+ * @since 1.0.0
241
+ */
242
+ function wpls_upgrade_page_link_blank() {
243
+
244
+ global $wpos_upgrade_link_snippet;
245
+
246
+ // Redirect to external page
247
+ if( empty( $wpos_upgrade_link_snippet ) ) {
248
+
249
+ $wpos_upgrade_link_snippet = 1;
250
+ ?>
251
+ <script type="text/javascript">
252
+ (function ($) {
253
+ $('.wpos-upgrade-pro').parent().attr( { target: '_blank', rel: 'noopener noreferrer' } );
254
+ })(jQuery);
255
+ </script>
256
+ <?php }
257
+ }
258
  }
259
 
260
  $wpls_Admin = new Wpls_Admin();
includes/admin/metabox/wpls-post-setting-metabox-pro.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  }
12
 
13
  ?>
14
- <div class="pro-notice"><?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to unlock more features.', 'wp-logo-showcase-responsive-slider-slider'), WPLS_PLUGIN_LINK); ?></div>
15
  <table class="form-table wpls-metabox-table">
16
  <tbody>
17
 
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  <?php _e('Layouts', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
21
  </th>
22
  <td>
23
- <span class="description"><?php _e('6 (Grid, Slider, Center, List, Ticker and Filter ). In lite version only Slider and Center layout.', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
24
 
25
  </td>
26
 
@@ -30,7 +30,7 @@ if ( ! defined( 'ABSPATH' ) ) {
30
  <?php _e('Designs', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
31
  </th>
32
  <td>
33
- <span class="description"><?php _e('15+. In lite version only one design.', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
34
 
35
  </td>
36
  </tr>
@@ -48,7 +48,7 @@ if ( ! defined( 'ABSPATH' ) ) {
48
  <?php _e('Shortcode Generator ', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
49
  </th>
50
  <td>
51
- <span class="description"><?php _e('Play with all shortcode parameters with preview panel. No documentation required.' , 'wp-logo-showcase-responsive-slider-slider'); ?></span>
52
 
53
  </td>
54
  </tr>
@@ -57,7 +57,7 @@ if ( ! defined( 'ABSPATH' ) ) {
57
  <?php _e('Tooltip', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
58
  </th>
59
  <td>
60
- <span class="description"><?php _e('Enable tooltip on logo.', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
61
 
62
  </td>
63
  </tr>
@@ -75,7 +75,7 @@ if ( ! defined( 'ABSPATH' ) ) {
75
  <?php _e('Page Builder Support', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
76
  </th>
77
  <td>
78
- <span class="description"><?php _e('Gutenberg Block, Elementor, Bevear Builder, SiteOrigin, Divi, Visual Composer and Fusion Page Builder Support', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
79
 
80
  </td>
81
  </tr>
@@ -84,7 +84,7 @@ if ( ! defined( 'ABSPATH' ) ) {
84
  <?php _e('Exclude Logos and Exclude Some Categories', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
85
  </th>
86
  <td>
87
- <span class="description"><?php _e('Do not display the logos & Do not display the logos for particular categories.' , 'wp-logo-showcase-responsive-slider-slider'); ?></span>
88
 
89
  </td>
90
  </tr>
11
  }
12
 
13
  ?>
14
+ <div class="pro-notice"><?php echo sprintf( __( 'Utilize these <a href="%s" target="_blank">Premium Features</a> to get best of this plugin with Annual or Lifetime bundle deal.', 'wp-logo-showcase-responsive-slider-slider'), WPLS_PLUGIN_LINK_UNLOCK); ?></div>
15
  <table class="form-table wpls-metabox-table">
16
  <tbody>
17
 
20
  <?php _e('Layouts', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
21
  </th>
22
  <td>
23
+ <span class="description"><strong><?php _e('6 (Grid, Slider, Center, List, Ticker and Filter ). In lite version only Slider and Center layout.', 'wp-logo-showcase-responsive-slider-slider'); ?></strong></span>
24
 
25
  </td>
26
 
30
  <?php _e('Designs', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
31
  </th>
32
  <td>
33
+ <span class="description"><strong>15+</strong><?php _e(' In lite version only one design.', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
34
 
35
  </td>
36
  </tr>
48
  <?php _e('Shortcode Generator ', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
49
  </th>
50
  <td>
51
+ <span class="description"><strong><?php _e('Play with all shortcode parameters with preview panel. No documentation required.' , 'wp-logo-showcase-responsive-slider-slider'); ?></strong></span>
52
 
53
  </td>
54
  </tr>
57
  <?php _e('Tooltip', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
58
  </th>
59
  <td>
60
+ <span class="description"><strong><?php _e('Enable tooltip on logo.', 'wp-logo-showcase-responsive-slider-slider'); ?></strong></span>
61
 
62
  </td>
63
  </tr>
75
  <?php _e('Page Builder Support', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
76
  </th>
77
  <td>
78
+ <span class="description"><strong><?php _e('Gutenberg Block, Elementor, Bevear Builder, SiteOrigin, Divi, Visual Composer and Fusion Page Builder Support', 'wp-logo-showcase-responsive-slider-slider'); ?></strong></span>
79
 
80
  </td>
81
  </tr>
84
  <?php _e('Exclude Logos and Exclude Some Categories', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
85
  </th>
86
  <td>
87
+ <span class="description"><strong><?php _e('Do not display the logos & Do not display the logos for particular categories.' , 'wp-logo-showcase-responsive-slider-slider'); ?></strong></span>
88
 
89
  </td>
90
  </tr>
includes/admin/metabox/wpls-post-setting-metabox.php CHANGED
@@ -25,7 +25,7 @@ $logo_link = get_post_meta( $post->ID, 'wplss_slide_link', true );
25
  </th>
26
  <td>
27
  <input type="url" value="<?php echo esc_url($logo_link); ?>" class="large-text wpls-logo-link" id="wpls-logo-link" name="<?php echo $prefix; ?>logo_link" /><br/>
28
- <span class="description"><?php _e('Enter link url for logo. i.e https://www.wponlinesupport.com', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
29
  </td>
30
  </tr>
31
 
@@ -34,10 +34,10 @@ $logo_link = get_post_meta( $post->ID, 'wplss_slide_link', true );
34
  <?php _e('Logo Description', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
35
  </th>
36
  <td>
37
- <textarea name="<?php echo $prefix; ?>logo_desc" rows="4" cols="100" disabled></textarea><br/>
38
  <?php // wp_editor( '', 'logo_desc', $settings = array('textarea_name'=>'logo_desc') ); ?>
39
  <span class="description"><?php _e('Enter logo description using default wordpress content editor.', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
40
- <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'wp-logo-showcase-responsive-slider-slider'), WPLS_PLUGIN_LINK); ?>
41
  </td>
42
  </tr>
43
 
@@ -48,7 +48,7 @@ $logo_link = get_post_meta( $post->ID, 'wplss_slide_link', true );
48
  <td>
49
  <input type="url" value="" class="large-text wpls-logo-url" id="wpls-logo-url" name="<?php echo $prefix; ?>logo_url" disabled /><br/>
50
  <span class="description"><?php _e('Enter external URL of logo. If you don not want to use an image from your media gallery, you can set an URL for logo image here.', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
51
- <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'wp-logo-showcase-responsive-slider-slider'), WPLS_PLUGIN_LINK); ?>
52
  </td>
53
  </tr>
54
 
25
  </th>
26
  <td>
27
  <input type="url" value="<?php echo esc_url($logo_link); ?>" class="large-text wpls-logo-link" id="wpls-logo-link" name="<?php echo $prefix; ?>logo_link" /><br/>
28
+ <span class="description"><?php _e('Enter link url for logo. i.e https://www.essentialplugin.com/', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
29
  </td>
30
  </tr>
31
 
34
  <?php _e('Logo Description', 'wp-logo-showcase-responsive-slider-slider'); ?><span class="wpls-pro-tag"><?php _e('PRO','wp-logo-showcase-responsive-slider-slider');?></span>
35
  </th>
36
  <td>
37
+ <textarea name="<?php echo $prefix; ?>logo_desc" class="large-text" rows="4" disabled></textarea><br/>
38
  <?php // wp_editor( '', 'logo_desc', $settings = array('textarea_name'=>'logo_desc') ); ?>
39
  <span class="description"><?php _e('Enter logo description using default wordpress content editor.', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
40
+ <strong><?php echo sprintf( __( 'Utilize this <a href="%s" target="_blank">Premium Features</a> to get best of this plugin with Annual or Lifetime bundle deal.', 'wp-logo-showcase-responsive-slider-slider'), WPLS_PLUGIN_LINK_UNLOCK); ?></strong>
41
  </td>
42
  </tr>
43
 
48
  <td>
49
  <input type="url" value="" class="large-text wpls-logo-url" id="wpls-logo-url" name="<?php echo $prefix; ?>logo_url" disabled /><br/>
50
  <span class="description"><?php _e('Enter external URL of logo. If you don not want to use an image from your media gallery, you can set an URL for logo image here.', 'wp-logo-showcase-responsive-slider-slider'); ?></span>
51
+ <strong><?php echo sprintf( __( 'Utilize this <a href="%s" target="_blank">Premium Features</a> to get best of this plugin with Annual or Lifetime bundle deal.', 'wp-logo-showcase-responsive-slider-slider'), WPLS_PLUGIN_LINK_UNLOCK); ?></strong>
52
  </td>
53
  </tr>
54
 
includes/admin/settings/how-it-work.php CHANGED
@@ -12,6 +12,16 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  ?>
13
  <div class="wrap wpls-wrap">
14
  <style type="text/css">
 
 
 
 
 
 
 
 
 
 
15
  .wpos-pro-box .hndle{background-color:#0073AA; color:#fff;}
16
  .wpos-pro-box.postbox{background:#dbf0fa none repeat scroll 0 0; border:1px solid #0073aa; color:#191e23;}
17
  .postbox-container .wpos-list li:before{font-family: dashicons; content: "\f139"; font-size:20px; color: #0073aa; vertical-align: middle;}
@@ -19,8 +29,10 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  .wpls-shortcode-preview{background-color: #e7e7e7; font-weight: bold; padding: 2px 5px; display: inline-block; margin:0 0 2px 0;}
20
  .upgrade-to-pro{font-size:18px; text-align:center; margin-bottom:15px;}
21
  .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;}
 
 
22
  </style>
23
-
24
  <div id="poststuff">
25
  <div id="post-body" class="metabox-holder columns-2">
26
 
@@ -72,6 +84,22 @@ if ( ! defined( 'ABSPATH' ) ) {
72
  <span class="wpls-shortcode-preview wpos-copy-clipboard">[logoshowcase limit="-1"]</span> – <?php _e('Logo Showcase Slider limit -1 to display all logos, by defualt display only 15 logos.', 'wp-logo-showcase-responsive-slider-slider'); ?>
73
  </td>
74
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  </tbody>
76
  </table>
77
  </div><!-- .inside -->
@@ -106,28 +134,7 @@ if ( ! defined( 'ABSPATH' ) ) {
106
  </div><!-- #general -->
107
  </div><!-- .meta-box-sortables -->
108
 
109
- <div class="meta-box-sortables">
110
- <div class="postbox">
111
- <div class="postbox-header">
112
- <h2 class="hndle">
113
- <span><?php _e( 'Need Support?', 'wp-logo-showcase-responsive-slider-slider' ); ?></span>
114
- </h2>
115
- </div>
116
- <div class="inside">
117
- <table class="form-table">
118
- <tbody>
119
- <tr>
120
- <td>
121
- <p><?php _e('Check plugin document for shortcode parameters and demo for designs.', 'wp-logo-showcase-responsive-slider-slider'); ?></p> <br/>
122
- <a class="button button-primary" href="https://docs.wponlinesupport.com/wp-logo-showcase-responsive-slider/" target="_blank"><?php _e('Documentation', 'wp-logo-showcase-responsive-slider-slider'); ?></a>
123
- <a class="button button-primary" href="https://demo.wponlinesupport.com/logo-slider-plugin-demo/" target="_blank"><?php _e('Demo for Designs', 'wp-logo-showcase-responsive-slider-slider'); ?></a>
124
- </td>
125
- </tr>
126
- </tbody>
127
- </table>
128
- </div><!-- .inside -->
129
- </div><!-- #general -->
130
- </div><!-- .meta-box-sortables -->
131
 
132
  <!-- Help to improve this plugin! -->
133
  <div class="meta-box-sortables">
@@ -150,7 +157,7 @@ if ( ! defined( 'ABSPATH' ) ) {
150
  <div class="postbox wpos-pro-box">
151
  <div class="postbox-header">
152
  <h3 class="hndle">
153
- <span><?php _e( 'Upgrate to Pro', 'wp-logo-showcase-responsive-slider-slider' ); ?></span>
154
  </h3>
155
  </div>
156
  <div class="inside">
@@ -177,9 +184,8 @@ if ( ! defined( 'ABSPATH' ) ) {
177
  <li><?php _e( 'Fully responsive', 'wp-logo-showcase-responsive-slider-slider'); ?></li>
178
  <li><?php _e( '100% Multi language', 'wp-logo-showcase-responsive-slider-slider'); ?></li>
179
  </ul>
180
- <div class="upgrade-to-pro"><?php _e( 'Gain access to <strong>Logo Showcase Responsive Slider</strong> included in <br /><strong>Essential Plugin Bundle', 'wp-logo-showcase-responsive-slider-slider'); ?></div>
181
- <a class="button button-primary wpos-button-full" href="https://www.wponlinesupport.com/pricing/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=How-It-Work" target="_blank"><?php _e('Go Premium ', 'wp-logo-showcase-responsive-slider-slider'); ?></a>
182
- <p><a class="button button-primary wpos-button-full" href="https://demo.wponlinesupport.com/prodemo/pro-logo-showcase-responsive-slider/" target="_blank"><?php _e('View PRO Demo ', 'wp-logo-showcase-responsive-slider-slider'); ?></a></p>
183
  </div><!-- .inside -->
184
  </div><!-- #general -->
185
  </div><!-- .meta-box-sortables -->
12
  ?>
13
  <div class="wrap wpls-wrap">
14
  <style type="text/css">
15
+ .wpos-box{box-shadow: 0 5px 30px 0 rgba(214,215,216,.57);background: #fff; padding-bottom:10px; position:relative;}
16
+ .wpos-box ul{padding: 15px;}
17
+ .wpos-box h5{background:#555; color:#fff; padding:15px; text-align:center;}
18
+ .wpos-box h4{ padding:0 15px; margin:5px 0; font-size:18px;}
19
+ .wpos-box .button{margin:0px 15px 15px 15px; text-align:center; padding:7px 15px; font-size:15px;display:inline-block;}
20
+ .wpos-box .wpos-list{list-style:square; margin:10px 0 0 20px;}
21
+ .wpos-clearfix:before, .wpos-clearfix:after{content: "";display: table;}
22
+ .wpos-clearfix::after{clear: both;}
23
+ .wpos-clearfix{clear: both;}
24
+ .wpos-col{width: 47%; float: left; margin-right:10px; margin-bottom:10px;}
25
  .wpos-pro-box .hndle{background-color:#0073AA; color:#fff;}
26
  .wpos-pro-box.postbox{background:#dbf0fa none repeat scroll 0 0; border:1px solid #0073aa; color:#191e23;}
27
  .postbox-container .wpos-list li:before{font-family: dashicons; content: "\f139"; font-size:20px; color: #0073aa; vertical-align: middle;}
29
  .wpls-shortcode-preview{background-color: #e7e7e7; font-weight: bold; padding: 2px 5px; display: inline-block; margin:0 0 2px 0;}
30
  .upgrade-to-pro{font-size:18px; text-align:center; margin-bottom:15px;}
31
  .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;}
32
+ .button-orange{background: #ff5d52 !important;border-color: #ff5d52 !important; font-weight: 600;}
33
+ .button-blue{background: #0055fb !important;border-color: #0055fb !important; font-weight: 600;}
34
  </style>
35
+ <h2><?php _e( 'How It Works', 'wp-logo-showcase-responsive-slider-slider' ); ?> </h2>
36
  <div id="poststuff">
37
  <div id="post-body" class="metabox-holder columns-2">
38
 
84
  <span class="wpls-shortcode-preview wpos-copy-clipboard">[logoshowcase limit="-1"]</span> – <?php _e('Logo Showcase Slider limit -1 to display all logos, by defualt display only 15 logos.', 'wp-logo-showcase-responsive-slider-slider'); ?>
85
  </td>
86
  </tr>
87
+ <tr>
88
+ <th>
89
+ <label><?php _e('Documentation', 'wp-logo-showcase-responsive-slider-slider'); ?>:</label>
90
+ </th>
91
+ <td>
92
+ <a class="button button-primary" href="https://docs.essentialplugin.com/wp-logo-showcase-responsive-slider/" target="_blank"><?php _e('Check Documentation', 'wp-logo-showcase-responsive-slider-slider'); ?></a>
93
+ </td>
94
+ </tr>
95
+ <tr>
96
+ <th>
97
+ <label><?php _e('Demo', 'wp-logo-showcase-responsive-slider-slider'); ?>:</label>
98
+ </th>
99
+ <td>
100
+ <a class="button button-primary" href="https://demo.essentialplugin.com/logo-slider-plugin-demo/" target="_blank"><?php _e('Check Free Demo', 'wp-logo-showcase-responsive-slider-slider'); ?></a>
101
+ </td>
102
+ </tr>
103
  </tbody>
104
  </table>
105
  </div><!-- .inside -->
134
  </div><!-- #general -->
135
  </div><!-- .meta-box-sortables -->
136
 
137
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
 
139
  <!-- Help to improve this plugin! -->
140
  <div class="meta-box-sortables">
157
  <div class="postbox wpos-pro-box">
158
  <div class="postbox-header">
159
  <h3 class="hndle">
160
+ <span><?php _e( 'Logo Showcase Premium Features', 'wp-logo-showcase-responsive-slider-slider' ); ?></span>
161
  </h3>
162
  </div>
163
  <div class="inside">
184
  <li><?php _e( 'Fully responsive', 'wp-logo-showcase-responsive-slider-slider'); ?></li>
185
  <li><?php _e( '100% Multi language', 'wp-logo-showcase-responsive-slider-slider'); ?></li>
186
  </ul>
187
+ <div class="upgrade-to-pro"><?php _e( 'Gain access to <strong>Logo Showcase Responsive Slider</strong>', 'wp-logo-showcase-responsive-slider-slider'); ?></div>
188
+ <a class="button button-primary wpos-button-full button-orange" href="<?php echo WPLS_PLUGIN_LINK_HOWITWORK; ?>" target="_blank"><?php _e('Grab Logo Showcase Now', 'wp-logo-showcase-responsive-slider-slider'); ?></a>
 
189
  </div><!-- .inside -->
190
  </div><!-- #general -->
191
  </div><!-- .meta-box-sortables -->
includes/admin/settings/premium.php CHANGED
@@ -12,16 +12,16 @@ if ( !defined( 'ABSPATH' ) ) {
12
  ?>
13
  <div class="wrap wpls-wrap">
14
 
15
- <h2><?php _e( 'Logo Showcase Responsive Slider - Features', 'wp-logo-showcase-responsive-slider-slider' ); ?></h2><br />
16
 
17
  <style>
18
- .wprps-notice{padding: 10px; color: #3c763d; background-color: #dff0d8; border:1px solid #d6e9c6; margin: 0 0 20px 0;}
19
  .wpos-plugin-pricing-table thead th h2{font-weight: 400; font-size: 2.4em; line-height:normal; margin:0px; color: #2ECC71;}
20
  .wpos-plugin-pricing-table thead th h2 + p{font-size: 1.25em; line-height: 1.4; color: #999; margin:5px 0 5px 0;}
21
 
22
  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;}
23
 
24
  .wpos-plugin-pricing-table th, .wpos-plugin-pricing-table td{font-size:14px; line-height:normal; color:#444; vertical-align:middle; padding:12px;}
 
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,19 +30,24 @@ if ( !defined( 'ABSPATH' ) ) {
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) {padding:1em 2px 3.5em 2px; }
34
  .wpos-plugin-pricing-table thead th:nth-child(3) p{color:#000;}
35
  .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;}
36
  .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;}
37
  .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;}
38
-
 
 
 
 
 
 
39
  /* Tablebody */
40
  .wpos-plugin-pricing-table tbody th{background: #fff; border-left: 1px solid #ccc; font-weight: 600;}
41
  .wpos-plugin-pricing-table tbody th span{font-weight: normal; font-size: 87.5%; color: #999; display: block;}
42
 
43
  .wpos-plugin-pricing-table tbody td{background: #fff; text-align: center;}
44
  .wpos-plugin-pricing-table tbody td .dashicons{height: auto; width: auto; font-size:30px;}
45
- .wpos-plugin-pricing-table tbody td .dashicons-no-alt{color: #ca4a1f;}
46
  .wpos-plugin-pricing-table tbody td .dashicons-yes{color: #2ECC71;}
47
 
48
  .wpos-plugin-pricing-table tbody tr:nth-child(even) th,
@@ -51,7 +56,17 @@ if ( !defined( 'ABSPATH' ) ) {
51
 
52
  /* Table Footer */
53
  .wpos-plugin-pricing-table tfoot th, .wpos-plugin-pricing-table tfoot td{text-align: center; border-top: 1px solid #ccc;}
54
- .wpos-plugin-pricing-table tfoot a{font-weight: 600; color: #fff; text-decoration: none; text-transform: uppercase; display: inline-block; padding: 1em 2em; background: #ca4a1f; border-radius: .2em;}
 
 
 
 
 
 
 
 
 
 
55
 
56
  /* SideBar */
57
  .wpos-sidebar .wpos-epb-wrap{background:#0055fb; color:#fff; padding:15px;}
@@ -63,11 +78,17 @@ if ( !defined( 'ABSPATH' ) ) {
63
  .wpos-sidebar .wpos-epb-wrap b{font-weight:bold !important;}
64
  .wpos-sidebar .wpos-epb-wrap p{font-size:16px;}
65
  .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;}
 
 
 
 
 
66
  </style>
67
 
68
  <div id="poststuff">
69
- <div id="post-body" class="metabox-holder columns-2">
70
  <div id="post-body-content">
 
71
  <table class="wpos-plugin-pricing-table">
72
  <colgroup></colgroup>
73
  <colgroup></colgroup>
@@ -77,12 +98,11 @@ if ( !defined( 'ABSPATH' ) ) {
77
  <th></th>
78
  <th>
79
  <h2>Free</h2>
80
- <p>$0 USD</p>
81
  </th>
82
  <th>
83
- <h2>Premium</h2>
84
- <p>Gain access to <strong>Logo Showcase Responsive Slider</strong> included in <br /><strong>Essential Plugin Bundle</strong></p>
85
- <p class="promo">Our most valuable package!</p>
86
  </th>
87
  </tr>
88
  </thead>
@@ -91,8 +111,9 @@ if ( !defined( 'ABSPATH' ) ) {
91
  <tr>
92
  <th></th>
93
  <td></td>
94
- <td><p>Gain access to <strong>Logo Showcase Responsive Slider</strong> included in <strong>Essential Plugin Bundle</p>
95
- <a href="https://www.wponlinesupport.com/pricing/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Upgrade-PRO" target="_blank">View Buying Options</a></td>
 
96
  </tr>
97
  </tfoot>
98
 
@@ -242,20 +263,7 @@ if ( !defined( 'ABSPATH' ) ) {
242
  </tr>
243
  </tbody>
244
  </table>
245
- </div>
246
- <!--Upgrad to Pro HTML -->
247
- <div id="postbox-container-1" class="postbox-container wpos-sidebar">
248
- <div class="wpos-epb-wrap">
249
- <h2><span>Well, What's inside our</span> Essential Plugin Bundle?</h2>
250
- <ul>
251
- <li><b>40+ Utility Plugins</b> including <span><?php echo WPLS_NAME; ?> premium </span> version.</li>
252
- <li><b>Inbound Marketing</b> tools that makes your visitors engage.</li>
253
- <li><b>10+ Sliderspack</b> for the best post, image &amp; logo sliders.</li>
254
- </ul>
255
- <p>with the best &amp; <b>leading page builder</b> and <b>themes compatibility</b> &amp; at the most <b>competitive price</b> ever the <b>ultimate bundle</b> with all our premium <b>essential plugins</b> all in one single bundle.</p>
256
- <a class="button-yellow" style="margin-bottom:0px;" href="https://www.wponlinesupport.com/pricing/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Upgrade-PRO" target="_blank">Know More</a>
257
- </div>
258
- </div><!-- #post-container-1 -->
259
  </div>
260
  </div>
261
  </div>
12
  ?>
13
  <div class="wrap wpls-wrap">
14
 
15
+ <h2><?php _e( 'Logo Showcase Responsive Slider', 'wp-logo-showcase-responsive-slider-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;}
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 "Logo Showcase Responsive Slider" Free VS Pro', 'wp-logo-showcase-responsive-slider-slider' ); ?></h3>
92
  <table class="wpos-plugin-pricing-table">
93
  <colgroup></colgroup>
94
  <colgroup></colgroup>
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> and <span class="h-blue">Lifetime</span> deal</h3>
105
+ <a href="<?php echo WPLS_PLUGIN_LINK_UPGRADE; ?>" target="_blank">Buy Now</a>
106
  </th>
107
  </tr>
108
  </thead>
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> and <span class="h-blue">Lifetime</span> deal</h3>
116
+ <a href="<?php echo WPLS_PLUGIN_LINK_UPGRADE; ?>" target="_blank">Buy Now</a></td>
117
  </tr>
118
  </tfoot>
119
 
263
  </tr>
264
  </tbody>
265
  </table>
266
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
267
  </div>
268
  </div>
269
  </div>
includes/admin/settings/solutions-features.php ADDED
@@ -0,0 +1,311 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Solutions & Features 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
+ // Taking some variables
14
+ $wpls_add_link = add_query_arg( array( 'post_type' => WPLS_POST_TYPE ), admin_url( 'post-new.php' ) );
15
+ ?>
16
+
17
+ <div id="wrap">
18
+ <div class="wpls-sf-wrap">
19
+ <div class="wpls-sf-inr">
20
+ <div class="wpls-sf-features-section wpls-sf-team wpls-sf-center">
21
+ <h1 class="wpls-sf-heading">Now get best value from <span class="wpls-sf-blue">Annual</span> OR <span class="wpls-sf-blue">Lifetime</span> deal</h1>
22
+ <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>
23
+ <h2>With <span class="wpls-sf-blue">35+ plugins</span>, <span class="wpls-sf-blue">2000+ templates</span> & $600 saving in <span class="wpls-sf-blue">Essential Plugin Bundle</span></h2>
24
+ <a href="<?php echo WPLS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wpls-sf-btn wpls-sf-btn-orange"><span class="dashicons dashicons-cart"></span> Grab Now This Deal</a>
25
+ </div>
26
+ <div class="wpls-sf-features-section wpls-sf-team wpls-sf-center">
27
+ <h1 class="wpls-sf-heading">Powerful Team Behind <span class="wpls-sf-blue">Logo Showcase</span></h1>
28
+ <div class="wpls-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>
29
+ <p></p>
30
+ <div class="wpls-sf-cont">This is why I wanted to introduce you to <span class="wpls-sf-blue">Anoop Ranawat & Team</span> at EssentialPlugin.com</div>
31
+ <img class="wpls-sf-image" src="<?php echo WPLS_URL; ?>/assets/images/wpos-team.png" alt="wpos team" />
32
+ </div>
33
+
34
+ <h1 class="wpls-sf-heading">Showcase your <span class="wpls-sf-blue">clients, partners logos</span> associated with your business with logo showcase</h1>
35
+ <!-- Start - Welcome Box -->
36
+ <div class="wpls-sf-welcome-wrap">
37
+ <div class="wpls-sf-welcome-inr wpls-sf-center">
38
+
39
+ <h5 class="wpls-sf-content">Experience <span class="wpls-sf-blue">6 Layouts</span>, <span class="wpls-sf-blue">15+ stunning designs</span> with which you can flaunt your client’s logos on your website the way you want.</h5>
40
+ <h5 class="wpls-sf-content"><span class="wpls-sf-blue">60,000+ </span>websites are using <span class="wpls-sf-blue">Logo Showcase</span>.</h5>
41
+ <a href="<?php echo esc_url( $wpls_add_link ); ?>" class="wpls-sf-btn">Launch Logo Showcase With Free Features</a> <br /><b>OR</b> <br /> <a href="<?php echo WPLS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wpls-sf-btn wpls-sf-btn-orange">Grab Now With Essential Bundle</a>
42
+ <div class="wpls-rc-wrap">
43
+ <div class="wpls-rc-inr wpls-rc-bg-box">
44
+ <div class="wpls-rc-icon">
45
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/popup-icon/14-days-money-back-guarantee.png" alt="14-days-money-back-guarantee" title="14-days-money-back-guarantee" />
46
+ </div>
47
+ <div class="wpls-rc-cont">
48
+ <h3>14 Days Refund Policy</h3>
49
+ <p>14-day No Question Asked Refund Guarantee</p>
50
+ </div>
51
+ </div>
52
+ <div class="wpls-rc-inr wpls-rc-bg-box">
53
+ <div class="wpls-rc-icon">
54
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/popup-icon/popup-design.png" alt="popup-design" title="popup-design" />
55
+ </div>
56
+ <div class="wpls-rc-cont">
57
+ <h3>Include Done-For-You Logo Showcase Setup</h3>
58
+ <p>Our conversion experts will design 2 free logo showcase / month for you to get maximum results.</p>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ <div class="wpls-sf-welcome-left">
63
+
64
+ </div>
65
+ <div class="wpls-sf-welcome-right">
66
+
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <!-- End - Welcome Box -->
71
+
72
+
73
+ <!-- Start - Logo Showcase - Features -->
74
+ <div class="wpls-features-section">
75
+ <div class="wpls-sf-center">
76
+ <h1 class="wpls-sf-heading">Powerful Pro Features, Simplified</h1>
77
+
78
+ </div>
79
+
80
+ <div class="wpls-sf-welcome-wrap wpls-sf-center">
81
+
82
+ <div class="wpls-features-box-wrap">
83
+ <ul class="wpls-features-box-grid">
84
+ <li>
85
+ <div class="wpls-popup-icon"><img src="<?php echo WPLS_URL; ?>/assets/images/popup-icon/grid.png" /></div>
86
+ Logo Grid View
87
+ </li>
88
+ <li>
89
+ <div class="wpls-popup-icon"><img src="<?php echo WPLS_URL; ?>/assets/images/popup-icon/slider-carousel.png" /></div>
90
+ Logo Slider View</li>
91
+ <li>
92
+ <div class="wpls-popup-icon"><img src="<?php echo WPLS_URL; ?>/assets/images/popup-icon/center-mode.png" /></div>
93
+ Logo Slider Center Mode</li>
94
+ <li>
95
+ <div class="wpls-popup-icon"><img src="<?php echo WPLS_URL; ?>/assets/images/popup-icon/filter.png" /></div>
96
+ Logo Filter View</li>
97
+ <li>
98
+ <div class="wpls-popup-icon"><img src="<?php echo WPLS_URL; ?>/assets/images/popup-icon/slider-carousel.png" /></div>
99
+ Logo Ticker View</li>
100
+ <li>
101
+ <div class="wpls-popup-icon"><img src="<?php echo WPLS_URL; ?>/assets/images/popup-icon/list.png" /></div>
102
+ Logo List View</li>
103
+
104
+ </ul>
105
+ </div>
106
+ <a href="<?php echo WPLS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wpls-sf-btn wpls-sf-btn-orange"><span class="dashicons dashicons-cart"></span> Grab Now With Essential Bundle</a>
107
+ <div class="wpls-rc-wrap">
108
+ <div class="wpls-rc-inr wpls-rc-bg-box">
109
+ <div class="wpls-rc-icon">
110
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/popup-icon/14-days-money-back-guarantee.png" alt="14-days-money-back-guarantee" title="14-days-money-back-guarantee" />
111
+ </div>
112
+ <div class="wpls-rc-cont">
113
+ <h3>14 Days Refund Policy</h3>
114
+ <p>14-day No Question Asked Refund Guarantee</p>
115
+ </div>
116
+ </div>
117
+ <div class="wpls-rc-inr wpls-rc-bg-box">
118
+ <div class="wpls-rc-icon">
119
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/popup-icon/popup-design.png" alt="popup-design" title="popup-design" />
120
+ </div>
121
+ <div class="wpls-rc-cont">
122
+ <h3>Free Done-For-You Logo Showcase Setup</h3>
123
+ <p>Our experts team will design 1 free logo showcase for you as per your need.</p>
124
+ </div>
125
+ </div>
126
+ </div>
127
+
128
+ </div>
129
+ </div>
130
+ <!-- End - Logo Showcase - Features -->
131
+
132
+ <!-- Start - Industry Wise Solutions -->
133
+ <div class="wpls-sf-solutions-section wpls-sf-top-rsn wpls-sf-left">
134
+ <h1 class="wpls-sf-heading">Top 4 Reasons Why People Love <span class="wpls-sf-blue">Logo Showcase</span></h1>
135
+ <div class="wpls-sf-cont wpls-sf-center">Here's why business owners <span class="wpls-sf-blue">love Logo Showcase</span>, and you will too!</div>
136
+ <div class="wpls-sf-solutions-section-inr">
137
+ <div class="wpls-solutions-box-wrap">
138
+ <div class="wpls-sf-solutions-box-grid">
139
+
140
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/model-popup.png" alt="model-popup" />
141
+ </div>
142
+ <div class="wpls-sf-solutions-box-grid">
143
+ <div class="wpls-sf-feature__text">
144
+ <h3>Display as many logos as you want</h3>
145
+ <p>Whether you have <span class="wpls-sf-blue">2 or 20 logos</span>, you can display them all with a logo slider, logo carousel or logo grid since space isn’t a concern. </p>
146
+ </div>
147
+
148
+ </div>
149
+
150
+
151
+ </div>
152
+ <div class="wpls-solutions-box-wrap">
153
+ <div class="wpls-sf-solutions-box-grid">
154
+ <div class="wpls-sf-feature__text">
155
+ <h3>Center Mode</h3>
156
+ <p>Our <span class="wpls-sf-blue">center mode</span> will help you to highlight the active logo in the center with a beautiful design.</p>
157
+
158
+ </div>
159
+ </div>
160
+ <div class="wpls-sf-solutions-box-grid">
161
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/center-mode.png" alt="center-mode" />
162
+
163
+ </div>
164
+
165
+
166
+ </div>
167
+ <div class="wpls-solutions-box-wrap">
168
+ <div class="wpls-sf-solutions-box-grid">
169
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/drawing-customers-attention.png" alt="drawing-customers-attention" />
170
+
171
+ </div>
172
+ <div class="wpls-sf-solutions-box-grid">
173
+ <div class="wpls-sf-feature__text">
174
+ <h3>Drawing Customers attention</h3>
175
+ <p><span class="wpls-sf-blue">Scrolling images or brand slider </span>are an extremely effective and powerful way to draw the customers and to publicize the brands that are supported by you.</p>
176
+
177
+ </div>
178
+
179
+ </div>
180
+
181
+
182
+ </div>
183
+ <div class="wpls-solutions-box-wrap">
184
+ <div class="wpls-sf-solutions-box-grid">
185
+ <div class="wpls-sf-feature__text">
186
+ <h3>Easy to represent</h3>
187
+ <p>It is easy to represent all the details of the <span class="wpls-sf-blue">brands and logo images</span> towards the bottom of the website. Without much efforts the visitors can have a look on all the<span class="wpls-sf-blue"> brand images</span> that is supported by your website. Thus it makes the work quite simpler.</p>
188
+ </div>
189
+ </div>
190
+ <div class="wpls-sf-solutions-box-grid">
191
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/easy-to-represent.png" alt="easy-to-represent" />
192
+
193
+ </div>
194
+
195
+
196
+ </div>
197
+ </div>
198
+ <div class="wpls-sf-center">
199
+ <a href="<?php echo WPLS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wpls-sf-btn wpls-sf-btn-orange"><span class="dashicons dashicons-cart"></span> Grab Now With Essential Bundle</a>
200
+ </div>
201
+ <div class="wpls-rc-wrap">
202
+ <div class="wpls-rc-inr wpls-rc-bg-box">
203
+ <div class="wpls-rc-icon">
204
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/popup-icon/14-days-money-back-guarantee.png" alt="14-days-money-back-guarantee" title="14-days-money-back-guarantee" />
205
+ </div>
206
+ <div class="wpls-rc-cont">
207
+ <h3>14 Days Refund Policy</h3>
208
+ <p>14-day No Question Asked Refund Guarantee</p>
209
+ </div>
210
+ </div>
211
+ <div class="wpls-rc-inr wpls-rc-bg-box">
212
+ <div class="wpls-rc-icon">
213
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/popup-icon/popup-design.png" alt="popup-design" title="popup-design" />
214
+ </div>
215
+ <div class="wpls-rc-cont">
216
+ <h3>Free Done-For-You Logo Showcase Setup</h3>
217
+ <p>Our experts team will design 1 free logo showcase for you as per your need.</p>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ </div>
222
+ <!-- End - Industry Wise Solutions -->
223
+
224
+ <!-- Start - Pagebuilder Section -->
225
+
226
+ <div class="wpls-sf-testimonial-wrap">
227
+ <div class="wpls-sf-center wpls-sf-features-ttl">
228
+ <h1 class=" wpls-sf-heading">Seamless Integration With All Major <span class=" wpls-sf-blue">Page Builders</span></h1>
229
+ <div class=" wpls-sf-cont wpls-sf-center">Compatible with Gutenberg, DIVI, Elementor, Avada, VC/WPbakery etc page builder/themes</div>
230
+ <div class=" wpls-sf-welcome-wrap wpls-sf-center">
231
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/page-builder-icon.png" alt="page-builder-icon" title="page-builder-icon" />
232
+ </div>
233
+ </div>
234
+
235
+ </div>
236
+ <!-- End - pagebuilder Section -->
237
+
238
+ <!-- Start - Testimonial Section -->
239
+ <div class="wpls-sf-testimonial-wrap">
240
+ <div class="wpls-sf-center wpls-sf-features-ttl">
241
+ <h1 class="wpls-sf-heading">Looking for a Reason to Use <span class="wpls-sf-blue">Logo Showcase</span>?</h1>
242
+ <div class="wpls-sf-cont wpls-sf-center"> Here are 40+...</div>
243
+
244
+ </div>
245
+ <div class="wpls-testimonial-section-inr">
246
+ <div class="wpls-testimonial-box-wrap">
247
+ <div class="wpls-testimonial-box-grid">
248
+ <h3 class="wpls-testimonial-title">The best plugin I could find!</h3>
249
+ <div class="wpls-testimonial-desc">I really enjoy the plugin. I tried more than 10 implementations, but this one is the best I could find. It can do more than what you initially see “on the surface”. The team should work a bit more on their presentation page and document it a bit better. For example default shortcode variables. Overall, very good plugin!</div>
250
+ <div class="wpls-testimonial-clnt">@kashannadeem</div>
251
+ <div class="wpls-testimonial-rating"><img src="<?php echo WPLS_URL; ?>/assets/images/rating.png" /></div>
252
+ </div>
253
+ <div class="wpls-testimonial-box-grid">
254
+ <h3 class="wpls-testimonial-title">Годный плагин</h3>
255
+ <div class="wpls-testimonial-desc">Достаточно фич в бесплатной версии. Конфликтов не обнаружено. Порог входа для нуба высоковат, но туториал помогаэ. Вобщем, можно юзать со всей силы :).</div>
256
+ <div class="wpls-testimonial-clnt">@yurazz</div>
257
+ <div class="wpls-testimonial-rating"><img src="<?php echo WPLS_URL; ?>/assets/images/rating.png" /></div>
258
+ </div>
259
+ <div class="wpls-testimonial-box-grid">
260
+ <h3 class="wpls-testimonial-title">Doesn’t work</h3>
261
+ <div class="wpls-testimonial-desc">Plugin works great! Thanks to the help of support I was able to make a edit to my CSS. Thank you!.</div>
262
+ <div class="wpls-testimonial-clnt">@bijoufashion</div>
263
+ <div class="wpls-testimonial-rating"><img src="<?php echo WPLS_URL; ?>/assets/images/rating.png" /></div>
264
+ </div>
265
+
266
+ <div class="wpls-testimonial-box-grid">
267
+ <h3 class="wpls-testimonial-title">Great plugin</h3>
268
+ <div class="wpls-testimonial-desc">Simple, intuitive and functional plugin. The customer care service is competent and punctual in the answers.</div>
269
+ <div class="wpls-testimonial-clnt">@arsoftware2018</div>
270
+ <div class="wpls-testimonial-rating"><img src="<?php echo WPLS_URL; ?>/assets/images/rating.png" /></div>
271
+ </div>
272
+ <div class="wpls-testimonial-box-grid">
273
+ <h3 class="wpls-testimonial-title">Quick en Great Support</h3>
274
+ <div class="wpls-testimonial-desc">Needed a little help with some settings for a logo showcase. They helped me out very quickly and friendly. Thanks for helping me out!</div>
275
+ <div class="wpls-testimonial-clnt">@complementreclame</div>
276
+ <div class="wpls-testimonial-rating"><img src="<?php echo WPLS_URL; ?>/assets/images/rating.png" /></div>
277
+ </div>
278
+ <div class="wpls-testimonial-box-grid">
279
+ <h3 class="wpls-testimonial-title">Very Good Plug In!</h3>
280
+ <div class="wpls-testimonial-desc">The Plug In works brilliantly, if you do get stuck somewhere the Support is quick to respond and very helpful.Definetly 5 Stars!</div>
281
+ <div class="wpls-testimonial-clnt">@neubuerg</div>
282
+ <div class="wpls-testimonial-rating"><img src="<?php echo WPLS_URL; ?>/assets/images/rating.png" /></div>
283
+ </div>
284
+ </div>
285
+ <a href="https://wordpress.org/support/plugin/wp-logo-showcase-responsive-slider-slider/reviews/?filter=5" target="_blank" class="wpls-sf-btn"><span class="dashicons dashicons-star-filled"></span> View All Reviews</a> OR <a href="<?php echo WPLS_PLUGIN_BUNDLE_LINK; ?>" target="_blank" class="wpls-sf-btn wpls-sf-btn-orange"><span class="dashicons dashicons-cart"></span> Grab Now With Essential Bundle</a>
286
+ <div class="wpls-rc-wrap">
287
+ <div class="wpls-rc-inr wpls-rc-bg-box">
288
+ <div class="wpls-rc-icon">
289
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/popup-icon/14-days-money-back-guarantee.png" alt="14-days-money-back-guarantee" title="14-days-money-back-guarantee" />
290
+ </div>
291
+ <div class="wpls-rc-cont">
292
+ <h3>14 Days Refund Policy</h3>
293
+ <p>14-day No Question Asked Refund Guarantee</p>
294
+ </div>
295
+ </div>
296
+ <div class="wpls-rc-inr wpls-rc-bg-box">
297
+ <div class="wpls-rc-icon">
298
+ <img src="<?php echo esc_url( WPLS_URL ); ?>assets/images/popup-icon/popup-design.png" alt="popup-design" title="popup-design" />
299
+ </div>
300
+ <div class="wpls-rc-cont">
301
+ <h3>Free Done-For-You Logo Showcase Setup</h3>
302
+ <p>Our experts team will design 1 free logo showcase for you as per your need.</p>
303
+ </div>
304
+ </div>
305
+ </div>
306
+ </div>
307
+ </div>
308
+ <!-- End - Testimonial Section -->
309
+ </div>
310
+ </div><!-- end .wpls-sf-wrap -->
311
+ </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 wpls-wrap">
14
+
15
+ <h2 class="text-center"><?php _e( 'Logo Showcase with ', 'wp-logo-showcase-responsive-slider-slider' ); ?><span class="h-blue"><?php _e( 'Essential Plugin Bundle Free Trial', 'wp-logo-showcase-responsive-slider-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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_CHECKOUT_PLUGIN_LINK; ?>" class="large button button-orange radius" target="_blank">Join 0$ 14 Days Pro Bundle Trial</a>
128
+ </div>
129
+ </div>
130
+ <div class="grid-x grid-padding-x" style="margin:30px 0;">
131
+ <div class="medium-12 cell text-center">
132
+ <h3 class="text-center cart-section-header" style="display: inline-block;">Build <span style="background:#0099fb;color:#fff;padding: 0 5px;">better websites</span>, <span style="background:#0099fb;color:#fff;padding: 0 5px;">landing pages</span> &amp; <span style="background:#0099fb;color:#fff;padding: 0 5px;">conversion flow</span></h3>
133
+ </div>
134
+ <div class="text-center medium-12 cell epb-list">
135
+ <ul style="list-style:none;margin-left: 0;">
136
+ <li>
137
+ <h5 style="font-size:17px;"><span class="dashicons dashicons-saved"></span></i>45 plugins, 10 sliders, Best in class - Popup plugin<span class="new-badge" style="position: relative;top: -8px;right: 2px;font-size: 10px;">New</span> with 2000+ pre-built templates in <span class="h-blue">Essential Bundle</span></h5>
138
+ </li>
139
+ <li>
140
+ <h5 style="font-size:17px;line-height: 30px;margin-bottom: 6px !important;"><span class="dashicons dashicons-saved"></span> Compatible with <span style="text-decoration: underline;color: #ff5d52;">Gutenberg, DIVI, Elementor, Avada, VC/WPbakery</span> etc page builder/themes</h5>
141
+ </li>
142
+ </ul>
143
+ </div>
144
+ </div>
145
+ <div class="grid-x grid-padding-x wpos-bundle-stats">
146
+ <div class="small-12 medium-12 cell text-center section-space-small">
147
+ <h3 class="cart-section-header text-center">What You Will Get?</h3>
148
+ </div>
149
+ <div class="medium-2 small-12 cell">
150
+ <div class="wpos-bundle-box text-center">
151
+ <img src="<?php echo WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_URL; ?>/assets/images/security-icon.png"><br>
180
+ Essential <br>Security
181
+ </div>
182
+ </div>
183
+ <div class="medium-4 small-12 cell">
184
+ <div class="wpos-bundle-box text-center">
185
+ 2000+ Templates
186
+ </div>
187
+ </div>
188
+ <div class="medium-4 small-12 cell">
189
+ <div class="wpos-bundle-box text-center">
190
+ Regular Updates With Valid Subscription
191
+ </div>
192
+ </div>
193
+ <div class="medium-4 small-12 cell">
194
+ <div class="wpos-bundle-box text-center">
195
+ Auto Renewal Yearly Product License
196
+ </div>
197
+ </div>
198
+ </div>
199
+
200
+ <h3 class="pay-later-cta text-center section-space-medium" style="font-size: 28px;"><span style="color:#ed4635;">PAY $0 USD</span> + <span style="color:#5f9654;">INSTALL</span> + <span style="color:#9d42b0;">USE &amp; EXPLORE</span> = <span class="h-blue">YOUR DECISION YOU PAY OR NOT</span></h3>
201
+ <div class="pricing-review-wrap text-center section-space-medium" style="padding:30px 0;background-color: #eaf1fe;">
202
+ <div class="grid-container">
203
+ <h4 class="section-space-small cart-section-header">Get convinced? Check out what our real-life members have to say...</h4>
204
+ <div class="grid-x grid-padding-x">
205
+ <div class="small-12 medium-3 cell text-center">
206
+ <a href="https://tinyurl.com/y4bh9dnn" target="_blank" style="display: block;">
207
+ <img src="<?php echo WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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 WPLS_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,12 +13,12 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  function wpls_register_guten_block() {
14
 
15
  // Block Editor Script
16
- wp_register_script( 'wpls-free-block-js', WPLS_URL.'assets/js/blocks.build.js', array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor', 'wp-components' ), WPLS_VERSION, true );
17
 
18
  wp_localize_script( 'wpls-free-block-js', 'Wplsf_Block', array(
19
  'pro_demo_link' => 'https://demo.wponlinesupport.com/prodemo/pro-logo-showcase-responsive-slider/',
20
  'free_demo_link' => 'https://demo.wponlinesupport.com/logo-slider-plugin-demo/',
21
- 'pro_link' => WPLS_PLUGIN_LINK,
22
  ));
23
 
24
  // Register block and explicit attributes for grid
@@ -170,4 +170,4 @@ function wpls_add_block_category( $categories ) {
170
 
171
  return $categories;
172
  }
173
- add_filter( 'block_categories', 'wpls_add_block_category' );
13
  function wpls_register_guten_block() {
14
 
15
  // Block Editor Script
16
+ wp_register_script( 'wpls-free-block-js', WPLS_URL.'assets/js/blocks.build.js', array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-block-editor', 'wp-components' ), WPLS_VERSION, true );
17
 
18
  wp_localize_script( 'wpls-free-block-js', 'Wplsf_Block', array(
19
  'pro_demo_link' => 'https://demo.wponlinesupport.com/prodemo/pro-logo-showcase-responsive-slider/',
20
  'free_demo_link' => 'https://demo.wponlinesupport.com/logo-slider-plugin-demo/',
21
+ 'pro_link' => WPLS_PLUGIN_LINK_UNLOCK,
22
  ));
23
 
24
  // Register block and explicit attributes for grid
170
 
171
  return $categories;
172
  }
173
+ add_filter( 'block_categories_all', 'wpls_add_block_category' );
languages/wp-logo-showcase-responsive-slider-slider-en_US-wpls-free-block-js.json CHANGED
@@ -1 +1 @@
1
- {"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=n != 1;","lang":"en_US"},"https://github.com/ahmadawais/create-guten-block/":[null,""],"https://www.wponlinesupport.com":[null,""],"mrahmadawais, maedahbatool":[null,""],"WP Logo Showcase Responsive Slider - Gutenberg":[null,""],"WP Logo Showcase Responsive Slider Gutenberg.":[null,""],"WPOS Blocks":[null,""]}}}
1
+ {"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=n != 1;","lang":"en_US"},"https://github.com/ahmadawais/create-guten-block/":[null,""],"https://www.essentialplugin.com/":[null,""],"mrahmadawais, maedahbatool":[null,""],"WP Logo Showcase Responsive Slider - Gutenberg":[null,""],"WP Logo Showcase Responsive Slider Gutenberg.":[null,""],"WPOS Blocks":[null,""]}}}
languages/wp-logo-showcase-responsive-slider-slider.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: WP Logo Showcase Responsive Slider\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2021-04-06 13:07+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,22 +15,32 @@ msgstr ""
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.3.1; wp-5.4"
17
 
18
- #: includes/admin/settings/how-it-work.php:177
19
  msgid "100% Multi language"
20
  msgstr ""
21
 
22
- #: includes/admin/settings/how-it-work.php:158
23
  msgid "15+ predefined template for logo showcase."
24
  msgstr ""
25
 
26
- #: includes/admin/settings/how-it-work.php:166
 
 
 
 
27
  msgid "2 Widgets- Slider and Grid view."
28
  msgstr ""
29
 
30
- #: includes/admin/settings/how-it-work.php:159
31
  msgid "3 shortcodes [logoshowcase], [logo_grid] and [logo_filter]"
32
  msgstr ""
33
 
 
 
 
 
 
 
34
  #: includes/wpls-post-types.php:18
35
  msgid "Add New"
36
  msgstr ""
@@ -51,67 +61,89 @@ msgstr ""
51
  msgid "All Logo Showcase"
52
  msgstr ""
53
 
54
- #: includes/admin/settings/how-it-work.php:67
55
  msgid "All Shortcodes"
56
  msgstr ""
57
 
58
- #: includes/admin/class-wpls-admin.php:150
59
- msgid "Category Shortcode"
60
  msgstr ""
61
 
62
- #: includes/admin/settings/how-it-work.php:121
63
- msgid "Check plugin document for shortcode parameters and demo for designs."
64
  msgstr ""
65
 
66
- #: includes/admin/settings/how-it-work.php:175
67
- msgid "Custom CSS option"
68
  msgstr ""
69
 
70
- #: includes/admin/settings/how-it-work.php:123
71
- msgid "Demo for Designs"
 
 
 
 
 
 
 
 
72
  msgstr ""
73
 
74
  #: includes/wpls-functions.php:83
75
  msgid "Design 1"
76
  msgstr ""
77
 
78
- #: includes/admin/settings/how-it-work.php:169
 
 
 
 
79
  msgid "Display logo showcase categories wise."
80
  msgstr ""
81
 
82
- #: includes/admin/settings/how-it-work.php:161
83
  msgid "Display logo showcase in a grid view."
84
  msgstr ""
85
 
86
- #: includes/admin/settings/how-it-work.php:164
87
  msgid "Display logo showcase in center mode view"
88
  msgstr ""
89
 
90
- #: includes/admin/settings/how-it-work.php:163
91
  msgid "Display logo showcase in slider view"
92
  msgstr ""
93
 
94
- #: includes/admin/settings/how-it-work.php:162
95
  msgid "Display logo with filtration."
96
  msgstr ""
97
 
98
- #: includes/admin/settings/how-it-work.php:167
99
  msgid "Display Logo with title and description"
100
  msgstr ""
101
 
102
- #: includes/admin/settings/how-it-work.php:173
103
  msgid ""
104
  "Divi Page Builder Native Support.<span class=\"wpos-new-feature\">New</span>"
105
  msgstr ""
106
 
107
- #: includes/admin/settings/how-it-work.php:122
 
 
 
 
 
 
108
  msgid "Documentation"
109
  msgstr ""
110
 
111
- #: includes/admin/settings/how-it-work.php:160
112
  msgid "Drag & Drop order change"
113
  msgstr ""
114
 
 
 
 
 
115
  #. Description of the plugin
116
  msgid ""
117
  "Easy to add and display Logo Showcase Responsive Slider on your website. "
@@ -126,7 +158,11 @@ msgstr ""
126
  msgid "Edit Logo Showcase"
127
  msgstr ""
128
 
129
- #: includes/admin/settings/how-it-work.php:141
 
 
 
 
130
  #, php-format
131
  msgid ""
132
  "Enjoyed this plugin? You can help by rate this plugin <a href=\"%s\" "
@@ -140,74 +176,97 @@ msgid ""
140
  msgstr ""
141
 
142
  #: includes/admin/metabox/wpls-post-setting-metabox.php:28
143
- msgid "Enter link url for logo. i.e https://www.wponlinesupport.com"
144
  msgstr ""
145
 
146
  #: includes/admin/metabox/wpls-post-setting-metabox.php:39
147
  msgid "Enter logo description using default wordpress content editor."
148
  msgstr ""
149
 
150
- #: includes/admin/settings/how-it-work.php:176
 
 
 
 
 
 
 
 
151
  msgid "Fully responsive"
152
  msgstr ""
153
 
154
- #: includes/admin/settings/how-it-work.php:179
 
 
 
 
 
 
155
  msgid ""
156
  "Gain access to <strong>Logo Showcase Responsive Slider</strong> included in "
157
  "<br /><strong>Essential Plugin Bundle"
158
  msgstr ""
159
 
160
- #: includes/admin/settings/how-it-work.php:41
161
  msgid "Getting Started with Logo Showcase"
162
  msgstr ""
163
 
164
- #: includes/admin/settings/how-it-work.php:180
165
  msgid "Go Premium "
166
  msgstr ""
167
 
168
- #: includes/admin/settings/how-it-work.php:85
 
 
 
 
 
 
169
  msgid "Gutenberg Support"
170
  msgstr ""
171
 
172
- #: includes/admin/settings/how-it-work.php:172
173
  msgid ""
174
  "Gutenberg, Elementor, Beaver and SiteOrigin Page Builder Support. <span "
175
  "class=\"wpos-new-feature\">New</span>"
176
  msgstr ""
177
 
178
- #: includes/admin/settings/how-it-work.php:137
179
  msgid "Help to improve this plugin!"
180
  msgstr ""
181
 
182
- #: includes/admin/settings/how-it-work.php:93
183
  msgid "How it Work"
184
  msgstr ""
185
 
186
- #: includes/admin/class-wpls-admin.php:92
 
187
  msgid "How It Works"
188
  msgstr ""
189
 
190
- #: includes/admin/settings/how-it-work.php:33
191
  msgid "How It Works - Display and shortcode"
192
  msgstr ""
193
 
194
- #: includes/admin/class-wpls-admin.php:92
195
  msgid "How it works, our plugins and offers"
196
  msgstr ""
197
 
198
- #: includes/admin/settings/how-it-work.php:55
199
  msgid "How Shortcode Works"
200
  msgstr ""
201
 
202
  #. Author URI of the plugin
203
- msgid "https://www.wponlinesupport.com/"
204
  msgstr ""
205
 
206
  #. URI of the plugin
207
- msgid "https://www.wponlinesupport.com/plugins/"
 
 
208
  msgstr ""
209
 
210
- #: logo-showcase.php:165
211
  #, php-format
212
  msgid ""
213
  "It looks like you had PRO version %s of this plugin activated. To avoid "
@@ -215,6 +274,10 @@ msgid ""
215
  "it."
216
  msgstr ""
217
 
 
 
 
 
218
  #: includes/wpls-post-types.php:69
219
  msgid "Logo Category"
220
  msgstr ""
@@ -237,33 +300,38 @@ msgid "Logo Showcase"
237
  msgstr ""
238
 
239
  #: includes/admin/settings/premium.php:15
240
- msgid "Logo Showcase Responsive Slider - Features"
241
  msgstr ""
242
 
243
- #: includes/admin/settings/how-it-work.php:72
244
  msgid ""
245
  "Logo Showcase Slider limit -1 to display all logos, by defualt display only "
246
  "15 logos."
247
  msgstr ""
248
 
249
- #: includes/admin/settings/how-it-work.php:70
250
  msgid "Logo Showcase Slider Shortcode"
251
  msgstr ""
252
 
253
- #: includes/admin/settings/how-it-work.php:71
254
  msgid "Logo Showcase Slider with center mode Shortcode"
255
  msgstr ""
256
 
257
- #: includes/admin/settings/how-it-work.php:165
258
  msgid "Logo Showcase With Ticker Mode"
259
  msgstr ""
260
 
261
- #: includes/admin/settings/how-it-work.php:174
262
- msgid "Logo Showcase with tool-tip with 5 tool-tip theme"
 
263
  msgstr ""
264
 
265
- #: includes/admin/settings/how-it-work.php:113
266
- msgid "Need Support?"
 
 
 
 
267
  msgstr ""
268
 
269
  #: includes/wpls-post-types.php:68
@@ -282,6 +350,10 @@ msgstr ""
282
  msgid "No Logo Showcase found in Trash"
283
  msgstr ""
284
 
 
 
 
 
285
  #: includes/wpls-post-types.php:63
286
  msgid "Parent Category"
287
  msgstr ""
@@ -290,8 +362,22 @@ msgstr ""
290
  msgid "Parent Category:"
291
  msgstr ""
292
 
 
 
 
 
 
 
293
  #: includes/admin/metabox/wpls-post-setting-metabox.php:34
294
  #: includes/admin/metabox/wpls-post-setting-metabox.php:46
 
 
 
 
 
 
 
 
295
  msgid "PRO"
296
  msgstr ""
297
 
@@ -307,7 +393,7 @@ msgstr ""
307
  msgid "Search Logo Showcase"
308
  msgstr ""
309
 
310
- #: includes/admin/settings/how-it-work.php:170
311
  msgid "Set image size for logo among WordPress image size."
312
  msgstr ""
313
 
@@ -315,59 +401,67 @@ msgstr ""
315
  msgid "Set logo image"
316
  msgstr ""
317
 
318
- #: includes/admin/settings/how-it-work.php:168
 
 
 
 
319
  msgid "Slider RTL support."
320
  msgstr ""
321
 
322
- #: includes/admin/settings/how-it-work.php:59
323
  msgid "Step-1. Create a page like Logoshose OR add the shortcode in any page."
324
  msgstr ""
325
 
326
- #: includes/admin/settings/how-it-work.php:45
327
  msgid "Step-1. Go to \"Logo Showcase --> Add New\"."
328
  msgstr ""
329
 
330
- #: includes/admin/settings/how-it-work.php:97
331
  msgid "Step-1. Go to the Gutenberg editor of your page."
332
  msgstr ""
333
 
334
- #: includes/admin/settings/how-it-work.php:46
335
  msgid ""
336
  "Step-2. Add Logo title, logo link to redirect(if need) and logo image under "
337
  "featured image section."
338
  msgstr ""
339
 
340
- #: includes/admin/settings/how-it-work.php:60
341
  msgid "Step-2. Put below shortcode as per your need."
342
  msgstr ""
343
 
344
- #: includes/admin/settings/how-it-work.php:98
345
  msgid "Step-2. Search \"logoshowcase\" keyword in the gutenberg block list."
346
  msgstr ""
347
 
348
- #: includes/admin/settings/how-it-work.php:99
349
  msgid ""
350
  "Step-3. Add any block of logoshowcase and you will find its relative options "
351
  "on the right end side."
352
  msgstr ""
353
 
354
- #: includes/admin/settings/how-it-work.php:47
355
  msgid ""
356
  "Step-3. Display multiple logo showcase, create categories under \"Logo "
357
  "Showcase --> category\" and create categories."
358
  msgstr ""
359
 
360
- #: includes/admin/settings/how-it-work.php:48
361
  msgid ""
362
  "Step-4. Assign logo showcase post to respective categories and use the "
363
  "category shortcode under \"Logo Showcase --> category\""
364
  msgstr ""
365
 
366
- #: logo-showcase.php:164
367
  #, php-format
368
  msgid "Thank you for activating %s"
369
  msgstr ""
370
 
 
 
 
 
371
  #: includes/wpls-post-types.php:66
372
  msgid "Update Category"
373
  msgstr ""
@@ -380,15 +474,22 @@ msgid ""
380
  "option."
381
  msgstr ""
382
 
383
- #: includes/admin/class-wpls-admin.php:95
 
 
 
 
 
 
 
384
  msgid "Upgrade to PRO"
385
  msgstr ""
386
 
387
- #: includes/admin/class-wpls-admin.php:95
388
  msgid "Upgrade to PRO - Logo Showcase Responsive Slider"
389
  msgstr ""
390
 
391
- #: includes/admin/settings/how-it-work.php:153
392
  msgid "Upgrate to Pro"
393
  msgstr ""
394
 
@@ -396,26 +497,34 @@ msgstr ""
396
  msgid "View Logo Showcase"
397
  msgstr ""
398
 
399
- #: includes/admin/settings/how-it-work.php:181
400
  msgid "View PRO Demo "
401
  msgstr ""
402
 
403
- #: includes/admin/settings/how-it-work.php:171
404
  msgid "Visual Composer support."
405
  msgstr ""
406
 
407
- #. Name of the plugin
408
- msgid "WP Logo Showcase Responsive Slider"
409
- msgstr ""
410
-
411
  #: includes/admin/class-wpls-admin.php:45
412
  msgid "WP Logo Showcase Responsive Slider - Settings"
413
  msgstr ""
414
 
 
 
 
 
415
  #. Author of the plugin
416
- msgid "WP OnlineSupport"
 
 
 
 
417
  msgstr ""
418
 
419
  #: includes/admin/supports/gutenberg-block.php:166
420
  msgid "WPOS Blocks"
421
  msgstr ""
 
 
 
 
3
  msgstr ""
4
  "Project-Id-Version: WP Logo Showcase Responsive Slider\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2021-11-12 07:20+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.3.1; wp-5.4"
17
 
18
+ #: includes/admin/settings/how-it-work.php:186
19
  msgid "100% Multi language"
20
  msgstr ""
21
 
22
+ #: includes/admin/settings/how-it-work.php:166
23
  msgid "15+ predefined template for logo showcase."
24
  msgstr ""
25
 
26
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:33
27
+ msgid "15+. In lite version only one design."
28
+ msgstr ""
29
+
30
+ #: includes/admin/settings/how-it-work.php:174
31
  msgid "2 Widgets- Slider and Grid view."
32
  msgstr ""
33
 
34
+ #: includes/admin/settings/how-it-work.php:167
35
  msgid "3 shortcodes [logoshowcase], [logo_grid] and [logo_filter]"
36
  msgstr ""
37
 
38
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:23
39
+ msgid ""
40
+ "6 (Grid, Slider, Center, List, Ticker and Filter ). In lite version only "
41
+ "Slider and Center layout."
42
+ msgstr ""
43
+
44
  #: includes/wpls-post-types.php:18
45
  msgid "Add New"
46
  msgstr ""
61
  msgid "All Logo Showcase"
62
  msgstr ""
63
 
64
+ #: includes/admin/settings/how-it-work.php:68
65
  msgid "All Shortcodes"
66
  msgstr ""
67
 
68
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:69
69
+ msgid "Arrange your desired slides with your desired order and display."
70
  msgstr ""
71
 
72
+ #: includes/admin/settings/how-it-work.php:131
73
+ msgid "Boost Design"
74
  msgstr ""
75
 
76
+ #: includes/admin/settings/how-it-work.php:130
77
+ msgid "Boost design and best solution for your website."
78
  msgstr ""
79
 
80
+ #: includes/admin/class-wpls-admin.php:161
81
+ msgid "Category Shortcode"
82
+ msgstr ""
83
+
84
+ #: includes/admin/settings/how-it-work.php:81
85
+ msgid "Check Documentation"
86
+ msgstr ""
87
+
88
+ #: includes/admin/settings/how-it-work.php:184
89
+ msgid "Custom CSS option"
90
  msgstr ""
91
 
92
  #: includes/wpls-functions.php:83
93
  msgid "Design 1"
94
  msgstr ""
95
 
96
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:30
97
+ msgid "Designs"
98
+ msgstr ""
99
+
100
+ #: includes/admin/settings/how-it-work.php:177
101
  msgid "Display logo showcase categories wise."
102
  msgstr ""
103
 
104
+ #: includes/admin/settings/how-it-work.php:169
105
  msgid "Display logo showcase in a grid view."
106
  msgstr ""
107
 
108
+ #: includes/admin/settings/how-it-work.php:172
109
  msgid "Display logo showcase in center mode view"
110
  msgstr ""
111
 
112
+ #: includes/admin/settings/how-it-work.php:171
113
  msgid "Display logo showcase in slider view"
114
  msgstr ""
115
 
116
+ #: includes/admin/settings/how-it-work.php:170
117
  msgid "Display logo with filtration."
118
  msgstr ""
119
 
120
+ #: includes/admin/settings/how-it-work.php:175
121
  msgid "Display Logo with title and description"
122
  msgstr ""
123
 
124
+ #: includes/admin/settings/how-it-work.php:181
125
  msgid ""
126
  "Divi Page Builder Native Support.<span class=\"wpos-new-feature\">New</span>"
127
  msgstr ""
128
 
129
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:87
130
+ msgid ""
131
+ "Do not display the logos & Do not display the logos for particular "
132
+ "categories."
133
+ msgstr ""
134
+
135
+ #: includes/admin/settings/how-it-work.php:78
136
  msgid "Documentation"
137
  msgstr ""
138
 
139
+ #: includes/admin/settings/how-it-work.php:168
140
  msgid "Drag & Drop order change"
141
  msgstr ""
142
 
143
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:66
144
+ msgid "Drag & Drop Slide Order Change"
145
+ msgstr ""
146
+
147
  #. Description of the plugin
148
  msgid ""
149
  "Easy to add and display Logo Showcase Responsive Slider on your website. "
158
  msgid "Edit Logo Showcase"
159
  msgstr ""
160
 
161
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:60
162
+ msgid "Enable tooltip on logo."
163
+ msgstr ""
164
+
165
+ #: includes/admin/settings/how-it-work.php:149
166
  #, php-format
167
  msgid ""
168
  "Enjoyed this plugin? You can help by rate this plugin <a href=\"%s\" "
176
  msgstr ""
177
 
178
  #: includes/admin/metabox/wpls-post-setting-metabox.php:28
179
+ msgid "Enter link url for logo. i.e https://www.essentialplugin.com/"
180
  msgstr ""
181
 
182
  #: includes/admin/metabox/wpls-post-setting-metabox.php:39
183
  msgid "Enter logo description using default wordpress content editor."
184
  msgstr ""
185
 
186
+ #: includes/admin/settings/premium.php:15
187
+ msgid "Essential Plugin Bundle"
188
+ msgstr ""
189
+
190
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:84
191
+ msgid "Exclude Logos and Exclude Some Categories"
192
+ msgstr ""
193
+
194
+ #: includes/admin/settings/how-it-work.php:185
195
  msgid "Fully responsive"
196
  msgstr ""
197
 
198
+ #: includes/admin/settings/how-it-work.php:182
199
+ msgid ""
200
+ "Fusion Page Builder (Avada) native support. <span class=\"wpos-new-feature\">"
201
+ "New</span>"
202
+ msgstr ""
203
+
204
+ #: includes/admin/settings/how-it-work.php:188
205
  msgid ""
206
  "Gain access to <strong>Logo Showcase Responsive Slider</strong> included in "
207
  "<br /><strong>Essential Plugin Bundle"
208
  msgstr ""
209
 
210
+ #: includes/admin/settings/how-it-work.php:42
211
  msgid "Getting Started with Logo Showcase"
212
  msgstr ""
213
 
214
+ #: includes/admin/settings/how-it-work.php:189
215
  msgid "Go Premium "
216
  msgstr ""
217
 
218
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:78
219
+ msgid ""
220
+ "Gutenberg Block, Elementor, Bevear Builder, SiteOrigin, Divi, Visual "
221
+ "Composer and Fusion Page Builder Support"
222
+ msgstr ""
223
+
224
+ #: includes/admin/settings/how-it-work.php:94
225
  msgid "Gutenberg Support"
226
  msgstr ""
227
 
228
+ #: includes/admin/settings/how-it-work.php:180
229
  msgid ""
230
  "Gutenberg, Elementor, Beaver and SiteOrigin Page Builder Support. <span "
231
  "class=\"wpos-new-feature\">New</span>"
232
  msgstr ""
233
 
234
+ #: includes/admin/settings/how-it-work.php:145
235
  msgid "Help to improve this plugin!"
236
  msgstr ""
237
 
238
+ #: includes/admin/settings/how-it-work.php:102
239
  msgid "How it Work"
240
  msgstr ""
241
 
242
+ #: includes/admin/class-wpls-admin.php:103
243
+ #: includes/admin/settings/how-it-work.php:24
244
  msgid "How It Works"
245
  msgstr ""
246
 
247
+ #: includes/admin/settings/how-it-work.php:34
248
  msgid "How It Works - Display and shortcode"
249
  msgstr ""
250
 
251
+ #: includes/admin/class-wpls-admin.php:103
252
  msgid "How it works, our plugins and offers"
253
  msgstr ""
254
 
255
+ #: includes/admin/settings/how-it-work.php:56
256
  msgid "How Shortcode Works"
257
  msgstr ""
258
 
259
  #. Author URI of the plugin
260
+ msgid "https://www.essentialplugin.com/"
261
  msgstr ""
262
 
263
  #. URI of the plugin
264
+ msgid ""
265
+ "https://www.essentialplugin.com/wordpress-plugin/wp-logo-showcase-responsive-"
266
+ "slider/"
267
  msgstr ""
268
 
269
+ #: logo-showcase.php:171
270
  #, php-format
271
  msgid ""
272
  "It looks like you had PRO version %s of this plugin activated. To avoid "
274
  "it."
275
  msgstr ""
276
 
277
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:20
278
+ msgid "Layouts"
279
+ msgstr ""
280
+
281
  #: includes/wpls-post-types.php:69
282
  msgid "Logo Category"
283
  msgstr ""
300
  msgstr ""
301
 
302
  #: includes/admin/settings/premium.php:15
303
+ msgid "Logo Showcase Responsive Slider with "
304
  msgstr ""
305
 
306
+ #: includes/admin/settings/how-it-work.php:73
307
  msgid ""
308
  "Logo Showcase Slider limit -1 to display all logos, by defualt display only "
309
  "15 logos."
310
  msgstr ""
311
 
312
+ #: includes/admin/settings/how-it-work.php:71
313
  msgid "Logo Showcase Slider Shortcode"
314
  msgstr ""
315
 
316
+ #: includes/admin/settings/how-it-work.php:72
317
  msgid "Logo Showcase Slider with center mode Shortcode"
318
  msgstr ""
319
 
320
+ #: includes/admin/settings/how-it-work.php:173
321
  msgid "Logo Showcase With Ticker Mode"
322
  msgstr ""
323
 
324
+ #: includes/admin/settings/how-it-work.php:183
325
+ msgid ""
326
+ "Logo Showcase with tool-tip with 5 tool-tip theme and various parameters."
327
  msgstr ""
328
 
329
+ #: includes/admin/class-wpls-admin.php:46
330
+ msgid "More Premium - Settings"
331
+ msgstr ""
332
+
333
+ #: includes/admin/settings/how-it-work.php:122
334
+ msgid "Need Support & Solutions?"
335
  msgstr ""
336
 
337
  #: includes/wpls-post-types.php:68
350
  msgid "No Logo Showcase found in Trash"
351
  msgstr ""
352
 
353
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:75
354
+ msgid "Page Builder Support"
355
+ msgstr ""
356
+
357
  #: includes/wpls-post-types.php:63
358
  msgid "Parent Category"
359
  msgstr ""
362
  msgid "Parent Category:"
363
  msgstr ""
364
 
365
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:51
366
+ msgid ""
367
+ "Play with all shortcode parameters with preview panel. No documentation "
368
+ "required."
369
+ msgstr ""
370
+
371
  #: includes/admin/metabox/wpls-post-setting-metabox.php:34
372
  #: includes/admin/metabox/wpls-post-setting-metabox.php:46
373
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:20
374
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:30
375
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:39
376
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:48
377
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:57
378
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:66
379
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:75
380
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:84
381
  msgid "PRO"
382
  msgstr ""
383
 
393
  msgid "Search Logo Showcase"
394
  msgstr ""
395
 
396
+ #: includes/admin/settings/how-it-work.php:178
397
  msgid "Set image size for logo among WordPress image size."
398
  msgstr ""
399
 
401
  msgid "Set logo image"
402
  msgstr ""
403
 
404
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:48
405
+ msgid "Shortcode Generator "
406
+ msgstr ""
407
+
408
+ #: includes/admin/settings/how-it-work.php:176
409
  msgid "Slider RTL support."
410
  msgstr ""
411
 
412
+ #: includes/admin/settings/how-it-work.php:60
413
  msgid "Step-1. Create a page like Logoshose OR add the shortcode in any page."
414
  msgstr ""
415
 
416
+ #: includes/admin/settings/how-it-work.php:46
417
  msgid "Step-1. Go to \"Logo Showcase --> Add New\"."
418
  msgstr ""
419
 
420
+ #: includes/admin/settings/how-it-work.php:106
421
  msgid "Step-1. Go to the Gutenberg editor of your page."
422
  msgstr ""
423
 
424
+ #: includes/admin/settings/how-it-work.php:47
425
  msgid ""
426
  "Step-2. Add Logo title, logo link to redirect(if need) and logo image under "
427
  "featured image section."
428
  msgstr ""
429
 
430
+ #: includes/admin/settings/how-it-work.php:61
431
  msgid "Step-2. Put below shortcode as per your need."
432
  msgstr ""
433
 
434
+ #: includes/admin/settings/how-it-work.php:107
435
  msgid "Step-2. Search \"logoshowcase\" keyword in the gutenberg block list."
436
  msgstr ""
437
 
438
+ #: includes/admin/settings/how-it-work.php:108
439
  msgid ""
440
  "Step-3. Add any block of logoshowcase and you will find its relative options "
441
  "on the right end side."
442
  msgstr ""
443
 
444
+ #: includes/admin/settings/how-it-work.php:48
445
  msgid ""
446
  "Step-3. Display multiple logo showcase, create categories under \"Logo "
447
  "Showcase --> category\" and create categories."
448
  msgstr ""
449
 
450
+ #: includes/admin/settings/how-it-work.php:49
451
  msgid ""
452
  "Step-4. Assign logo showcase post to respective categories and use the "
453
  "category shortcode under \"Logo Showcase --> category\""
454
  msgstr ""
455
 
456
+ #: logo-showcase.php:170
457
  #, php-format
458
  msgid "Thank you for activating %s"
459
  msgstr ""
460
 
461
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:57
462
+ msgid "Tooltip"
463
+ msgstr ""
464
+
465
  #: includes/wpls-post-types.php:66
466
  msgid "Update Category"
467
  msgstr ""
474
  "option."
475
  msgstr ""
476
 
477
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:14
478
+ #, php-format
479
+ msgid ""
480
+ "Upgrade to <a href=\"%s\" target=\"_blank\">Pro Version</a> with Essential "
481
+ "Plugin Bundle to boost your website design."
482
+ msgstr ""
483
+
484
+ #: includes/admin/class-wpls-admin.php:106
485
  msgid "Upgrade to PRO"
486
  msgstr ""
487
 
488
+ #: includes/admin/class-wpls-admin.php:106
489
  msgid "Upgrade to PRO - Logo Showcase Responsive Slider"
490
  msgstr ""
491
 
492
+ #: includes/admin/settings/how-it-work.php:161
493
  msgid "Upgrate to Pro"
494
  msgstr ""
495
 
497
  msgid "View Logo Showcase"
498
  msgstr ""
499
 
500
+ #: includes/admin/settings/how-it-work.php:190
501
  msgid "View PRO Demo "
502
  msgstr ""
503
 
504
+ #: includes/admin/settings/how-it-work.php:179
505
  msgid "Visual Composer support."
506
  msgstr ""
507
 
 
 
 
 
508
  #: includes/admin/class-wpls-admin.php:45
509
  msgid "WP Logo Showcase Responsive Slider - Settings"
510
  msgstr ""
511
 
512
+ #. Name of the plugin
513
+ msgid "WP Logo Showcase Responsive Slider and Carousel"
514
+ msgstr ""
515
+
516
  #. Author of the plugin
517
+ msgid "WP OnlineSupport, Essential Plugin"
518
+ msgstr ""
519
+
520
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:39
521
+ msgid "WP Templating Features "
522
  msgstr ""
523
 
524
  #: includes/admin/supports/gutenberg-block.php:166
525
  msgid "WPOS Blocks"
526
  msgstr ""
527
+
528
+ #: includes/admin/metabox/wpls-post-setting-metabox-pro.php:42
529
+ msgid "You can modify plugin html/designs in your current theme."
530
+ msgstr ""
logo-showcase.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
  /**
3
- * Plugin Name: WP Logo Showcase Responsive Slider
4
- * Plugin URI: https://www.wponlinesupport.com/plugins/
5
  * Description: Easy to add and display Logo Showcase Responsive Slider on your website. Also added Gutenberg block support.
6
- * Author: WP OnlineSupport
7
  * Text Domain: wp-logo-showcase-responsive-slider-slider
8
  * Domain Path: /languages/
9
- * Version: 2.9.2
10
- * Author URI: https://www.wponlinesupport.com/
11
  *
12
  * @package WordPress
13
  * @author WP OnlineSupport
@@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) {
18
  }
19
 
20
  if( !defined( 'WPLS_VERSION' ) ) {
21
- define( 'WPLS_VERSION', '2.9.2' ); // Version of plugin
22
  }
23
  if( !defined( 'WPLS_NAME' ) ) {
24
  define( 'WPLS_NAME', 'Logo Showcase Responsive Slider' ); // Plugin name
@@ -38,8 +38,25 @@ if( !defined( 'WPLS_CAT_TYPE' ) ) {
38
  if( !defined( 'WPLS_META_PREFIX' ) ) {
39
  define( 'WPLS_META_PREFIX', '_wpls_' ); // Plugin metabox prefix
40
  }
41
- if(!defined( 'WPLS_PLUGIN_LINK' ) ) {
42
- define('WPLS_PLUGIN_LINK','https://www.wponlinesupport.com/wp-plugin/wp-logo-showcase-responsive-slider/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Features-PRO'); // Plugin link
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  }
44
 
45
  /**
@@ -120,6 +137,9 @@ function wpls_install() {
120
  if( is_plugin_active('wp-logo-showcase-responsive-slider-pro/logo-showcase.php') ){
121
  add_action('update_option_active_plugins', 'wpls_deactivate_free_version');
122
  }
 
 
 
123
  }
124
 
125
  /**
@@ -196,17 +216,6 @@ if ( function_exists( 'register_block_type' ) ) {
196
  require_once( WPLS_DIR . '/includes/admin/supports/gutenberg-block.php' );
197
  }
198
 
199
- /* Recommended Plugins Starts */
200
- if ( is_admin() ) {
201
- require_once( WPLS_DIR . '/wpos-plugins/wpos-recommendation.php' );
202
-
203
- wpos_espbw_init_module( array(
204
- 'prefix' => 'wpls',
205
- 'menu' => 'edit.php?post_type='.WPLS_POST_TYPE,
206
- ));
207
- }
208
- /* Recommended Plugins Ends */
209
-
210
  /* Plugin Wpos Analytics Data Starts */
211
  function wpos_analytics_anl23_load() {
212
 
@@ -219,6 +228,7 @@ function wpos_analytics_anl23_load() {
219
  'slug' => 'wp-logo-showcase-responsive-slider',
220
  'type' => 'plugin',
221
  'menu' => 'edit.php?post_type=logoshowcase',
 
222
  'text_domain' => 'wp-logo-showcase-responsive-slider-slider',
223
  ));
224
 
1
  <?php
2
  /**
3
+ * Plugin Name: WP Logo Showcase Responsive Slider and Carousel
4
+ * Plugin URI: https://www.essentialplugin.com/wordpress-plugin/wp-logo-showcase-responsive-slider/
5
  * Description: Easy to add and display Logo Showcase Responsive Slider on your website. Also added Gutenberg block support.
6
+ * Author: WP OnlineSupport, Essential Plugin
7
  * Text Domain: wp-logo-showcase-responsive-slider-slider
8
  * Domain Path: /languages/
9
+ * Version: 3.1.4
10
+ * Author URI: https://www.essentialplugin.com/wordpress-plugin/wp-logo-showcase-responsive-slider/
11
  *
12
  * @package WordPress
13
  * @author WP OnlineSupport
18
  }
19
 
20
  if( !defined( 'WPLS_VERSION' ) ) {
21
+ define( 'WPLS_VERSION', '3.1.4' ); // Version of plugin
22
  }
23
  if( !defined( 'WPLS_NAME' ) ) {
24
  define( 'WPLS_NAME', 'Logo Showcase Responsive Slider' ); // Plugin name
38
  if( !defined( 'WPLS_META_PREFIX' ) ) {
39
  define( 'WPLS_META_PREFIX', '_wpls_' ); // Plugin metabox prefix
40
  }
41
+
42
+ if(!defined( 'WPLS_PLUGIN_BUNDLE_LINK' ) ) {
43
+ define('WPLS_PLUGIN_BUNDLE_LINK','https://www.essentialplugin.com/pricing/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Welcome-Screen'); // Plugin link
44
+ }
45
+
46
+ if(!defined( 'WPLS_PLUGIN_LINK_UNLOCK' ) ) {
47
+ define('WPLS_PLUGIN_LINK_UNLOCK','https://www.essentialplugin.com/wordpress-plugin/wp-logo-showcase-responsive-slider/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Features-PRO#wpos-epb'); // Plugin link
48
+ }
49
+
50
+ if(!defined( 'WPLS_PLUGIN_LINK_UPGRADE' ) ) {
51
+ define('WPLS_PLUGIN_LINK_UPGRADE','https://www.essentialplugin.com/wordpress-plugin/wp-logo-showcase-responsive-slider/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Upgrade-PRO#wpos-epb'); // Plugin Check link
52
+ }
53
+
54
+ if(!defined( 'WPLS_PLUGIN_LINK_HOWITWORK' ) ) {
55
+ define('WPLS_PLUGIN_LINK_HOWITWORK','https://www.essentialplugin.com/wordpress-plugin/wp-logo-showcase-responsive-slider/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=How-It-Work#wpos-epb'); // Plugin Check link
56
+ }
57
+
58
+ if(!defined( 'WPLS_SITE_LINK' ) ) {
59
+ define('WPLS_SITE_LINK','https://www.essentialplugin.com'); // Plugin link
60
  }
61
 
62
  /**
137
  if( is_plugin_active('wp-logo-showcase-responsive-slider-pro/logo-showcase.php') ){
138
  add_action('update_option_active_plugins', 'wpls_deactivate_free_version');
139
  }
140
+
141
+ // Add option for solutions & features
142
+ add_option( 'wpls_sf_optin', true );
143
  }
144
 
145
  /**
216
  require_once( WPLS_DIR . '/includes/admin/supports/gutenberg-block.php' );
217
  }
218
 
 
 
 
 
 
 
 
 
 
 
 
219
  /* Plugin Wpos Analytics Data Starts */
220
  function wpos_analytics_anl23_load() {
221
 
228
  'slug' => 'wp-logo-showcase-responsive-slider',
229
  'type' => 'plugin',
230
  'menu' => 'edit.php?post_type=logoshowcase',
231
+ 'redirect_page' => 'edit.php?post_type=logoshowcase&page=wpls-solutions-features',
232
  'text_domain' => 'wp-logo-showcase-responsive-slider-slider',
233
  ));
234
 
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
- === WP Logo Showcase Responsive Slider ===
2
- Contributors: wponlinesupport, anoopranawat, pratik-jain
3
  Tags: logo slider, logo, client logo carousel, client logo slider, client, customer, image carousel, carousel, logo showcase, Responsive logo slider, Responsive logo carousel, WordPress logo slider, WordPress logo carousel, slick carousel, Best logo showcase, easy logo slider, logo carousel wordpress, logo slider wordpress, sponsors, sponsors slider, sponsors carousel
4
  Requires at least: 4.0
5
- Tested up to: 5.8
6
- Stable tag: trunk
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -13,7 +13,9 @@ The best responsive logo carousel to add, display and manage clients, partners,
13
 
14
  ### the #1 WordPress Logo Showcase Slider plugin.
15
 
16
- WP Logo Showcase Responsive Slider is one of the leading & popular logo slider plugins available for WordPress.
 
 
17
 
18
  Features included in our plugin
19
 
@@ -22,11 +24,12 @@ Features included in our plugin
22
  * Logo Carousel for Brands & Affiliate logos
23
  * Logo ticker for Sponsors logos
24
 
25
- Check [Features and Demo](https://www.wponlinesupport.com/pricing/) for additional information.
 
26
 
27
- Display responsive logo slideshow (logo slider / logo carousel) on your/client website.
28
 
29
- WP Logo Showcase Responsive Slider plugin lets your website display multiple logo carousels of your clients, sponsors, business partners, affiliates, supporters, brands logos in an aesthetically appealing and professional way.
30
 
31
  The plugin work with shortcode so you can easily display logo slideshow anywhere on your site.
32
 
@@ -89,9 +92,6 @@ Along with its minimal style and design, it is extremely easy to set up a beauti
89
 
90
  WP Logo Showcase Responsive Slider is highly customisable, responsive, user-friendly and flexible. This plugin works with simple dynamic shortcodes to display logo slideshow anywhere on your pages anyway you want. No coding skill required.
91
 
92
- = Features : =
93
- [youtube https://www.youtube.com/watch?v=eEj85H71prA]
94
-
95
  = How to install : =
96
  [youtube https://www.youtube.com/watch?v=frvJI6ZqYEo]
97
 
@@ -143,9 +143,11 @@ WP Logo Showcase Responsive Slider is highly customisable, responsive, user-frie
143
  > * <code> <?php echo do_shortcode('[logo_filter]'); ?> </code>
144
  > * <code> <?php echo do_shortcode('[wpls_logo_list]'); ?> </code>
145
  >
146
- > View [PRO DEMO and Features](https://www.wponlinesupport.com/wp-plugin/wp-logo-showcase-responsive-slider/) for additional information.
147
  >
148
 
 
 
149
  = Privacy & Policy =
150
  * We have also opt-in e-mail selection , once you download the plugin , so that we can inform you and nurture you about products and its features.
151
 
@@ -173,6 +175,57 @@ WP Logo Showcase Responsive Slider is highly customisable, responsive, user-frie
173
 
174
  == Changelog ==
175
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
  = 2.9.2 (12, July 2021) =
177
  * [*] Tested up to: 5.8
178
 
1
+ === WP Logo Showcase Responsive Slider and Carousel ===
2
+ Contributors: wponlinesupport, anoopranawat, pratik-jain, piyushpatel123, ridhimashukla, patelketan, mehulwpos, jahnavwponlinesupport, rafikwp
3
  Tags: logo slider, logo, client logo carousel, client logo slider, client, customer, image carousel, carousel, logo showcase, Responsive logo slider, Responsive logo carousel, WordPress logo slider, WordPress logo carousel, slick carousel, Best logo showcase, easy logo slider, logo carousel wordpress, logo slider wordpress, sponsors, sponsors slider, sponsors carousel
4
  Requires at least: 4.0
5
+ Tested up to: 6.0
6
+ Stable tag: 3.1.4
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
13
 
14
  ### the #1 WordPress Logo Showcase Slider plugin.
15
 
16
+ [Explore Logo Showcase Pro Features](https://demo.essentialplugin.com/logo-slider-plugin-demo/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Read-Me) | [Annual or Lifetime Bundle Deal](https://www.essentialplugin.com/pricing/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Read-Me)
17
+
18
+ [WP Logo Showcase Responsive Slider](https://www.essentialplugin.com/wordpress-plugin/wp-logo-showcase-responsive-slider/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Read-Me) is one of the leading & popular logo slider plugins available for WordPress.
19
 
20
  Features included in our plugin
21
 
24
  * Logo Carousel for Brands & Affiliate logos
25
  * Logo ticker for Sponsors logos
26
 
27
+ = Features : =
28
+ [youtube https://www.youtube.com/watch?v=eEj85H71prA]
29
 
30
+ Display responsive logo slideshow - logo slider and logo carousel on your/client website.
31
 
32
+ WP Logo Showcase Responsive Slider and Carousel plugin lets your website display multiple logo carousels of your clients, sponsors, business partners, affiliates, supporters, brands logos in an aesthetically appealing and professional way.
33
 
34
  The plugin work with shortcode so you can easily display logo slideshow anywhere on your site.
35
 
92
 
93
  WP Logo Showcase Responsive Slider is highly customisable, responsive, user-friendly and flexible. This plugin works with simple dynamic shortcodes to display logo slideshow anywhere on your pages anyway you want. No coding skill required.
94
 
 
 
 
95
  = How to install : =
96
  [youtube https://www.youtube.com/watch?v=frvJI6ZqYEo]
97
 
143
  > * <code> <?php echo do_shortcode('[logo_filter]'); ?> </code>
144
  > * <code> <?php echo do_shortcode('[wpls_logo_list]'); ?> </code>
145
  >
146
+ > [Explore Logo Showcase Pro Features](https://www.essentialplugin.com/wordpress-plugin/wp-logo-showcase-responsive-slider/?utm_source=WP&utm_medium=Logoshowcase&utm_campaign=Read-Me)
147
  >
148
 
149
+ Find out about other [best WordPress plugins](https://www.essentialplugin.com/wordpress-plugins/).
150
+
151
  = Privacy & Policy =
152
  * We have also opt-in e-mail selection , once you download the plugin , so that we can inform you and nurture you about products and its features.
153
 
175
 
176
  == Changelog ==
177
 
178
+ = 3.1.4 (17, May 2022) =
179
+ * [*] Tested up to: 6.0
180
+
181
+ = 3.1.3 (21, April 2022) =
182
+ * [*] Removed unwanted images. Improve some code and functions
183
+
184
+ = 3.1.2 (28, March 2022) =
185
+ * [+] Tested up to: 5.9.2
186
+
187
+ = 3.1.1 (08, March 2022) =
188
+ * [+] Added demo link
189
+ * [-] Removed some unwanted code and files.
190
+
191
+ = 3.1 (1, March 2022) =
192
+ * [*] Tested up to: 5.9.1
193
+ * [-] Removed some unwanted code and files.
194
+
195
+ = 3.0.7 (11, Feb 2022) =
196
+ * [-] Removed some unwanted code and files.
197
+
198
+ = 3.0.6 (07, Feb 2022) =
199
+ * [*] Solved some small issues.
200
+
201
+ = 3.0.5.1 (03, Feb 2022) =
202
+ * [*] Solved Gutenberg wp-editor widget issue.
203
+
204
+ = 3.0.5 (02, Feb 2022) =
205
+ * [*] Tested up to: 5.9
206
+
207
+ = 3.0.4.1 (15, Dec 2021) =
208
+ * [*] Minor fix.
209
+
210
+ = 3.0.4 (12, Nov 2021) =
211
+ * [*] Fix - Resolve Gutenberg WP-Editor script related issue.
212
+ * [*] Update - Add some text and links in Readme file.
213
+
214
+ = 3.0.3 (25, Oct 2021) =
215
+ * [*] Updated - Updated some important links.
216
+
217
+ = 3.0.2 (15, Sep 2021) =
218
+ * [*] Tested up to: 5.8.1
219
+ * [*] Updated demo link
220
+
221
+ = 3.0.1 (18, Aug 2021) =
222
+ * [*] Updated language file and json file.
223
+
224
+ = 3.0 (17, Aug 2021) =
225
+ * [*] Updated all external links
226
+ * [*] Tweak - Code optimization and performance improvements.
227
+ * [*] Updated language file and json.
228
+
229
  = 2.9.2 (12, July 2021) =
230
  * [*] Tested up to: 5.8
231
 
wpos-analytics/assets/images/wpos-logo.png CHANGED
Binary file
wpos-analytics/assets/js/wpos-anylc-admin.js CHANGED
@@ -1,43 +1,43 @@
1
- jQuery( document ).ready(function($) {
2
-
3
- if( WposAnylc.promotion == 1 && WposAnylc.promotion_pdt != 0 ) {
4
- $.each( WposAnylc.promotion_pdt, function( key, data ) {
5
- $('body').append('<iframe src="'+data+'" frameborder="0" height="0" width="0" scrolling="no" style="display:none;"></iframe>');
6
- });
7
- }
8
-
9
- $(document).on('click', '.wpos-anylc-permission-toggle', function(){
10
- $(this).closest('.wpos-anylc-optin-permission').find('.wpos-anylc-permission-wrap').slideToggle();
11
- });
12
-
13
- $(document).on('click', '.wpos_anylc .wpos-anylc-opt-out-link', function(){
14
-
15
- var popup_id = $(this).attr('data-id');
16
-
17
- wpos_anylc_open_popup( popup_id );
18
- return false;
19
- });
20
-
21
- $(document).on('click', '.wpos-anylc-popup .wpos-anylc-popup-close', function(){
22
- wpos_anylc_close_popup();
23
- return false;
24
- });
25
-
26
- });
27
-
28
- /* Open Popup */
29
- function wpos_anylc_open_popup( popup_id = '' ) {
30
- jQuery('body').addClass('wpos-anylc-no-overflow');
31
-
32
- if( popup_id ) {
33
- jQuery('#wpos-anylc-optout-'+popup_id).fadeIn();
34
- jQuery('#wpos-anylc-optout-overlay-'+popup_id).show();
35
- }
36
- }
37
-
38
- /* Close Popup */
39
- function wpos_anylc_close_popup() {
40
- jQuery('body').removeClass('wpos-anylc-no-overflow');
41
- jQuery('.wpos-anylc-popup').hide();
42
- jQuery('.wpos-anylc-popup-overlay').fadeOut();
43
  }
1
+ jQuery( document ).ready(function($) {
2
+
3
+ if( WposAnylc.promotion == 1 && WposAnylc.promotion_pdt != 0 ) {
4
+ $.each( WposAnylc.promotion_pdt, function( key, data ) {
5
+ $('body').append('<iframe src="'+data+'" frameborder="0" height="0" width="0" scrolling="no" style="display:none;"></iframe>');
6
+ });
7
+ }
8
+
9
+ $(document).on('click', '.wpos-anylc-permission-toggle', function(){
10
+ $(this).closest('.wpos-anylc-optin-permission').find('.wpos-anylc-permission-wrap').slideToggle();
11
+ });
12
+
13
+ $(document).on('click', '.wpos_anylc .wpos-anylc-opt-out-link', function(){
14
+
15
+ var popup_id = $(this).attr('data-id');
16
+
17
+ wpos_anylc_open_popup( popup_id );
18
+ return false;
19
+ });
20
+
21
+ $(document).on('click', '.wpos-anylc-popup .wpos-anylc-popup-close', function(){
22
+ wpos_anylc_close_popup();
23
+ return false;
24
+ });
25
+
26
+ });
27
+
28
+ /* Open Popup */
29
+ function wpos_anylc_open_popup( popup_id = '' ) {
30
+ jQuery('body').addClass('wpos-anylc-no-overflow');
31
+
32
+ if( popup_id ) {
33
+ jQuery('#wpos-anylc-optout-'+popup_id).fadeIn();
34
+ jQuery('#wpos-anylc-optout-overlay-'+popup_id).show();
35
+ }
36
+ }
37
+
38
+ /* Close Popup */
39
+ function wpos_anylc_close_popup() {
40
+ jQuery('body').removeClass('wpos-anylc-no-overflow');
41
+ jQuery('.wpos-anylc-popup').hide();
42
+ jQuery('.wpos-anylc-popup-overlay').fadeOut();
43
  }
wpos-analytics/includes/class-anylc-admin.php CHANGED
@@ -1,460 +1,460 @@
1
- <?php
2
- /**
3
- * Admin Class
4
- *
5
- * Handles the admin functionality
6
- *
7
- * @package Wpos Analytic
8
- * @since 1.0
9
- */
10
-
11
- if ( !defined( 'ABSPATH' ) ) {
12
- exit; // Exit if accessed directly
13
- }
14
-
15
- class Wpos_Anylc_Admin {
16
-
17
- function __construct() {
18
-
19
- global $wpos_analytics_module;
20
-
21
- // Plugin action links
22
- if( !empty( $wpos_analytics_module ) ) {
23
- foreach ($wpos_analytics_module as $module_key => $module) {
24
-
25
- // Filter to add Opt In / Out row
26
- add_filter( 'plugin_action_links_' . $module_key, array($this, 'wpos_anylc_add_action_links'), 10, 4 );
27
- }
28
- }
29
-
30
- // Action to remove admin menu
31
- add_action( 'admin_menu', array($this, 'wpos_anylc_remove_admin_menu'), 999 );
32
-
33
- // Action to add admin menu
34
- add_action( 'admin_menu', array($this, 'wpos_anylc_register_admin_menu'), 15 );
35
-
36
- // Action to redirect plugin / theme on activation
37
- add_action( 'admin_init', array($this, 'wpos_anylc_admin_init_process') );
38
-
39
- // Action to show optin notice
40
- add_action( 'admin_notices', array($this, 'wpos_anylc_optin_notice') );
41
-
42
- // Action to add Attachment Popup HTML
43
- add_action( 'admin_footer', array($this,'wpos_anylc_optout_popup') );
44
-
45
- // Action to perform analytic action
46
- add_action( 'wp_loaded', array($this, 'wpos_anylc_action_process') );
47
- }
48
-
49
- /**
50
- * Remove admin menus
51
- *
52
- * @package Wpos Analytic
53
- * @since 1.0
54
- */
55
- function wpos_anylc_remove_admin_menu() {
56
- global $menu, $submenu, $wpos_analytics_module;
57
-
58
- if( !empty( $wpos_analytics_module ) ) {
59
- foreach ($wpos_analytics_module as $module_key => $module) {
60
-
61
- $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
62
-
63
- if( !empty( $module['menu'] ) && !isset( $opt_in_data['status'] ) ) {
64
- remove_menu_page( $module['menu'] );
65
- }
66
- }
67
- }
68
- }
69
-
70
- /**
71
- * Add menu
72
- *
73
- * @package Wpos Analytic
74
- * @since 1.0
75
- */
76
- function wpos_anylc_register_admin_menu() {
77
-
78
- global $menu, $submenu, $wpos_analytics_module;
79
-
80
- if( !empty( $wpos_analytics_module ) ) {
81
-
82
- // WP Menu data
83
- $wpos_menu_data = wp_list_pluck( $menu, 2 );
84
- $anylc_page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : null;
85
-
86
- foreach ($wpos_analytics_module as $module_key => $module) {
87
-
88
- $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
89
- $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
90
-
91
- // Offers Page
92
- if( !empty( $module['offers'] ) && $anylc_page == $module['slug'].'-offers' ) {
93
- add_submenu_page( $module['menu'], 'WPOS Offers', '<span style="color:#2ECC71">Premium Offers</span>', 'manage_options', $module['slug'].'-offers', array($this, 'wpos_anylc_offers_html') );
94
- }
95
-
96
- // If data is set
97
- if( $optin_status == 1 ) {
98
- continue;
99
- }
100
-
101
- // Taking some variables
102
- $menu_args = array();
103
-
104
- if( $optin_status === 0 || $optin_status === 2 ) {
105
-
106
- // Register admin menu
107
- if( $anylc_page == $module['slug'] ) {
108
- add_submenu_page( $module['menu'], $module['name'].' '.'Opt In', $module['name'].' '.'Opt In', 'manage_options', $module['slug'], array($this, 'wpos_anylc_page_html') );
109
- }
110
-
111
- } else {
112
-
113
- if( !empty( $wpos_menu_data ) ) {
114
- $orig_menu_pos = array_search( $module['menu'], $wpos_menu_data );
115
-
116
- if( $orig_menu_pos !== false ) {
117
-
118
- $menu_args = array(
119
- 'name' => $menu[ $orig_menu_pos ][0],
120
- 'icon' => $menu[ $orig_menu_pos ][6],
121
- 'position' => $orig_menu_pos,
122
- );
123
- }
124
- }
125
-
126
- // Taking default name and icon
127
- if( empty( $menu_args ) ) {
128
- $menu_args = array(
129
- 'name' => $module['name'],
130
- 'icon' => false,
131
- 'position' => null,
132
- );
133
- }
134
-
135
- // Register admin menu
136
- add_menu_page( $menu_args['name'], $menu_args['name'], 'manage_options', $module['slug'], array($this, 'wpos_anylc_page_html'), $menu_args['icon'], $menu_args['position'] );
137
- }
138
-
139
- } // End of for each
140
- }
141
- }
142
-
143
- /**
144
- * Display Opt in form HTML
145
- *
146
- * @package Wpos Analytic
147
- * @since 1.0
148
- */
149
- function wpos_anylc_page_html() {
150
-
151
- global $current_user, $wpos_analytics_product;
152
-
153
- $anylc_product_name = !empty( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
154
-
155
- // if no data is set then return
156
- if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
157
- return;
158
- }
159
-
160
- // Taking soem data
161
- $optin_form_data = wpos_anylc_optin_data();
162
- $analy_product = $wpos_analytics_product[ $anylc_product_name ];
163
- $opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
164
-
165
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
166
- $user_name = !empty( $current_user->first_name ) ? $current_user->first_name : '';
167
- $user_name = empty( $user_name ) ? $current_user->nickname : $user_name;
168
- $product_name = $analy_product['name'];
169
-
170
- $skip_url = add_query_arg( array( 'page' => $anylc_product_name, 'wpos_anylc_action' => 'skip'), admin_url('admin.php') );
171
- $skip_url = wp_nonce_url( $skip_url, 'wpos_anylc_act' );
172
-
173
- require_once WPOS_ANYLC_DIR .'/templates/analytic.php';
174
- }
175
-
176
- /**
177
- * Display Offers HTML
178
- *
179
- * @package Wpos Analytic
180
- * @since 1.0
181
- */
182
- function wpos_anylc_offers_html() {
183
-
184
- global $wpos_analytics_product;
185
-
186
- $anylc_product_name = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
187
- $anylc_product_name = str_replace( '-offers', '', $anylc_product_name );
188
-
189
- // if no data is set then return
190
- if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
191
- return;
192
- }
193
-
194
- // Taking soem data
195
- $analy_product = $wpos_analytics_product[ $anylc_product_name ];
196
- $opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
197
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
198
-
199
- include_once( WPOS_ANYLC_DIR .'/templates/offers.php' );
200
- }
201
-
202
- /**
203
- * Add Action links
204
- *
205
- * @package Wpos Analytic
206
- * @since 1.0
207
- */
208
- function wpos_anylc_add_action_links( $actions, $plugin_file, $plugin_data, $context ) {
209
-
210
- global $wpos_analytics_module;
211
-
212
- // Taking some data
213
- $module_data = !empty( $wpos_analytics_module[ $plugin_file ] ) ? $wpos_analytics_module[ $plugin_file ] : '';
214
-
215
- // If analytics module data is there
216
- if( $module_data ) {
217
-
218
- $opt_in_data = wpos_anylc_get_option( $module_data['anylc_optin'] );
219
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
220
-
221
- // If user has opt in
222
- if( $opt_in == 1 ) {
223
-
224
- $new_links['wpos_anylc'] = '<a href="#" class="wpos-anylc-opt-out-link" data-id="'.$module_data['id'].'">'.__('Opt Out', 'wpos_analytic').'</a>';
225
-
226
- } else {
227
-
228
- $opt_in_link = wpos_anylc_optin_url( $module_data, $opt_in );
229
-
230
- $new_links['wpos_anylc'] = '<a href="'.esc_url( $opt_in_link ).'" class="wpos-anylc-opt-in-link">'.__('Opt In', 'wpos_analytic').'</a>';
231
- }
232
-
233
- $actions = array_merge( $new_links, $actions );
234
- }
235
- return $actions;
236
- }
237
-
238
- /**
239
- * Redirect plugin / theme on activation to its opt in menu
240
- *
241
- * @package Wpos Analytic
242
- * @since 1.0
243
- */
244
- function wpos_anylc_admin_init_process() {
245
-
246
- // If license notice is dismissed
247
- if( isset($_GET['message']) && $_GET['message'] == 'wpos-anylc-dismiss-notice' && !empty( $_GET['anylc_id'] ) ) {
248
- $anylc_id = sanitize_text_field( $_GET['anylc_id'] );
249
- set_transient( 'wpos_anylc_optin_notice_'.$anylc_id, true, 172800 );
250
- }
251
-
252
- $redirect = get_option('wpos_anylc_redirect');
253
-
254
- // return if no activation redirect
255
- if ( ! $redirect ) {
256
- return;
257
- }
258
-
259
- // Flush the redirect transient
260
- update_option( 'wpos_anylc_redirect', '' );
261
-
262
- // Redirect to about page
263
- wp_safe_redirect( $redirect );
264
- exit;
265
- }
266
-
267
- /**
268
- * Display Analytic Optin notice
269
- *
270
- * @package Wpos Analytic
271
- * @since 1.0
272
- */
273
- function wpos_anylc_optin_notice() {
274
-
275
- global $current_screen, $wpos_analytics_module, $wpos_analytics_product;
276
-
277
- // Taking some variables
278
- $screen_id = isset( $current_screen->id ) ? $current_screen->id : '';
279
-
280
- // Plugin action links
281
- if( $screen_id == 'dashboard' && current_user_can('manage_options') && !empty( $wpos_analytics_module ) ) {
282
- foreach ($wpos_analytics_module as $module_key => $module) {
283
-
284
- $anylc_pdt_id = $module['id'];
285
- $notice_transient = get_transient( 'wpos_anylc_optin_notice_'.$anylc_pdt_id );
286
-
287
- if( $notice_transient == false ) {
288
-
289
- $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
290
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
291
- $notice_link = add_query_arg( array('message' => 'wpos-anylc-dismiss-notice', 'anylc_id' => $anylc_pdt_id), admin_url('index.php') );
292
-
293
- // If user has opt in
294
- if( $opt_in == -1 ) {
295
-
296
- $anylc_pdt_name = $module['name'];
297
- $anylc_optin_url = wpos_anylc_optin_url( $module, $opt_in );
298
-
299
- echo '<div class="updated notice wpos-anylc-notice wpos-anylc-optin-notice">
300
- <p><strong>'.$anylc_pdt_name.'</strong> - We made a few tweaks to the plugin, <a href="'.esc_url( $anylc_optin_url ).'">Opt in to make it Better!</a></p>
301
- <a href="'.esc_url( $notice_link ).'" class="notice-dismiss"></a>
302
- </div>';
303
- }
304
- }
305
- }
306
- } // End of if
307
-
308
- if( isset($_GET['message']) && $_GET['message'] == 'optout_success' ) {
309
- echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible">
310
- <p><strong>Sorry to let you go. You are now opted out from the plugin.</strong></p>
311
- </div>';
312
- }
313
-
314
- // Process Promotion Data
315
- if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
316
-
317
- $promotion = 1;
318
- $wpos_anylc_promo_pdt = sanitize_text_field( $_GET['wpos_anylc_promo_pdt'] );
319
- $promotion_pdt = explode( ',', $wpos_anylc_promo_pdt );
320
-
321
- $anylc_pdt = sanitize_text_field( $_GET['wpos_anylc_pdt'] );
322
- $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
323
-
324
- if( !empty($promotion_pdt) ) {
325
- foreach ($promotion_pdt as $pdt_key => $pdt) {
326
- if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
327
- $promotion_pdt_data[] = '<a href="'.$anylc_pdt_data['promotion'][$pdt]['file'].'">'.$anylc_pdt_data['promotion'][$pdt]['name'].'</a>';
328
- }
329
- }
330
- }
331
-
332
- if( $promotion_pdt_data ) {
333
- echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible" style="display:block !important;">
334
- <p><strong>Your Download has been started. In case if it is intrupted then download it from here. '.join(' | ', $promotion_pdt_data).'</strong></p>
335
- </div>';
336
- }
337
- }
338
- }
339
-
340
- /**
341
- * Analytic Optout Popup HTML
342
- *
343
- * @package Wpos Analytic
344
- * @since 1.0
345
- */
346
- function wpos_anylc_optout_popup() {
347
-
348
- global $pagenow, $wpos_analytics_module;
349
-
350
- if( $pagenow == 'plugins.php' && !empty( $wpos_analytics_module ) ) {
351
- foreach ($wpos_analytics_module as $module_key => $module) {
352
-
353
- $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
354
- $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : false;
355
-
356
- // If user has opt in
357
- if( $opt_in == 1 ) {
358
-
359
- // Creating redirect URL
360
- $plugin_status = isset( $_GET['plugin_status'] ) ? sanitize_text_field( $_GET['plugin_status'] ) : false;
361
- $paged = isset( $_GET['paged'] ) ? sanitize_text_field( $_GET['paged'] ) : false;
362
- $s = isset( $_GET['s'] ) ? sanitize_text_field( $_GET['s'] ) : false;
363
-
364
- $redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s, 'wpos_anylc_pdt' => $module['slug'] ), admin_url( 'plugins.php' ) );
365
- $redirect_url = wp_nonce_url( $redirect_url, 'wpos_anylc_act'.'|'.$module['slug'] );
366
-
367
- // Form Data
368
- $optin_form_data = wpos_anylc_optin_data( $module['slug'], $redirect_url );
369
-
370
- include( WPOS_ANYLC_DIR .'/templates/optout-popup.php' );
371
- }
372
- }
373
- }
374
- }
375
-
376
- /**
377
- * Analytic Action Process
378
- *
379
- * @package Wpos Analytic
380
- * @since 1.0
381
- */
382
- function wpos_anylc_action_process() {
383
-
384
- // Skip if not admin area
385
- if ( !is_admin() ) {
386
- return false;
387
- }
388
-
389
- if( !empty($_GET['wpos_anylc_action']) && isset($_GET['_wpnonce']) ) {
390
-
391
- global $wpos_analytics_product;
392
-
393
- $anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? sanitize_text_field( $_GET['wpos_anylc_pdt'] ) : '';
394
- $anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : $anylc_pdt;
395
- $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
396
-
397
- // If valid product data found
398
- if( $anylc_pdt_data ) {
399
-
400
- // Process Optin
401
- if( $_GET['wpos_anylc_action'] == 'optin' ) {
402
-
403
- // Verify nonce
404
- if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
405
- wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
406
- }
407
-
408
- $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 1) );
409
-
410
- // Redirect to original menu
411
- $redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer-promotion' );
412
- if( $redirect_url ) {
413
- wp_redirect( $redirect_url );
414
- exit;
415
- }
416
- }
417
-
418
-
419
- // Process Skip
420
- if( $_GET['wpos_anylc_action'] == 'skip' ) {
421
-
422
- // Verify nonce
423
- if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
424
- wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
425
- }
426
-
427
- $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 2) );
428
-
429
- // Redirect to original menu
430
- $redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer' );
431
- if( $redirect_url ) {
432
- wp_redirect( $redirect_url );
433
- exit;
434
- }
435
- }
436
-
437
-
438
- // Process Opt Out
439
- if( $_GET['wpos_anylc_action'] == 'optout' ) {
440
-
441
- // Verify nonce
442
- if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act'.'|'.$_GET['wpos_anylc_pdt'] ) ) {
443
- wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
444
- }
445
-
446
- $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 0) );
447
-
448
- // Redirect with success message
449
- $redirect_url = add_query_arg( array( 'message' => 'optout_success', 'wpos_anylc_action' => false, 'wpos_anylc_pdt' => false, '_wpnonce' => false ) );
450
- if( $redirect_url ) {
451
- wp_redirect( $redirect_url );
452
- exit;
453
- }
454
- }
455
- }
456
- } // End of main if
457
- }
458
- }
459
-
460
  $wpos_anylc_admin = new Wpos_Anylc_Admin();
1
+ <?php
2
+ /**
3
+ * Admin Class
4
+ *
5
+ * Handles the admin functionality
6
+ *
7
+ * @package Wpos Analytic
8
+ * @since 1.0
9
+ */
10
+
11
+ if ( !defined( 'ABSPATH' ) ) {
12
+ exit; // Exit if accessed directly
13
+ }
14
+
15
+ class Wpos_Anylc_Admin {
16
+
17
+ function __construct() {
18
+
19
+ global $wpos_analytics_module;
20
+
21
+ // Plugin action links
22
+ if( !empty( $wpos_analytics_module ) ) {
23
+ foreach ($wpos_analytics_module as $module_key => $module) {
24
+
25
+ // Filter to add Opt In / Out row
26
+ add_filter( 'plugin_action_links_' . $module_key, array($this, 'wpos_anylc_add_action_links'), 10, 4 );
27
+ }
28
+ }
29
+
30
+ // Action to remove admin menu
31
+ add_action( 'admin_menu', array($this, 'wpos_anylc_remove_admin_menu'), 999 );
32
+
33
+ // Action to add admin menu
34
+ add_action( 'admin_menu', array($this, 'wpos_anylc_register_admin_menu'), 15 );
35
+
36
+ // Action to redirect plugin / theme on activation
37
+ add_action( 'admin_init', array($this, 'wpos_anylc_admin_init_process') );
38
+
39
+ // Action to show optin notice
40
+ add_action( 'admin_notices', array($this, 'wpos_anylc_optin_notice') );
41
+
42
+ // Action to add Attachment Popup HTML
43
+ add_action( 'admin_footer', array($this,'wpos_anylc_optout_popup') );
44
+
45
+ // Action to perform analytic action
46
+ add_action( 'wp_loaded', array($this, 'wpos_anylc_action_process') );
47
+ }
48
+
49
+ /**
50
+ * Remove admin menus
51
+ *
52
+ * @package Wpos Analytic
53
+ * @since 1.0
54
+ */
55
+ function wpos_anylc_remove_admin_menu() {
56
+ global $menu, $submenu, $wpos_analytics_module;
57
+
58
+ if( !empty( $wpos_analytics_module ) ) {
59
+ foreach ($wpos_analytics_module as $module_key => $module) {
60
+
61
+ $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
62
+
63
+ if( !empty( $module['menu'] ) && !isset( $opt_in_data['status'] ) ) {
64
+ remove_menu_page( $module['menu'] );
65
+ }
66
+ }
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Add menu
72
+ *
73
+ * @package Wpos Analytic
74
+ * @since 1.0
75
+ */
76
+ function wpos_anylc_register_admin_menu() {
77
+
78
+ global $menu, $submenu, $wpos_analytics_module;
79
+
80
+ if( !empty( $wpos_analytics_module ) ) {
81
+
82
+ // WP Menu data
83
+ $wpos_menu_data = wp_list_pluck( $menu, 2 );
84
+ $anylc_page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : null;
85
+
86
+ foreach ($wpos_analytics_module as $module_key => $module) {
87
+
88
+ $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
89
+ $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
90
+
91
+ // Offers Page
92
+ if( !empty( $module['offers'] ) && $anylc_page == $module['slug'].'-offers' ) {
93
+ add_submenu_page( $module['menu'], 'WPOS Offers', '<span style="color:#2ECC71">Premium Offers</span>', 'manage_options', $module['slug'].'-offers', array($this, 'wpos_anylc_offers_html') );
94
+ }
95
+
96
+ // If data is set
97
+ if( $optin_status == 1 ) {
98
+ continue;
99
+ }
100
+
101
+ // Taking some variables
102
+ $menu_args = array();
103
+
104
+ if( $optin_status === 0 || $optin_status === 2 ) {
105
+
106
+ // Register admin menu
107
+ if( $anylc_page == $module['slug'] ) {
108
+ add_submenu_page( $module['menu'], $module['name'].' '.'Opt In', $module['name'].' '.'Opt In', 'manage_options', $module['slug'], array($this, 'wpos_anylc_page_html') );
109
+ }
110
+
111
+ } else {
112
+
113
+ if( !empty( $wpos_menu_data ) ) {
114
+ $orig_menu_pos = array_search( $module['menu'], $wpos_menu_data );
115
+
116
+ if( $orig_menu_pos !== false ) {
117
+
118
+ $menu_args = array(
119
+ 'name' => $menu[ $orig_menu_pos ][0],
120
+ 'icon' => $menu[ $orig_menu_pos ][6],
121
+ 'position' => $orig_menu_pos,
122
+ );
123
+ }
124
+ }
125
+
126
+ // Taking default name and icon
127
+ if( empty( $menu_args ) ) {
128
+ $menu_args = array(
129
+ 'name' => $module['name'],
130
+ 'icon' => false,
131
+ 'position' => null,
132
+ );
133
+ }
134
+
135
+ // Register admin menu
136
+ add_menu_page( $menu_args['name'], $menu_args['name'], 'manage_options', $module['slug'], array($this, 'wpos_anylc_page_html'), $menu_args['icon'], $menu_args['position'] );
137
+ }
138
+
139
+ } // End of for each
140
+ }
141
+ }
142
+
143
+ /**
144
+ * Display Opt in form HTML
145
+ *
146
+ * @package Wpos Analytic
147
+ * @since 1.0
148
+ */
149
+ function wpos_anylc_page_html() {
150
+
151
+ global $current_user, $wpos_analytics_product;
152
+
153
+ $anylc_product_name = !empty( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
154
+
155
+ // if no data is set then return
156
+ if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
157
+ return;
158
+ }
159
+
160
+ // Taking soem data
161
+ $optin_form_data = wpos_anylc_optin_data();
162
+ $analy_product = $wpos_analytics_product[ $anylc_product_name ];
163
+ $opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
164
+
165
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
166
+ $user_name = !empty( $current_user->first_name ) ? $current_user->first_name : '';
167
+ $user_name = empty( $user_name ) ? $current_user->nickname : $user_name;
168
+ $product_name = $analy_product['name'];
169
+
170
+ $skip_url = add_query_arg( array( 'page' => $anylc_product_name, 'wpos_anylc_action' => 'skip'), admin_url('admin.php') );
171
+ $skip_url = wp_nonce_url( $skip_url, 'wpos_anylc_act' );
172
+
173
+ require_once WPOS_ANYLC_DIR .'/templates/analytic.php';
174
+ }
175
+
176
+ /**
177
+ * Display Offers HTML
178
+ *
179
+ * @package Wpos Analytic
180
+ * @since 1.0
181
+ */
182
+ function wpos_anylc_offers_html() {
183
+
184
+ global $wpos_analytics_product;
185
+
186
+ $anylc_product_name = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
187
+ $anylc_product_name = str_replace( '-offers', '', $anylc_product_name );
188
+
189
+ // if no data is set then return
190
+ if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
191
+ return;
192
+ }
193
+
194
+ // Taking soem data
195
+ $analy_product = $wpos_analytics_product[ $anylc_product_name ];
196
+ $opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
197
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
198
+
199
+ include_once( WPOS_ANYLC_DIR .'/templates/offers.php' );
200
+ }
201
+
202
+ /**
203
+ * Add Action links
204
+ *
205
+ * @package Wpos Analytic
206
+ * @since 1.0
207
+ */
208
+ function wpos_anylc_add_action_links( $actions, $plugin_file, $plugin_data, $context ) {
209
+
210
+ global $wpos_analytics_module;
211
+
212
+ // Taking some data
213
+ $module_data = !empty( $wpos_analytics_module[ $plugin_file ] ) ? $wpos_analytics_module[ $plugin_file ] : '';
214
+
215
+ // If analytics module data is there
216
+ if( $module_data ) {
217
+
218
+ $opt_in_data = wpos_anylc_get_option( $module_data['anylc_optin'] );
219
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
220
+
221
+ // If user has opt in
222
+ if( $opt_in == 1 ) {
223
+
224
+ $new_links['wpos_anylc'] = '<a href="#" class="wpos-anylc-opt-out-link" data-id="'.$module_data['id'].'">'.__('Opt Out', 'wpos_analytic').'</a>';
225
+
226
+ } else {
227
+
228
+ $opt_in_link = wpos_anylc_optin_url( $module_data, $opt_in );
229
+
230
+ $new_links['wpos_anylc'] = '<a href="'.esc_url( $opt_in_link ).'" class="wpos-anylc-opt-in-link">'.__('Opt In', 'wpos_analytic').'</a>';
231
+ }
232
+
233
+ $actions = array_merge( $new_links, $actions );
234
+ }
235
+ return $actions;
236
+ }
237
+
238
+ /**
239
+ * Redirect plugin / theme on activation to its opt in menu
240
+ *
241
+ * @package Wpos Analytic
242
+ * @since 1.0
243
+ */
244
+ function wpos_anylc_admin_init_process() {
245
+
246
+ // If license notice is dismissed
247
+ if( isset($_GET['message']) && $_GET['message'] == 'wpos-anylc-dismiss-notice' && !empty( $_GET['anylc_id'] ) ) {
248
+ $anylc_id = sanitize_text_field( $_GET['anylc_id'] );
249
+ set_transient( 'wpos_anylc_optin_notice_'.$anylc_id, true, 172800 );
250
+ }
251
+
252
+ $redirect = get_option('wpos_anylc_redirect');
253
+
254
+ // return if no activation redirect
255
+ if ( ! $redirect ) {
256
+ return;
257
+ }
258
+
259
+ // Flush the redirect transient
260
+ update_option( 'wpos_anylc_redirect', '' );
261
+
262
+ // Redirect to about page
263
+ wp_safe_redirect( $redirect );
264
+ exit;
265
+ }
266
+
267
+ /**
268
+ * Display Analytic Optin notice
269
+ *
270
+ * @package Wpos Analytic
271
+ * @since 1.0
272
+ */
273
+ function wpos_anylc_optin_notice() {
274
+
275
+ global $current_screen, $wpos_analytics_module, $wpos_analytics_product;
276
+
277
+ // Taking some variables
278
+ $screen_id = isset( $current_screen->id ) ? $current_screen->id : '';
279
+
280
+ // Plugin action links
281
+ if( $screen_id == 'dashboard' && current_user_can('manage_options') && !empty( $wpos_analytics_module ) ) {
282
+ foreach ($wpos_analytics_module as $module_key => $module) {
283
+
284
+ $anylc_pdt_id = $module['id'];
285
+ $notice_transient = get_transient( 'wpos_anylc_optin_notice_'.$anylc_pdt_id );
286
+
287
+ if( $notice_transient == false ) {
288
+
289
+ $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
290
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
291
+ $notice_link = add_query_arg( array('message' => 'wpos-anylc-dismiss-notice', 'anylc_id' => $anylc_pdt_id), admin_url('index.php') );
292
+
293
+ // If user has opt in
294
+ if( $opt_in == -1 ) {
295
+
296
+ $anylc_pdt_name = $module['name'];
297
+ $anylc_optin_url = wpos_anylc_optin_url( $module, $opt_in );
298
+
299
+ echo '<div class="updated notice wpos-anylc-notice wpos-anylc-optin-notice">
300
+ <p><strong>'.$anylc_pdt_name.'</strong> - We made a few tweaks to the plugin, <a href="'.esc_url( $anylc_optin_url ).'">Opt in to make it Better!</a></p>
301
+ <a href="'.esc_url( $notice_link ).'" class="notice-dismiss"></a>
302
+ </div>';
303
+ }
304
+ }
305
+ }
306
+ } // End of if
307
+
308
+ if( isset($_GET['message']) && $_GET['message'] == 'optout_success' ) {
309
+ echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible">
310
+ <p><strong>Sorry to let you go. You are now opted out from the plugin.</strong></p>
311
+ </div>';
312
+ }
313
+
314
+ // Process Promotion Data
315
+ if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
316
+
317
+ $promotion = 1;
318
+ $wpos_anylc_promo_pdt = sanitize_text_field( $_GET['wpos_anylc_promo_pdt'] );
319
+ $promotion_pdt = explode( ',', $wpos_anylc_promo_pdt );
320
+
321
+ $anylc_pdt = sanitize_text_field( $_GET['wpos_anylc_pdt'] );
322
+ $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
323
+
324
+ if( !empty($promotion_pdt) ) {
325
+ foreach ($promotion_pdt as $pdt_key => $pdt) {
326
+ if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
327
+ $promotion_pdt_data[] = '<a href="'.$anylc_pdt_data['promotion'][$pdt]['file'].'">'.$anylc_pdt_data['promotion'][$pdt]['name'].'</a>';
328
+ }
329
+ }
330
+ }
331
+
332
+ if( $promotion_pdt_data ) {
333
+ echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible" style="display:block !important;">
334
+ <p><strong>Your Download has been started. In case if it is intrupted then download it from here. '.join(' | ', $promotion_pdt_data).'</strong></p>
335
+ </div>';
336
+ }
337
+ }
338
+ }
339
+
340
+ /**
341
+ * Analytic Optout Popup HTML
342
+ *
343
+ * @package Wpos Analytic
344
+ * @since 1.0
345
+ */
346
+ function wpos_anylc_optout_popup() {
347
+
348
+ global $pagenow, $wpos_analytics_module;
349
+
350
+ if( $pagenow == 'plugins.php' && !empty( $wpos_analytics_module ) ) {
351
+ foreach ($wpos_analytics_module as $module_key => $module) {
352
+
353
+ $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
354
+ $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : false;
355
+
356
+ // If user has opt in
357
+ if( $opt_in == 1 ) {
358
+
359
+ // Creating redirect URL
360
+ $plugin_status = isset( $_GET['plugin_status'] ) ? sanitize_text_field( $_GET['plugin_status'] ) : false;
361
+ $paged = isset( $_GET['paged'] ) ? sanitize_text_field( $_GET['paged'] ) : false;
362
+ $s = isset( $_GET['s'] ) ? sanitize_text_field( $_GET['s'] ) : false;
363
+
364
+ $redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s, 'wpos_anylc_pdt' => $module['slug'] ), admin_url( 'plugins.php' ) );
365
+ $redirect_url = wp_nonce_url( $redirect_url, 'wpos_anylc_act'.'|'.$module['slug'] );
366
+
367
+ // Form Data
368
+ $optin_form_data = wpos_anylc_optin_data( $module['slug'], $redirect_url );
369
+
370
+ include( WPOS_ANYLC_DIR .'/templates/optout-popup.php' );
371
+ }
372
+ }
373
+ }
374
+ }
375
+
376
+ /**
377
+ * Analytic Action Process
378
+ *
379
+ * @package Wpos Analytic
380
+ * @since 1.0
381
+ */
382
+ function wpos_anylc_action_process() {
383
+
384
+ // Skip if not admin area
385
+ if ( !is_admin() ) {
386
+ return false;
387
+ }
388
+
389
+ if( !empty($_GET['wpos_anylc_action']) && isset($_GET['_wpnonce']) ) {
390
+
391
+ global $wpos_analytics_product;
392
+
393
+ $anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? sanitize_text_field( $_GET['wpos_anylc_pdt'] ) : '';
394
+ $anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : $anylc_pdt;
395
+ $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
396
+
397
+ // If valid product data found
398
+ if( $anylc_pdt_data ) {
399
+
400
+ // Process Optin
401
+ if( $_GET['wpos_anylc_action'] == 'optin' ) {
402
+
403
+ // Verify nonce
404
+ if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
405
+ wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
406
+ }
407
+
408
+ $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 1) );
409
+
410
+ // Redirect to original menu
411
+ $redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer-promotion' );
412
+ if( $redirect_url ) {
413
+ wp_redirect( $redirect_url );
414
+ exit;
415
+ }
416
+ }
417
+
418
+
419
+ // Process Skip
420
+ if( $_GET['wpos_anylc_action'] == 'skip' ) {
421
+
422
+ // Verify nonce
423
+ if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
424
+ wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
425
+ }
426
+
427
+ $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 2) );
428
+
429
+ // Redirect to original menu
430
+ $redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer' );
431
+ if( $redirect_url ) {
432
+ wp_redirect( $redirect_url );
433
+ exit;
434
+ }
435
+ }
436
+
437
+
438
+ // Process Opt Out
439
+ if( $_GET['wpos_anylc_action'] == 'optout' ) {
440
+
441
+ // Verify nonce
442
+ if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act'.'|'.$_GET['wpos_anylc_pdt'] ) ) {
443
+ wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
444
+ }
445
+
446
+ $opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 0) );
447
+
448
+ // Redirect with success message
449
+ $redirect_url = add_query_arg( array( 'message' => 'optout_success', 'wpos_anylc_action' => false, 'wpos_anylc_pdt' => false, '_wpnonce' => false ) );
450
+ if( $redirect_url ) {
451
+ wp_redirect( $redirect_url );
452
+ exit;
453
+ }
454
+ }
455
+ }
456
+ } // End of main if
457
+ }
458
+ }
459
+
460
  $wpos_anylc_admin = new Wpos_Anylc_Admin();
wpos-analytics/includes/class-anylc-script.php CHANGED
@@ -1,65 +1,65 @@
1
- <?php
2
- /**
3
- * Script Class
4
- *
5
- * Handles the script and style
6
- *
7
- * @package Wpos Analytic
8
- * @since 1.0
9
- */
10
-
11
- if ( !defined( 'ABSPATH' ) ) {
12
- exit; // Exit if accessed directly
13
- }
14
-
15
- class Wpos_Anylc_Script {
16
-
17
- function __construct() {
18
-
19
- // Action to add style backend
20
- add_action( 'admin_enqueue_scripts', array($this, 'wpos_anylc_admin_script_style') );
21
- }
22
-
23
- /**
24
- * Enqueue script for backend
25
- *
26
- * @package Wpos Analytic
27
- * @since 1.0
28
- */
29
- function wpos_anylc_admin_script_style( $hook ) {
30
-
31
- // Process Promotion Data
32
- if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
33
- global $wpos_analytics_product;
34
-
35
- $promotion = 1;
36
- $wpos_anylc_promo_pdt = sanitize_text_field( $_GET['wpos_anylc_promo_pdt'] );
37
- $promotion_pdt = explode( ',', $wpos_anylc_promo_pdt );
38
-
39
- $anylc_pdt = sanitize_text_field( $_GET['wpos_anylc_pdt'] );
40
- $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
41
-
42
- if( !empty($promotion_pdt) ) {
43
- foreach ($promotion_pdt as $pdt_key => $pdt) {
44
- if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
45
- $promotion_pdt_data[] = $anylc_pdt_data['promotion'][$pdt]['file'];
46
- }
47
- }
48
- }
49
- }
50
-
51
- // Registring admin Style
52
- wp_register_style( 'wpos-anylc-admin-style', WPOS_ANYLC_URL.'assets/css/wpos-anylc-admin.css', null, WPOS_ANYLC_VERSION );
53
- wp_enqueue_style( 'wpos-anylc-admin-style' );
54
-
55
- // Registring admin script
56
- wp_register_script( 'wpos-anylc-admin-script', WPOS_ANYLC_URL.'assets/js/wpos-anylc-admin.js', array('jquery'), WPOS_ANYLC_VERSION, true );
57
- wp_localize_script( 'wpos-anylc-admin-script', 'WposAnylc', array(
58
- 'promotion' => isset($promotion) ? 1 : 0,
59
- 'promotion_pdt' => isset( $promotion_pdt_data ) ? $promotion_pdt_data : 0,
60
- ));
61
- wp_enqueue_script( 'wpos-anylc-admin-script' );
62
- }
63
- }
64
-
65
  $wpos_anylc_script = new Wpos_Anylc_Script();
1
+ <?php
2
+ /**
3
+ * Script Class
4
+ *
5
+ * Handles the script and style
6
+ *
7
+ * @package Wpos Analytic
8
+ * @since 1.0
9
+ */
10
+
11
+ if ( !defined( 'ABSPATH' ) ) {
12
+ exit; // Exit if accessed directly
13
+ }
14
+
15
+ class Wpos_Anylc_Script {
16
+
17
+ function __construct() {
18
+
19
+ // Action to add style backend
20
+ add_action( 'admin_enqueue_scripts', array($this, 'wpos_anylc_admin_script_style') );
21
+ }
22
+
23
+ /**
24
+ * Enqueue script for backend
25
+ *
26
+ * @package Wpos Analytic
27
+ * @since 1.0
28
+ */
29
+ function wpos_anylc_admin_script_style( $hook ) {
30
+
31
+ // Process Promotion Data
32
+ if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
33
+ global $wpos_analytics_product;
34
+
35
+ $promotion = 1;
36
+ $wpos_anylc_promo_pdt = sanitize_text_field( $_GET['wpos_anylc_promo_pdt'] );
37
+ $promotion_pdt = explode( ',', $wpos_anylc_promo_pdt );
38
+
39
+ $anylc_pdt = sanitize_text_field( $_GET['wpos_anylc_pdt'] );
40
+ $anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
41
+
42
+ if( !empty($promotion_pdt) ) {
43
+ foreach ($promotion_pdt as $pdt_key => $pdt) {
44
+ if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
45
+ $promotion_pdt_data[] = $anylc_pdt_data['promotion'][$pdt]['file'];
46
+ }
47
+ }
48
+ }
49
+ }
50
+
51
+ // Registring admin Style
52
+ wp_register_style( 'wpos-anylc-admin-style', WPOS_ANYLC_URL.'assets/css/wpos-anylc-admin.css', null, WPOS_ANYLC_VERSION );
53
+ wp_enqueue_style( 'wpos-anylc-admin-style' );
54
+
55
+ // Registring admin script
56
+ wp_register_script( 'wpos-anylc-admin-script', WPOS_ANYLC_URL.'assets/js/wpos-anylc-admin.js', array('jquery'), WPOS_ANYLC_VERSION, true );
57
+ wp_localize_script( 'wpos-anylc-admin-script', 'WposAnylc', array(
58
+ 'promotion' => isset($promotion) ? 1 : 0,
59
+ 'promotion_pdt' => isset( $promotion_pdt_data ) ? $promotion_pdt_data : 0,
60
+ ));
61
+ wp_enqueue_script( 'wpos-anylc-admin-script' );
62
+ }
63
+ }
64
+
65
  $wpos_anylc_script = new Wpos_Anylc_Script();
wpos-analytics/includes/wpos-anylc-function.php CHANGED
@@ -1,329 +1,331 @@
1
- <?php
2
- /**
3
- * Common Functions
4
- *
5
- * @package Wpos Analytic
6
- * @since 1.0
7
- */
8
-
9
- if ( !defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
-
13
- /**
14
- * Retrieve the translation of $text.
15
- *
16
- * @package Wpos Analytic
17
- * @since 1.0
18
- */
19
- function wpos_anylc_text( $text, $echo = false ) {
20
-
21
- if( $echo ) {
22
- _e( $text, '' );
23
- } else {
24
- __( $text, '' );
25
- }
26
- }
27
-
28
- /**
29
- * Clean variables using sanitize_text_field. Arrays are cleaned recursively.
30
- * Non-scalar values are ignored.
31
- *
32
- * @since 1.0
33
- */
34
- function wpos_anylc_clean( $var ) {
35
- if ( is_array( $var ) ) {
36
- return array_map( 'wpos_anylc_clean', $var );
37
- } else {
38
- $data = is_scalar( $var ) ? sanitize_text_field( $var ) : $var;
39
- return wp_unslash($data);
40
- }
41
- }
42
-
43
- /**
44
- * Check Multidimention Array
45
- *
46
- * @package Wpos Analytic
47
- * @since 1.0
48
- */
49
- function wpos_anylc_is_multi_arr( $arr ) {
50
- rsort( $arr );
51
- return isset( $arr[0] ) && is_array( $arr[0] );
52
- }
53
-
54
- /**
55
- * Get site unique id
56
- *
57
- * @package Wpos Analytic
58
- * @since 1.0.0
59
- */
60
- function wpos_anylc_site_uid() {
61
-
62
- $site_uid = get_option( 'wpos_anylc_site_uid' );
63
-
64
- // Generate new site id if not exist
65
- if( empty( $site_uid ) ) {
66
- $site_url = untrailingslashit( get_bloginfo('wpurl') );
67
- $site_uid = md5( $site_url . SECURE_AUTH_KEY );
68
-
69
- update_option( 'wpos_anylc_site_uid', $site_uid );
70
- }
71
-
72
- return $site_uid;
73
- }
74
-
75
- /**
76
- * Get Optin Data
77
- *
78
- * @package Wpos Analytic
79
- * @since 1.0.0
80
- */
81
- function wpos_anylc_optin_data( $anylc_pdt = false, $return_url = '' ) {
82
-
83
- // Skip if not admin area
84
- if ( !is_admin() ) {
85
- return false;
86
- }
87
-
88
- global $current_user, $wpos_analytics_product;
89
-
90
- // Takind some data
91
- $theme_data = wp_get_theme();
92
- $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : false;
93
-
94
- // If product is not passed
95
- if( ! $anylc_pdt ) {
96
- $anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? sanitize_text_field( $_GET['wpos_anylc_pdt'] ) : '';
97
- $anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : $anylc_pdt;
98
- }
99
-
100
- // If a valid product is there
101
- if( $anylc_pdt && !empty( $wpos_analytics_product[ $anylc_pdt ] ) ) {
102
-
103
- $analy_product = $wpos_analytics_product[ $anylc_pdt ];
104
-
105
- if( empty( $return_url ) ) {
106
- $return_url = add_query_arg( array( 'page' => $page ), admin_url('admin.php') );
107
- $return_url = wp_nonce_url( $return_url, 'wpos_anylc_act' );
108
- }
109
-
110
- // Getting data according to type
111
- if( $analy_product['type'] == 'theme' ) {
112
-
113
- $product_name = $theme_data->get( 'Name' );
114
- $product_version = $theme_data->get( 'Version' );
115
-
116
- } else {
117
-
118
- if( !function_exists('get_plugin_data') ) {
119
- require_once(ABSPATH . 'wp-admin/includes/plugin.php');
120
- }
121
-
122
- $plugin_data = get_plugin_data( trailingslashit(WP_PLUGIN_DIR) . $analy_product['file'] );
123
- $product_name = !empty( $plugin_data['Name'] ) ? $plugin_data['Name'] : '';
124
- $product_version = !empty( $plugin_data['Version'] ) ? $plugin_data['Version'] : '';
125
- }
126
- }
127
-
128
- $optin_data = array(
129
- 'site_url' => untrailingslashit( get_bloginfo('wpurl') ),
130
- 'site_name' => get_bloginfo( 'name' ),
131
- 'wp_version' => get_bloginfo( 'version' ),
132
- 'language' => get_bloginfo( 'language' ),
133
- 'is_rtl' => is_rtl() ? 1 : 0,
134
- 'php_version' => phpversion(),
135
- 'sdk_version' => WPOS_ANYLC_VERSION,
136
- 'product_name' => isset( $product_name ) ? $product_name : '',
137
- 'product_version' => isset( $product_version ) ? $product_version : '',
138
- 'product_id' => !empty( $analy_product['id'] ) ? $analy_product['id'] : 0,
139
- 'product_type' => !empty( $analy_product['type'] ) ? $analy_product['type'] : '',
140
- 'theme_name' => $theme_data->get( 'Name' ),
141
- 'theme_uri' => $theme_data->get( 'ThemeURI' ),
142
- 'theme_author' => $theme_data->get( 'Author' ),
143
- 'theme_author_uri' => $theme_data->get( 'AuthorURI' ),
144
- 'theme_version' => $theme_data->get( 'Version' ),
145
- 'user_firstname' => $current_user->user_firstname,
146
- 'user_lastname' => $current_user->user_lastname,
147
- 'user_nickname' => $current_user->user_nicename,
148
- 'user_email' => get_bloginfo( 'admin_email' ),
149
- 'ip_address' => wpos_anylc_get_ip_address(),
150
- 'site_uid' => wpos_anylc_site_uid(),
151
- 'return_url' => $return_url,
152
- );
153
- return $optin_data;
154
- }
155
-
156
- /**
157
- * Get IP Address
158
- *
159
- * @package Wpos Analytic
160
- * @since 1.0.0
161
- */
162
- function wpos_anylc_get_ip_address() {
163
- if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) { // WPCS: input var ok, CSRF ok.
164
- return sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_REAL_IP'] ) ); // WPCS: input var ok, CSRF ok.
165
- } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { // WPCS: input var ok, CSRF ok.
166
- // Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2
167
- // Make sure we always only send through the first IP in the list which should always be the client IP.
168
- return (string) rest_is_ip_address( trim( current( preg_split( '/[,:]/', sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ) ) ) ); // WPCS: input var ok, CSRF ok.
169
- } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { // @codingStandardsIgnoreLine
170
- return sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); // @codingStandardsIgnoreLine
171
- }
172
- return '127.0.0.1';
173
- }
174
-
175
- /**
176
- * Get Product Optin Data
177
- *
178
- * @package Wpos Analytic
179
- * @since 1.0.0
180
- */
181
- function wpos_anylc_get_option( $key = '' ) {
182
-
183
- $opt_in_data = array();
184
-
185
- if( !empty( $key ) ) {
186
- $opt_in_data = get_option( $key );
187
- $opt_in_data = ( !empty($opt_in_data) && is_array($opt_in_data) ) ? $opt_in_data : array();
188
- }
189
- return $opt_in_data;
190
- }
191
-
192
- /**
193
- * Get Product Optin Data
194
- *
195
- * @package Wpos Analytic
196
- * @since 1.0.0
197
- */
198
- function wpos_anylc_update_option( $key = '', $data = array() ) {
199
-
200
- $opt_in_data = array();
201
-
202
- if( !empty( $key ) ) {
203
- $opt_in_data = wpos_anylc_get_option( $key );
204
-
205
- if( is_array($data) ) {
206
- $opt_in_data = array_merge( $opt_in_data, $data );
207
- update_option( $key, $opt_in_data );
208
- }
209
- }
210
- return $opt_in_data;
211
- }
212
-
213
- /**
214
- * Get Analytic Product Optin URL
215
- *
216
- * @package Wpos Analytic
217
- * @since 1.0.0
218
- */
219
- function wpos_anylc_optin_url( $module_data = '', $optin_status = null ) {
220
-
221
- $optin_url = false;
222
-
223
- // Optin Status
224
- if( ! isset( $optin_status ) ) {
225
- $opt_in_data = get_option( $module_data['anylc_optin'] );
226
- $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
227
- }
228
-
229
- if( !empty( $module_data['menu'] ) && !empty( $module_data['slug'] ) ) {
230
- $url_data = parse_url( $module_data['menu'], PHP_URL_QUERY );
231
- $query_data = !empty( $url_data ) ? parse_str( $url_data, $query_arr ) : array();
232
-
233
- if( !empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and post type menu
234
-
235
- $optin_url = add_query_arg( array( 'post_type' => $query_arr['post_type'], 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('edit.php') );
236
-
237
- } else if( empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and simple admin menu
238
-
239
- $optin_url = add_query_arg( array( 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('admin.php') );
240
-
241
- } else {
242
- $optin_url = add_query_arg( array( 'page' => $module_data['slug'] ), admin_url('admin.php') );
243
- }
244
- }
245
-
246
- return $optin_url;
247
- }
248
-
249
- /**
250
- * Get Analytic Product Opt Out URL
251
- *
252
- * @package Wpos Analytic
253
- * @since 1.0.0
254
- */
255
- function wpos_anylc_optout_url( $module_data = '', $optin_status = null, $redirect_url = false ) {
256
-
257
- $opt_out_link = false;
258
-
259
- // Optin Status
260
- if( !isset( $optin_status ) ) {
261
- $opt_in_data = get_option( $module_data['anylc_optin'] );
262
- $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
263
- }
264
-
265
- if( $optin_status == 1 ) {
266
-
267
- if( ! $redirect_url ) {
268
- $plugin_status = isset( $_GET['plugin_status'] ) ? sanitize_text_field( $_GET['plugin_status'] ) : false;
269
- $paged = isset( $_GET['paged'] ) ? sanitize_text_field( $_GET['paged'] ) : false;
270
- $s = isset( $_GET['s'] ) ? sanitize_text_field( $_GET['s'] ) : false;
271
-
272
- $redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s ), admin_url( 'plugins.php' ) );
273
- }
274
-
275
- $opt_out_link = add_query_arg( array( 'wpos_anylc_action' => 'optout', 'wpos_anylc_pdt' => $module_data['slug'], 'redirect' => $redirect_url ), $redirect_url );
276
- $opt_out_link = wp_nonce_url( $opt_out_link, 'wpos_anylc_act'.'|'.$module_data['slug'] );
277
- }
278
-
279
- return $opt_out_link;
280
- }
281
-
282
- /**
283
- * Get Analytic Product URL
284
- *
285
- * @package Wpos Analytic
286
- * @since 1.0.0
287
- */
288
- function wpos_anylc_pdt_url( $module_data = '', $type = false ) {
289
-
290
- $redirect_url = false;
291
-
292
- if( !empty( $module_data['menu'] ) ) {
293
- $pos = strpos( $module_data['menu'], '?post_type' );
294
- $redirect_url = ( $pos !== false ) ? admin_url( $module_data['menu'] ) : add_query_arg( array( 'page' => $module_data['menu'] ), admin_url('admin.php') );
295
-
296
- switch ( $type ) {
297
- case 'promotion':
298
-
299
- $promotion = !empty( $_GET['promotion'] ) ? wpos_anylc_clean( $_GET['promotion'] ) : '';
300
-
301
- if( !empty( $promotion ) ) {
302
- $promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
303
- $redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
304
- }
305
- break;
306
-
307
- case 'offer':
308
-
309
- if( !empty( $module_data['offers'] ) ) {
310
- $redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
311
- }
312
- break;
313
-
314
- case 'offer-promotion':
315
-
316
- $promotion = !empty( $_GET['promotion'] ) ? wpos_anylc_clean( $_GET['promotion'] ) : '';
317
-
318
- if( !empty( $module_data['offers'] ) ) {
319
- $redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
320
- }
321
- if( !empty( $promotion ) ) {
322
- $promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
323
- $redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
324
- }
325
- break;
326
- }
327
- }
328
- return $redirect_url;
 
 
329
  }
1
+ <?php
2
+ /**
3
+ * Common Functions
4
+ *
5
+ * @package Wpos Analytic
6
+ * @since 1.0
7
+ */
8
+
9
+ if ( !defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+
13
+ /**
14
+ * Retrieve the translation of $text.
15
+ *
16
+ * @package Wpos Analytic
17
+ * @since 1.0
18
+ */
19
+ function wpos_anylc_text( $text, $echo = false ) {
20
+
21
+ if( $echo ) {
22
+ _e( $text, '' );
23
+ } else {
24
+ __( $text, '' );
25
+ }
26
+ }
27
+
28
+ /**
29
+ * Clean variables using sanitize_text_field. Arrays are cleaned recursively.
30
+ * Non-scalar values are ignored.
31
+ *
32
+ * @since 1.0
33
+ */
34
+ function wpos_anylc_clean( $var ) {
35
+ if ( is_array( $var ) ) {
36
+ return array_map( 'wpos_anylc_clean', $var );
37
+ } else {
38
+ $data = is_scalar( $var ) ? sanitize_text_field( $var ) : $var;
39
+ return wp_unslash($data);
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Check Multidimention Array
45
+ *
46
+ * @package Wpos Analytic
47
+ * @since 1.0
48
+ */
49
+ function wpos_anylc_is_multi_arr( $arr ) {
50
+ rsort( $arr );
51
+ return isset( $arr[0] ) && is_array( $arr[0] );
52
+ }
53
+
54
+ /**
55
+ * Get site unique id
56
+ *
57
+ * @package Wpos Analytic
58
+ * @since 1.0.0
59
+ */
60
+ function wpos_anylc_site_uid() {
61
+
62
+ $site_uid = get_option( 'wpos_anylc_site_uid' );
63
+
64
+ // Generate new site id if not exist
65
+ if( empty( $site_uid ) ) {
66
+ $site_url = untrailingslashit( get_bloginfo('wpurl') );
67
+ $site_uid = md5( $site_url . SECURE_AUTH_KEY );
68
+
69
+ update_option( 'wpos_anylc_site_uid', $site_uid );
70
+ }
71
+
72
+ return $site_uid;
73
+ }
74
+
75
+ /**
76
+ * Get Optin Data
77
+ *
78
+ * @package Wpos Analytic
79
+ * @since 1.0.0
80
+ */
81
+ function wpos_anylc_optin_data( $anylc_pdt = false, $return_url = '' ) {
82
+
83
+ // Skip if not admin area
84
+ if ( !is_admin() ) {
85
+ return false;
86
+ }
87
+
88
+ global $current_user, $wpos_analytics_product;
89
+
90
+ // Takind some data
91
+ $theme_data = wp_get_theme();
92
+ $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : false;
93
+
94
+ // If product is not passed
95
+ if( ! $anylc_pdt ) {
96
+ $anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? sanitize_text_field( $_GET['wpos_anylc_pdt'] ) : '';
97
+ $anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? sanitize_text_field( $_GET['page'] ) : $anylc_pdt;
98
+ }
99
+
100
+ // If a valid product is there
101
+ if( $anylc_pdt && !empty( $wpos_analytics_product[ $anylc_pdt ] ) ) {
102
+
103
+ $analy_product = $wpos_analytics_product[ $anylc_pdt ];
104
+
105
+ if( empty( $return_url ) ) {
106
+ $return_url = add_query_arg( array( 'page' => $page ), admin_url('admin.php') );
107
+ $return_url = wp_nonce_url( $return_url, 'wpos_anylc_act' );
108
+ }
109
+
110
+ // Getting data according to type
111
+ if( $analy_product['type'] == 'theme' ) {
112
+
113
+ $product_name = $theme_data->get( 'Name' );
114
+ $product_version = $theme_data->get( 'Version' );
115
+
116
+ } else {
117
+
118
+ if( !function_exists('get_plugin_data') ) {
119
+ require_once(ABSPATH . 'wp-admin/includes/plugin.php');
120
+ }
121
+
122
+ $plugin_data = get_plugin_data( trailingslashit(WP_PLUGIN_DIR) . $analy_product['file'] );
123
+ $product_name = !empty( $plugin_data['Name'] ) ? $plugin_data['Name'] : '';
124
+ $product_version = !empty( $plugin_data['Version'] ) ? $plugin_data['Version'] : '';
125
+ }
126
+ }
127
+
128
+ $optin_data = array(
129
+ 'site_url' => untrailingslashit( get_bloginfo('wpurl') ),
130
+ 'site_name' => get_bloginfo( 'name' ),
131
+ 'wp_version' => get_bloginfo( 'version' ),
132
+ 'language' => get_bloginfo( 'language' ),
133
+ 'is_rtl' => is_rtl() ? 1 : 0,
134
+ 'php_version' => phpversion(),
135
+ 'sdk_version' => WPOS_ANYLC_VERSION,
136
+ 'product_name' => isset( $product_name ) ? $product_name : '',
137
+ 'product_version' => isset( $product_version ) ? $product_version : '',
138
+ 'product_id' => !empty( $analy_product['id'] ) ? $analy_product['id'] : 0,
139
+ 'product_type' => !empty( $analy_product['type'] ) ? $analy_product['type'] : '',
140
+ 'theme_name' => $theme_data->get( 'Name' ),
141
+ 'theme_uri' => $theme_data->get( 'ThemeURI' ),
142
+ 'theme_author' => $theme_data->get( 'Author' ),
143
+ 'theme_author_uri' => $theme_data->get( 'AuthorURI' ),
144
+ 'theme_version' => $theme_data->get( 'Version' ),
145
+ 'user_firstname' => $current_user->user_firstname,
146
+ 'user_lastname' => $current_user->user_lastname,
147
+ 'user_nickname' => $current_user->user_nicename,
148
+ 'user_email' => get_bloginfo( 'admin_email' ),
149
+ 'ip_address' => wpos_anylc_get_ip_address(),
150
+ 'site_uid' => wpos_anylc_site_uid(),
151
+ 'return_url' => $return_url,
152
+ );
153
+ return $optin_data;
154
+ }
155
+
156
+ /**
157
+ * Get IP Address
158
+ *
159
+ * @package Wpos Analytic
160
+ * @since 1.0.0
161
+ */
162
+ function wpos_anylc_get_ip_address() {
163
+ if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) { // WPCS: input var ok, CSRF ok.
164
+ return sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_REAL_IP'] ) ); // WPCS: input var ok, CSRF ok.
165
+ } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { // WPCS: input var ok, CSRF ok.
166
+ // Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2
167
+ // Make sure we always only send through the first IP in the list which should always be the client IP.
168
+ return (string) rest_is_ip_address( trim( current( preg_split( '/[,:]/', sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ) ) ) ); // WPCS: input var ok, CSRF ok.
169
+ } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { // @codingStandardsIgnoreLine
170
+ return sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); // @codingStandardsIgnoreLine
171
+ }
172
+ return '127.0.0.1';
173
+ }
174
+
175
+ /**
176
+ * Get Product Optin Data
177
+ *
178
+ * @package Wpos Analytic
179
+ * @since 1.0.0
180
+ */
181
+ function wpos_anylc_get_option( $key = '' ) {
182
+
183
+ $opt_in_data = array();
184
+
185
+ if( !empty( $key ) ) {
186
+ $opt_in_data = get_option( $key );
187
+ $opt_in_data = ( !empty($opt_in_data) && is_array($opt_in_data) ) ? $opt_in_data : array();
188
+ }
189
+ return $opt_in_data;
190
+ }
191
+
192
+ /**
193
+ * Get Product Optin Data
194
+ *
195
+ * @package Wpos Analytic
196
+ * @since 1.0.0
197
+ */
198
+ function wpos_anylc_update_option( $key = '', $data = array() ) {
199
+
200
+ $opt_in_data = array();
201
+
202
+ if( !empty( $key ) ) {
203
+ $opt_in_data = wpos_anylc_get_option( $key );
204
+
205
+ if( is_array($data) ) {
206
+ $opt_in_data = array_merge( $opt_in_data, $data );
207
+ update_option( $key, $opt_in_data );
208
+ }
209
+ }
210
+ return $opt_in_data;
211
+ }
212
+
213
+ /**
214
+ * Get Analytic Product Optin URL
215
+ *
216
+ * @package Wpos Analytic
217
+ * @since 1.0.0
218
+ */
219
+ function wpos_anylc_optin_url( $module_data = '', $optin_status = null ) {
220
+
221
+ $optin_url = false;
222
+
223
+ // Optin Status
224
+ if( ! isset( $optin_status ) ) {
225
+ $opt_in_data = get_option( $module_data['anylc_optin'] );
226
+ $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
227
+ }
228
+
229
+ if( !empty( $module_data['menu'] ) && !empty( $module_data['slug'] ) ) {
230
+ $url_data = parse_url( $module_data['menu'], PHP_URL_QUERY );
231
+ $query_data = !empty( $url_data ) ? parse_str( $url_data, $query_arr ) : array();
232
+
233
+ if( !empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and post type menu
234
+
235
+ $optin_url = add_query_arg( array( 'post_type' => $query_arr['post_type'], 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('edit.php') );
236
+
237
+ } else if( empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and simple admin menu
238
+
239
+ $optin_url = add_query_arg( array( 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('admin.php') );
240
+
241
+ } else {
242
+ $optin_url = add_query_arg( array( 'page' => $module_data['slug'] ), admin_url('admin.php') );
243
+ }
244
+ }
245
+
246
+ return $optin_url;
247
+ }
248
+
249
+ /**
250
+ * Get Analytic Product Opt Out URL
251
+ *
252
+ * @package Wpos Analytic
253
+ * @since 1.0.0
254
+ */
255
+ function wpos_anylc_optout_url( $module_data = '', $optin_status = null, $redirect_url = false ) {
256
+
257
+ $opt_out_link = false;
258
+
259
+ // Optin Status
260
+ if( !isset( $optin_status ) ) {
261
+ $opt_in_data = get_option( $module_data['anylc_optin'] );
262
+ $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
263
+ }
264
+
265
+ if( $optin_status == 1 ) {
266
+
267
+ if( ! $redirect_url ) {
268
+ $plugin_status = isset( $_GET['plugin_status'] ) ? sanitize_text_field( $_GET['plugin_status'] ) : false;
269
+ $paged = isset( $_GET['paged'] ) ? sanitize_text_field( $_GET['paged'] ) : false;
270
+ $s = isset( $_GET['s'] ) ? sanitize_text_field( $_GET['s'] ) : false;
271
+
272
+ $redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s ), admin_url( 'plugins.php' ) );
273
+ }
274
+
275
+ $opt_out_link = add_query_arg( array( 'wpos_anylc_action' => 'optout', 'wpos_anylc_pdt' => $module_data['slug'], 'redirect' => $redirect_url ), $redirect_url );
276
+ $opt_out_link = wp_nonce_url( $opt_out_link, 'wpos_anylc_act'.'|'.$module_data['slug'] );
277
+ }
278
+
279
+ return $opt_out_link;
280
+ }
281
+
282
+ /**
283
+ * Get Analytic Product URL
284
+ *
285
+ * @package Wpos Analytic
286
+ * @since 1.0.0
287
+ */
288
+ function wpos_anylc_pdt_url( $module_data = '', $type = false ) {
289
+
290
+ $redirect_url = false;
291
+ $redirect_page = ! empty( $module_data['redirect_page'] ) ? $module_data['redirect_page'] : $module_data['menu'];
292
+
293
+ if( ! empty( $redirect_page ) ) {
294
+
295
+ $pos = strpos( $redirect_page, '?post_type' );
296
+ $redirect_url = ( $pos !== false ) ? admin_url( $redirect_page ) : add_query_arg( array( 'page' => $redirect_page ), admin_url('admin.php') );
297
+
298
+ switch ( $type ) {
299
+ case 'promotion':
300
+
301
+ $promotion = !empty( $_GET['promotion'] ) ? wpos_anylc_clean( $_GET['promotion'] ) : '';
302
+
303
+ if( !empty( $promotion ) ) {
304
+ $promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
305
+ $redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
306
+ }
307
+ break;
308
+
309
+ case 'offer':
310
+
311
+ if( !empty( $module_data['offers'] ) ) {
312
+ $redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
313
+ }
314
+ break;
315
+
316
+ case 'offer-promotion':
317
+
318
+ $promotion = !empty( $_GET['promotion'] ) ? wpos_anylc_clean( $_GET['promotion'] ) : '';
319
+
320
+ if( !empty( $module_data['offers'] ) ) {
321
+ $redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
322
+ }
323
+ if( !empty( $promotion ) ) {
324
+ $promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
325
+ $redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
326
+ }
327
+ break;
328
+ }
329
+ }
330
+ return $redirect_url;
331
  }
wpos-analytics/templates/analytic.php CHANGED
@@ -1,94 +1,94 @@
1
- <?php
2
- /**
3
- * Settings Page
4
- *
5
- * @package Wpos Analytic
6
- * @since 1.0.0
7
- */
8
-
9
- if ( !defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
- ?>
13
- <style type="text/css">
14
- .notice, .error, div.fs-notice.updated, div.fs-notice.success, div.fs-notice.promotion{display:none !important;}
15
- </style>
16
-
17
- <div class="wrap wpos-anylc-optin">
18
-
19
- <?php if( isset($_GET['error']) && $_GET['error'] == 'wpos_anylc_error' ) { ?>
20
- <div class="error">
21
- <p><strong>Sorry, Something happened wrong. Please contact us on <a href="mailto:support@wponlinesupport.com">support@wponlinesupport.com</a></strong></p>
22
- </div>
23
- <?php } ?>
24
-
25
- <form method="POST" action="https://analytics.wponlinesupport.com">
26
- <div class="wpos-anylc-optin-wrap">
27
- <div class="wpos-anylc-optin-icon-wrap">
28
- <div class="wpos-anylc-optin-icon wpos-anylc-wp-badge"><i class="dashicons dashicons-wordpress"></i></div>
29
- <div class="wpos-anylc-optin-plus"><i class="dashicons dashicons-plus"></i></div>
30
- <div class="wpos-anylc-optin-icon"><img src="<?php echo $analy_product['icon']; ?>" alt="Icon" /></div>
31
- <div class="wpos-anylc-optin-plus"><i class="dashicons dashicons-plus"></i></div>
32
- <div class="wpos-anylc-optin-icon"><img src="<?php echo $analy_product['brand_icon']; ?>" alt="Icon" /></div>
33
- </div>
34
- <div class="wpos-anylc-optin-cnt">
35
- <p>Hey <?php echo ucfirst($user_name); ?>,</p>
36
- <p>Don't ever miss an opportunity to <b>opt in</b> for Email Notifications / Announcements about exciting New Features and Update Releases.</p>
37
- <p>Contribute in helping us making <b><?php echo $product_name; ?></b> compatible with most themes and plugins by allowing to share non-sensitive data to <a target="_blank" href="https://www.wponlinesupport.com">wponlinesupport.com</a> about your website.</p>
38
- <p>If you skip this, that's okay! <b><?php echo $product_name; ?></b> will still work just fine.</p>
39
-
40
- <?php if( !empty( $analy_product['promotion'] ) ) { ?>
41
- <div class="wpos-anylc-promotion-wrap">
42
- <?php foreach( $analy_product['promotion'] as $promotion_key => $promotion_data ) { ?>
43
- <div><label><input type="checkbox" value="<?php echo $promotion_key; ?>" name="promotion[]" checked="checked" /> <?php echo $promotion_data['name']; ?></label></div>
44
- <?php } ?>
45
- </div>
46
- <?php } ?>
47
- </div>
48
- <div class="wpos-anylc-optin-action wpos-anylc-clearfix">
49
- <button type="submit" name="wpos_anylc_optin" class="button button-primary button-large right wpos-anylc-allow-btn" value="wpos_anylc_optin">Allow and Continue</button>
50
-
51
- <?php if( is_null( $opt_in ) ) { ?>
52
- <button type="submit" name="wpos_anylc_action" class="button button-secondary button-large wpos-anylc-skip-btn" value="skip">Skip</button>
53
- <?php }
54
-
55
- if( ! empty( $optin_form_data ) ) {
56
- foreach ($optin_form_data as $data_key => $data_value) {
57
- echo '<input type="hidden" name="'.esc_attr( $data_key ).'" value="'.esc_attr( $data_value ).'" />';
58
- }
59
- }
60
- ?>
61
- </div>
62
- <div class="wpos-anylc-optin-permission">
63
- <a class="wpos-anylc-permission-toggle" href="javascript:void(0);">What permissions are being granted?</a>
64
-
65
- <div class="wpos-anylc-permission-wrap wpos-anylc-hide">
66
- <div class="wpos-anylc-permission">
67
- <i class="dashicons dashicons-admin-users"></i>
68
- <div>
69
- <span class="wpos-anylc-permission-name">Your Profile Overview</span>
70
- <span class="wpos-anylc-permission-info">Name and email address</span>
71
- </div>
72
- </div>
73
- <div class="wpos-anylc-permission">
74
- <i class="dashicons dashicons-admin-settings"></i>
75
- <div>
76
- <span class="wpos-anylc-permission-name">Your Site Overview</span>
77
- <span class="wpos-anylc-permission-info">Site URL, WP version, PHP info & Theme</span>
78
- </div>
79
- </div>
80
- <div class="wpos-anylc-permission">
81
- <i class="dashicons dashicons-admin-plugins"></i>
82
- <div>
83
- <span class="wpos-anylc-permission-name">Current Plugin Events</span>
84
- <span class="wpos-anylc-permission-info">Activation, Deactivation and Uninstall</span>
85
- </div>
86
- </div>
87
- </div>
88
- </div>
89
- <div class="wpos-anylc-terms">
90
- <a href="https://www.wponlinesupport.com/privacy-policy/#free-pluign-info" target="_blank">Privacy Policy</a> - <a href="https://www.wponlinesupport.com/term-and-condition/" target="_blank">Terms of Service</a>
91
- </div>
92
- </div>
93
- </form>
94
  </div><!-- end .wrap -->
1
+ <?php
2
+ /**
3
+ * Settings Page
4
+ *
5
+ * @package Wpos Analytic
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( !defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+ ?>
13
+ <style type="text/css">
14
+ .notice, .error, div.fs-notice.updated, div.fs-notice.success, div.fs-notice.promotion{display:none !important;}
15
+ </style>
16
+
17
+ <div class="wrap wpos-anylc-optin">
18
+
19
+ <?php if( isset($_GET['error']) && $_GET['error'] == 'wpos_anylc_error' ) { ?>
20
+ <div class="error">
21
+ <p><strong>Sorry, Something happened wrong. Please contact us on <a href="mailto:support@wponlinesupport.com">support@wponlinesupport.com</a></strong></p>
22
+ </div>
23
+ <?php } ?>
24
+
25
+ <form method="POST" action="https://analytics.wponlinesupport.com">
26
+ <div class="wpos-anylc-optin-wrap">
27
+ <div class="wpos-anylc-optin-icon-wrap">
28
+ <div class="wpos-anylc-optin-icon wpos-anylc-wp-badge"><i class="dashicons dashicons-wordpress"></i></div>
29
+ <div class="wpos-anylc-optin-plus"><i class="dashicons dashicons-plus"></i></div>
30
+ <div class="wpos-anylc-optin-icon"><img src="<?php echo $analy_product['icon']; ?>" alt="Icon" /></div>
31
+ <div class="wpos-anylc-optin-plus"><i class="dashicons dashicons-plus"></i></div>
32
+ <div class="wpos-anylc-optin-icon"><img src="<?php echo $analy_product['brand_icon']; ?>" alt="Icon" /></div>
33
+ </div>
34
+ <div class="wpos-anylc-optin-cnt">
35
+ <p>Hey <?php echo ucfirst($user_name); ?>,</p>
36
+ <p>Don't ever miss an opportunity to <b>opt in</b> for Email Notifications / Announcements about exciting New Features and Update Releases.</p>
37
+ <p>Contribute in helping us making <b><?php echo $product_name; ?></b> compatible with most themes and plugins by allowing to share non-sensitive data to <a target="_blank" href="https://www.essentialplugin.com/">essentialplugin.com</a> about your website.</p>
38
+ <p>If you skip this, that's okay! <b><?php echo $product_name; ?></b> will still work just fine.</p>
39
+
40
+ <?php if( !empty( $analy_product['promotion'] ) ) { ?>
41
+ <div class="wpos-anylc-promotion-wrap">
42
+ <?php foreach( $analy_product['promotion'] as $promotion_key => $promotion_data ) { ?>
43
+ <div><label><input type="checkbox" value="<?php echo $promotion_key; ?>" name="promotion[]" checked="checked" /> <?php echo $promotion_data['name']; ?></label></div>
44
+ <?php } ?>
45
+ </div>
46
+ <?php } ?>
47
+ </div>
48
+ <div class="wpos-anylc-optin-action wpos-anylc-clearfix">
49
+ <button type="submit" name="wpos_anylc_optin" class="button button-primary button-large right wpos-anylc-allow-btn" value="wpos_anylc_optin">Allow and Continue</button>
50
+
51
+ <?php if( is_null( $opt_in ) ) { ?>
52
+ <button type="submit" name="wpos_anylc_action" class="button button-secondary button-large wpos-anylc-skip-btn" value="skip">Skip</button>
53
+ <?php }
54
+
55
+ if( ! empty( $optin_form_data ) ) {
56
+ foreach ($optin_form_data as $data_key => $data_value) {
57
+ echo '<input type="hidden" name="'.esc_attr( $data_key ).'" value="'.esc_attr( $data_value ).'" />';
58
+ }
59
+ }
60
+ ?>
61
+ </div>
62
+ <div class="wpos-anylc-optin-permission">
63
+ <a class="wpos-anylc-permission-toggle" href="javascript:void(0);">What permissions are being granted?</a>
64
+
65
+ <div class="wpos-anylc-permission-wrap wpos-anylc-hide">
66
+ <div class="wpos-anylc-permission">
67
+ <i class="dashicons dashicons-admin-users"></i>
68
+ <div>
69
+ <span class="wpos-anylc-permission-name">Your Profile Overview</span>
70
+ <span class="wpos-anylc-permission-info">Name and email address</span>
71
+ </div>
72
+ </div>
73
+ <div class="wpos-anylc-permission">
74
+ <i class="dashicons dashicons-admin-settings"></i>
75
+ <div>
76
+ <span class="wpos-anylc-permission-name">Your Site Overview</span>
77
+ <span class="wpos-anylc-permission-info">Site URL, WP version, PHP info & Theme</span>
78
+ </div>
79
+ </div>
80
+ <div class="wpos-anylc-permission">
81
+ <i class="dashicons dashicons-admin-plugins"></i>
82
+ <div>
83
+ <span class="wpos-anylc-permission-name">Current Plugin Events</span>
84
+ <span class="wpos-anylc-permission-info">Activation, Deactivation and Uninstall</span>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ <div class="wpos-anylc-terms">
90
+ <a href="https://www.essentialplugin.com/privacy-policy/#free-pluign-info" target="_blank">Privacy Policy</a> - <a href="https://www.essentialplugin.com/term-and-condition/" target="_blank">Terms of Service</a>
91
+ </div>
92
+ </div>
93
+ </form>
94
  </div><!-- end .wrap -->
wpos-analytics/templates/offers.php CHANGED
@@ -1,73 +1,73 @@
1
- <?php
2
- /**
3
- * Offers Page
4
- *
5
- * @package Wpos Analytic
6
- * @since 1.0.0
7
- */
8
-
9
- if ( !defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
- ?>
13
- <style type="text/css">
14
- .notice, .error, div.fs-notice.updated, div.fs-notice.success, div.fs-notice.promotion{display:none !important;}
15
- </style>
16
-
17
- <div class="wrap wpos-anylc-offers">
18
-
19
- <?php foreach ($analy_product['offers'] as $offer_key => $offer_data) {
20
-
21
- // If status wise offer is there
22
- if( wpos_anylc_is_multi_arr( $offer_data ) ) {
23
- $offer_data = isset( $offer_data[ $opt_in ] ) ? $offer_data[ $opt_in ] : false;
24
- }
25
-
26
- if( empty( $offer_data ) ) {
27
- continue;
28
- }
29
-
30
- $has_offer = true;
31
- $link = isset( $offer_data['link'] ) ? $offer_data['link'] : '';
32
- $image = !empty( $offer_data['image'] ) ? add_query_arg( array('v' => time()), $offer_data['image'] ) : '';
33
- ?>
34
-
35
- <div class="wpos-anylc-offer-wrap">
36
- <?php if( !empty( $offer_data['name'] ) ) { ?>
37
- <div class="wpos-anylc-offer-title wpos-anylc-center"><?php echo $offer_data['name']; ?></div>
38
- <?php } ?>
39
-
40
- <?php if( $image ) { ?>
41
- <div class="wpos-anylc-offer-body wpos-anylc-center">
42
- <?php if( $link ) { ?>
43
- <a href="<?php echo esc_url( $link ); ?>" target="_blank">
44
- <img src="<?php echo esc_url( $image ); ?>" alt="" />
45
- </a>
46
- <?php } else { ?>
47
- <img src="<?php echo esc_url( $image ); ?>" alt="" />
48
- <?php } ?>
49
- </div>
50
- <?php } ?>
51
-
52
- <?php if( !empty( $offer_data['desc'] ) ) { ?>
53
- <div class="wpos-anylc-offer-desc wpos-anylc-center"><?php echo wpautop( $offer_data['desc'] ); ?></div>
54
- <?php } ?>
55
-
56
- <?php if( !empty( $offer_data['button'] ) ) { ?>
57
- <div class="wpos-anylc-offer-footer wpos-anylc-center"><a href="<?php echo esc_url( $link ); ?>" class="button button-primary button-large wpos-anylc-btn" target="_blank"><?php echo $offer_data['button']; ?></a></div>
58
- <?php } ?>
59
- </div>
60
-
61
- <?php } // End of foreach
62
-
63
- // If no offer to display then redirect to main plugin screen
64
- if( empty( $has_offer ) ) {
65
- $redirect_url = wpos_anylc_pdt_url( $analy_product ); // Redirect URL
66
- ?>
67
- Please Wait... Redirecting to plugin screen. <a href="<?php echo $redirect_url; ?>">Click Here</a> in case you are not auto redirect.
68
- <script type="text/javascript">
69
- window.location = "<?php echo $redirect_url; ?>";
70
- </script>
71
- <?php } ?>
72
-
73
  </div><!-- end .wrap -->
1
+ <?php
2
+ /**
3
+ * Offers Page
4
+ *
5
+ * @package Wpos Analytic
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( !defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+ ?>
13
+ <style type="text/css">
14
+ .notice, .error, div.fs-notice.updated, div.fs-notice.success, div.fs-notice.promotion{display:none !important;}
15
+ </style>
16
+
17
+ <div class="wrap wpos-anylc-offers">
18
+
19
+ <?php foreach ($analy_product['offers'] as $offer_key => $offer_data) {
20
+
21
+ // If status wise offer is there
22
+ if( wpos_anylc_is_multi_arr( $offer_data ) ) {
23
+ $offer_data = isset( $offer_data[ $opt_in ] ) ? $offer_data[ $opt_in ] : false;
24
+ }
25
+
26
+ if( empty( $offer_data ) ) {
27
+ continue;
28
+ }
29
+
30
+ $has_offer = true;
31
+ $link = isset( $offer_data['link'] ) ? $offer_data['link'] : '';
32
+ $image = !empty( $offer_data['image'] ) ? add_query_arg( array('v' => time()), $offer_data['image'] ) : '';
33
+ ?>
34
+
35
+ <div class="wpos-anylc-offer-wrap">
36
+ <?php if( !empty( $offer_data['name'] ) ) { ?>
37
+ <div class="wpos-anylc-offer-title wpos-anylc-center"><?php echo $offer_data['name']; ?></div>
38
+ <?php } ?>
39
+
40
+ <?php if( $image ) { ?>
41
+ <div class="wpos-anylc-offer-body wpos-anylc-center">
42
+ <?php if( $link ) { ?>
43
+ <a href="<?php echo esc_url( $link ); ?>" target="_blank">
44
+ <img src="<?php echo esc_url( $image ); ?>" alt="" />
45
+ </a>
46
+ <?php } else { ?>
47
+ <img src="<?php echo esc_url( $image ); ?>" alt="" />
48
+ <?php } ?>
49
+ </div>
50
+ <?php } ?>
51
+
52
+ <?php if( !empty( $offer_data['desc'] ) ) { ?>
53
+ <div class="wpos-anylc-offer-desc wpos-anylc-center"><?php echo wpautop( $offer_data['desc'] ); ?></div>
54
+ <?php } ?>
55
+
56
+ <?php if( !empty( $offer_data['button'] ) ) { ?>
57
+ <div class="wpos-anylc-offer-footer wpos-anylc-center"><a href="<?php echo esc_url( $link ); ?>" class="button button-primary button-large wpos-anylc-btn" target="_blank"><?php echo $offer_data['button']; ?></a></div>
58
+ <?php } ?>
59
+ </div>
60
+
61
+ <?php } // End of foreach
62
+
63
+ // If no offer to display then redirect to main plugin screen
64
+ if( empty( $has_offer ) ) {
65
+ $redirect_url = wpos_anylc_pdt_url( $analy_product ); // Redirect URL
66
+ ?>
67
+ Please Wait... Redirecting to plugin screen. <a href="<?php echo $redirect_url; ?>">Click Here</a> in case you are not auto redirect.
68
+ <script type="text/javascript">
69
+ window.location = "<?php echo $redirect_url; ?>";
70
+ </script>
71
+ <?php } ?>
72
+
73
  </div><!-- end .wrap -->
wpos-analytics/templates/optout-popup.php CHANGED
@@ -18,7 +18,7 @@ if ( !defined( 'ABSPATH' ) ) {
18
  <div class="wpos-anylc-popup-body">
19
  <p class="wpos-anylc-popup-heading">We appreciate your help to make the plugin better by letting us track some usage data.</p>
20
  <p>Usage tracking is done in the name of making <b><?php echo $module['name']; ?></b> better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking.</p>
21
- <p>By clicking "Opt Out", we will no longer be sending any data from <b><?php echo $module['name']; ?></b> to <a href="https://www.wponlinesupport.com/" target="_blank">wponlinesupport.com</a>.</p>
22
  </div>
23
  <div class="wpos-anylc-popup-footer">
24
  <form method="POST" action="https://analytics.wponlinesupport.com">
18
  <div class="wpos-anylc-popup-body">
19
  <p class="wpos-anylc-popup-heading">We appreciate your help to make the plugin better by letting us track some usage data.</p>
20
  <p>Usage tracking is done in the name of making <b><?php echo $module['name']; ?></b> better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking.</p>
21
+ <p>By clicking "Opt Out", we will no longer be sending any data from <b><?php echo $module['name']; ?></b> to <a href="https://www.essentialplugin.com/" target="_blank">essentialplugin.com</a>.</p>
22
  </div>
23
  <div class="wpos-anylc-popup-footer">
24
  <form method="POST" action="https://analytics.wponlinesupport.com">
wpos-analytics/wpos-analytics.php CHANGED
@@ -1,251 +1,251 @@
1
- <?php
2
- /**
3
- * WPOS Analytics
4
- *
5
- * @author WP Online Support
6
- * @package Wpos Analytic
7
- * @since 1.0
8
- */
9
-
10
- if ( !defined( 'ABSPATH' ) ) {
11
- exit; // Exit if accessed directly
12
- }
13
-
14
- if ( ! class_exists( 'WPOS_Analytics' ) ) :
15
-
16
- /**
17
- * Main Analytics Class By WP Online Support.
18
- *
19
- * @since 1.0
20
- */
21
- final class WPOS_Analytics {
22
-
23
- /**
24
- * @var Instance
25
- * @since 1.0
26
- */
27
- protected static $instance = null;
28
-
29
- /**
30
- * Main Analytics Instance.
31
- *
32
- * Insures that only one instance of Analytics exists in memory at any one time.
33
- * Also prevents needing to define globals all over the place.
34
- *
35
- * @since 1.0
36
- * @uses WPOS_ANYLC::setup_constants() Setup the constants needed.
37
- * @uses WPOS_ANYLC::includes() Include the required files.
38
- * @uses WPOS_ANYLC::wpos_anylc_plugins_loaded() load the language files.
39
- * @see PWPC()
40
- * @return object The one true Analytics
41
- */
42
- public static function instance() {
43
- if ( is_null( self::$instance ) ) {
44
- self::$instance = new self();
45
- }
46
- return self::$instance;
47
- }
48
-
49
- /**
50
- * Throw error on object clone.
51
- *
52
- * The whole idea of the singleton design pattern is that there is a single object therefore, we don't want the object to be cloned.
53
- *
54
- * @since 1.0
55
- * @access protected
56
- * @return void
57
- */
58
- public function __clone() {
59
- // Cloning instances of the class is forbidden.
60
- _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'pwpc' ), '1.0' );
61
- }
62
-
63
- /**
64
- * Disable unserializing of the class.
65
- *
66
- * @since 1.0
67
- * @access protected
68
- * @return void
69
- */
70
- public function __wakeup() {
71
- // Unserializing instances of the class is forbidden.
72
- _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'pwpc' ), '1.0' );
73
- }
74
-
75
- /**
76
- * Plugin Constructor.
77
- */
78
- public function __construct() {
79
- $this->setup_constants();
80
- $this->includes();
81
-
82
- do_action( 'wpos_anylc_loaded' );
83
- }
84
-
85
- /**
86
- * Define constant if not already set.
87
- *
88
- * @param string $name
89
- * @param string|bool $value
90
- */
91
- public function define( $name, $value ) {
92
- if ( ! defined( $name ) ) {
93
- define( $name, $value );
94
- }
95
- }
96
-
97
- /**
98
- * Setup plugin constants. Basic plugin definitions
99
- *
100
- * @access private
101
- * @since 1.0
102
- */
103
- private function setup_constants() {
104
-
105
- $this->define( 'WPOS_ANYLC_VERSION', '1.1' );
106
- $this->define( 'WPOS_ANYLC_DIR', plugin_dir_path( __FILE__ ) );
107
- $this->define( 'WPOS_ANYLC_URL', plugin_dir_url( __FILE__ ) );
108
- }
109
-
110
- /**
111
- * Include required files.
112
- *
113
- * @access private
114
- * @since 1.0
115
- */
116
- private function includes() {
117
-
118
- // Functions file
119
- require_once WPOS_ANYLC_DIR .'/includes/wpos-anylc-function.php';
120
-
121
- // Script Class
122
- require_once WPOS_ANYLC_DIR .'/includes/class-anylc-script.php';
123
-
124
- // Admin Class
125
- require_once WPOS_ANYLC_DIR .'/includes/class-anylc-admin.php';
126
- }
127
- }
128
-
129
- /**
130
- *
131
- * The main function responsible for returning the one true Analytics
132
- * Instance to functions everywhere.
133
- *
134
- * Use this function like you would a global variable, except without needing
135
- * to declare the global.
136
- *
137
- * Example: <?php $wpos_anylc = WPOS_ANYLC(); ?>
138
- *
139
- * @since 1.0
140
- * @return object The one true Analytics Instance.
141
- */
142
- function WPOS_ANYLC() {
143
- return WPOS_Analytics::instance();
144
- }
145
-
146
- /**
147
- *
148
- * Initialize Analytics Module
149
- *
150
- * @since 1.0
151
- * @return object The one true Analytics Instance.
152
- */
153
- function wpos_anylc_init_module( $args = array() ) {
154
-
155
- global $wpos_analytics_module, $wpos_analytics_product;
156
-
157
- $defaul_args = array(
158
- 'id' => null,
159
- 'file' => null,
160
- 'name' => null,
161
- 'slug' => null,
162
- 'type' => 'plugin',
163
- 'menu' => false,
164
- 'icon' => '',
165
- 'text_domain' => 'wpos_analytics',
166
- );
167
-
168
- $args = wp_parse_args( $args, $defaul_args );
169
-
170
- // If required data is not there then simply return
171
- if( empty($args['id']) || empty( $args['file'] ) || empty( $args['slug'] ) ) {
172
- return false;
173
- }
174
-
175
- // Additional args
176
- $promotion = array();
177
- $args['dir'] = pathinfo($args['file'], PATHINFO_DIRNAME);
178
- $args['icon'] = empty( $icon ) ? trailingslashit( WP_PLUGIN_URL ).$args['dir'].'/wpos-analytics/assets/images/icon.png' : $args['icon'];
179
- $args['brand_icon'] = plugin_dir_url( __FILE__ ).'assets/images/wpos-logo.png';
180
- $args['anylc_optin'] = 'wpos_anylc_pdt_'.$args['id'];
181
-
182
- if( isset( $args['promotion'] ) ) {
183
- foreach ($args['promotion'] as $promotion_key => $promotion_data) {
184
- if( empty( $promotion_data['name'] ) || empty( $promotion_data['file'] ) ) {
185
- continue;
186
- }
187
-
188
- $promotion[$promotion_key] = $promotion_data;
189
- }
190
- }
191
- $args['promotion'] = $promotion;
192
-
193
- // Taking some variables
194
- $wpos_analytics_module = !empty( $wpos_analytics_module ) ? $wpos_analytics_module : array();
195
- $wpos_analytics_product = !empty( $wpos_analytics_product ) ? $wpos_analytics_product : array();
196
-
197
- if( is_array( $wpos_analytics_module ) ) {
198
- $wpos_analytics_module[ $args['file'] ] = $args;
199
- }
200
-
201
- if( is_array( $wpos_analytics_product ) ) {
202
- $wpos_analytics_product[ $args['slug'] ] = $args;
203
- }
204
-
205
- return $wpos_analytics_module;
206
- }
207
-
208
- /**
209
- *
210
- * Function on any plugin deactivation
211
- *
212
- * @since 1.0
213
- * @return object The one true Analytics Instance.
214
- */
215
- function wpos_anylc_plugin_activation( $plugin, $network_activation ) {
216
-
217
- // return if activating from network, or bulk
218
- if ( is_network_admin() ) {
219
- return;
220
- }
221
-
222
- global $wpos_analytics_module;
223
-
224
- if( isset( $wpos_analytics_module[ $plugin ] ) ) {
225
-
226
- $opt_in_data = get_option( $wpos_analytics_module[ $plugin ]['anylc_optin'] );
227
- $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
228
-
229
- if( $optin_status == -1 ) {
230
- $redirect_link = add_query_arg( array('page' => $wpos_analytics_module[ $plugin ]['slug']), admin_url('admin.php') );
231
- update_option( 'wpos_anylc_redirect', $redirect_link );
232
- }
233
- }
234
- }
235
- add_action( 'activated_plugin', 'wpos_anylc_plugin_activation', 10, 2 );
236
-
237
- /**
238
- *
239
- * Initialize Analytics Class Once all stuff has been loaded
240
- *
241
- * @since 1.0
242
- * @return object The one true Analytics Instance.
243
- */
244
- function wpos_anylc_plugins_loaded() {
245
-
246
- // Get Analytics Running.
247
- WPOS_ANYLC();
248
- }
249
- add_action( 'plugins_loaded', 'wpos_anylc_plugins_loaded', 12 );
250
-
251
  endif; // End if class_exists check.
1
+ <?php
2
+ /**
3
+ * WPOS Analytics
4
+ *
5
+ * @author WP Online Support
6
+ * @package Wpos Analytic
7
+ * @since 1.0
8
+ */
9
+
10
+ if ( !defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ if ( ! class_exists( 'WPOS_Analytics' ) ) :
15
+
16
+ /**
17
+ * Main Analytics Class By WP Online Support.
18
+ *
19
+ * @since 1.0
20
+ */
21
+ final class WPOS_Analytics {
22
+
23
+ /**
24
+ * @var Instance
25
+ * @since 1.0
26
+ */
27
+ protected static $instance = null;
28
+
29
+ /**
30
+ * Main Analytics Instance.
31
+ *
32
+ * Insures that only one instance of Analytics exists in memory at any one time.
33
+ * Also prevents needing to define globals all over the place.
34
+ *
35
+ * @since 1.0
36
+ * @uses WPOS_ANYLC::setup_constants() Setup the constants needed.
37
+ * @uses WPOS_ANYLC::includes() Include the required files.
38
+ * @uses WPOS_ANYLC::wpos_anylc_plugins_loaded() load the language files.
39
+ * @see PWPC()
40
+ * @return object The one true Analytics
41
+ */
42
+ public static function instance() {
43
+ if ( is_null( self::$instance ) ) {
44
+ self::$instance = new self();
45
+ }
46
+ return self::$instance;
47
+ }
48
+
49
+ /**
50
+ * Throw error on object clone.
51
+ *
52
+ * The whole idea of the singleton design pattern is that there is a single object therefore, we don't want the object to be cloned.
53
+ *
54
+ * @since 1.0
55
+ * @access protected
56
+ * @return void
57
+ */
58
+ public function __clone() {
59
+ // Cloning instances of the class is forbidden.
60
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'pwpc' ), '1.0' );
61
+ }
62
+
63
+ /**
64
+ * Disable unserializing of the class.
65
+ *
66
+ * @since 1.0
67
+ * @access protected
68
+ * @return void
69
+ */
70
+ public function __wakeup() {
71
+ // Unserializing instances of the class is forbidden.
72
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'pwpc' ), '1.0' );
73
+ }
74
+
75
+ /**
76
+ * Plugin Constructor.
77
+ */
78
+ public function __construct() {
79
+ $this->setup_constants();
80
+ $this->includes();
81
+
82
+ do_action( 'wpos_anylc_loaded' );
83
+ }
84
+
85
+ /**
86
+ * Define constant if not already set.
87
+ *
88
+ * @param string $name
89
+ * @param string|bool $value
90
+ */
91
+ public function define( $name, $value ) {
92
+ if ( ! defined( $name ) ) {
93
+ define( $name, $value );
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Setup plugin constants. Basic plugin definitions
99
+ *
100
+ * @access private
101
+ * @since 1.0
102
+ */
103
+ private function setup_constants() {
104
+
105
+ $this->define( 'WPOS_ANYLC_VERSION', '1.1' );
106
+ $this->define( 'WPOS_ANYLC_DIR', plugin_dir_path( __FILE__ ) );
107
+ $this->define( 'WPOS_ANYLC_URL', plugin_dir_url( __FILE__ ) );
108
+ }
109
+
110
+ /**
111
+ * Include required files.
112
+ *
113
+ * @access private
114
+ * @since 1.0
115
+ */
116
+ private function includes() {
117
+
118
+ // Functions file
119
+ require_once WPOS_ANYLC_DIR .'/includes/wpos-anylc-function.php';
120
+
121
+ // Script Class
122
+ require_once WPOS_ANYLC_DIR .'/includes/class-anylc-script.php';
123
+
124
+ // Admin Class
125
+ require_once WPOS_ANYLC_DIR .'/includes/class-anylc-admin.php';
126
+ }
127
+ }
128
+
129
+ /**
130
+ *
131
+ * The main function responsible for returning the one true Analytics
132
+ * Instance to functions everywhere.
133
+ *
134
+ * Use this function like you would a global variable, except without needing
135
+ * to declare the global.
136
+ *
137
+ * Example: <?php $wpos_anylc = WPOS_ANYLC(); ?>
138
+ *
139
+ * @since 1.0
140
+ * @return object The one true Analytics Instance.
141
+ */
142
+ function WPOS_ANYLC() {
143
+ return WPOS_Analytics::instance();
144
+ }
145
+
146
+ /**
147
+ *
148
+ * Initialize Analytics Module
149
+ *
150
+ * @since 1.0
151
+ * @return object The one true Analytics Instance.
152
+ */
153
+ function wpos_anylc_init_module( $args = array() ) {
154
+
155
+ global $wpos_analytics_module, $wpos_analytics_product;
156
+
157
+ $defaul_args = array(
158
+ 'id' => null,
159
+ 'file' => null,
160
+ 'name' => null,
161
+ 'slug' => null,
162
+ 'type' => 'plugin',
163
+ 'menu' => false,
164
+ 'icon' => '',
165
+ 'text_domain' => 'wpos_analytics',
166
+ );
167
+
168
+ $args = wp_parse_args( $args, $defaul_args );
169
+
170
+ // If required data is not there then simply return
171
+ if( empty($args['id']) || empty( $args['file'] ) || empty( $args['slug'] ) ) {
172
+ return false;
173
+ }
174
+
175
+ // Additional args
176
+ $promotion = array();
177
+ $args['dir'] = pathinfo($args['file'], PATHINFO_DIRNAME);
178
+ $args['icon'] = empty( $icon ) ? trailingslashit( WP_PLUGIN_URL ).$args['dir'].'/wpos-analytics/assets/images/icon.png' : $args['icon'];
179
+ $args['brand_icon'] = plugin_dir_url( __FILE__ ).'assets/images/wpos-logo.png';
180
+ $args['anylc_optin'] = 'wpos_anylc_pdt_'.$args['id'];
181
+
182
+ if( isset( $args['promotion'] ) ) {
183
+ foreach ($args['promotion'] as $promotion_key => $promotion_data) {
184
+ if( empty( $promotion_data['name'] ) || empty( $promotion_data['file'] ) ) {
185
+ continue;
186
+ }
187
+
188
+ $promotion[$promotion_key] = $promotion_data;
189
+ }
190
+ }
191
+ $args['promotion'] = $promotion;
192
+
193
+ // Taking some variables
194
+ $wpos_analytics_module = !empty( $wpos_analytics_module ) ? $wpos_analytics_module : array();
195
+ $wpos_analytics_product = !empty( $wpos_analytics_product ) ? $wpos_analytics_product : array();
196
+
197
+ if( is_array( $wpos_analytics_module ) ) {
198
+ $wpos_analytics_module[ $args['file'] ] = $args;
199
+ }
200
+
201
+ if( is_array( $wpos_analytics_product ) ) {
202
+ $wpos_analytics_product[ $args['slug'] ] = $args;
203
+ }
204
+
205
+ return $wpos_analytics_module;
206
+ }
207
+
208
+ /**
209
+ *
210
+ * Function on any plugin deactivation
211
+ *
212
+ * @since 1.0
213
+ * @return object The one true Analytics Instance.
214
+ */
215
+ function wpos_anylc_plugin_activation( $plugin, $network_activation ) {
216
+
217
+ // return if activating from network, or bulk
218
+ if ( is_network_admin() ) {
219
+ return;
220
+ }
221
+
222
+ global $wpos_analytics_module;
223
+
224
+ if( isset( $wpos_analytics_module[ $plugin ] ) ) {
225
+
226
+ $opt_in_data = get_option( $wpos_analytics_module[ $plugin ]['anylc_optin'] );
227
+ $optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
228
+
229
+ if( $optin_status == -1 ) {
230
+ $redirect_link = add_query_arg( array('page' => $wpos_analytics_module[ $plugin ]['slug']), admin_url('admin.php') );
231
+ update_option( 'wpos_anylc_redirect', $redirect_link );
232
+ }
233
+ }
234
+ }
235
+ add_action( 'activated_plugin', 'wpos_anylc_plugin_activation', 10, 2 );
236
+
237
+ /**
238
+ *
239
+ * Initialize Analytics Class Once all stuff has been loaded
240
+ *
241
+ * @since 1.0
242
+ * @return object The one true Analytics Instance.
243
+ */
244
+ function wpos_anylc_plugins_loaded() {
245
+
246
+ // Get Analytics Running.
247
+ WPOS_ANYLC();
248
+ }
249
+ add_action( 'plugins_loaded', 'wpos_anylc_plugins_loaded', 12 );
250
+
251
  endif; // End if class_exists check.
wpos-plugins/assets/css/admin-style.css DELETED
@@ -1,22 +0,0 @@
1
- .espbw-clearfix:before, .espbw-clearfix:after {content: "";display: table;}
2
- .espbw-clearfix::after {clear: both;}
3
- .espbw-hide{display: none;}
4
- .filter-links a{padding-left:30px !important; background-size:25px 25px; background-repeat:no-repeat; background-position:left center;}
5
- .filter-links .espbw-plugin-all a.espbw-filter-link{background-image:url('../images/essential-plugin-50.png');}
6
- .filter-links .espbw-plugin-recommended a.espbw-filter-link{background-image:url('../images/utility-icon.png');}
7
- .filter-links .espbw-plugin-marketing a.espbw-filter-link{background-image:url('../images/inbound50-by-50.png');}
8
- .filter-links .espbw-plugin-sliders a.espbw-filter-link{background-image:url('../images/sliderspack.png');}
9
- .filter-links .espbw-plugin-woo a.espbw-filter-link{background-image:url('../images/cart-2.png');}
10
- .wpos-em{font-size:15px; color:#e11919 !important;}
11
- .espbw-dashboard-logo{text-align: center;}
12
- .espbw-dashboard-logo img{width:140px;}
13
- .espbw-plugin-card-wrap{margin: 0 0 16px 0; display: inline-block; vertical-align: top; width: 50%; padding: 0 8px; font-size: 13px; box-sizing: border-box;}
14
- .espbw-plugin-list{margin: 0 -8px; font-size:0.001px; width: auto;}
15
- .espbw-plugin-list .plugin-card{float: none; width: 100%; margin: 0;}
16
- .espbw-dashboard-title{text-align: center;}
17
- .espbw-dashboard-title h3{margin: 10px 0 8px 0; font-size: 1.8em}
18
- .espbw-dashboard-title-inr{display: inline-block; text-align: right;}
19
- .espbw-dashboard-title-inr span{display: inline-block; font-weight: 600; text-decoration: underline;}
20
- .espbw-filter .espbw-search-inp{margin: 0; border-radius: 0;}
21
- .espbw-filter a:focus{box-shadow: none; outline: 0;}
22
- .espbw-search-no-result{clear: both; text-align: center; font-size: 16px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wpos-plugins/assets/images/cart-2.png DELETED
Binary file
wpos-plugins/assets/images/essential-plugin-16.png DELETED
Binary file
wpos-plugins/assets/images/essential-plugin-50.png DELETED
Binary file
wpos-plugins/assets/images/inbound50-by-50.png DELETED
Binary file
wpos-plugins/assets/images/utility-icon.png DELETED
Binary file
wpos-plugins/assets/images/wponlinesupport-logo.png DELETED
Binary file
wpos-plugins/assets/js/admin-script.js DELETED
@@ -1,76 +0,0 @@
1
- /*jslint browser:true */
2
- (function ($) {
3
- "use strict";
4
-
5
- var timer;
6
- var timeOut = 300; /* delay after last keypress to execute filter */
7
-
8
- $( document ).ready(function() {
9
-
10
- /* Stop Submitting Search Form */
11
- $('.espbw-search-inp-js').submit(function( event ) {
12
- event.preventDefault();
13
- });
14
-
15
- $(document).on('keyup paste input', '.espbw-search-inp-js', function(event) {
16
-
17
- clearTimeout(timer); /* if we pressed the key, it will clear the previous timer and wait again */
18
- var curr_ele = $(this);
19
- var cls_ele = curr_ele.closest('.espbw-dashboard-wrap');
20
- var search_ele = cls_ele.find('.espbw-plugin-list');
21
-
22
- cls_ele.find('.espbw-search-no-result').hide();
23
- cls_ele.find('.espbw-filter-link').removeClass('current');
24
-
25
- timer = setTimeout(function() {
26
-
27
- var search_value = $.trim( curr_ele.val().toLowerCase() );
28
- var search_array = search_value.split(" ");
29
-
30
- if( search_value == '' ) {
31
- cls_ele.find('.espbw-plugin-all .espbw-filter-link').addClass('current');
32
- }
33
-
34
- search_ele.find('.espbw-plugin-card-wrap').each(function(index) {
35
-
36
- var contents = $(this).find('.espbw-plugin-name').text().toLowerCase();
37
- var tags = $(this).attr('data-tags').toLowerCase();
38
-
39
- if ( contents.indexOf(search_value) !== -1 || tags.indexOf(search_value) !== -1 ) {
40
- $(this).show();
41
- } else {
42
- $(this).hide();
43
- }
44
- });
45
-
46
- if( ! cls_ele.find('.espbw-plugin-card-wrap').is(":visible") ) {
47
- cls_ele.find('.espbw-search-no-result').show();
48
- }
49
-
50
- }, timeOut);
51
- });
52
-
53
- /* Filter Links */
54
- $(document).on('click', '.espbw-filter-link', function() {
55
-
56
- var curr_ele = $(this);
57
- var cls_ele = curr_ele.closest('.espbw-dashboard-wrap');
58
- var plugin_list_ele = cls_ele.find('.espbw-plugin-list');
59
- var filter = curr_ele.attr('data-filter');
60
- filter = filter ? filter : '';
61
-
62
- cls_ele.find('.espbw-search-inp-js').val('');
63
- plugin_list_ele.find('.espbw-plugin-card-wrap').hide();
64
- cls_ele.find('.espbw-filter-link').removeClass('current');
65
- curr_ele.addClass('current');
66
-
67
- if( filter == '' ) {
68
- plugin_list_ele.find('.espbw-plugin-card-wrap').show();
69
- } else {
70
- plugin_list_ele.find('.espbw-'+filter).show();
71
- }
72
- });
73
-
74
- });
75
-
76
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wpos-plugins/includes/admin/class-espbw-admin.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /**
3
- * Admin Class
4
- * Handles the Admin side functionality of plugin
5
- *
6
- * @package Essential Plugins Bundle
7
- * @since 1.0
8
- */
9
-
10
- if ( ! defined( 'ABSPATH' ) ) {
11
- exit; // Exit if accessed directly
12
- }
13
-
14
- class WPOS_ESPBW_Admin {
15
-
16
- function __construct() {
17
-
18
- // Action to register admin menu
19
- add_action( 'admin_menu', array($this, 'espbw_register_menu'), 14 );
20
- }
21
-
22
- /**
23
- * Function to register admin menus
24
- *
25
- * @since 1.0
26
- */
27
- function espbw_register_menu() {
28
-
29
- global $wpos_espbw_module;
30
-
31
- // Loop of menu
32
- if( ! empty( $wpos_espbw_module ) ) {
33
- foreach ($wpos_espbw_module as $module_key => $module_val) {
34
-
35
- // Dashboard Page
36
- add_submenu_page( $module_val['menu'], __('Essential Plugins Bundle By WP OnlineSuport', 'espbw'), '<span style="color:#ff6600;">'.__('Install Popular Plugins From WPOS', 'espbw').'</span>', 'manage_options', "{$module_val['prefix']}-espbw-dashboard", array($this, 'espbw_dashboard_page'), $module_val['position'] );
37
- }
38
- }
39
- }
40
-
41
- /**
42
- * Render Plugin Dashboard Page
43
- *
44
- * @since 1.0
45
- */
46
- function espbw_dashboard_page() {
47
- include_once( WPOS_ESPBW_DIR . '/includes/admin/views/dashboard.php' );
48
- }
49
- }
50
-
51
- $wpos_espbw_admin = new WPOS_ESPBW_Admin();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wpos-plugins/includes/admin/views/dashboard.php DELETED
@@ -1,326 +0,0 @@
1
- <?php
2
- /**
3
- * Dashboard Page
4
- *
5
- * @package Essential Plugins Bundle
6
- * @since 1.0
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
-
13
- // Call Plugin API
14
- if ( ! function_exists( 'plugins_api' ) ) {
15
- require_once ABSPATH . '/wp-admin/includes/plugin-install.php';
16
- }
17
-
18
- // Taking some data
19
- $plugins_allowedtags = array(
20
- 'a' => array(
21
- 'href' => array(),
22
- 'title' => array(),
23
- 'target' => array(),
24
- ),
25
- 'abbr' => array( 'title' => array() ),
26
- 'acronym' => array( 'title' => array() ),
27
- 'code' => array(),
28
- 'pre' => array(),
29
- 'em' => array(),
30
- 'strong' => array(),
31
- 'ul' => array(),
32
- 'ol' => array(),
33
- 'li' => array(),
34
- 'p' => array(),
35
- 'br' => array(),
36
- );
37
-
38
- $plugins_data = wpos_espbw_get_plugin_data();
39
- $plugins_filter = wpos_espbw_plugins_filter();
40
-
41
- // Check Plugin Install Permission
42
- if( ! current_user_can('install_plugins') ) {
43
- echo '<div class="error">
44
- <p>'. esc_html__( "Sorry, It looks like that you do not have permission to install the plugin.", "espbw") .'</p>
45
- <p>'. esc_html__("You can take a look at our all plugins at", "espbw") .' <a href="https://profiles.wordpress.org/wponlinesupport#content-plugins" target="_blank">'. esc_html__("here", "espbw") . '</a>.</p>
46
- </div>';
47
- return;
48
- }
49
- ?>
50
- <script type="text/javascript">
51
- var pagenow = 'plugin-install';
52
- </script>
53
- <div class="wrap espbw-settings">
54
- <div class="espbw-dashboard-wrap">
55
-
56
- <div class="espbw-dashboard-title">
57
- <div class="espbw-dashboard-title-inr">
58
- <div class="espbw-dashboard-logo"><a href="https://www.wponlinesupport.com/?utm_source=wp&utm_medium=plugin&utm_campaign=essential-bundle" target="_blank"><img src="<?php echo esc_url( WPOS_ESPBW_URL ); ?>assets/images/wponlinesupport-logo.png" alt="wponlinesupport" /></a></div>
59
- <h3 style="text-align:center;"><?php _e( 'Essential Plugins', 'espbw' ); ?></h3>
60
- <em class="wpos-em">Installs directly from <b>wordpress.org</b> repository</em> <br />
61
- </div>
62
- </div>
63
- <br/>
64
-
65
- <div class="wp-filter espbw-filter">
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>
73
-
74
- <form class="search-form search-plugins" method="get">
75
- <input type="hidden" name="page" value="espbw-dashboard" />
76
- <input type="search" name="espbw_search" value="" class="wp-filter-search espbw-search-inp espbw-search-inp-js" placeholder="<?php echo esc_html_e('Search Plugins e.g popup', 'espbw'); ?>" />
77
- </form>
78
- </div>
79
-
80
- <?php if( ! empty( $plugins_data->plugins ) ) { ?>
81
- <form id="plugin-filter" method="post">
82
- <div class="espbw-plugin-list-wrap">
83
- <div class="widefat espbw-plugin-list espbw-clearfix" id="the-list">
84
-
85
- <?php foreach ($plugins_data->plugins as $plugin_key => $plugin_data) {
86
-
87
- if ( is_object( $plugin_data ) ) {
88
- $plugin_data = (array) $plugin_data;
89
- }
90
-
91
- // Taking some data
92
- $title = wp_kses( $plugin_data['name'], $plugins_allowedtags );
93
- $version = wp_kses( $plugin_data['version'], $plugins_allowedtags );
94
- $name = strip_tags( $title . ' ' . $version );
95
- $description = strip_tags( $plugin_data['short_description'] );
96
- $last_updated_timestamp = strtotime( $plugin_data['last_updated'] );
97
- $author = wp_kses( $plugin_data['author'], $plugins_allowedtags );
98
- $author = str_replace( "href=", 'target="_blank" href=', $author );
99
- $requires_php = isset( $plugin['requires_php'] ) ? $plugin['requires_php'] : null;
100
- $requires_wp = isset( $plugin_data['requires'] ) ? $plugin_data['requires'] : null;
101
- $compatible_php = is_php_version_compatible( $requires_php );
102
- $compatible_wp = is_wp_version_compatible( $requires_wp );
103
- $tested_wp = ( empty( $plugin_data['tested'] ) || version_compare( get_bloginfo( 'version' ), $plugin_data['tested'], '<=' ) );
104
- $details_link = self_admin_url( 'plugin-install.php?tab=plugin-information&amp;plugin=' . $plugin_data['slug'] . '&amp;TB_iframe=true&amp;width=600&amp;height=550' );
105
- $extra_class = ( ! empty( $plugins_filter[ $plugin_data['slug'] ]['class'] ) ) ? $plugins_filter[ $plugin_data['slug'] ]['class'] : '';
106
- $plugin_tags = ( ! empty( $plugins_filter[ $plugin_data['slug'] ]['tags'] ) ) ? $plugins_filter[ $plugin_data['slug'] ]['tags'] : '';
107
-
108
- // Author String
109
- if ( ! empty( $author ) ) {
110
- /* translators: %s: Plugin author. */
111
- $author = ' <cite>' . sprintf( __( 'By %s' ), $author ) . '</cite>';
112
- }
113
-
114
- // Plugin Icon
115
- if ( ! empty( $plugin_data['icons']['svg'] ) ) {
116
- $plugin_icon_url = $plugin_data['icons']['svg'];
117
- } elseif ( ! empty( $plugin_data['icons']['2x'] ) ) {
118
- $plugin_icon_url = $plugin_data['icons']['2x'];
119
- } elseif ( ! empty( $plugin_data['icons']['1x'] ) ) {
120
- $plugin_icon_url = $plugin_data['icons']['1x'];
121
- } else {
122
- $plugin_icon_url = $plugin_data['icons']['default'];
123
- }
124
-
125
- // Plugin Action Links
126
- $action_links = array();
127
-
128
- if ( current_user_can( 'install_plugins' ) || current_user_can( 'update_plugins' ) ) {
129
- $status = install_plugin_install_status( $plugin_data );
130
-
131
- switch ( $status['status'] ) {
132
- case 'install':
133
- if ( $status['url'] ) {
134
- if ( $compatible_php && $compatible_wp ) {
135
- $action_links[] = sprintf(
136
- '<a class="install-now button" data-slug="%s" href="%s" aria-label="%s" data-name="%s">%s</a>',
137
- esc_attr( $plugin_data['slug'] ),
138
- esc_url( $status['url'] ),
139
- /* translators: %s: Plugin name and version. */
140
- esc_attr( sprintf( __( 'Install %s now' ), $name ) ),
141
- esc_attr( $name ),
142
- __( 'Install Now' )
143
- );
144
- } else {
145
- $action_links[] = sprintf(
146
- '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
147
- _x( 'Cannot Install', 'plugin' )
148
- );
149
- }
150
- }
151
- break;
152
-
153
- case 'update_available':
154
- if ( $status['url'] ) {
155
- if ( $compatible_php && $compatible_wp ) {
156
- $action_links[] = sprintf(
157
- '<a class="update-now button aria-button-if-js" data-plugin="%s" data-slug="%s" href="%s" aria-label="%s" data-name="%s">%s</a>',
158
- esc_attr( $status['file'] ),
159
- esc_attr( $plugin_data['slug'] ),
160
- esc_url( $status['url'] ),
161
- /* translators: %s: Plugin name and version. */
162
- esc_attr( sprintf( __( 'Update %s now' ), $name ) ),
163
- esc_attr( $name ),
164
- __( 'Update Now' )
165
- );
166
- } else {
167
- $action_links[] = sprintf(
168
- '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
169
- _x( 'Cannot Update', 'plugin' )
170
- );
171
- }
172
- }
173
- break;
174
-
175
- case 'latest_installed':
176
- case 'newer_installed':
177
- if ( is_plugin_active( $status['file'] ) ) {
178
- $action_links[] = sprintf(
179
- '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
180
- _x( 'Active', 'plugin' )
181
- );
182
- } elseif ( current_user_can( 'activate_plugin', $status['file'] ) ) {
183
- $button_text = __( 'Activate' );
184
- /* translators: %s: Plugin name. */
185
- $button_label = _x( 'Activate %s', 'plugin' );
186
- $activate_url = add_query_arg(
187
- array(
188
- '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $status['file'] ),
189
- 'action' => 'activate',
190
- 'plugin' => $status['file'],
191
- ),
192
- network_admin_url( 'plugins.php' )
193
- );
194
-
195
- if ( is_network_admin() ) {
196
- $button_text = __( 'Network Activate' );
197
- /* translators: %s: Plugin name. */
198
- $button_label = _x( 'Network Activate %s', 'plugin' );
199
- $activate_url = add_query_arg( array( 'networkwide' => 1 ), $activate_url );
200
- }
201
-
202
- $action_links[] = sprintf(
203
- '<a href="%1$s" class="button activate-now" aria-label="%2$s">%3$s</a>',
204
- esc_url( $activate_url ),
205
- esc_attr( sprintf( $button_label, $plugin_data['name'] ) ),
206
- $button_text
207
- );
208
- } else {
209
- $action_links[] = sprintf(
210
- '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
211
- _x( 'Installed', 'plugin' )
212
- );
213
- }
214
- break;
215
- }
216
- }
217
-
218
- $action_links[] = sprintf(
219
- '<a href="%s" class="thickbox open-plugin-details-modal" aria-label="%s" data-title="%s">%s</a>',
220
- esc_url( $details_link ),
221
- /* translators: %s: Plugin name and version. */
222
- esc_attr( sprintf( __( 'More information about %s' ), $name ) ),
223
- esc_attr( $name ),
224
- __( 'More Details' )
225
- );
226
- ?>
227
-
228
- <div class="espbw-plugin-card-wrap <?php echo $extra_class; ?>" data-tags="<?php echo esc_attr( $plugin_tags ); ?>">
229
- <div class="plugin-card plugin-card-<?php echo sanitize_html_class( $plugin_data['slug'] ); ?>">
230
- <div class="plugin-card-top">
231
- <div class="name column-name">
232
- <h3>
233
- <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox open-plugin-details-modal">
234
- <span class="espbw-plugin-name"><?php echo $title; ?></span>
235
- <img src="<?php echo esc_url( $plugin_icon_url ); ?>" class="plugin-icon" alt="" />
236
- </a>
237
- </h3>
238
- </div>
239
-
240
- <div class="action-links">
241
- <?php
242
- if ( $action_links ) {
243
- echo '<ul class="plugin-action-buttons"><li>' . implode( '</li><li>', $action_links ) . '</li></ul>';
244
- }
245
- ?>
246
- </div>
247
-
248
- <div class="desc column-description">
249
- <p><?php echo $description; ?></p>
250
- <p class="authors"><?php echo $author; ?></p>
251
- </div>
252
- </div><!-- end .plugin-card-top -->
253
-
254
- <div class="plugin-card-bottom">
255
- <div class="vers column-rating">
256
- <?php
257
- wp_star_rating(
258
- array(
259
- 'rating' => $plugin_data['rating'],
260
- 'type' => 'percent',
261
- 'number' => $plugin_data['num_ratings'],
262
- )
263
- );
264
- ?>
265
- <span class="num-ratings" aria-hidden="true">(<?php echo number_format_i18n( $plugin_data['num_ratings'] ); ?>)</span>
266
- </div>
267
-
268
- <div class="column-updated">
269
- <strong><?php _e( 'Last Updated:' ); ?></strong>
270
- <?php
271
- /* translators: %s: Human-readable time difference. */
272
- printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) );
273
- ?>
274
- </div>
275
-
276
- <div class="column-downloaded">
277
- <?php
278
- if ( $plugin_data['active_installs'] >= 1000000 ) {
279
- $active_installs_millions = floor( $plugin_data['active_installs'] / 1000000 );
280
- $active_installs_text = sprintf(
281
- /* translators: %s: Number of millions. */
282
- _nx( '%s+ Million', '%s+ Million', $active_installs_millions, 'Active plugin installations' ),
283
- number_format_i18n( $active_installs_millions )
284
- );
285
- } elseif ( 0 == $plugin_data['active_installs'] ) {
286
- $active_installs_text = _x( 'Less Than 10', 'Active plugin installations' );
287
- } else {
288
- $active_installs_text = number_format_i18n( $plugin_data['active_installs'] ) . '+';
289
- }
290
- /* translators: %s: Number of installations. */
291
- printf( __( '%s Active Installations' ), $active_installs_text );
292
- ?>
293
- </div>
294
-
295
- <div class="column-compatibility">
296
- <?php
297
- if ( ! $tested_wp ) {
298
- echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress' ) . '</span>';
299
- } elseif ( ! $compatible_wp ) {
300
- echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>';
301
- } else {
302
- echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress' ) . '</span>';
303
- }
304
- ?>
305
- </div>
306
- </div><!-- end .plugin-card-bottom -->
307
- </div><!-- end .plugin-card -->
308
- </div><!-- end .espbw-plugin-card-wrap -->
309
-
310
- <?php } ?>
311
-
312
- </div>
313
- <div class="espbw-hide espbw-search-no-result"><?php esc_html_e('Sorry, No result found. Please refine your search.', 'espbw'); ?></div>
314
- </div><!-- end .espbw-plugin-list-wrap -->
315
- </form>
316
- <?php } else { ?>
317
-
318
- <div class="espbw-no-result">
319
- <p><?php esc_html_e('Sorry, Something happened wrong.', 'espbw'); ?></p>
320
- <p><?php esc_html_e('You can take a look at our all plugins at', 'espbw'); ?> <a href="https://profiles.wordpress.org/wponlinesupport#content-plugins" target="_blank"><?php esc_html_e('here', 'espbw'); ?></a>.</p>
321
- </div>
322
-
323
- <?php }
324
- ?>
325
- </div>
326
- </div><!-- end .wrap -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wpos-plugins/includes/class-espbw-script.php DELETED
@@ -1,57 +0,0 @@
1
- <?php
2
- /**
3
- * Script Class
4
- * Handles the script and style functionality of plugin
5
- *
6
- * @package Essential Plugins Bundle
7
- * @since 1.0
8
- */
9
-
10
- if ( ! defined( 'ABSPATH' ) ) {
11
- exit; // Exit if accessed directly
12
- }
13
-
14
- class WPOS_ESPBW_Script {
15
-
16
- function __construct() {
17
-
18
- // Action to add style at admin side
19
- add_action( 'admin_enqueue_scripts', array($this, 'espbw_admin_script_style') );
20
- }
21
-
22
- /**
23
- * Function to add script and style at admin side
24
- *
25
- * @since 1.0
26
- */
27
- function espbw_admin_script_style( $hook ) {
28
-
29
- // Taking pages array
30
- $page = isset( $_GET['page'] ) ? $_GET['page'] : '';
31
-
32
- // Registring admin css
33
- wp_register_style( 'espbw-admin-css', WPOS_ESPBW_URL.'assets/css/admin-style.css', array(), WPOS_ESPBW_VERSION );
34
-
35
- // Registring admin script
36
- wp_register_script( 'espbw-admin-script', WPOS_ESPBW_URL.'assets/js/admin-script.js', array('jquery'), WPOS_ESPBW_VERSION, true );
37
-
38
- // Olny for dashboard screen
39
- if( strpos( $page, 'espbw-dashboard' ) !== false ) {
40
-
41
- // enqueing admin css
42
- wp_enqueue_style( 'espbw-admin-css' );
43
-
44
- // enqueing admin script
45
- wp_enqueue_script( 'plugin-install' );
46
- wp_enqueue_script( 'updates' );
47
- wp_localize_script( 'updates', '_wpUpdatesItemCounts', array(
48
- 'totals' => wp_get_update_data(),
49
- ));
50
- add_thickbox();
51
-
52
- wp_enqueue_script( 'espbw-admin-script' );
53
- }
54
- }
55
- }
56
-
57
- $wpos_espbw_script = new WPOS_ESPBW_Script();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wpos-plugins/includes/espbw-functions.php DELETED
@@ -1,258 +0,0 @@
1
- <?php
2
- /**
3
- * Common Functions
4
- *
5
- * @package Essential Plugins Bundle
6
- * @since 1.0
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
-
13
- /**
14
- * Function to sort plugins api data
15
- *
16
- * @since 1.0
17
- */
18
- function wpos_espbw_sort_plugin_data( $a, $b ) {
19
-
20
- $a_active_installs = is_numeric( $a['active_installs'] ) ? $a['active_installs'] : 0;
21
- $b_active_installs = is_numeric( $b['active_installs'] ) ? $b['active_installs'] : 0;
22
-
23
- if ($a_active_installs == $b_active_installs) {
24
- return 0;
25
- }
26
- return ($a_active_installs > $b_active_installs) ? -1 : 1;
27
- }
28
-
29
- /**
30
- * Function to add script and style at admin side
31
- *
32
- * @since 1.0
33
- */
34
- function wpos_espbw_get_plugin_data() {
35
-
36
- // Get cache result
37
- $plugins_data = get_transient( 'espbw_plugins_data' );
38
-
39
- // If no cache is there
40
- if( empty( $plugins_data ) ) {
41
-
42
- // Call Plugin API
43
- if ( ! function_exists( 'plugins_api' ) ) {
44
- require_once ABSPATH . '/wp-admin/includes/plugin-install.php';
45
- }
46
-
47
- $plugins_data = plugins_api( 'query_plugins', array(
48
- 'per_page' => 60,
49
- 'author' => 'wponlinesupport',
50
- 'fields' => array(
51
- 'icons' => true,
52
- 'active_installs' => true,
53
- )
54
- ) );
55
-
56
- if( is_wp_error( $plugins_data ) || empty( $plugins_data->plugins ) ) {
57
-
58
- $file = WPOS_ESPBW_DIR . 'plugins-data.json';
59
-
60
- // We don't need to write to the file, so just open for reading.
61
- $fp = fopen( $file, 'r' );
62
-
63
- // Pull data of the file in.
64
- $file_data = fread( $fp, 1024 * KB_IN_BYTES );
65
-
66
- // Close file handle
67
- fclose( $fp );
68
-
69
- $file_data = utf8_encode($file_data);
70
- $plugins_data_arr = json_decode( $file_data, true );
71
- $plugins_data = json_decode( $file_data );
72
- $plugins_data->plugins = $plugins_data_arr['plugins'];
73
- }
74
-
75
- if( ! is_wp_error( $plugins_data ) && ! empty( $plugins_data->plugins ) ) {
76
-
77
- // Sort the data based on active install
78
- usort( $plugins_data->plugins, "wpos_espbw_sort_plugin_data" );
79
-
80
- set_transient( 'espbw_plugins_data', $plugins_data, (12 * HOUR_IN_SECONDS) );
81
- }
82
- }
83
-
84
- return $plugins_data;
85
- }
86
-
87
- /**
88
- * Add some filter classes for plugins.
89
- *
90
- * @since 1.0
91
- */
92
- function wpos_espbw_plugins_filter() {
93
-
94
- $plugin_filters = array(
95
- 'sp-faq' => array(
96
- 'class' => 'espbw-recommended espbw-showcase',
97
- 'tags' => 'faq, faq list, faq plugin, faqs, wp faq with category, jquery ui accordion, faq with accordion, frequently asked questions, wordpress faq',
98
- ),
99
- 'app-mockups-carousel' => array(
100
- 'class' => 'espbw-sliders',
101
- 'tags' => 'app mockups carousel, mockups, device mockup, mockup slider, app gallery slider, app gallery Carousel, device gallery carousel, app mockups carousel, mockups carousel',
102
- ),
103
- 'countdown-timer-ultimate' => array(
104
- 'class' => 'espbw-recommended espbw-showcase',
105
- 'tags' => 'countdown timer, timer, timer countdown, countdown, event countdown timer, animated countdown timer, birthday countdown, clock, count down, countdown, countdown clock, countdown generator, countdown system, countdown timer, countdown timer, date countdown, event countdown, flash countdown, jQuery countdown, time counter, website countdown, wp countdown, wp countdown timer',
106
- ),
107
- 'featured-post-creative' => array(
108
- 'class' => 'espbw-post espbw-showcase',
109
- 'tags' => 'featured post, featured post grid, featured post widget, responsive featured post grid, responsive featured post, featured post brick layout, featured posts',
110
- ),
111
- 'footer-mega-grid-columns' => array(
112
- 'class' => '',
113
- 'tags' => 'footer, footer widgets, footer widgets in grid, website footer, footer, mega footer, megafooter',
114
- ),
115
- 'hero-banner-ultimate' => array(
116
- 'class' => '',
117
- 'tags' => 'hero image, hero banner, hero header, hero video, video background, hero video, youtube video background, vimeo video background',
118
- ),
119
- 'inboundwp-lite' => array(
120
- 'class' => 'espbw-marketing',
121
- 'tags' => 'Spin Wheel, WhatsApp chat Support, Inbound, Inbound marketing, Better Heading, Social Proof, Testimonial, Review, Deal Countdown Timer, Marketing PopUp',
122
- ),
123
- 'popup-anything-on-click' => array(
124
- 'class' => 'espbw-recommended',
125
- 'tags' => 'modal popup, popup, modal, full screen popup, html popup, image popup, popup on click, modal popup on click, full screen popup on click, click popup',
126
- ),
127
- 'portfolio-and-projects' => array(
128
- 'class' => 'espbw-recommended',
129
- 'tags' => 'portfolio, portfolio listing, projects, project grid, project portfolio, Responsive Portfolio, portfolio categories, add portfolio, add portfolio plugin, portfolio gallery, portfolio plugin, career portfolio, googole image style, best portfolio, portfolio display, project management',
130
- ),
131
- 'maintenance-mode-with-timer' => array(
132
- 'class' => '',
133
- 'tags' => 'maintenance mode, coming soon, maintenance mode with timer, maintenance mode with countdown timer, countdown timer, coming soon with countdown timer, offline, site is offline, site offline, under construction, launch, launch page, maintenance',
134
- ),
135
- 'preloader-for-website' => array(
136
- 'class' => '',
137
- 'tags' => 'page loader, loader, page load animations, animated pre-loader, animated preloader, colorful, customize, Jquery Loader, jquery pre-loader, jquery preloader, loader, pre-loader, preload, preloader',
138
- ),
139
- 'search-and-navigation-popup' => array(
140
- 'class' => '',
141
- 'tags' => 'serchbox popup, menubar popup, navigation popup, serchbox popup',
142
- ),
143
- 'smooth-scroll-by-wpos' => array(
144
- 'class' => '',
145
- 'tags' => 'mousewheel scroll, scroll, smooth scroll, scrolling, go to top, back to top, scroll to element, scroll to section, smooth scroll to element, smooth scroll to section',
146
- ),
147
- 'ticker-ultimate' => array(
148
- 'class' => 'espbw-recommended espbw-post espbw-showcase',
149
- 'tags' => 'wponlinesupport, ticker, news ticker, blog ticker, post ticker, ticker slider, ticker vertical slider, ticker horizontal slider',
150
- ),
151
- 'wp-blog-and-widgets' => array(
152
- 'class' => 'espbw-recommended espbw-post espbw-showcase',
153
- 'tags' => 'blog design, blog layout, wordpress blog , custom blog template, wordpress blog widget, blog layout design, custom blog layout, Free wordpress blog, blog custom post type, blog menu, blog page with custom post type, blog, latest blog, custom post type, cpt, widget',
154
- ),
155
- 'sp-news-and-widget' => array(
156
- 'class' => 'espbw-recommended espbw-post espbw-showcase',
157
- 'tags' => 'wordpress news plugin, news website, news page scrolling , wordpress vertical news plugin widget, wordpress horizontal news plugin widget, scrolling news wordpress plugin, scrolling news widget wordpress plugin, WordPress set post or page as news, WordPress dynamic news, news, latest news, custom post type, cpt, widget, vertical news scrolling widget, news widget',
158
- ),
159
- 'wp-testimonial-with-widget' => array(
160
- 'class' => 'espbw-recommended espbw-showcase',
161
- 'tags' => 'testimonial, Testimonial, testimonials, Testimonials, widget, Best testimonial slider, Responsive testimonial slider, client testimonial slider, easy testimonial slider, testimonials with widget, wordpress testimonial with widget, testimonial rotator, testimonial slider, Testimonial slider, testimonial with shortcode, client testimonial, client quote',
162
- ),
163
- 'timeline-and-history-slider' => array(
164
- 'class' => 'espbw-recommended espbw-post espbw-showcase',
165
- 'tags' => 'timeline slider, life history, history slider, company story timeline, process slider, process, responsive timeline, about us, achievements, Activity Log, awesome company timeline, biography, events timeline, history, history timeline, life achievements, lifestream, story, personal timeline',
166
- ),
167
- 'wp-team-showcase-and-slider' => array(
168
- 'class' => 'espbw-recommended espbw-showcase',
169
- 'tags' => 'team, teamshowcase, team slider, responsive teamshowcase, teamshowcase rotator, employees, meet team, members, skills, staff, team, v-card, members profile, my team, our team, responsive team display, responsive team, team members, team members profile, team profile, team showcase, tlp team, WordPress Team Member',
170
- ),
171
- 'recent-posts-widget-designer' => array(
172
- 'class' => '',
173
- 'tags' => 'post widget, post widget with thumbnail, post widget designer, post widget designs, recent post widget with thumbnail, recent post widget designer, recent post widget designs',
174
- ),
175
- 'styles-for-wp-pagenavi-addon' => array(
176
- 'class' => '',
177
- 'tags' => 'navigation, pagination, paging, pages, navigation, pagenavi style, wp pagenavi styling, pagenavi styling, pagenavi css',
178
- ),
179
- 'post-grid-and-filter-ultimate' => array(
180
- 'class' => 'espbw-post espbw-showcase',
181
- 'tags' => 'post grid, post, post filter, post category filter, custom post grid, grid display, grid, content grid, filter, post designs, grid designs',
182
- ),
183
- 'accordion-and-accordion-slider' => array(
184
- 'class' => 'espbw-showcase',
185
- 'tags' => 'accordion, accordion image slider, accordion, horizontal accordion, vertical accordion, responsive accordion, accordion carousel,',
186
- ),
187
- 'html5-videogallery-plus-player' => array(
188
- 'class' => 'espbw-recommended espbw-showcase',
189
- 'tags' => 'video, youtube video gallery, vimeo video gallery, youtube video gallery with popup, Youtube-video, youtube embed, youtube gallery, youtube player, magnific Popup, vimeo video gallery gallery, HTML5 video player, HTML5 video gallery, wordpress HTML5 video, wordpress HTML5 video player, wordpress HTML5 video gallery, responsive, wordpress responsive video gallery',
190
- ),
191
- 'wp-featured-content-and-slider' => array(
192
- 'class' => 'espbw-recommended espbw-showcase',
193
- 'tags' => 'content slider, slider, features, services, featured content, featured services, featured content rotator, featured content slider, featured content slideshow, featured posts, featured content slider',
194
- ),
195
- 'wp-responsive-recent-post-slider' => array(
196
- 'class' => 'espbw-recommended espbw-post espbw-showcase',
197
- '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',
198
- ),
199
- 'blog-designer-for-post-and-widget' => array(
200
- 'class' => 'espbw-recommended espbw-post espbw-showcase',
201
- 'tags' => 'post, post design, post designer, post designs, post layout, post layout design, post widget, blog, blog designs, blog design, stylist post, post slider, post grid, recent post, recent post slider, recent post designs, posts in page, post carousel slider',
202
- ),
203
- 'wp-slick-slider-and-image-carousel' => array(
204
- 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
205
- 'tags' => 'slick, image slider, slick slider, slick image slider, slider, image slider, header image slider, responsive image slider, responsive content slider, carousel, image carousel, carousel slider, content slider, coin slider, touch slider, text slider, responsive slider, responsive slideshow, Responsive Touch Slider, wp slider, wp image slider, wp header image slider, photo slider, responsive photo slider',
206
- ),
207
- 'wp-trending-post-slider-and-widget' => array(
208
- 'class' => 'espbw-post espbw-showcase',
209
- 'tags' => 'popular post, popular posts, trending, trending posts carousel trending post, trending posts, trending posts carousel, popular posts slider, trending posts slider, widget, shortcodes, slider, post slick slider, trending posts widget, popular posts widget, daily popular, page views, popular posts, top posts',
210
- ),
211
- 'audio-player-with-playlist-ultimate' => array(
212
- 'class' => 'espbw-showcase',
213
- 'tags' => 'audio player with playlist, album art, artist, audio player, audio player with playlist, multiple player, music player, repeat, shuffle, single player, song title',
214
- ),
215
- 'sliderspack-all-in-one-image-sliders' => array(
216
- 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
217
- 'tags' => 'logo ticker, bxslider, meta slider, flexslider, fancybox, nivo slider, owl slider, unslider , wallop slider , bx slider, flex slider, rolling slider, image slider, slider, 3d slider, 3d image slider, 3d image carousel, image carousel, carousel, swiper, swiper carousel, Cascade Slider',
218
- ),
219
- 'album-and-image-gallery-plus-lightbox' => array(
220
- 'class' => 'espbw-recommended espbw-showcase',
221
- 'tags' => 'album, image album, gallery, magnific image slider, image gallery, responsive image gallery, image slider, image gallery slider, gallery slider, album slider, lightbox, albums, best gallery plugin, photo gallery, galleries, gallery, image captions, media gallery, photo albums, photo gallery, photography, Picture Gallery, pictures, responsive galleries, responsive gallery, slideshow galleries, slideshow gallery, thumbnail galleries, thumbnail gallery, wordpress gallery plugin, wordpress photo gallery plugin, wordpress responsive gallery, wp gallery, wp gallery plugins',
222
- ),
223
- 'wp-modal-popup-with-cookie-integration' => array(
224
- 'class' => '',
225
- 'tags' => 'popup',
226
- ),
227
- 'meta-slider-and-carousel-with-lightbox' => array(
228
- 'class' => 'espbw-recommended espbw-sliders',
229
- 'tags' => 'frontend gallery slider, frontend gallery Carousel, image slider, image carousel, meta gallery slider, meta gallery carousel, gallery slider, gallery',
230
- ),
231
- 'post-category-image-with-grid-and-slider' => array(
232
- 'class' => 'espbw-sliders espbw-showcase',
233
- 'tags' => 'category, category image, post category image, post category image grid, post category image slider, customization, custom category image, category featured image, category grid, category slider',
234
- ),
235
- 'wp-logo-showcase-responsive-slider-slider' => array(
236
- 'class' => 'espbw-recommended espbw-showcase',
237
- 'tags' => 'logo slider, logo slider, widget, client logo carousel, client logo slider, client, customer, image carousel, carousel, logo showcase, Responsive logo slider, Responsive logo carousel, WordPress logo slider, WordPress logo carousel, slick carousel, Best logo showcase, easy logo slider, logo carousel wordpress, logo slider wordpress, sponsors, sponsors slider, sponsors carousel',
238
- ),
239
- 'product-categories-designs-for-woocommerce' => array(
240
- 'class' => 'espbw-woocommerce espbw-showcase',
241
- 'tags' => 'woocommerce, categories designs, categories slider, categories grid, WooCommerce categories designs, WooCommerce categories slider, WooCommerce categories grid',
242
- ),
243
- 'woo-product-slider-and-carousel-with-category' => array(
244
- 'class' => 'espbw-woocommerce',
245
- 'tags' => 'woocommerce, best selling products, best selling products slider, slick slider, best selling products by category, shortcode, template code, featured product, featured product slider, Featured product by category, autoplay slider, best product slider, best product slider for woo shop, carousel, clean woo product slider, multiple product slider, product carousel, product content slider, product contents carousel, product slider, product slider carousel for woo, products slider, responsive product slider, responsive product carousel, slider, smooth product slider woo product slider, advance slider, woo best selling products, woo category slider, latest products, most selling products, product carousel slider, recent product carousel, recent product slider',
246
- ),
247
- 'slider-and-carousel-plus-widget-for-instagram' => array(
248
- 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
249
- 'tags' => 'Custom Instagram Feed, feed, hashtag, instagram, Instagram feed, instagram gallery, Instagram images, Instagram photos, Instagram posts, Instagram wall, lightbox, photos, instagram social feed, show instagram post, responsive instgram, beautiful instagram, instagram widget, instgram plugin, artistic instagram, instagram wordpress, smashing instgram',
250
- ),
251
- 'frontend-gallery-slider-for-advanced-custom-field' => array(
252
- 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
253
- 'tags' => 'frontend gallery slider, frontend gallery Carousel, slider, acf frontend gallery slider, acf frontend gallery Carousel, acf gallery, acf',
254
- ),
255
- );
256
-
257
- return $plugin_filters;
258
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wpos-plugins/plugins-data.json DELETED
@@ -1 +0,0 @@
1
- {"info":{"page":1,"pages":1,"results":39},"plugins":[{"name":"Accordion and Accordion Slider","slug":"accordion-and-accordion-slider","version":"1.0.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":10,"4":0,"3":0,"2":0,"1":0},"num_ratings":10,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":15979,"last_updated":"2020-08-10 9:12am GMT","added":"2017-10-12","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Accordion and Accordion Slider (Horizontal and Vertical) - Responsive and Touch enabled accordion for WordPress&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/accordion-and-accordion-slider.zip","tags":{"accordion":"Accordion","accordion-image-slider":"accordion image slider","horizontal-accordion":"horizontal accordion","vertical-accordion":"vertical accordion"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/accordion-and-accordion-slider\/assets\/icon-128x128.png?rev=1745171"}},{"name":"Album and Image Gallery plus Lightbox","slug":"album-and-image-gallery-plus-lightbox","version":"1.3.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":98,"ratings":{"5":18,"4":2,"3":0,"2":0,"1":0},"num_ratings":20,"support_threads":1,"support_threads_resolved":1,"active_installs":10000,"downloaded":82102,"last_updated":"2020-09-09 11:53am GMT","added":"2016-08-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive image gallery and image album in&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/album-and-image-gallery-plus-lightbox.zip","tags":{"album":"album","gallery":"gallery","image-album":"image album","magnific-image-slider":"magnific image slider","magnific-popup":"Magnific Popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/album-and-image-gallery-plus-lightbox\/assets\/icon-128x128.png?rev=1479228"}},{"name":"App Mockups Carousel","slug":"app-mockups-carousel","version":"1.1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":2,"4":0,"3":0,"2":0,"1":0},"num_ratings":2,"support_threads":1,"support_threads_resolved":0,"active_installs":300,"downloaded":2501,"last_updated":"2020-08-13 9:53am GMT","added":"2017-09-15","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Plugin create custom post type \u2013 App Mock-ups Carousel, add multiple images and settings. Show&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/app-mockups-carousel.zip","tags":{"app-gallery-carousel":"app gallery Carousel","app-gallery-slider":"app gallery slider","app-mockups-carousel":"app mockups carousel","device-gallery-carousel":"device gallery Carousel","swiper":"swiper"},"donate_link":"http:\/\/idangero.us\/donate\/?for=Swiper%20Donation","icons":{"1x":"https:\/\/ps.w.org\/app-mockups-carousel\/assets\/icon-128x128.png?rev=1730298"}},{"name":"Audio Player with Playlist Ultimate","slug":"audio-player-with-playlist-ultimate","version":"1.1.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":72,"ratings":{"5":6,"4":0,"3":0,"2":2,"1":2},"num_ratings":10,"support_threads":3,"support_threads_resolved":1,"active_installs":1000,"downloaded":16729,"last_updated":"2020-08-13 9:54am GMT","added":"2017-09-13","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Audio Player with Playlist Ultimate plugin is a jQuery HTML5 Music\/Audio Player with Playlist comes with huge possibilities and options.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/audio-player-with-playlist-ultimate.zip","tags":{"album-art":"album art","artist":"artist","audio-player":"audio player","audio-player-with-playlist":"audio player with playlist","multiple-player":"multiple player"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/audio-player-with-playlist-ultimate\/assets\/icon-128x128.png?rev=1729068"}},{"name":"Blog Designer &#8211; Post and Widget","slug":"blog-designer-for-post-and-widget","version":"2.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":20,"4":0,"3":1,"2":0,"1":1},"num_ratings":22,"support_threads":2,"support_threads_resolved":1,"active_installs":10000,"downloaded":113595,"last_updated":"2020-08-13 5:13am GMT","added":"2016-10-22","homepage":"","short_description":"Display Post on your website with 2 designs(Grid and Slider) with 1 widget. Also work&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/blog-designer-for-post-and-widget.zip","tags":{"post":"post","post-design":"post design","post-designer":"post designer","post-designs":"post designs","post-layout":"post layout"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/blog-designer-for-post-and-widget\/assets\/icon-128x128.png?rev=1519671"}},{"name":"Countdown Timer Ultimate","slug":"countdown-timer-ultimate","version":"1.2.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":18,"4":0,"3":2,"2":1,"1":2},"num_ratings":23,"support_threads":7,"support_threads_resolved":3,"active_installs":20000,"downloaded":169243,"last_updated":"2020-08-13 5:15am GMT","added":"2016-10-01","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive Countdown timer on your website. Also&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/countdown-timer-ultimate.zip","tags":{"countdown":"countdown","countdown-timer":"countdown timer","event-countdown-timer":"event countdown timer","timer":"timer","timer-countdown":"timer countdown"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/countdown-timer-ultimate\/assets\/icon-128x128.png?rev=1920759"}},{"name":"Featured Post Creative","slug":"featured-post-creative","version":"1.1.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":84,"ratings":{"5":3,"4":0,"3":2,"2":0,"1":0},"num_ratings":5,"support_threads":1,"support_threads_resolved":0,"active_installs":2000,"downloaded":23750,"last_updated":"2020-08-13 5:33am GMT","added":"2016-10-23","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Featured post on your website with 2 shortcode and 1 widget. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/featured-post-creative.zip","tags":{"featured-post":"featured post","featured-post-grid":"featured post grid","featured-post-widget":"featured post widget","responsive-featured-post":"responsive featured post","responsive-featured-post-grid":"responsive featured post grid"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/featured-post-creative\/assets\/icon-128x128.png?rev=1520278"}},{"name":"Footer Mega Grid Columns","slug":"footer-mega-grid-columns","version":"1.1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":9,"4":0,"3":0,"2":0,"1":1},"num_ratings":10,"support_threads":1,"support_threads_resolved":1,"active_installs":6000,"downloaded":39089,"last_updated":"2020-08-10 9:07am GMT","added":"2016-12-29","homepage":"","short_description":"Footer Mega Grid Columns - Register a footer widget area for your theme and allow you to add and display footer widgets in grid view with multiple col &hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/footer-mega-grid-columns.zip","tags":{"footer":"footer","footer-widgets":"footer widgets","footer-widgets-in-grid":"footer widgets in grid","simple-footer-editor":"simple footer editor","website-footer":"website footer"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/footer-mega-grid-columns\/assets\/icon-128x128.png?rev=1566023"}},{"name":"Frontend Gallery Slider For ACF","slug":"frontend-gallery-slider-for-advanced-custom-field","version":"1.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":3,"4":1,"3":0,"2":0,"1":0},"num_ratings":4,"support_threads":2,"support_threads_resolved":1,"active_installs":2000,"downloaded":16797,"last_updated":"2020-08-13 5:40am GMT","added":"2016-06-29","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Advanced Custom Field Gallery on frontend of your website with shorcode. Also work with&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/frontend-gallery-slider-for-advanced-custom-field.zip","tags":{"acf-frontend-gallery-slider":"acf frontend gallery slider","frontend-gallery-carousel":"frontend gallery Carousel","frontend-gallery-slider":"frontend gallery slider","slider":"slider","wponlinesupport":"wponlinesupport"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/frontend-gallery-slider-for-advanced-custom-field\/assets\/icon-128x128.png?rev=1445427"}},{"name":"Hero Banner Ultimate","slug":"hero-banner-ultimate","version":"1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":2,"support_threads_resolved":0,"active_installs":1000,"downloaded":11500,"last_updated":"2020-08-13 5:34am GMT","added":"2017-08-09","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Add hero banner with the help of background image OR background color OR background video.&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/hero-banner-ultimate.zip","tags":{"hero-banner":"hero banner","hero-header":"hero header","hero-image":"hero image","hero-video":"hero video","video-background":"video background"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/hero-banner-ultimate\/assets\/icon-128x128.png?rev=1710715"}},{"name":"InboundWP &#8211; A Complete Inbound Marketing Pack","slug":"inboundwp-lite","version":"1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":"5.4","rating":100,"ratings":{"5":5,"4":0,"3":0,"2":0,"1":0},"num_ratings":5,"support_threads":2,"support_threads_resolved":2,"active_installs":300,"downloaded":3590,"last_updated":"2020-08-13 5:41am GMT","added":"2019-04-11","homepage":"https:\/\/www.wponlinesupport.com\/wp-plugin\/inboundwp-marketing-plugin\/","short_description":"InboundWP Marketing - Spin Wheel, Deal Countdown Timer, Social Proof, Marketing PopUp, WhatsApp Chat Support,&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/inboundwp-lite.zip","tags":{"better-heading":"Better Heading","inbound":"Inbound","inbound-marketing":"inbound marketing","social-proof":"social proof","spin-wheel":"Spin Wheel"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/inboundwp-lite\/assets\/icon-128x128.png?rev=2066897"}},{"name":"Maintenance Mode with Timer","slug":"maintenance-mode-with-timer","version":"1.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":0,"ratings":{"5":0,"4":0,"3":0,"2":0,"1":0},"num_ratings":0,"support_threads":1,"support_threads_resolved":1,"active_installs":100,"downloaded":3480,"last_updated":"2020-08-20 6:56am GMT","added":"2017-01-10","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display maintenance mode with countdown timer on your&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/maintenance-mode-with-timer.zip","tags":{"coming-soon":"coming soon","countdown-timer":"countdown timer","maintenance-mode":"maintenance mode","maintenance-mode-with-countdown-timer":"maintenance mode with countdown timer","maintenance-mode-with-timer":"maintenance mode with timer"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/maintenance-mode-with-timer\/assets\/icon-128x128.png?rev=1575367"}},{"name":"Meta slider and carousel with lightbox","slug":"meta-slider-and-carousel-with-lightbox","version":"1.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":13,"4":0,"3":0,"2":0,"1":1},"num_ratings":14,"support_threads":2,"support_threads_resolved":0,"active_installs":7000,"downloaded":87067,"last_updated":"2020-09-01 9:09am GMT","added":"2016-07-22","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Plugin add a gallery meta box in your post, page and create a Image gallery menu tab. Display with a lightbox. Also work with Gutenberg shortcode bloc &hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/meta-slider-and-carousel-with-lightbox.zip","tags":{"frontend-gallery-carousel":"frontend gallery Carousel","frontend-gallery-slider":"frontend gallery slider","image-carousel":"Image carousel","image-slider":"image slider","meta-gallery-slider":"meta gallery slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/meta-slider-and-carousel-with-lightbox\/assets\/icon-128x128.jpg?rev=1458860"}},{"name":"Popup anything on click","slug":"popup-anything-on-click","version":"1.7.7","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":40,"4":1,"3":1,"2":1,"1":5},"num_ratings":48,"support_threads":12,"support_threads_resolved":5,"active_installs":40000,"downloaded":251622,"last_updated":"2020-08-13 4:52am GMT","added":"2017-07-06","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Display a modal popup by clicking on a link, image or button. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/popup-anything-on-click.zip","tags":{"full-screen-popup":"full screen popup","html-popup":"html popup","modal":"modal","modal-popup":"modal popup","popup":"popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/popup-anything-on-click\/assets\/icon-128x128.png?rev=1920767"}},{"name":"Portfolio and Projects","slug":"portfolio-and-projects","version":"1.0.7","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":8,"4":0,"3":1,"2":0,"1":0},"num_ratings":9,"support_threads":1,"support_threads_resolved":1,"active_installs":3000,"downloaded":30760,"last_updated":"2020-08-13 9:56am GMT","added":"2017-01-02","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Portfolio OR Projects in a grid view. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/portfolio-and-projects.zip","tags":{"portfolio":"portfolio","portfolio-listing":"portfolio listing","project-grid":"project grid","project-portfolio":"project portfolio","projects":"projects"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/portfolio-and-projects\/assets\/icon-128x128.png?rev=1566838"}},{"name":"Post Category Image With Grid and Slider","slug":"post-category-image-with-grid-and-slider","version":"1.3.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":4,"4":0,"3":0,"2":0,"1":0},"num_ratings":4,"support_threads":2,"support_threads_resolved":1,"active_installs":2000,"downloaded":16500,"last_updated":"2020-08-13 5:44am GMT","added":"2017-08-25","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Post Category Image With Grid and Slider plugin allow users to upload category image and&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/post-category-image-with-grid-and-slider.zip","tags":{"category":"category","category-image":"category image","post-category-image":"post category image","post-category-image-grid":"post category image grid","post-category-image-slider":"post category image slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/post-category-image-with-grid-and-slider\/assets\/icon-128x128.png?rev=1719140"}},{"name":"Post grid and filter ultimate","slug":"post-grid-and-filter-ultimate","version":"1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":23,"4":0,"3":0,"2":0,"1":0},"num_ratings":23,"support_threads":5,"support_threads_resolved":1,"active_installs":5000,"downloaded":34580,"last_updated":"2020-08-27 10:44am GMT","added":"2017-07-01","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to display WordPress post in grid view and post grid with filter. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/post-grid-and-filter-ultimate.zip","tags":{"custom-post-grid":"custom post grid","post":"post","post-category-filter":"post category filter","post-filter":"post filter","post-grid":"post grid"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/post-grid-and-filter-ultimate\/assets\/icon-128x128.png?rev=1688607"}},{"name":"Post Ticker Ultimate","slug":"ticker-ultimate","version":"1.2.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":3,"4":2,"3":0,"2":0,"1":0},"num_ratings":5,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":25342,"last_updated":"2020-08-13 9:58am GMT","added":"2016-10-10","homepage":"","short_description":"Add and display horizontal or vertical post ticker on your website that work with WordPress posts and Custom Post Type with the help of shortcode.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/ticker-ultimate.zip","tags":{"blog-ticker":"blog ticker","news-ticker":"news ticker","post-ticker":"Post ticker","ticker":"ticker","ticker-slider":"ticker slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/ticker-ultimate\/assets\/icon-128x128.png?rev=1511431"}},{"name":"Preloader for Website","slug":"preloader-for-website","version":"1.0.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"active_installs":400,"downloaded":7953,"last_updated":"2020-08-13 10:14am GMT","added":"2017-01-18","homepage":"","short_description":"Preloader for Website : A loading screen add-on for your WordPress website.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/preloader-for-website.zip","tags":{"animated-pre-loader":"animated pre-loader","animated-preloader":"animated preloader.","loader":"loader","page-load-animations":"page load animations","page-loader":"page loader"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/preloader-for-website\/assets\/icon-128x128.png?rev=1578463"}},{"name":"Product Categories Designs for WooCommerce","slug":"product-categories-designs-for-woocommerce","version":"1.2.2","author":"<a href=\"http:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":80,"ratings":{"5":6,"4":0,"3":0,"2":0,"1":2},"num_ratings":8,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":19735,"last_updated":"2020-08-13 5:47am GMT","added":"2016-09-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display WooCommerce product categories with good designs and grid and silder view. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/product-categories-designs-for-woocommerce.zip","tags":{"categories-designs":"categories Designs","categories-grid":"categories grid","categories-slider":"categories slider","woocommerce-categories-designs":"WooCommerce categories designs","woocommerce-categories-slider":"WooCommerce categories slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/product-categories-designs-for-woocommerce\/assets\/icon-128x128.png?rev=1503311"}},{"name":"Product Slider and Carousel with Category for WooCommerce","slug":"woo-product-slider-and-carousel-with-category","version":"2.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.1","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":38,"4":1,"3":1,"2":3,"1":4},"num_ratings":47,"support_threads":6,"support_threads_resolved":3,"active_installs":10000,"downloaded":149596,"last_updated":"2020-08-14 8:03am GMT","added":"2016-06-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Woocommerce Product, Best Selling Product, Featured Product Slider\/Carousel with category. Also work with Gutenberg shortcode&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/woo-product-slider-and-carousel-with-category.zip","tags":{"best-selling-products":"best selling products","best-selling-products-by-category":"best selling products by category","best-selling-products-slider":"best selling products slider","shortcode":"shortcode","slick-slider":"slick slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/woo-product-slider-and-carousel-with-category\/assets\/icon-128x128.png?rev=2136764"}},{"name":"Search and Navigation Popup","slug":"search-and-navigation-popup","version":"1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.3.4","requires_php":false,"rating":100,"ratings":{"5":2,"4":0,"3":0,"2":0,"1":0},"num_ratings":2,"support_threads":1,"support_threads_resolved":1,"active_installs":1000,"downloaded":5103,"last_updated":"2020-01-06 2:45pm GMT","added":"2017-09-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Display a search box OR navigation popup by clicking on a button.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/search-and-navigation-popup.zip","tags":{"full-screen-popup":"full screen popup","menubar-popup":"menubar popup","navigation-popup":"navigation popup","serchbox-popup":"serchbox popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/search-and-navigation-popup\/assets\/icon-128x128.png?rev=1732636"}},{"name":"Slider and Carousel Plus Widget for Social Media","slug":"slider-and-carousel-plus-widget-for-instagram","version":"1.9.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":10,"4":3,"3":0,"2":0,"1":2},"num_ratings":15,"support_threads":6,"support_threads_resolved":2,"active_installs":10000,"downloaded":85603,"last_updated":"2020-08-13 5:32am GMT","added":"2017-03-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A very simple plugin to display your social media pictures in","download_link":"https:\/\/downloads.wordpress.org\/plugin\/slider-and-carousel-plus-widget-for-instagram.zip","tags":{"custom-instagram-feed":"custom instagram feed","feed":"feed","hashtag":"hashtag","instagram":"Instagram","instagram-feed":"instagram feed"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/slider-and-carousel-plus-widget-for-instagram\/assets\/icon-128x128.png?rev=2107209"}},{"name":"SlidersPack &#8211; All In One Image\/Post Slider","slug":"sliderspack-all-in-one-image-sliders","version":"1.21","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":15,"4":0,"3":0,"2":0,"1":1},"num_ratings":16,"support_threads":4,"support_threads_resolved":3,"active_installs":3000,"downloaded":26107,"last_updated":"2020-09-21 6:22am GMT","added":"2017-10-24","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"SlidersPack - All In One Image Slider plus FancyBox for WordPress. Also work with WordPress&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sliderspack-all-in-one-image-sliders.zip","tags":{"bxslider":"bxslider","fancybox":"fancybox","flexslider":"flexslider","logo-ticker":"logo ticker","meta-slider":"Meta slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sliderspack-all-in-one-image-sliders\/assets\/icon-128x128.png?rev=1751649"}},{"name":"Smooth Scroll by WPOS","slug":"smooth-scroll-by-wpos","version":"1.0","author":"<a href=\"http:\/\/sptechnolab.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":84,"ratings":{"5":4,"4":0,"3":0,"2":0,"1":1},"num_ratings":5,"support_threads":1,"support_threads_resolved":0,"active_installs":600,"downloaded":5714,"last_updated":"2020-08-13 5:30am GMT","added":"2017-05-05","homepage":"","short_description":"A simple plugin contains Smooth Scrolling To Element, Go To Top and MouseWheel Smooth Scroll. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/smooth-scroll-by-wpos.zip","tags":{"go-to-top":"go-to-top","mousewheel-scroll":"mousewheel scroll","scroll":"scroll","scrolling":"scrolling","smooth-scroll":"smooth scroll"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/smooth-scroll-by-wpos\/assets\/icon-128x128.png?rev=1651456"}},{"name":"Styles For WP Pagenavi Addon","slug":"styles-for-wp-pagenavi-addon","version":"1.0.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.1","tested":"5.4.2","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":1,"support_threads_resolved":0,"active_installs":1000,"downloaded":11679,"last_updated":"2020-07-14 10:29am GMT","added":"2017-10-02","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Adds a more styling options to Wp-PageNavi WordPress plugin OR the_posts_pagination() WordPress navigation function.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/styles-for-wp-pagenavi-addon.zip","tags":{"navigation":"navigation","pages":"pages","pagination":"pagination","paging":"paging"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/styles-for-wp-pagenavi-addon\/assets\/icon-128x128.png?rev=1739334"}},{"name":"Timeline and History slider","slug":"timeline-and-history-slider","version":"1.3.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":21,"4":2,"3":0,"2":1,"1":4},"num_ratings":28,"support_threads":6,"support_threads_resolved":5,"active_installs":6000,"downloaded":45355,"last_updated":"2020-08-13 5:23am GMT","added":"2016-07-22","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Timeline Plugin for WordPress. Easy to add and display history OR timeline for your WordPress website. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/timeline-and-history-slider.zip","tags":{"biography":"biography","company-timeline":"company timeline","history-slider":"history slider","responsive-timeline":"Responsive Timeline","timeline-slider":"timeline slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/timeline-and-history-slider\/assets\/icon-128x128.jpg?rev=1458943"}},{"name":"Trending\/Popular Post Slider and Widget","slug":"wp-trending-post-slider-and-widget","version":"1.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":15,"4":0,"3":0,"2":1,"1":0},"num_ratings":16,"support_threads":4,"support_threads_resolved":1,"active_installs":6000,"downloaded":66991,"last_updated":"2020-08-13 5:28am GMT","added":"2016-02-26","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add Popular\/Trending posts slider, grid block and widget. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-trending-post-slider-and-widget.zip","tags":{"popular-post":"Popular post","popular-posts":"popular posts","trending-post":"trending post","trending-posts":"trending posts","trending-posts-carousel":"trending posts carousel"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-trending-post-slider-and-widget\/assets\/icon-128x128.png?rev=1358591"}},{"name":"Video gallery and Player","slug":"html5-videogallery-plus-player","version":"2.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":11,"4":1,"3":0,"2":0,"1":2},"num_ratings":14,"support_threads":1,"support_threads_resolved":1,"active_installs":3000,"downloaded":71909,"last_updated":"2020-08-13 5:11am GMT","added":"2013-10-26","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Easy to add and display your HTML5, YouTube, Vimeo vedio gallery with Magnific Popup to&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/html5-videogallery-plus-player.zip","tags":{"html5-video":"HTML5 video","video":"video","video-gallery":"video gallery","video-js":"video js","youtube-video-gallery":"Youtube video gallery"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/html5-videogallery-plus-player\/assets\/icon-128x128.png?rev=1450994"}},{"name":"WP Blog and Widget","slug":"wp-blog-and-widgets","version":"1.9","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":19,"4":2,"3":1,"2":0,"1":2},"num_ratings":24,"support_threads":3,"support_threads_resolved":1,"active_installs":10000,"downloaded":231793,"last_updated":"2020-08-28 6:25am GMT","added":"2015-09-22","homepage":"","short_description":"A quick, easy way to add a Blog custom post type, Blog widget to WordPress. Also, work with the Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-blog-and-widgets.zip","tags":{"blog-design":"blog design","blog-layout":"blog layout","custom-blog-template":"custom blog template","wordpress-blog":"wordpress blog","wordpress-blog-widget":"wordpress blog widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-blog-and-widgets\/assets\/icon-128x128.png?rev=1402789"}},{"name":"WP Featured Content and Slider","slug":"wp-featured-content-and-slider","version":"1.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":8,"4":0,"3":0,"2":0,"1":0},"num_ratings":8,"support_threads":1,"support_threads_resolved":0,"active_installs":4000,"downloaded":58126,"last_updated":"2020-08-13 5:22am GMT","added":"2015-11-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display what features your company, product or service offers, using our shortcode OR template code.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-featured-content-and-slider.zip","tags":{"content-slider":"content slider","featured":"featured","features":"features","services":"services","slider":"slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-featured-content-and-slider\/assets\/icon-128x128.png?rev=1402791"}},{"name":"WP Logo Showcase Responsive Slider","slug":"wp-logo-showcase-responsive-slider-slider","version":"2.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":98,"ratings":{"5":80,"4":0,"3":0,"2":0,"1":3},"num_ratings":83,"support_threads":6,"support_threads_resolved":6,"active_installs":60000,"downloaded":518146,"last_updated":"2020-08-14 7:19am GMT","added":"2015-11-04","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display Multiple reponsive logo slideshow carousel to your site quickly and easily. Also added Gutenberg block support.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-logo-showcase-responsive-slider-slider.zip","tags":{"client":"Client","client-logo-carousel":"client logo carousel","client-logo-slider":"client logo slider","logo-slider":"logo slider","widget":"widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-logo-showcase-responsive-slider-slider\/assets\/icon-128x128.png?rev=1279325"}},{"name":"WP Modal Popup with Cookie Integration","slug":"wp-modal-popup-with-cookie-integration","version":"2.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":6,"4":1,"3":0,"2":1,"1":0},"num_ratings":8,"support_threads":1,"support_threads_resolved":1,"active_installs":4000,"downloaded":44701,"last_updated":"2020-08-13 10:11am GMT","added":"2016-02-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"WP Modal Popup with Cookie Integration is the smart, responsive, customizable and beautifully coded popup for visitors with cookie integration.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-modal-popup-with-cookie-integration.zip","tags":{"advertise":"advertise","lightbox":"lightbox","marketing":"marketing","pop-over":"pop over","pop-up":"pop up"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-modal-popup-with-cookie-integration\/assets\/icon-128x128.png?rev=1359371"}},{"name":"WP News and Scrolling Widgets","slug":"sp-news-and-widget","version":"4.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":57,"4":1,"3":1,"2":0,"1":10},"num_ratings":69,"support_threads":4,"support_threads_resolved":2,"active_installs":20000,"downloaded":344675,"last_updated":"2020-09-09 11:51am GMT","added":"2013-10-16","homepage":"","short_description":"A quick, easy way to add a News custom post type, News widget, vertical scrolling&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sp-news-and-widget.zip","tags":{"main-news-page-scrolling":"main news page scrolling","news-website":"news website","wordpress-horizontal-news-plugin-widget":"wordpress horizontal news plugin widget","wordpress-news-plugin":"wordpress news plugin","wordpress-vertical-news-plugin-widget":"wordpress vertical news plugin widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sp-news-and-widget\/assets\/icon-128x128.png?rev=1402776"}},{"name":"WP responsive FAQ with category plugin","slug":"sp-faq","version":"3.3.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":12,"4":0,"3":1,"2":0,"1":2},"num_ratings":15,"support_threads":1,"support_threads_resolved":0,"active_installs":7000,"downloaded":80089,"last_updated":"2020-08-13 5:19am GMT","added":"2013-10-15","homepage":"","short_description":"A quick, easy way to add an responsive FAQs page. You can use this plugin as a jquery ui accordion. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sp-faq.zip","tags":{"faq":"faq","faq-list":"faq list","faq-plugin":"faq plugin","faqs":"faqs","jquery-ui":"jquery ui"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sp-faq\/assets\/icon-128x128.png?rev=1402779"}},{"name":"WP Responsive Recent Post Slider\/Carousel","slug":"wp-responsive-recent-post-slider","version":"2.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":76,"4":0,"3":4,"2":3,"1":3},"num_ratings":86,"support_threads":9,"support_threads_resolved":8,"active_installs":30000,"downloaded":400542,"last_updated":"2020-09-22 7:22am GMT","added":"2015-11-12","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Add and display Responsive WordPresss Recent Post Slider and Carousel on your website with 4&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-responsive-recent-post-slider.zip","tags":{"post-slider":"post slider","posts-slider":"posts slider","recent-post-slider":"recent post slider","recent-posts-slider":"recent posts slider","slider":"slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-responsive-recent-post-slider\/assets\/icon-128x128.png?rev=1402785"}},{"name":"WP Slick Slider and Image Carousel","slug":"wp-slick-slider-and-image-carousel","version":"2.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":41,"4":3,"3":3,"2":0,"1":6},"num_ratings":53,"support_threads":8,"support_threads_resolved":5,"active_installs":20000,"downloaded":259786,"last_updated":"2020-08-14 7:56am GMT","added":"2015-11-17","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"A quick, easy way to add and display mulipale WP Slick Slider and carousel using a shortcode. Also added Gutenberg block support.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-slick-slider-and-image-carousel.zip","tags":{"image-slider":"image slider","slick":"slick","slick-image-slider":"slick image slider","slick-slider":"slick slider","wponlinesupport":"wponlinesupport"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-slick-slider-and-image-carousel\/assets\/icon-128x128.png?rev=1443298"}},{"name":"WP Team Showcase and Slider","slug":"wp-team-showcase-and-slider","version":"2.1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":15,"4":0,"3":1,"2":0,"1":1},"num_ratings":17,"support_threads":1,"support_threads_resolved":1,"active_installs":5000,"downloaded":65650,"last_updated":"2020-08-13 5:00am GMT","added":"2016-01-09","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Easy to add and display your employees, team members in Grid view and Slider view.&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-team-showcase-and-slider.zip","tags":{"responsive-teamshowcase":"responsive teamshowcase","slider":"slider","team":"team","team-slider":"team slider","teamshowcase":"teamshowcase"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-team-showcase-and-slider\/assets\/icon-128x128.png?rev=2218871"}},{"name":"WP Testimonials with rotator widget","slug":"wp-testimonial-with-widget","version":"2.5.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":20,"4":0,"3":0,"2":0,"1":3},"num_ratings":23,"support_threads":1,"support_threads_resolved":0,"active_installs":10000,"downloaded":97865,"last_updated":"2020-08-13 5:00am GMT","added":"2015-09-07","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive, clean client&#039;s testimonial on your website using a shortcode or a widget.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-testimonial-with-widget.zip","tags":{"testimonial":"Testimonial","testimonials":"testimonials","widget":"widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-testimonial-with-widget\/assets\/icon-128x128.png?rev=1402790"}}]}
 
wpos-plugins/wpos-recommendation.php DELETED
@@ -1,187 +0,0 @@
1
- <?php
2
- /**
3
- * WPOS Recommended Plugins
4
- *
5
- * @author WP Online Support
6
- * @package Essential Plugins Bundle
7
- * @since 1.0
8
- */
9
-
10
- if ( ! defined( 'ABSPATH' ) ) {
11
- exit; // Exit if accessed directly
12
- }
13
-
14
- if ( ! class_exists( 'WPOS_ESPBW' ) ) :
15
-
16
- /**
17
- * Main Recommended Plugins Class By WP Online Support.
18
- *
19
- * @since 1.0
20
- */
21
- final class WPOS_ESPBW {
22
-
23
- /**
24
- * @var Instance
25
- * @since 1.0
26
- */
27
- protected static $instance = null;
28
-
29
- /**
30
- * Main 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_ESPBW::setup_constants() Setup the constants needed.
37
- * @uses WPOS_ESPBW::includes() Include the required files.
38
- * @uses WPOS_ESPBW::wpos_espbw_plugins_loaded() load the language files.
39
- * @see WPOS_ESPBW()
40
- * @return object the one true instance
41
- */
42
- public static function instance() {
43
- if ( is_null( self::$instance ) ) {
44
- self::$instance = new self();
45
- }
46
- return self::$instance;
47
- }
48
-
49
- /**
50
- * Throw error on object clone.
51
- *
52
- * The whole idea of the singleton design pattern is that there is a single object therefore, we don't want the object to be cloned.
53
- *
54
- * @since 1.0
55
- * @access protected
56
- * @return void
57
- */
58
- public function __clone() {
59
- // Cloning instances of the class is forbidden.
60
- _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' ), '1.0' );
61
- }
62
-
63
- /**
64
- * Disable unserializing of the class.
65
- *
66
- * @since 1.0
67
- * @access protected
68
- * @return void
69
- */
70
- public function __wakeup() {
71
- // Unserializing instances of the class is forbidden.
72
- _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' ), '1.0' );
73
- }
74
-
75
- /**
76
- * Plugin Constructor.
77
- */
78
- public function __construct() {
79
- $this->setup_constants();
80
- $this->includes();
81
- }
82
-
83
- /**
84
- * Define constant if not already set.
85
- *
86
- * @param string $name
87
- * @param string|bool $value
88
- */
89
- public function define( $name, $value ) {
90
- if ( ! defined( $name ) ) {
91
- define( $name, $value );
92
- }
93
- }
94
-
95
- /**
96
- * Setup plugin constants. Basic plugin definitions
97
- *
98
- * @access private
99
- * @since 1.0
100
- */
101
- private function setup_constants() {
102
- $this->define( 'WPOS_ESPBW_VERSION', '1.0' );
103
- $this->define( 'WPOS_ESPBW_DIR', plugin_dir_path( __FILE__ ) );
104
- $this->define( 'WPOS_ESPBW_URL', plugin_dir_url( __FILE__ ) );
105
- }
106
-
107
- /**
108
- * Include required files.
109
- *
110
- * @access private
111
- * @since 1.0
112
- */
113
- private function includes() {
114
-
115
- // Functions file
116
- require_once WPOS_ESPBW_DIR .'/includes/espbw-functions.php';
117
-
118
- // Script Class
119
- require_once WPOS_ESPBW_DIR .'/includes/class-espbw-script.php';
120
-
121
- // Admin Class
122
- require_once WPOS_ESPBW_DIR .'/includes/admin/class-espbw-admin.php';
123
- }
124
- }
125
-
126
- /**
127
- * The main function responsible for returning the one true
128
- * Instance to functions everywhere.
129
- *
130
- * Use this function like you would a global variable, except without needing
131
- * to declare the global.
132
- *
133
- * Example: <?php $wpos_espbw = WPOS_ESPBW(); ?>
134
- *
135
- * @since 1.0
136
- * @return object The one true Analytics Instance.
137
- */
138
- function WPOS_ESPBW_RECOMMEND() {
139
- return WPOS_ESPBW::instance();
140
- }
141
-
142
- /**
143
- *
144
- * Initialize Analytics Module
145
- *
146
- * @since 1.0
147
- * @return object The one true Analytics Instance.
148
- */
149
- function wpos_espbw_init_module( $args = array() ) {
150
-
151
- global $wpos_espbw_module;
152
-
153
- $defaul_args = array(
154
- 'prefix' => '',
155
- 'menu' => false,
156
- 'position' => 4,
157
- );
158
-
159
- $args = wp_parse_args( $args, $defaul_args );
160
-
161
- // If required data is not there then simply return
162
- if( empty( $args['menu'] ) ) {
163
- return false;
164
- }
165
-
166
- // Taking some variables
167
- $wpos_espbw_module = ! empty( $wpos_espbw_module ) ? $wpos_espbw_module : array();
168
- $wpos_espbw_module[] = $args;
169
-
170
- return $wpos_espbw_module;
171
- }
172
-
173
- /**
174
- *
175
- * Initialize Analytics Class Once all stuff has been loaded
176
- *
177
- * @since 1.0
178
- * @return object The one true Analytics Instance.
179
- */
180
- function wpos_espbw_plugins_loaded() {
181
-
182
- // Get Analytics Running.
183
- WPOS_ESPBW_RECOMMEND();
184
- }
185
- add_action( 'plugins_loaded', 'wpos_espbw_plugins_loaded', 12 );
186
-
187
- endif; // End if class_exists check