Version Description
(21, Aug 2019) = * [] Tested : Tested with Gutenberg blocks. * [] To enable/disable Gutenberg editor support for popup anything plugin, please check "FAQ" section of the plugin under "Details" Tab : How to enable/disable Gutenberg editor support for Popup Anything?
Download this release
Release Info
Developer | wponlinesupport |
Plugin | Popup Anything – A Marketing Popup and Lead Generation Conversions |
Version | 1.4.3 |
Comparing to | |
See all releases |
Code changes from version 1.1.3 to 1.4.3
- assets/css/popupaoc-admin-style.css +3 -1
- assets/css/popupaoc-public-style.css +15 -23
- assets/images/close.png +0 -0
- includes/admin/class-popupaoc-admin.php +59 -12
- includes/admin/metabox/popupaoc-post-sett-metabox.php +1 -1
- includes/class-paoc-public.php +62 -0
- includes/settings/hire-us.php +91 -0
- includes/settings/premium.php +153 -0
- includes/shortcode/popupaoc-popup-shortcode.php +1 -1
- popup-anything-on-click.php +82 -9
- readme.txt +101 -20
- wpos-analytics/assets/css/wpos-anylc-admin.css +57 -0
- wpos-analytics/assets/images/icon.png +0 -0
- wpos-analytics/assets/images/wpos-logo.png +0 -0
- wpos-analytics/assets/js/wpos-anylc-admin.js +43 -0
- wpos-analytics/includes/class-anylc-admin.php +477 -0
- wpos-analytics/includes/class-anylc-script.php +64 -0
- wpos-analytics/includes/wpos-anylc-function.php +311 -0
- wpos-analytics/templates/analytic.php +99 -0
- wpos-analytics/templates/offers.php +73 -0
- wpos-analytics/templates/optout-popup.php +31 -0
- wpos-analytics/wpos-analytics.php +251 -0
assets/css/popupaoc-admin-style.css
CHANGED
@@ -14,4 +14,6 @@
|
|
14 |
.popupaoc-select-box{max-width: 200px; width:100%;}
|
15 |
th.popupaoc-act-head{width: 60px;}
|
16 |
.popupaoc-group-btn-row td{vertical-align:top;}
|
17 |
-
.popupaoc-sett-title{border-bottom: 2px solid #ccc; padding: 0 0 5px;}
|
|
|
|
14 |
.popupaoc-select-box{max-width: 200px; width:100%;}
|
15 |
th.popupaoc-act-head{width: 60px;}
|
16 |
.popupaoc-group-btn-row td{vertical-align:top;}
|
17 |
+
.popupaoc-sett-title{border-bottom: 2px solid #ccc; padding: 0 0 5px;}
|
18 |
+
.popup-anything-imgs-preview{width:200px;}
|
19 |
+
.popup-anything-imgs-preview img{width:100%;}
|
assets/css/popupaoc-public-style.css
CHANGED
@@ -1,28 +1,20 @@
|
|
1 |
.custombox-content,.custombox-overlay{position:fixed;overflow:hidden;top:0;width:100%;height:100%}.custombox-overlay{z-index:9997;opacity:0;transition-delay:0s;transition-timing-function:linear;transition-property:opacity}.custombox-content{z-index:9999;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:stretch;align-content:stretch}.custombox-lock{overflow:hidden}.custombox-reference{display:none}.custombox-content{overflow-y:auto}.custombox-content>*{max-width:100%;max-height:95%}.custombox-fullscreen.custombox-content{-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:stretch;align-items:stretch}.custombox-fullscreen.custombox-content>*{width:100%;max-height:100%}.custombox-y-top{-ms-flex-align:baseline;align-items:baseline}.custombox-x-left{-ms-flex-align:start;align-items:flex-start}.custombox-y-center{-ms-flex-align:center;align-items:center}.custombox-y-bottom{-ms-flex-align:end;align-items:flex-end}.custombox-x-center{-ms-flex-pack:center;justify-content:center}.custombox-x-right{-ms-flex-pack:end;justify-content:flex-end}.custombox-perspective,.custombox-perspective body{perspective:600px;height:100%;overflow:hidden}.custombox-perspective .custombox-container{overflow:hidden;height:100%}@keyframes fadeIn{from{transform:scale(.7);transition-property:all}to{transform:scale(1);opacity:1}}@keyframes fadeOut{from{transform:scale(1);opacity:1}to{transform:scale(.7);transition-property:all}}.custombox-fadein.custombox-content{opacity:0}.custombox-fadein.custombox-content.custombox-open{animation-name:fadeIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-fadein.custombox-content.custombox-close{animation-name:fadeOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes slideInTop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideOutTop{from{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slideInBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slideInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideOutLeft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}.custombox-contentscale.custombox-content,.custombox-letmein.custombox-content,.custombox-makeway.custombox-content,.custombox-push.custombox-content,.custombox-slide.custombox-content,.custombox-slip.custombox-content{-ms-transform:translateX(-100%);transform:translateX(-100%)}.custombox-contentscale.custombox-content.custombox-open.custombox-top,.custombox-letmein.custombox-content.custombox-open.custombox-top,.custombox-makeway.custombox-content.custombox-open.custombox-top,.custombox-push.custombox-content.custombox-open.custombox-top,.custombox-slide.custombox-content.custombox-open.custombox-top,.custombox-slip.custombox-content.custombox-open.custombox-top{animation-name:slideInTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-open.custombox-bottom,.custombox-letmein.custombox-content.custombox-open.custombox-bottom,.custombox-makeway.custombox-content.custombox-open.custombox-bottom,.custombox-push.custombox-content.custombox-open.custombox-bottom,.custombox-slide.custombox-content.custombox-open.custombox-bottom,.custombox-slip.custombox-content.custombox-open.custombox-bottom{animation-name:slideInBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-open.custombox-left,.custombox-letmein.custombox-content.custombox-open.custombox-left,.custombox-makeway.custombox-content.custombox-open.custombox-left,.custombox-push.custombox-content.custombox-open.custombox-left,.custombox-slide.custombox-content.custombox-open.custombox-left,.custombox-slip.custombox-content.custombox-open.custombox-left{animation-name:slideInLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-open.custombox-right,.custombox-letmein.custombox-content.custombox-open.custombox-right,.custombox-makeway.custombox-content.custombox-open.custombox-right,.custombox-push.custombox-content.custombox-open.custombox-right,.custombox-slide.custombox-content.custombox-open.custombox-right,.custombox-slip.custombox-content.custombox-open.custombox-right{animation-name:slideInRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-close.custombox-top,.custombox-letmein.custombox-content.custombox-close.custombox-top,.custombox-makeway.custombox-content.custombox-close.custombox-top,.custombox-push.custombox-content.custombox-close.custombox-top,.custombox-slide.custombox-content.custombox-close.custombox-top,.custombox-slip.custombox-content.custombox-close.custombox-top{animation-name:slideOutTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-close.custombox-bottom,.custombox-letmein.custombox-content.custombox-close.custombox-bottom,.custombox-makeway.custombox-content.custombox-close.custombox-bottom,.custombox-push.custombox-content.custombox-close.custombox-bottom,.custombox-slide.custombox-content.custombox-close.custombox-bottom,.custombox-slip.custombox-content.custombox-close.custombox-bottom{animation-name:slideOutBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-close.custombox-left,.custombox-letmein.custombox-content.custombox-close.custombox-left,.custombox-makeway.custombox-content.custombox-close.custombox-left,.custombox-push.custombox-content.custombox-close.custombox-left,.custombox-slide.custombox-content.custombox-close.custombox-left,.custombox-slip.custombox-content.custombox-close.custombox-left{animation-name:slideOutLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-close.custombox-right,.custombox-letmein.custombox-content.custombox-close.custombox-right,.custombox-makeway.custombox-content.custombox-close.custombox-right,.custombox-push.custombox-content.custombox-close.custombox-right,.custombox-slide.custombox-content.custombox-close.custombox-right,.custombox-slip.custombox-content.custombox-close.custombox-right{animation-name:slideOutRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes newspaperIn{from{transform:scale(0) rotate(720deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes newspaperOut{from{transform:scale(1) rotate(0);opacity:1}to{transform:scale(0) rotate(720deg);opacity:0}}.custombox-newspaper.custombox-content{opacity:0}.custombox-newspaper.custombox-content.custombox-open{animation-name:newspaperIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-newspaper.custombox-content.custombox-close{animation-name:newspaperOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes fallIn{from{transform-style:preserve-3d;transform:translateZ(600px) rotateX(20deg);opacity:0}to{transition-timing-function:ease-in;transition-property:all;transform:translateZ(0) rotateX(0);opacity:1}}@keyframes fallOut{from{transition-timing-function:ease-in;transition-property:all;transform:translateZ(0) rotateX(0);opacity:1}to{transform-style:preserve-3d;transform:translateZ(600px) rotateX(20deg);opacity:0}}.custombox-fall.custombox-content{opacity:0}.custombox-fall.custombox-content.custombox-open{animation-name:fallIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-fall.custombox-content.custombox-close{animation-name:fallOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes sidefallIn{from{transform-style:preserve-3d;transform:translate(30%) translateZ(600px) rotate(10deg);opacity:0}to{transition-timing-function:ease-in;transition-property:all;transform:translate(0) translateZ(0) rotate(0);opacity:1}}@keyframes sidefallOut{from{transition-timing-function:ease-in;transition-property:all;transform:translate(0) translateZ(0) rotate(0);opacity:1}to{transform-style:preserve-3d;transform:translate(30%) translateZ(600px) rotate(10deg);opacity:0}}.custombox-sidefall.custombox-content{opacity:0}.custombox-sidefall.custombox-content.custombox-open{animation-name:sidefallIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-sidefall.custombox-content.custombox-close{animation-name:sidefallOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes blurInTop{from{transform:translateY(-5%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blurOutTop{from{transform:translateY(0);opacity:1}to{transform:translateY(-5%);opacity:0}}@keyframes blurInBottom{from{transform:translateY(5%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blurOutBottom{from{transform:translateY(0);opacity:1}to{transform:translateY(5%);opacity:0}}@keyframes blurInRight{from{transform:translateX(5%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blurOutRight{from{transform:translateY(0);opacity:1}to{transform:translateX(5%);opacity:0}}@keyframes blurInLeft{from{transform:translateX(-5%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blurOutLeft{from{transform:translateY(0);opacity:1}to{transform:translateX(-5%);opacity:0}}@keyframes blurInContainer{from{filter:blur(0)}to{filter:blur(3px)}}@keyframes blurOutContainer{from{filter:blur(3px)}to{filter:blur(0)}}.custombox-blur.custombox-content{opacity:0}.custombox-blur.custombox-content.custombox-open.custombox-top{animation-name:blurInTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-open.custombox-bottom{animation-name:blurInBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-open.custombox-left{animation-name:blurInLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-open.custombox-right{animation-name:blurInRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-close.custombox-top{animation-name:blurOutTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-close.custombox-bottom{animation-name:blurOutBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-close.custombox-right{animation-name:blurOutRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-close.custombox-left{animation-name:blurOutLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-container{animation-name:blurOutContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-container.custombox-open{animation-name:blurInContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes flipInTop{from{transform-style:preserve-3d;transform:rotateX(-70deg)}to{transform:rotateY(0);opacity:1}}@keyframes flipOutTop{from{transform:rotateY(0);opacity:1}to{transform-style:preserve-3d;transform:rotateX(-70deg)}}@keyframes flipInBottom{from{transform-style:preserve-3d;transform:rotateX(70deg)}to{transform:rotateY(0);opacity:1}}@keyframes flipOutBottom{from{transform:rotateY(0);opacity:1}to{transform-style:preserve-3d;transform:rotateX(70deg)}}@keyframes flipInRight{from{transform-style:preserve-3d;transform:rotateY(70deg)}to{transform:rotateY(0);opacity:1}}@keyframes flipOutRight{from{transform:rotateY(0);opacity:1}to{transform-style:preserve-3d;transform:rotateY(70deg)}}@keyframes flipInLeft{from{transform-style:preserve-3d;transform:rotateY(-70deg)}to{transform:rotateY(0);opacity:1}}@keyframes flipOutLeft{from{transform:rotateY(0);opacity:1}to{transform-style:preserve-3d;transform:rotateY(-70deg)}}.custombox-flip.custombox-content{opacity:0}.custombox-flip.custombox-content.custombox-open.custombox-top{animation-name:flipInTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-open.custombox-bottom{animation-name:flipInBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-open.custombox-right{animation-name:flipInRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-open.custombox-left{animation-name:flipInLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-close.custombox-top{animation-name:flipOutTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-close.custombox-bottom{animation-name:flipOutBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-close.custombox-right{animation-name:flipOutRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-close.custombox-left{animation-name:flipOutLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes signIn{from{transform-style:preserve-3d;transform:rotateX(-60deg);transform-origin:50% 0;transition-property:all}to{transform:rotateX(0);opacity:1}}@keyframes signOut{from{transform:rotateX(0);opacity:1}to{transform-style:preserve-3d;transform:rotateX(-60deg);transform-origin:50% 0;transition-property:all}}.custombox-sign{perspective:1300px}.custombox-sign.custombox-content{opacity:0}.custombox-sign.custombox-content.custombox-open{animation-name:signIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-sign.custombox-content.custombox-close{animation-name:signOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes superscaledIn{from{transform:scale(2)}to{transform:scale(1);opacity:1}}@keyframes superscaledOut{from{transform:scale(1);opacity:1}to{transform:scale(2)}}.custombox-superscaled.custombox-content{opacity:0}.custombox-superscaled.custombox-content.custombox-open{animation-name:superscaledIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-superscaled.custombox-content.custombox-close{animation-name:superscaledOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes slitIn{0%{transform:translateZ(-3000px) rotateY(90deg)}50%{transform:translateZ(-250px) rotateY(89deg);opacity:1;animation-timing-function:ease-out}100%{transform:translateZ(0) rotateY(0);opacity:1}}@keyframes slitOut{0%{transform:translateZ(0) rotateY(0);opacity:1}50%{transform:translateZ(-250px) rotateY(89deg);opacity:1;animation-timing-function:ease-out}100%{transform:translateZ(-3000px) rotateY(90deg)}}.custombox-slit.custombox-content{opacity:0;transform-style:preserve-3d}.custombox-slit.custombox-content.custombox-open{animation-name:slitIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slit.custombox-content.custombox-close{animation-name:slitOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes rotateIn{from{transform-style:preserve-3d;transform:translateY(0) rotateX(90deg);transform-origin:0 100%;opacity:0;transition-timing-function:ease-out;transition-property:all}to{transform:translateY(0) rotateX(0);opacity:1}}@keyframes rotateOut{from{transform:translateY(0) rotateX(0);opacity:1}to{transform-style:preserve-3d;transform:translateY(0) rotateX(90deg);transform-origin:0 100%;opacity:0;transition-timing-function:ease-out;transition-property:all}}.custombox-rotate{perspective:2300px}.custombox-rotate.custombox-content{-ms-transform:translateY(-100%);transform:translateY(-100%)}.custombox-rotate.custombox-content.custombox-open{animation-name:rotateIn;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-rotate.custombox-content.custombox-close{animation-name:rotateOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes letmeinBottomOverlay{to{transform:rotateX(-2deg);transform-origin:50% 0;transform-style:preserve-3d}}@keyframes letmeinOutBottomOverlay{from{transform:rotateX(-2deg);transform-origin:50% 0;transform-style:preserve-3d}to{opacity:0}}@keyframes letmeinLeftOverlay{to{transform:rotateY(-2deg);transform-origin:50% 0;transform-style:preserve-3d}}@keyframes letmeinOutLeftOverlay{from{transform:rotateY(-2deg);transform-origin:50% 0;transform-style:preserve-3d}to{opacity:0}}@keyframes letmeinRightOverlay{to{transform:rotateY(2deg);transform-origin:50% 0;transform-style:preserve-3d}}@keyframes letmeinOutRightOverlay{from{transform:rotateY(2deg);transform-origin:50% 0;transform-style:preserve-3d}to{opacity:0}}@keyframes letmeinTopOverlay{to{transform:rotateX(2deg);transform-origin:0 50%;transform-style:preserve-3d}}@keyframes letmeinOutTopOverlay{from{transform:rotateX(2deg);transform-origin:50% 0;transform-style:preserve-3d}to{opacity:0}}.custombox-letmein.custombox-overlay.custombox-open.custombox-top{animation-name:letmeinTopOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-open.custombox-bottom{animation-name:letmeinBottomOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-open.custombox-left{animation-name:letmeinLeftOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-open.custombox-right{animation-name:letmeinRightOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-close.custombox-top{animation-name:letmeinOutTopOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-close.custombox-bottom{animation-name:letmeinOutBottomOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-close.custombox-left{animation-name:letmeinOutLeftOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-close.custombox-right{animation-name:letmeinOutRightOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes makewayInContainer{50%{transform:translateZ(-50px) rotateY(5deg);animation-timing-function:ease-out}100%{transform:translateZ(-200px)}}@keyframes makewayOutContainer{0%{transform:translateZ(-200px)}50%{transform:translateZ(-50px) rotateY(5deg);animation-timing-function:ease-out}100%{opacity:0}}@keyframes makewayInTop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes makewayOutTop{from{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes makewayInBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes makewayOutBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes makewayInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes makewayOutLeft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes makewayInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes makewayOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}.custombox-makeway.custombox-overlay{transform-style:preserve-3d;-ms-transform-origin:0 50%;transform-origin:0 50%}.custombox-makeway.custombox-overlay.custombox-open{animation-name:makewayInContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-makeway.custombox-overlay.custombox-close{animation-name:makewayOutContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-makeway.custombox-container{transform-style:preserve-3d;-ms-transform-origin:0 50%;transform-origin:0 50%}.custombox-makeway.custombox-container.custombox-open{animation-name:makewayInContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-makeway.custombox-container.custombox-close{animation-name:makewayOutContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes slipTopOverlay{50%{transform:rotateX(10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipOutTopOverlay{50%{transform:rotateX(10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipRightOverlay{50%{transform:rotateY(10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipOutRightOverlay{50%{transform:rotateY(10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipBottomOverlay{50%{transform:rotateX(-10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipOutBottomOverlay{50%{transform:rotateX(-10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipLeftOverlay{50%{transform:rotateY(-10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipOutLeftOverlay{50%{transform:rotateY(-10deg);transform-origin:50% 100%;transform-style:preserve-3d}}.custombox-slip.custombox-overlay.custombox-open.custombox-top{animation-name:slipTopOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-open.custombox-bottom{animation-name:slipBottomOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-open.custombox-left{animation-name:slipLeftOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-open.custombox-right{animation-name:slipRightOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-close.custombox-top{animation-name:slipOutTopOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-close.custombox-bottom{animation-name:slipOutBottomOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-close.custombox-left{animation-name:slipOutLeftOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-close.custombox-right{animation-name:slipOutRightOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-open.custombox-top{animation-name:slipTopOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-open.custombox-bottom{animation-name:slipBottomOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-open.custombox-left{animation-name:slipLeftOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-open.custombox-right{animation-name:slipRightOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-close.custombox-top{animation-name:slipOutTopOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-close.custombox-bottom{animation-name:slipOutBottomOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-close.custombox-left{animation-name:slipOutLeftOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-close.custombox-right{animation-name:slipOutRightOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes cornerInOverlay{from{transform:translateY(150px) translateX(150px);transition-property:opacity,transform,visibility}to{transform:translateY(0);transition-property:opacity,transform}}@keyframes cornerOutOverlay{from{transform:translateY(0);transition-property:opacity,transform}to{transform:translateY(150px) translateX(150px);transition-property:opacity,transform,visibility;opacity:0}}@keyframes cornerInContent{from{transform:translateY(150px) translateX(150px);transition-property:opacity,transform,visibility}to{transform:translateY(0);transition-property:opacity,transform;opacity:1}}@keyframes cornerOutContent{from{transform:translateY(0);transition-property:opacity,transform;opacity:1}to{transform:translateY(150px) translateX(150px);transition-property:opacity,transform,visibility;opacity:0}}.custombox-corner.custombox-overlay.custombox-open{animation-name:cornerInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-corner.custombox-overlay.custombox-close{animation-name:cornerOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-corner.custombox-content.custombox-open{animation-name:cornerInContent;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-corner.custombox-content.custombox-close{animation-name:cornerOutContent;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content,.custombox-slidetogether.custombox-overlay{-ms-transform:translateX(-100%);transform:translateX(-100%)}.custombox-slidetogether.custombox-content.custombox-open.custombox-top,.custombox-slidetogether.custombox-overlay.custombox-open.custombox-top{animation-name:slideInTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-open.custombox-bottom,.custombox-slidetogether.custombox-overlay.custombox-open.custombox-bottom{animation-name:slideInBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-open.custombox-left,.custombox-slidetogether.custombox-overlay.custombox-open.custombox-left{animation-name:slideInLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-open.custombox-right,.custombox-slidetogether.custombox-overlay.custombox-open.custombox-right{animation-name:slideInRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-close.custombox-top,.custombox-slidetogether.custombox-overlay.custombox-close.custombox-top{animation-name:slideOutTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-close.custombox-bottom,.custombox-slidetogether.custombox-overlay.custombox-close.custombox-bottom{animation-name:slideOutBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-close.custombox-left,.custombox-slidetogether.custombox-overlay.custombox-close.custombox-left{animation-name:slideOutLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-close.custombox-right,.custombox-slidetogether.custombox-overlay.custombox-close.custombox-right{animation-name:slideOutRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes scaleInOverlay{from{transform:scale(.9);transition:transform;opacity:0}to{transform:scale(1);transition:transform}}@keyframes scaleOutOverlay{from{transform:scale(1);transition:transform}to{transform:scale(.9);transition:transform;opacity:0;opacity:0}}.custombox-scale.custombox-overlay.custombox-open{animation-name:scaleInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-scale.custombox-overlay.custombox-close{animation-name:scaleOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-scale.custombox-content.custombox-open{animation-name:scaleInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-scale.custombox-content.custombox-close{animation-name:scaleOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes doorInOverlay{from{position:fixed;bottom:0;left:50%;right:50%;width:0}to{width:100%;left:0;right:0;transition-property:width}}@keyframes doorOutOverlay{from{width:100%;left:0;right:0;transition-property:width}to{position:fixed;bottom:0;left:50%;right:50%;width:0}}.custombox-door.custombox-overlay.custombox-open{animation-name:doorInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-door.custombox-overlay.custombox-close{animation-name:doorOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-door.custombox-content.custombox-open{animation-name:doorInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-door.custombox-content.custombox-close{animation-name:doorOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes pushInLeftOverlay{from{transform:translateX(-100%)}to{transform:translateX(0) translateY(0)}}@keyframes pushOutLeftOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateX(-100%)}}@keyframes pushInRightOverlay{from{transform:translateX(100%)}to{transform:translateX(0) translateY(0)}}@keyframes pushOutRightOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateX(100%)}}@keyframes pushInTopOverlay{from{transform:translateY(-100%)}to{transform:translateX(0) translateY(0)}}@keyframes pushOutTopOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateY(-100%)}}@keyframes pushInBottomOverlay{from{transform:translateY(100%)}to{transform:translateX(0) translateY(0)}}@keyframes pushOutBottomOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateY(100%)}}@keyframes pushOutTopOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateY(-100%)}}@keyframes pushInLeftContainer{from{overflow-x:hidden;transition-property:transform}to{transform:translateX(100%)}}@keyframes pushOutLeftContainer{from{transform:translateX(100%)}to{overflow-x:hidden;transition-property:transform}}@keyframes pushInRightContainer{from{overflow-x:hidden;transition-property:transform}to{transform:translateX(-100%)}}@keyframes pushOutRightContainer{from{transform:translateX(-100%)}to{overflow-x:hidden;transition-property:transform}}@keyframes pushInTopContainer{from{overflow-x:hidden;transition-property:transform}to{transform:translateY(100%)}}@keyframes pushOutTopContainer{from{transform:translateY(100%)}to{overflow-x:hidden;transition-property:transform}}@keyframes pushInBottomContainer{from{overflow-x:hidden;transition-property:transform}to{transform:translateY(-100%)}}@keyframes pushOutBottomContainer{from{transform:translateY(-100%)}to{overflow-x:hidden;transition-property:transform}}.custombox-push.custombox-overlay{transition-property:transform}.custombox-push.custombox-overlay.custombox-open.custombox-top{animation-name:pushInTopOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-open.custombox-bottom{animation-name:pushInBottomOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-open.custombox-left{animation-name:pushInLeftOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-open.custombox-right{animation-name:pushInRightOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-close.custombox-top{animation-name:pushOutTopOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-close.custombox-bottom{animation-name:pushOutBottomOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-close.custombox-left{animation-name:pushOutLeftOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-close.custombox-right{animation-name:pushOutRightOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-open.custombox-top{animation-name:pushInTopContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-open.custombox-bottom{animation-name:pushInBottomContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-open.custombox-left{animation-name:pushInLeftContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-open.custombox-right{animation-name:pushInRightContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-close.custombox-top{animation-name:pushOutTopContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-close.custombox-bottom{animation-name:pushOutBottomContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-close.custombox-left{animation-name:pushOutLeftContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-close.custombox-right{animation-name:pushOutRightContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes contentscaleInContainer{from{transition:transform}to{transform:scale(.8)}}@keyframes contentscaleOutContainer{from{transform:scale(.8)}to{transition:transform}}.custombox-contentscale.custombox-overlay{-ms-transform:translateX(-100%);transform:translateX(-100%)}.custombox-contentscale.custombox-overlay.custombox-open.custombox-top{animation-name:slideInTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-open.custombox-bottom{animation-name:slideInBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-open.custombox-left{animation-name:slideInLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-open.custombox-right{animation-name:slideInRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-close.custombox-top{animation-name:slideOutTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-close.custombox-bottom{animation-name:slideOutBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-close.custombox-left{animation-name:slideOutLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-close.custombox-right{animation-name:slideOutRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-container.custombox-open{animation-name:contentscaleInContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-container.custombox-close{animation-name:contentscaleOutContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes swellOpen{0%{opacity:0;transform:translate3d(calc(-100vw - 50%),0,0)}50%{opacity:1;transform:translate3d(100px,0,0)}100%{opacity:1;transform:translate3d(0,0,0)}}@keyframes swellClose{0%{opacity:1;transform:translate3d(0,0,0)}50%{opacity:1;transform:translate3d(-100px,0,0) scale3d(1.1,1.1,1)}100%{opacity:0;transform:translate3d(calc(100vw + 50%),0,0)}}.custombox-swell.custombox-content{opacity:0}.custombox-swell.custombox-content.custombox-open{animation-name:swellOpen;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-swell.custombox-content.custombox-close{animation-name:swellClose;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes rotatedownOpen{0%{opacity:0;transform:rotate3d(0,0,1,-45deg)}100%{opacity:1;transform:rotate3d(0,0,1,0deg)}}@keyframes rotatedownClose{0%{opacity:1}100%{opacity:0;transform:rotate3d(0,0,1,45deg)}}@keyframes rotatedownElem{0%{opacity:0;transform:translate3d(0,-150px,0) rotate3d(0,0,1,-20deg)}100%{opacity:1;transform:translate3d(0,0,0) rotate3d(0,0,1,0deg)}}.custombox-rotatedown.custombox-content{opacity:0;animation-timing-function:cubic-bezier(.7,0,.3,1);-ms-transform-origin:-150% 50%;transform-origin:-150% 50%}.custombox-rotatedown.custombox-content.custombox-open{animation-name:rotatedownOpen;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-rotatedown.custombox-content.custombox-close{animation-name:rotatedownClose;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes flashOpen{0%{opacity:0;transform:translate3d(-400px,0,0) scale3d(1.4,0,1)}100%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}}@keyframes flashClose{0%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}20%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}100%{opacity:0;transform:translate3d(-400px,0,0) scale3d(1.4,0,1)}}.custombox-flash.custombox-content{opacity:0;animation-timing-function:cubic-bezier(.7,0,.3,1)}.custombox-flash.custombox-content.custombox-open{animation-name:flashOpen;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flash.custombox-content.custombox-close{animation-name:flashClose;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.custombox-loader{display:none;border-style:solid;border-width:5px;border-radius:50%;width:40px;height:40px;animation-name:spin;animation-timing-function:linear;animation-iteration-count:infinite;position:fixed;top:50%;left:50%;margin:-25px 0 0 -25px;z-index:9998}
|
2 |
-
.popupaoc-button{padding:10px
|
|
|
3 |
.popupaoc-button:hover, .popupaoc-button:focus{background:#555; color:#fff;}
|
4 |
-
.
|
5 |
background-color: #FFF;
|
6 |
-
box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);
|
7 |
-
|
8 |
-
width: 60%;
|
9 |
-
position: relative;
|
10 |
-
display: none;
|
11 |
}
|
12 |
-
.
|
13 |
-
.
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
}
|
23 |
-
|
24 |
-
.custombox-fullscreen .popupaoc-close{position:static !important; color:#000 !important; text-align:right; padding-bottom:10px;
|
25 |
-
background:url(../images/close-black.png) right 0 no-repeat; background-size:35px 35px; width:100%; height:35px; float:right; cursor:pointer;}
|
26 |
-
.custombox-fullscreen .popupaoc-close:hover{transform: rotate(0deg) !important; }
|
27 |
-
|
28 |
-
.popupaoc-close:focus{outline:none;}
|
1 |
.custombox-content,.custombox-overlay{position:fixed;overflow:hidden;top:0;width:100%;height:100%}.custombox-overlay{z-index:9997;opacity:0;transition-delay:0s;transition-timing-function:linear;transition-property:opacity}.custombox-content{z-index:9999;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:stretch;align-content:stretch}.custombox-lock{overflow:hidden}.custombox-reference{display:none}.custombox-content{overflow-y:auto}.custombox-content>*{max-width:100%;max-height:95%}.custombox-fullscreen.custombox-content{-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:stretch;align-items:stretch}.custombox-fullscreen.custombox-content>*{width:100%;max-height:100%}.custombox-y-top{-ms-flex-align:baseline;align-items:baseline}.custombox-x-left{-ms-flex-align:start;align-items:flex-start}.custombox-y-center{-ms-flex-align:center;align-items:center}.custombox-y-bottom{-ms-flex-align:end;align-items:flex-end}.custombox-x-center{-ms-flex-pack:center;justify-content:center}.custombox-x-right{-ms-flex-pack:end;justify-content:flex-end}.custombox-perspective,.custombox-perspective body{perspective:600px;height:100%;overflow:hidden}.custombox-perspective .custombox-container{overflow:hidden;height:100%}@keyframes fadeIn{from{transform:scale(.7);transition-property:all}to{transform:scale(1);opacity:1}}@keyframes fadeOut{from{transform:scale(1);opacity:1}to{transform:scale(.7);transition-property:all}}.custombox-fadein.custombox-content{opacity:0}.custombox-fadein.custombox-content.custombox-open{animation-name:fadeIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-fadein.custombox-content.custombox-close{animation-name:fadeOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes slideInTop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideOutTop{from{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slideInBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slideInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideOutLeft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}.custombox-contentscale.custombox-content,.custombox-letmein.custombox-content,.custombox-makeway.custombox-content,.custombox-push.custombox-content,.custombox-slide.custombox-content,.custombox-slip.custombox-content{-ms-transform:translateX(-100%);transform:translateX(-100%)}.custombox-contentscale.custombox-content.custombox-open.custombox-top,.custombox-letmein.custombox-content.custombox-open.custombox-top,.custombox-makeway.custombox-content.custombox-open.custombox-top,.custombox-push.custombox-content.custombox-open.custombox-top,.custombox-slide.custombox-content.custombox-open.custombox-top,.custombox-slip.custombox-content.custombox-open.custombox-top{animation-name:slideInTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-open.custombox-bottom,.custombox-letmein.custombox-content.custombox-open.custombox-bottom,.custombox-makeway.custombox-content.custombox-open.custombox-bottom,.custombox-push.custombox-content.custombox-open.custombox-bottom,.custombox-slide.custombox-content.custombox-open.custombox-bottom,.custombox-slip.custombox-content.custombox-open.custombox-bottom{animation-name:slideInBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-open.custombox-left,.custombox-letmein.custombox-content.custombox-open.custombox-left,.custombox-makeway.custombox-content.custombox-open.custombox-left,.custombox-push.custombox-content.custombox-open.custombox-left,.custombox-slide.custombox-content.custombox-open.custombox-left,.custombox-slip.custombox-content.custombox-open.custombox-left{animation-name:slideInLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-open.custombox-right,.custombox-letmein.custombox-content.custombox-open.custombox-right,.custombox-makeway.custombox-content.custombox-open.custombox-right,.custombox-push.custombox-content.custombox-open.custombox-right,.custombox-slide.custombox-content.custombox-open.custombox-right,.custombox-slip.custombox-content.custombox-open.custombox-right{animation-name:slideInRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-close.custombox-top,.custombox-letmein.custombox-content.custombox-close.custombox-top,.custombox-makeway.custombox-content.custombox-close.custombox-top,.custombox-push.custombox-content.custombox-close.custombox-top,.custombox-slide.custombox-content.custombox-close.custombox-top,.custombox-slip.custombox-content.custombox-close.custombox-top{animation-name:slideOutTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-close.custombox-bottom,.custombox-letmein.custombox-content.custombox-close.custombox-bottom,.custombox-makeway.custombox-content.custombox-close.custombox-bottom,.custombox-push.custombox-content.custombox-close.custombox-bottom,.custombox-slide.custombox-content.custombox-close.custombox-bottom,.custombox-slip.custombox-content.custombox-close.custombox-bottom{animation-name:slideOutBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-close.custombox-left,.custombox-letmein.custombox-content.custombox-close.custombox-left,.custombox-makeway.custombox-content.custombox-close.custombox-left,.custombox-push.custombox-content.custombox-close.custombox-left,.custombox-slide.custombox-content.custombox-close.custombox-left,.custombox-slip.custombox-content.custombox-close.custombox-left{animation-name:slideOutLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-content.custombox-close.custombox-right,.custombox-letmein.custombox-content.custombox-close.custombox-right,.custombox-makeway.custombox-content.custombox-close.custombox-right,.custombox-push.custombox-content.custombox-close.custombox-right,.custombox-slide.custombox-content.custombox-close.custombox-right,.custombox-slip.custombox-content.custombox-close.custombox-right{animation-name:slideOutRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes newspaperIn{from{transform:scale(0) rotate(720deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes newspaperOut{from{transform:scale(1) rotate(0);opacity:1}to{transform:scale(0) rotate(720deg);opacity:0}}.custombox-newspaper.custombox-content{opacity:0}.custombox-newspaper.custombox-content.custombox-open{animation-name:newspaperIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-newspaper.custombox-content.custombox-close{animation-name:newspaperOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes fallIn{from{transform-style:preserve-3d;transform:translateZ(600px) rotateX(20deg);opacity:0}to{transition-timing-function:ease-in;transition-property:all;transform:translateZ(0) rotateX(0);opacity:1}}@keyframes fallOut{from{transition-timing-function:ease-in;transition-property:all;transform:translateZ(0) rotateX(0);opacity:1}to{transform-style:preserve-3d;transform:translateZ(600px) rotateX(20deg);opacity:0}}.custombox-fall.custombox-content{opacity:0}.custombox-fall.custombox-content.custombox-open{animation-name:fallIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-fall.custombox-content.custombox-close{animation-name:fallOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes sidefallIn{from{transform-style:preserve-3d;transform:translate(30%) translateZ(600px) rotate(10deg);opacity:0}to{transition-timing-function:ease-in;transition-property:all;transform:translate(0) translateZ(0) rotate(0);opacity:1}}@keyframes sidefallOut{from{transition-timing-function:ease-in;transition-property:all;transform:translate(0) translateZ(0) rotate(0);opacity:1}to{transform-style:preserve-3d;transform:translate(30%) translateZ(600px) rotate(10deg);opacity:0}}.custombox-sidefall.custombox-content{opacity:0}.custombox-sidefall.custombox-content.custombox-open{animation-name:sidefallIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-sidefall.custombox-content.custombox-close{animation-name:sidefallOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes blurInTop{from{transform:translateY(-5%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blurOutTop{from{transform:translateY(0);opacity:1}to{transform:translateY(-5%);opacity:0}}@keyframes blurInBottom{from{transform:translateY(5%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blurOutBottom{from{transform:translateY(0);opacity:1}to{transform:translateY(5%);opacity:0}}@keyframes blurInRight{from{transform:translateX(5%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blurOutRight{from{transform:translateY(0);opacity:1}to{transform:translateX(5%);opacity:0}}@keyframes blurInLeft{from{transform:translateX(-5%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blurOutLeft{from{transform:translateY(0);opacity:1}to{transform:translateX(-5%);opacity:0}}@keyframes blurInContainer{from{filter:blur(0)}to{filter:blur(3px)}}@keyframes blurOutContainer{from{filter:blur(3px)}to{filter:blur(0)}}.custombox-blur.custombox-content{opacity:0}.custombox-blur.custombox-content.custombox-open.custombox-top{animation-name:blurInTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-open.custombox-bottom{animation-name:blurInBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-open.custombox-left{animation-name:blurInLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-open.custombox-right{animation-name:blurInRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-close.custombox-top{animation-name:blurOutTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-close.custombox-bottom{animation-name:blurOutBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-close.custombox-right{animation-name:blurOutRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-content.custombox-close.custombox-left{animation-name:blurOutLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-container{animation-name:blurOutContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-blur.custombox-container.custombox-open{animation-name:blurInContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes flipInTop{from{transform-style:preserve-3d;transform:rotateX(-70deg)}to{transform:rotateY(0);opacity:1}}@keyframes flipOutTop{from{transform:rotateY(0);opacity:1}to{transform-style:preserve-3d;transform:rotateX(-70deg)}}@keyframes flipInBottom{from{transform-style:preserve-3d;transform:rotateX(70deg)}to{transform:rotateY(0);opacity:1}}@keyframes flipOutBottom{from{transform:rotateY(0);opacity:1}to{transform-style:preserve-3d;transform:rotateX(70deg)}}@keyframes flipInRight{from{transform-style:preserve-3d;transform:rotateY(70deg)}to{transform:rotateY(0);opacity:1}}@keyframes flipOutRight{from{transform:rotateY(0);opacity:1}to{transform-style:preserve-3d;transform:rotateY(70deg)}}@keyframes flipInLeft{from{transform-style:preserve-3d;transform:rotateY(-70deg)}to{transform:rotateY(0);opacity:1}}@keyframes flipOutLeft{from{transform:rotateY(0);opacity:1}to{transform-style:preserve-3d;transform:rotateY(-70deg)}}.custombox-flip.custombox-content{opacity:0}.custombox-flip.custombox-content.custombox-open.custombox-top{animation-name:flipInTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-open.custombox-bottom{animation-name:flipInBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-open.custombox-right{animation-name:flipInRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-open.custombox-left{animation-name:flipInLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-close.custombox-top{animation-name:flipOutTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-close.custombox-bottom{animation-name:flipOutBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-close.custombox-right{animation-name:flipOutRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flip.custombox-content.custombox-close.custombox-left{animation-name:flipOutLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes signIn{from{transform-style:preserve-3d;transform:rotateX(-60deg);transform-origin:50% 0;transition-property:all}to{transform:rotateX(0);opacity:1}}@keyframes signOut{from{transform:rotateX(0);opacity:1}to{transform-style:preserve-3d;transform:rotateX(-60deg);transform-origin:50% 0;transition-property:all}}.custombox-sign{perspective:1300px}.custombox-sign.custombox-content{opacity:0}.custombox-sign.custombox-content.custombox-open{animation-name:signIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-sign.custombox-content.custombox-close{animation-name:signOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes superscaledIn{from{transform:scale(2)}to{transform:scale(1);opacity:1}}@keyframes superscaledOut{from{transform:scale(1);opacity:1}to{transform:scale(2)}}.custombox-superscaled.custombox-content{opacity:0}.custombox-superscaled.custombox-content.custombox-open{animation-name:superscaledIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-superscaled.custombox-content.custombox-close{animation-name:superscaledOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes slitIn{0%{transform:translateZ(-3000px) rotateY(90deg)}50%{transform:translateZ(-250px) rotateY(89deg);opacity:1;animation-timing-function:ease-out}100%{transform:translateZ(0) rotateY(0);opacity:1}}@keyframes slitOut{0%{transform:translateZ(0) rotateY(0);opacity:1}50%{transform:translateZ(-250px) rotateY(89deg);opacity:1;animation-timing-function:ease-out}100%{transform:translateZ(-3000px) rotateY(90deg)}}.custombox-slit.custombox-content{opacity:0;transform-style:preserve-3d}.custombox-slit.custombox-content.custombox-open{animation-name:slitIn;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slit.custombox-content.custombox-close{animation-name:slitOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes rotateIn{from{transform-style:preserve-3d;transform:translateY(0) rotateX(90deg);transform-origin:0 100%;opacity:0;transition-timing-function:ease-out;transition-property:all}to{transform:translateY(0) rotateX(0);opacity:1}}@keyframes rotateOut{from{transform:translateY(0) rotateX(0);opacity:1}to{transform-style:preserve-3d;transform:translateY(0) rotateX(90deg);transform-origin:0 100%;opacity:0;transition-timing-function:ease-out;transition-property:all}}.custombox-rotate{perspective:2300px}.custombox-rotate.custombox-content{-ms-transform:translateY(-100%);transform:translateY(-100%)}.custombox-rotate.custombox-content.custombox-open{animation-name:rotateIn;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-rotate.custombox-content.custombox-close{animation-name:rotateOut;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes letmeinBottomOverlay{to{transform:rotateX(-2deg);transform-origin:50% 0;transform-style:preserve-3d}}@keyframes letmeinOutBottomOverlay{from{transform:rotateX(-2deg);transform-origin:50% 0;transform-style:preserve-3d}to{opacity:0}}@keyframes letmeinLeftOverlay{to{transform:rotateY(-2deg);transform-origin:50% 0;transform-style:preserve-3d}}@keyframes letmeinOutLeftOverlay{from{transform:rotateY(-2deg);transform-origin:50% 0;transform-style:preserve-3d}to{opacity:0}}@keyframes letmeinRightOverlay{to{transform:rotateY(2deg);transform-origin:50% 0;transform-style:preserve-3d}}@keyframes letmeinOutRightOverlay{from{transform:rotateY(2deg);transform-origin:50% 0;transform-style:preserve-3d}to{opacity:0}}@keyframes letmeinTopOverlay{to{transform:rotateX(2deg);transform-origin:0 50%;transform-style:preserve-3d}}@keyframes letmeinOutTopOverlay{from{transform:rotateX(2deg);transform-origin:50% 0;transform-style:preserve-3d}to{opacity:0}}.custombox-letmein.custombox-overlay.custombox-open.custombox-top{animation-name:letmeinTopOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-open.custombox-bottom{animation-name:letmeinBottomOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-open.custombox-left{animation-name:letmeinLeftOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-open.custombox-right{animation-name:letmeinRightOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-close.custombox-top{animation-name:letmeinOutTopOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-close.custombox-bottom{animation-name:letmeinOutBottomOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-close.custombox-left{animation-name:letmeinOutLeftOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-letmein.custombox-overlay.custombox-close.custombox-right{animation-name:letmeinOutRightOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes makewayInContainer{50%{transform:translateZ(-50px) rotateY(5deg);animation-timing-function:ease-out}100%{transform:translateZ(-200px)}}@keyframes makewayOutContainer{0%{transform:translateZ(-200px)}50%{transform:translateZ(-50px) rotateY(5deg);animation-timing-function:ease-out}100%{opacity:0}}@keyframes makewayInTop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes makewayOutTop{from{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes makewayInBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes makewayOutBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes makewayInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes makewayOutLeft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes makewayInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes makewayOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}.custombox-makeway.custombox-overlay{transform-style:preserve-3d;-ms-transform-origin:0 50%;transform-origin:0 50%}.custombox-makeway.custombox-overlay.custombox-open{animation-name:makewayInContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-makeway.custombox-overlay.custombox-close{animation-name:makewayOutContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-makeway.custombox-container{transform-style:preserve-3d;-ms-transform-origin:0 50%;transform-origin:0 50%}.custombox-makeway.custombox-container.custombox-open{animation-name:makewayInContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-makeway.custombox-container.custombox-close{animation-name:makewayOutContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes slipTopOverlay{50%{transform:rotateX(10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipOutTopOverlay{50%{transform:rotateX(10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipRightOverlay{50%{transform:rotateY(10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipOutRightOverlay{50%{transform:rotateY(10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipBottomOverlay{50%{transform:rotateX(-10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipOutBottomOverlay{50%{transform:rotateX(-10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipLeftOverlay{50%{transform:rotateY(-10deg);transform-origin:50% 100%;transform-style:preserve-3d}}@keyframes slipOutLeftOverlay{50%{transform:rotateY(-10deg);transform-origin:50% 100%;transform-style:preserve-3d}}.custombox-slip.custombox-overlay.custombox-open.custombox-top{animation-name:slipTopOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-open.custombox-bottom{animation-name:slipBottomOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-open.custombox-left{animation-name:slipLeftOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-open.custombox-right{animation-name:slipRightOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-close.custombox-top{animation-name:slipOutTopOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-close.custombox-bottom{animation-name:slipOutBottomOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-close.custombox-left{animation-name:slipOutLeftOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-overlay.custombox-close.custombox-right{animation-name:slipOutRightOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-open.custombox-top{animation-name:slipTopOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-open.custombox-bottom{animation-name:slipBottomOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-open.custombox-left{animation-name:slipLeftOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-open.custombox-right{animation-name:slipRightOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-close.custombox-top{animation-name:slipOutTopOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-close.custombox-bottom{animation-name:slipOutBottomOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-close.custombox-left{animation-name:slipOutLeftOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slip.custombox-container.custombox-close.custombox-right{animation-name:slipOutRightOverlay;animation-timing-function:ease-in-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes cornerInOverlay{from{transform:translateY(150px) translateX(150px);transition-property:opacity,transform,visibility}to{transform:translateY(0);transition-property:opacity,transform}}@keyframes cornerOutOverlay{from{transform:translateY(0);transition-property:opacity,transform}to{transform:translateY(150px) translateX(150px);transition-property:opacity,transform,visibility;opacity:0}}@keyframes cornerInContent{from{transform:translateY(150px) translateX(150px);transition-property:opacity,transform,visibility}to{transform:translateY(0);transition-property:opacity,transform;opacity:1}}@keyframes cornerOutContent{from{transform:translateY(0);transition-property:opacity,transform;opacity:1}to{transform:translateY(150px) translateX(150px);transition-property:opacity,transform,visibility;opacity:0}}.custombox-corner.custombox-overlay.custombox-open{animation-name:cornerInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-corner.custombox-overlay.custombox-close{animation-name:cornerOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-corner.custombox-content.custombox-open{animation-name:cornerInContent;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-corner.custombox-content.custombox-close{animation-name:cornerOutContent;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content,.custombox-slidetogether.custombox-overlay{-ms-transform:translateX(-100%);transform:translateX(-100%)}.custombox-slidetogether.custombox-content.custombox-open.custombox-top,.custombox-slidetogether.custombox-overlay.custombox-open.custombox-top{animation-name:slideInTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-open.custombox-bottom,.custombox-slidetogether.custombox-overlay.custombox-open.custombox-bottom{animation-name:slideInBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-open.custombox-left,.custombox-slidetogether.custombox-overlay.custombox-open.custombox-left{animation-name:slideInLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-open.custombox-right,.custombox-slidetogether.custombox-overlay.custombox-open.custombox-right{animation-name:slideInRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-close.custombox-top,.custombox-slidetogether.custombox-overlay.custombox-close.custombox-top{animation-name:slideOutTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-close.custombox-bottom,.custombox-slidetogether.custombox-overlay.custombox-close.custombox-bottom{animation-name:slideOutBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-close.custombox-left,.custombox-slidetogether.custombox-overlay.custombox-close.custombox-left{animation-name:slideOutLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-slidetogether.custombox-content.custombox-close.custombox-right,.custombox-slidetogether.custombox-overlay.custombox-close.custombox-right{animation-name:slideOutRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes scaleInOverlay{from{transform:scale(.9);transition:transform;opacity:0}to{transform:scale(1);transition:transform}}@keyframes scaleOutOverlay{from{transform:scale(1);transition:transform}to{transform:scale(.9);transition:transform;opacity:0;opacity:0}}.custombox-scale.custombox-overlay.custombox-open{animation-name:scaleInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-scale.custombox-overlay.custombox-close{animation-name:scaleOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-scale.custombox-content.custombox-open{animation-name:scaleInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-scale.custombox-content.custombox-close{animation-name:scaleOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes doorInOverlay{from{position:fixed;bottom:0;left:50%;right:50%;width:0}to{width:100%;left:0;right:0;transition-property:width}}@keyframes doorOutOverlay{from{width:100%;left:0;right:0;transition-property:width}to{position:fixed;bottom:0;left:50%;right:50%;width:0}}.custombox-door.custombox-overlay.custombox-open{animation-name:doorInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-door.custombox-overlay.custombox-close{animation-name:doorOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-door.custombox-content.custombox-open{animation-name:doorInOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-door.custombox-content.custombox-close{animation-name:doorOutOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes pushInLeftOverlay{from{transform:translateX(-100%)}to{transform:translateX(0) translateY(0)}}@keyframes pushOutLeftOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateX(-100%)}}@keyframes pushInRightOverlay{from{transform:translateX(100%)}to{transform:translateX(0) translateY(0)}}@keyframes pushOutRightOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateX(100%)}}@keyframes pushInTopOverlay{from{transform:translateY(-100%)}to{transform:translateX(0) translateY(0)}}@keyframes pushOutTopOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateY(-100%)}}@keyframes pushInBottomOverlay{from{transform:translateY(100%)}to{transform:translateX(0) translateY(0)}}@keyframes pushOutBottomOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateY(100%)}}@keyframes pushOutTopOverlay{from{transform:translateX(0) translateY(0)}to{transform:translateY(-100%)}}@keyframes pushInLeftContainer{from{overflow-x:hidden;transition-property:transform}to{transform:translateX(100%)}}@keyframes pushOutLeftContainer{from{transform:translateX(100%)}to{overflow-x:hidden;transition-property:transform}}@keyframes pushInRightContainer{from{overflow-x:hidden;transition-property:transform}to{transform:translateX(-100%)}}@keyframes pushOutRightContainer{from{transform:translateX(-100%)}to{overflow-x:hidden;transition-property:transform}}@keyframes pushInTopContainer{from{overflow-x:hidden;transition-property:transform}to{transform:translateY(100%)}}@keyframes pushOutTopContainer{from{transform:translateY(100%)}to{overflow-x:hidden;transition-property:transform}}@keyframes pushInBottomContainer{from{overflow-x:hidden;transition-property:transform}to{transform:translateY(-100%)}}@keyframes pushOutBottomContainer{from{transform:translateY(-100%)}to{overflow-x:hidden;transition-property:transform}}.custombox-push.custombox-overlay{transition-property:transform}.custombox-push.custombox-overlay.custombox-open.custombox-top{animation-name:pushInTopOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-open.custombox-bottom{animation-name:pushInBottomOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-open.custombox-left{animation-name:pushInLeftOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-open.custombox-right{animation-name:pushInRightOverlay;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-close.custombox-top{animation-name:pushOutTopOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-close.custombox-bottom{animation-name:pushOutBottomOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-close.custombox-left{animation-name:pushOutLeftOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-overlay.custombox-close.custombox-right{animation-name:pushOutRightOverlay;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-open.custombox-top{animation-name:pushInTopContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-open.custombox-bottom{animation-name:pushInBottomContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-open.custombox-left{animation-name:pushInLeftContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-open.custombox-right{animation-name:pushInRightContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-close.custombox-top{animation-name:pushOutTopContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-close.custombox-bottom{animation-name:pushOutBottomContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-close.custombox-left{animation-name:pushOutLeftContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-push.custombox-container.custombox-close.custombox-right{animation-name:pushOutRightContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes contentscaleInContainer{from{transition:transform}to{transform:scale(.8)}}@keyframes contentscaleOutContainer{from{transform:scale(.8)}to{transition:transform}}.custombox-contentscale.custombox-overlay{-ms-transform:translateX(-100%);transform:translateX(-100%)}.custombox-contentscale.custombox-overlay.custombox-open.custombox-top{animation-name:slideInTop;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-open.custombox-bottom{animation-name:slideInBottom;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-open.custombox-left{animation-name:slideInLeft;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-open.custombox-right{animation-name:slideInRight;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-close.custombox-top{animation-name:slideOutTop;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-close.custombox-bottom{animation-name:slideOutBottom;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-close.custombox-left{animation-name:slideOutLeft;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-overlay.custombox-close.custombox-right{animation-name:slideOutRight;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-container.custombox-open{animation-name:contentscaleInContainer;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-contentscale.custombox-container.custombox-close{animation-name:contentscaleOutContainer;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes swellOpen{0%{opacity:0;transform:translate3d(calc(-100vw - 50%),0,0)}50%{opacity:1;transform:translate3d(100px,0,0)}100%{opacity:1;transform:translate3d(0,0,0)}}@keyframes swellClose{0%{opacity:1;transform:translate3d(0,0,0)}50%{opacity:1;transform:translate3d(-100px,0,0) scale3d(1.1,1.1,1)}100%{opacity:0;transform:translate3d(calc(100vw + 50%),0,0)}}.custombox-swell.custombox-content{opacity:0}.custombox-swell.custombox-content.custombox-open{animation-name:swellOpen;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-swell.custombox-content.custombox-close{animation-name:swellClose;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes rotatedownOpen{0%{opacity:0;transform:rotate3d(0,0,1,-45deg)}100%{opacity:1;transform:rotate3d(0,0,1,0deg)}}@keyframes rotatedownClose{0%{opacity:1}100%{opacity:0;transform:rotate3d(0,0,1,45deg)}}@keyframes rotatedownElem{0%{opacity:0;transform:translate3d(0,-150px,0) rotate3d(0,0,1,-20deg)}100%{opacity:1;transform:translate3d(0,0,0) rotate3d(0,0,1,0deg)}}.custombox-rotatedown.custombox-content{opacity:0;animation-timing-function:cubic-bezier(.7,0,.3,1);-ms-transform-origin:-150% 50%;transform-origin:-150% 50%}.custombox-rotatedown.custombox-content.custombox-open{animation-name:rotatedownOpen;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-rotatedown.custombox-content.custombox-close{animation-name:rotatedownClose;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes flashOpen{0%{opacity:0;transform:translate3d(-400px,0,0) scale3d(1.4,0,1)}100%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}}@keyframes flashClose{0%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}20%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}100%{opacity:0;transform:translate3d(-400px,0,0) scale3d(1.4,0,1)}}.custombox-flash.custombox-content{opacity:0;animation-timing-function:cubic-bezier(.7,0,.3,1)}.custombox-flash.custombox-content.custombox-open{animation-name:flashOpen;animation-timing-function:ease-in;animation-fill-mode:forwards;backface-visibility:hidden}.custombox-flash.custombox-content.custombox-close{animation-name:flashClose;animation-timing-function:ease-out;animation-fill-mode:forwards;backface-visibility:hidden}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.custombox-loader{display:none;border-style:solid;border-width:5px;border-radius:50%;width:40px;height:40px;animation-name:spin;animation-timing-function:linear;animation-iteration-count:infinite;position:fixed;top:50%;left:50%;margin:-25px 0 0 -25px;z-index:9998}
|
2 |
+
.popupaoc-button{padding:10px 20px; background:#e91e63; color:#fff; display:inline-block; text-decoration:none !important;}
|
3 |
+
.popupaoc-link{text-decoration:none !important;}
|
4 |
.popupaoc-button:hover, .popupaoc-button:focus{background:#555; color:#fff;}
|
5 |
+
.paoc-popup-modal {
|
6 |
background-color: #FFF;
|
7 |
+
box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);
|
8 |
+
width: 60%; position: relative; display: none;
|
|
|
|
|
|
|
9 |
}
|
10 |
+
.paoc-popup-modal, .paoc-popup-modal p{line-height:normal; margin: 0 0 20px 0;}
|
11 |
+
.paoc-popup-modal, .paoc-popup-modal p:last-child{margin:0;}
|
12 |
+
.paoc-popup-modal-cnt{ background-color: #FFF; padding: 50px 20px 20px 20px;}
|
13 |
+
.paoc-popup-modal img{max-width:100%; max-height: 100%;}
|
14 |
+
.paoc-popup-close {display: block; position: absolute; outline:none; top: -12px; right: -12px; z-index: 10000; outline: none; background: url(../images/close.png) center center no-repeat; width:35px; height:35px; cursor:pointer;}
|
15 |
+
.paoc-popup-close:focus, .paoc-popup-close:hover{outline:none;}
|
16 |
+
.custombox-fullscreen .paoc-popup-close{ top:0px; right: 0px; }
|
17 |
+
.popupaoc-close:focus{outline:none;}
|
18 |
+
@media screen and (max-width: 480px){
|
19 |
+
.paoc-popup-modal { width: 90%; }
|
20 |
}
|
|
|
|
|
|
|
|
|
|
|
|
assets/images/close.png
CHANGED
Binary file
|
includes/admin/class-popupaoc-admin.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* Handles the Admin side functionality of plugin
|
6 |
*
|
7 |
-
* @package
|
8 |
* @since 1.0.0
|
9 |
*/
|
10 |
|
@@ -29,14 +29,18 @@ class Popupaoc_Admin {
|
|
29 |
|
30 |
// Filter to add row data
|
31 |
add_filter( 'post_row_actions', array($this, 'popupaoc_add_post_row_action'), 10, 2 );
|
32 |
-
|
33 |
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
* Post Settings Metabox
|
38 |
*
|
39 |
-
* @package
|
40 |
* @since 1.0.0
|
41 |
*/
|
42 |
function popupaoc_post_sett_metabox() {
|
@@ -46,7 +50,7 @@ class Popupaoc_Admin {
|
|
46 |
/**
|
47 |
* Post Settings Metabox HTML
|
48 |
*
|
49 |
-
* @package
|
50 |
* @since 1.0.0
|
51 |
*/
|
52 |
function popupaoc_post_sett_mb_content() {
|
@@ -56,7 +60,7 @@ class Popupaoc_Admin {
|
|
56 |
/**
|
57 |
* Function to save metabox values
|
58 |
*
|
59 |
-
* @package
|
60 |
* @since 1.0.0
|
61 |
*/
|
62 |
function popupaoc_save_metabox_value( $post_id ) {
|
@@ -87,7 +91,6 @@ class Popupaoc_Admin {
|
|
87 |
$speedout = isset($_POST[$prefix.'speedout']) ? $_POST[$prefix.'speedout'] : '';
|
88 |
$delay = isset($_POST[$prefix.'delay']) ? $_POST[$prefix.'delay'] : '';
|
89 |
|
90 |
-
|
91 |
update_post_meta($post_id, $prefix.'popup_type', $popup_type);
|
92 |
update_post_meta($post_id, $prefix.'popup_button_txt', $popup_button_txt);
|
93 |
update_post_meta($post_id, $prefix.'popup_link_txt', $popup_link_txt);
|
@@ -101,13 +104,12 @@ class Popupaoc_Admin {
|
|
101 |
update_post_meta($post_id, $prefix.'speedin', $speedin);
|
102 |
update_post_meta($post_id, $prefix.'speedout', $speedout);
|
103 |
update_post_meta($post_id, $prefix.'delay', $delay);
|
104 |
-
|
105 |
}
|
106 |
|
107 |
/**
|
108 |
* Add custom column to Post listing page
|
109 |
*
|
110 |
-
* @package
|
111 |
* @since 1.0.0
|
112 |
*/
|
113 |
function popupaoc_manage_posts_columns( $columns ) {
|
@@ -122,7 +124,7 @@ class Popupaoc_Admin {
|
|
122 |
/**
|
123 |
* Add custom column data to Post listing page
|
124 |
*
|
125 |
-
* @package
|
126 |
* @since 1.0.0
|
127 |
*/
|
128 |
function popupaoc_post_columns_data( $column, $post_id ) {
|
@@ -135,14 +137,13 @@ class Popupaoc_Admin {
|
|
135 |
$shortcode_string .= '[popup_anything id="'.$post_id.'"] ';
|
136 |
echo $shortcode_string;
|
137 |
break;
|
138 |
-
|
139 |
}
|
140 |
}
|
141 |
|
142 |
/**
|
143 |
* Function to add custom quick links at post listing page
|
144 |
*
|
145 |
-
* @package
|
146 |
* @since 1.0.0
|
147 |
*/
|
148 |
function popupaoc_add_post_row_action($actions, $post ) {
|
@@ -152,7 +153,53 @@ class Popupaoc_Admin {
|
|
152 |
return $actions;
|
153 |
}
|
154 |
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
}
|
157 |
|
158 |
$popupaoc_admin = new Popupaoc_Admin();
|
4 |
*
|
5 |
* Handles the Admin side functionality of plugin
|
6 |
*
|
7 |
+
* @package Popup Anything
|
8 |
* @since 1.0.0
|
9 |
*/
|
10 |
|
29 |
|
30 |
// Filter to add row data
|
31 |
add_filter( 'post_row_actions', array($this, 'popupaoc_add_post_row_action'), 10, 2 );
|
|
|
32 |
|
33 |
+
// Action to add admin menu
|
34 |
+
add_action( 'admin_menu', array($this, 'popupaoc_register_menu'), 12 );
|
35 |
+
|
36 |
+
// Admin prior process
|
37 |
+
add_action( 'admin_init', array($this, 'popupaoc_admin_init_process') );
|
38 |
}
|
39 |
|
40 |
/**
|
41 |
* Post Settings Metabox
|
42 |
*
|
43 |
+
* @package Popup Anything
|
44 |
* @since 1.0.0
|
45 |
*/
|
46 |
function popupaoc_post_sett_metabox() {
|
50 |
/**
|
51 |
* Post Settings Metabox HTML
|
52 |
*
|
53 |
+
* @package Popup Anything
|
54 |
* @since 1.0.0
|
55 |
*/
|
56 |
function popupaoc_post_sett_mb_content() {
|
60 |
/**
|
61 |
* Function to save metabox values
|
62 |
*
|
63 |
+
* @package Popup Anything
|
64 |
* @since 1.0.0
|
65 |
*/
|
66 |
function popupaoc_save_metabox_value( $post_id ) {
|
91 |
$speedout = isset($_POST[$prefix.'speedout']) ? $_POST[$prefix.'speedout'] : '';
|
92 |
$delay = isset($_POST[$prefix.'delay']) ? $_POST[$prefix.'delay'] : '';
|
93 |
|
|
|
94 |
update_post_meta($post_id, $prefix.'popup_type', $popup_type);
|
95 |
update_post_meta($post_id, $prefix.'popup_button_txt', $popup_button_txt);
|
96 |
update_post_meta($post_id, $prefix.'popup_link_txt', $popup_link_txt);
|
104 |
update_post_meta($post_id, $prefix.'speedin', $speedin);
|
105 |
update_post_meta($post_id, $prefix.'speedout', $speedout);
|
106 |
update_post_meta($post_id, $prefix.'delay', $delay);
|
|
|
107 |
}
|
108 |
|
109 |
/**
|
110 |
* Add custom column to Post listing page
|
111 |
*
|
112 |
+
* @package Popup Anything
|
113 |
* @since 1.0.0
|
114 |
*/
|
115 |
function popupaoc_manage_posts_columns( $columns ) {
|
124 |
/**
|
125 |
* Add custom column data to Post listing page
|
126 |
*
|
127 |
+
* @package Popup Anything on Click
|
128 |
* @since 1.0.0
|
129 |
*/
|
130 |
function popupaoc_post_columns_data( $column, $post_id ) {
|
137 |
$shortcode_string .= '[popup_anything id="'.$post_id.'"] ';
|
138 |
echo $shortcode_string;
|
139 |
break;
|
|
|
140 |
}
|
141 |
}
|
142 |
|
143 |
/**
|
144 |
* Function to add custom quick links at post listing page
|
145 |
*
|
146 |
+
* @package Popup Anything on Click
|
147 |
* @since 1.0.0
|
148 |
*/
|
149 |
function popupaoc_add_post_row_action($actions, $post ) {
|
153 |
return $actions;
|
154 |
}
|
155 |
|
156 |
+
/**
|
157 |
+
* Function to add menu
|
158 |
+
*
|
159 |
+
* @package Popup Anything on Click
|
160 |
+
* @since 1.0.0
|
161 |
+
*/
|
162 |
+
function popupaoc_register_menu() {
|
163 |
+
|
164 |
+
// Register plugin premium page
|
165 |
+
add_submenu_page( 'edit.php?post_type='.POPUPAOC_POST_TYPE, __('Upgrade to PRO - Popup Anything', 'popup-anything-on-click'), '<span style="color:#2ECC71">'.__('Upgrade to PRO', 'popup-anything-on-click').'</span>', 'manage_options', 'popupaoc-premium', array($this, 'popupaoc_premium_page') );
|
166 |
+
|
167 |
+
// Hire Us Menu
|
168 |
+
add_submenu_page( 'edit.php?post_type='.POPUPAOC_POST_TYPE, __('Hire Us', 'popup-anything-on-click'), '<span style="color:#2ECC71">'.__('Hire Us', 'popup-anything-on-click').'</span>', 'manage_options', 'popupaoc-hireus', array($this, 'popupaoc_hireus_page') );
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Getting Started Page Html
|
173 |
+
*
|
174 |
+
* @package Popup Anything on Click
|
175 |
+
* @since 1.0.0
|
176 |
+
*/
|
177 |
+
function popupaoc_premium_page() {
|
178 |
+
include_once( POPUPAOC_DIR . '/includes/settings/premium.php' );
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Getting Started Page Html
|
183 |
+
*
|
184 |
+
* @package Popup Anything on Click
|
185 |
+
* @since 1.2.2
|
186 |
+
*/
|
187 |
+
function popupaoc_hireus_page() {
|
188 |
+
include_once( POPUPAOC_DIR . '/includes/settings/hire-us.php' );
|
189 |
+
}
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Admin Prior Process
|
193 |
+
*
|
194 |
+
* @package Popup Anything
|
195 |
+
* @since 1.2.2
|
196 |
+
*/
|
197 |
+
function popupaoc_admin_init_process() {
|
198 |
+
// If plugin notice is dismissed
|
199 |
+
if( isset($_GET['message']) && $_GET['message'] == 'popupaoc-plugin-notice' ) {
|
200 |
+
set_transient( 'popupaoc_install_notice', true, 604800 );
|
201 |
+
}
|
202 |
+
}
|
203 |
}
|
204 |
|
205 |
$popupaoc_admin = new Popupaoc_Admin();
|
includes/admin/metabox/popupaoc-post-sett-metabox.php
CHANGED
@@ -122,7 +122,7 @@ else{
|
|
122 |
<?php
|
123 |
$default_img = '';
|
124 |
if( !empty($popup_image_url)) {
|
125 |
-
$default_img = '<img src="'
|
126 |
}
|
127 |
?>
|
128 |
<div class="popup-anything-imgs-preview"><?php echo $default_img; ?></div>
|
122 |
<?php
|
123 |
$default_img = '';
|
124 |
if( !empty($popup_image_url)) {
|
125 |
+
$default_img = '<img src="'.esc_url($popup_image_url).'" alt="" />';
|
126 |
}
|
127 |
?>
|
128 |
<div class="popup-anything-imgs-preview"><?php echo $default_img; ?></div>
|
includes/class-paoc-public.php
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Public Class
|
4 |
+
*
|
5 |
+
* Handles the Public side functionality of plugin
|
6 |
+
*
|
7 |
+
* @package Popup Anything on Click Pro
|
8 |
+
* @since 1.0
|
9 |
+
*/
|
10 |
+
|
11 |
+
// Exit if accessed directly
|
12 |
+
if ( !defined( 'ABSPATH' ) ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
class Paoc_Public {
|
17 |
+
|
18 |
+
function __construct() {
|
19 |
+
|
20 |
+
// Action to create popup content
|
21 |
+
add_action( 'wp_footer', array($this, 'paoc_create_popup_data'), 999 );
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Function generate popup data
|
26 |
+
*
|
27 |
+
* @package Popup Anything on Click Pro
|
28 |
+
* @since 1.0
|
29 |
+
*/
|
30 |
+
function paoc_create_popup_data() {
|
31 |
+
|
32 |
+
global $paoc_popup_data;
|
33 |
+
|
34 |
+
if( !empty($paoc_popup_data) ) {
|
35 |
+
foreach ($paoc_popup_data as $unique => $popup_data) {
|
36 |
+
?>
|
37 |
+
<div id="paoc-modal-<?php echo $unique;?>" class="paoc-popup-modal">
|
38 |
+
<a href="javascript:void(0);" onclick="Custombox.modal.close();" class="paoc-popup-close"></a>
|
39 |
+
<div class="paoc-popup-modal-cnt">
|
40 |
+
<?php echo $popup_data; ?>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
<?php } ?>
|
44 |
+
|
45 |
+
<script>
|
46 |
+
jQuery(function() {
|
47 |
+
jQuery(document).on('click', '.paoc-popup', function() {
|
48 |
+
var options = jQuery(this).data('conf');
|
49 |
+
new Custombox.modal(options).open();
|
50 |
+
});
|
51 |
+
});
|
52 |
+
</script>
|
53 |
+
<?php
|
54 |
+
|
55 |
+
// Flushing the global variable
|
56 |
+
$paoc_popup_data = '';
|
57 |
+
|
58 |
+
} // End of main if
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
$paoc_public = new Paoc_Public();
|
includes/settings/hire-us.php
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Premium Offer Page
|
4 |
+
*
|
5 |
+
* @package Popup Anything on Click
|
6 |
+
* @since 1.2.1
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( !defined( 'ABSPATH' ) ) {
|
10 |
+
exit; // Exit if accessed directly
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
<div class="wrap">
|
14 |
+
|
15 |
+
<h2><?php _e( 'Hire Us - Get unlimited expert WordPress Support and Development', 'popup-anything-on-click' ); ?></h2><br />
|
16 |
+
|
17 |
+
<div class="support-data">
|
18 |
+
<h3 style="margin-bottom:5px;"><?php _e( 'Highlight of Hiring:', 'popup-anything-on-click' ); ?></h3>
|
19 |
+
<ul>
|
20 |
+
<li>Hire once, get unlimited jobs done</li>
|
21 |
+
<li>Quick ticket support, quick solution</li>
|
22 |
+
<li>Any sort of WP work with no extra cost</li>
|
23 |
+
<li>Dedicated expert working only for you!</li>
|
24 |
+
</ul>
|
25 |
+
</div>
|
26 |
+
|
27 |
+
<style>
|
28 |
+
.support-data ul{list-style-type:disc ; margin:10px 0 15px 20px;}
|
29 |
+
.wprps-notice{padding: 10px; color: #3c763d; background-color: #dff0d8; border:1px solid #d6e9c6; margin: 0 0 20px 0;}
|
30 |
+
.wpos-plugin-pricing-table thead th h2{font-weight: 400; font-size: 1.5em; line-height:normal; margin:0px; color: #2ECC71;}
|
31 |
+
.wpos-plugin-pricing-table thead th h2 + p{font-size: 1.25em; line-height: 1.4; color: #999; margin:5px 0 5px 0;}
|
32 |
+
|
33 |
+
table.wpos-plugin-pricing-table{width:90%; text-align: left; border-spacing: 0; border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
|
34 |
+
|
35 |
+
.wpos-plugin-pricing-table th, .wpos-plugin-pricing-table td{font-size:14px; line-height:normal; color:#444; vertical-align:middle; padding:12px;}
|
36 |
+
|
37 |
+
.wpos-plugin-pricing-table colgroup:nth-child(1) { width: 31%; border: 1px solid #ccc; }
|
38 |
+
.wpos-plugin-pricing-table colgroup:nth-child(2) { width: 22%; border: 1px solid #ccc; }
|
39 |
+
.wpos-plugin-pricing-table colgroup:nth-child(3) { width: 25%; border: 10px solid #2ECC71; }
|
40 |
+
.wpos-plugin-pricing-table colgroup:nth-child(4) { width: 31%; border: 1px solid #ccc; }
|
41 |
+
|
42 |
+
/* Tablehead */
|
43 |
+
.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 3em; font-weight:400; color:#999;}
|
44 |
+
|
45 |
+
.wpos-plugin-pricing-table thead th:nth-child(3) {padding:1em 0 3.5em 0;}
|
46 |
+
.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;}
|
47 |
+
.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;}
|
48 |
+
.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;}
|
49 |
+
|
50 |
+
/* Table Footer */
|
51 |
+
.wpos-plugin-pricing-table tfoot th, .wpos-plugin-pricing-table tfoot td{text-align: center; border-top: 1px solid #ccc;}
|
52 |
+
.wpos-plugin-pricing-table tfoot a{font-weight: 600; color: #fff; text-decoration: none; text-transform: uppercase; display: inline-block; padding: 1em 2em; background: #59c7fb; border-radius: .2em;}
|
53 |
+
</style>
|
54 |
+
|
55 |
+
<table class="wpos-plugin-pricing-table">
|
56 |
+
<colgroup></colgroup>
|
57 |
+
<colgroup></colgroup>
|
58 |
+
<colgroup></colgroup>
|
59 |
+
<colgroup></colgroup>
|
60 |
+
<thead>
|
61 |
+
<tr>
|
62 |
+
<th>
|
63 |
+
<h2>Hire us for 1 Hr</h2>
|
64 |
+
<p>$20 USD</p>
|
65 |
+
</th>
|
66 |
+
<th>
|
67 |
+
<h2>Hire us for 5 Hrs</h2>
|
68 |
+
<p>$99 USD</p>
|
69 |
+
</th>
|
70 |
+
<th>
|
71 |
+
<h2>Hire us for 30 Hrs</h2>
|
72 |
+
<p>$499 USD</p>
|
73 |
+
<p class="promo">Our most valuable package!</p>
|
74 |
+
</th>
|
75 |
+
<th>
|
76 |
+
<h2>Hire us for 70 Hrs</h2>
|
77 |
+
<p>$999 USD</p>
|
78 |
+
</th>
|
79 |
+
</tr>
|
80 |
+
</thead>
|
81 |
+
|
82 |
+
<tfoot>
|
83 |
+
<tr>
|
84 |
+
<td><a href="https://www.wponlinesupport.com/checkout/?edd_action=add_to_cart&download_id=6044&edd_options[price_id]=6&ref=wposthemeplugin" target="_blank">Hire Us</a></td>
|
85 |
+
<td><a href="https://www.wponlinesupport.com/checkout/?edd_action=add_to_cart&download_id=6044&edd_options[price_id]=3&ref=wposthemeplugin" target="_blank">Hire Us</a></td>
|
86 |
+
<td><a href="https://www.wponlinesupport.com/checkout/?edd_action=add_to_cart&download_id=6044&edd_options[price_id]=4&ref=wposthemeplugin" target="_blank">Hire Us</a></td>
|
87 |
+
<td><a href="https://www.wponlinesupport.com/checkout/?edd_action=add_to_cart&download_id=6044&edd_options[price_id]=5&ref=wposthemeplugin" target="_blank">Hire Us</a></td>
|
88 |
+
</tr>
|
89 |
+
</tfoot>
|
90 |
+
</table>
|
91 |
+
</div>
|
includes/settings/premium.php
ADDED
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Premium Offer Page
|
4 |
+
*
|
5 |
+
* @package Popup Anything on Click
|
6 |
+
* @since 1.0.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( !defined( 'ABSPATH' ) ) {
|
10 |
+
exit; // Exit if accessed directly
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
<div class="wrap">
|
14 |
+
|
15 |
+
<h2><?php _e( 'Popup Anything On Click - Features', 'popup-anything-on-click' ); ?></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:90%; 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; }
|
28 |
+
.wpos-plugin-pricing-table colgroup:nth-child(3) { width: 25%; border: 10px solid #2ECC71; }
|
29 |
+
|
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,
|
49 |
+
.wpos-plugin-pricing-table tbody tr:nth-child(even) td { background: #f5f5f5; border: 1px solid #ccc; border-width: 1px 0 1px 1px; }
|
50 |
+
.wpos-plugin-pricing-table tbody tr:last-child td {border-bottom: 0 none;}
|
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 |
+
.pricing-footer a{margin-bottom:5px;}
|
55 |
+
.wpos-plugin-pricing-table tfoot .wpos-button{font-weight: 600; color: #fff; text-decoration: none; border:0px; cursor:pointer; text-transform: uppercase; display: inline-block; padding: 1em 2em; background: #59c7fb; border-radius: .2em;}
|
56 |
+
</style>
|
57 |
+
|
58 |
+
<table class="wpos-plugin-pricing-table">
|
59 |
+
<colgroup></colgroup>
|
60 |
+
<colgroup></colgroup>
|
61 |
+
<colgroup></colgroup>
|
62 |
+
<thead>
|
63 |
+
<tr>
|
64 |
+
<th></th>
|
65 |
+
<th>
|
66 |
+
<h2>Free</h2>
|
67 |
+
<p>$0 USD</p>
|
68 |
+
</th>
|
69 |
+
<th>
|
70 |
+
<h2>Premium</h2>
|
71 |
+
<p>Gain access to <strong>Popup Anything On Click</strong> and <strong>all other products</strong> with a single purchase.</p>
|
72 |
+
<p class="promo">Our most valuable package!</p>
|
73 |
+
</th>
|
74 |
+
</tr>
|
75 |
+
</thead>
|
76 |
+
|
77 |
+
<tfoot>
|
78 |
+
<tr>
|
79 |
+
<th></th>
|
80 |
+
<td></td>
|
81 |
+
<td><p>Gain access to <strong>Popup Anything On Click</strong> and <strong>all other products</strong> with a single purchase.</p>
|
82 |
+
<a href="https://www.wponlinesupport.com/pricing/?ref=WposPratik" class="wpos-button" target="_blank">View Pricing Options</a></td>
|
83 |
+
</tr>
|
84 |
+
</tfoot>
|
85 |
+
<tbody>
|
86 |
+
<tr>
|
87 |
+
<th>Create Unlimited Popups <span>Create and manage as many popups as you want</span></th>
|
88 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
89 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
90 |
+
</tr>
|
91 |
+
<tr>
|
92 |
+
<th>Customize Popup <span>Customize the look and feel of the popup</span></th>
|
93 |
+
<td>Limited</td>
|
94 |
+
<td>More Options</td>
|
95 |
+
</tr>
|
96 |
+
<tr>
|
97 |
+
<th>WP Templating Features <span class="subtext">You can modify plugin html/designs in your current theme.</span></th>
|
98 |
+
<td><i class="dashicons dashicons-no-alt"> </i></td>
|
99 |
+
<td><i class="dashicons dashicons-yes"> </i></td>
|
100 |
+
</tr>
|
101 |
+
<tr>
|
102 |
+
<th>Animation Effects <span>Set custom animation effects for popup</span></th>
|
103 |
+
<td>15 effects</td>
|
104 |
+
<td>17 effects</td>
|
105 |
+
</tr>
|
106 |
+
<tr>
|
107 |
+
<th>Popup Location <span>Set popup location on the screen</span></th>
|
108 |
+
<td>Limited</td>
|
109 |
+
<td>9 Locations</td>
|
110 |
+
</tr>
|
111 |
+
<tr>
|
112 |
+
<th>Full Screen Popup<span> Set popup full screen on the screen</span></th>
|
113 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
114 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
115 |
+
</tr>
|
116 |
+
<tr>
|
117 |
+
<th>Customize Button Style <span>Customize button style with custom css as per your need. </span></th>
|
118 |
+
<td><i class="dashicons dashicons-no-alt"></i></td>
|
119 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
120 |
+
</tr>
|
121 |
+
<tr>
|
122 |
+
<th>Popup width <span>Customize popup width during creating a popup. </span></th>
|
123 |
+
<td><i class="dashicons dashicons-no-alt"></i></td>
|
124 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
125 |
+
</tr>
|
126 |
+
<tr>
|
127 |
+
<th>Popup Overlay Color <span>Customize popup overlay color </span></th>
|
128 |
+
<td><i class="dashicons dashicons-no-alt"></i></td>
|
129 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
130 |
+
</tr>
|
131 |
+
<tr>
|
132 |
+
<th>Popup Overlay Opacity <span>Customize popup overlay opacity</span></th>
|
133 |
+
<td><i class="dashicons dashicons-no-alt"></i></td>
|
134 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
135 |
+
</tr>
|
136 |
+
<tr>
|
137 |
+
<th>Loader Color <span>Customize popup loader color</span></th>
|
138 |
+
<td><i class="dashicons dashicons-no-alt"></i></td>
|
139 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
140 |
+
</tr>
|
141 |
+
<tr>
|
142 |
+
<th>Loader Speed <span>Set loader speed as you want</span></th>
|
143 |
+
<td><i class="dashicons dashicons-no-alt"></i></td>
|
144 |
+
<td><i class="dashicons dashicons-yes"></i></td>
|
145 |
+
</tr>
|
146 |
+
<tr>
|
147 |
+
<th>Support <span>Get support for plugin</span></th>
|
148 |
+
<td>Limited</td>
|
149 |
+
<td>1 Year</td>
|
150 |
+
</tr>
|
151 |
+
</tbody>
|
152 |
+
</table>
|
153 |
+
</div>
|
includes/shortcode/popupaoc-popup-shortcode.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php
|
2 |
* 'popup_anything' Shortcode
|
3 |
*
|
4 |
* @package Popup anything on click
|
5 |
* @since 1.0.0
|
6 |
*/
|
|
|
7 |
* 'popup_anything' Shortcode
|
8 |
*
|
9 |
* @package Popup anything on click
|
10 |
* @since 1.0.0
|
11 |
*/
|
|
|
1 |
* 'popup_anything' Shortcode
|
2 |
*
|
3 |
* @package Popup anything on click
|
4 |
* @since 1.0.0
|
5 |
*/
|
6 |
+
<?php
|
7 |
* 'popup_anything' Shortcode
|
8 |
*
|
9 |
* @package Popup anything on click
|
10 |
* @since 1.0.0
|
11 |
*/
|
popup-anything-on-click.php
CHANGED
@@ -1,24 +1,23 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
* Plugin Name: Popup anything on click
|
4 |
* Plugin URI: https://www.wponlinesupport.com/plugins
|
5 |
* Text Domain: popup-anything-on-click
|
6 |
-
* Description: Display a modal popup by clicking on a link, image or button
|
7 |
* Domain Path: /languages/
|
8 |
-
* Version: 1.
|
9 |
-
* Author: WP
|
10 |
* Author URI: https://www.wponlinesupport.com
|
11 |
-
* Contributors: WP Online Support
|
12 |
*/
|
13 |
|
14 |
if( !defined( 'POPUPAOC_VERSION' ) ) {
|
15 |
-
define( 'POPUPAOC_VERSION', '1.
|
16 |
}
|
17 |
if( !defined( 'POPUPAOC_DIR' ) ) {
|
18 |
-
|
19 |
}
|
20 |
if( !defined( 'POPUPAOC_URL' ) ) {
|
21 |
-
|
22 |
}
|
23 |
if( !defined( 'POPUPAOC_PLUGIN_BASENAME' ) ) {
|
24 |
define( 'POPUPAOC_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); // plugin base name
|
@@ -42,6 +41,41 @@ function popupaoc_load_textdomain() {
|
|
42 |
load_plugin_textdomain( 'popup-anything-on-click', false, dirname( plugin_basename(__FILE__) ) . '/languages/' );
|
43 |
}
|
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
// Funcions File
|
46 |
require_once( POPUPAOC_DIR .'/includes/popupaoc-functions.php' );
|
47 |
|
@@ -55,4 +89,43 @@ require_once( POPUPAOC_DIR . '/includes/class-popupaoc-script.php' );
|
|
55 |
require_once( POPUPAOC_DIR . '/includes/admin/class-popupaoc-admin.php' );
|
56 |
|
57 |
// Shortcode file
|
58 |
-
require_once( POPUPAOC_DIR . '/includes/shortcode/popupaoc-popup-shortcode.php' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
/**
|
3 |
* Plugin Name: Popup anything on click
|
4 |
* Plugin URI: https://www.wponlinesupport.com/plugins
|
5 |
* Text Domain: popup-anything-on-click
|
6 |
+
* Description: Display a modal popup by clicking on a link, image or button. Also work with Gutenberg shortcode block.
|
7 |
* Domain Path: /languages/
|
8 |
+
* Version: 1.4.3
|
9 |
+
* Author: WP OnlineSupport
|
10 |
* Author URI: https://www.wponlinesupport.com
|
|
|
11 |
*/
|
12 |
|
13 |
if( !defined( 'POPUPAOC_VERSION' ) ) {
|
14 |
+
define( 'POPUPAOC_VERSION', '1.4.3' ); // Version of plugin
|
15 |
}
|
16 |
if( !defined( 'POPUPAOC_DIR' ) ) {
|
17 |
+
define( 'POPUPAOC_DIR', dirname( __FILE__ ) ); // Plugin dir
|
18 |
}
|
19 |
if( !defined( 'POPUPAOC_URL' ) ) {
|
20 |
+
define( 'POPUPAOC_URL', plugin_dir_url( __FILE__ )); // Plugin url
|
21 |
}
|
22 |
if( !defined( 'POPUPAOC_PLUGIN_BASENAME' ) ) {
|
23 |
define( 'POPUPAOC_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); // plugin base name
|
41 |
load_plugin_textdomain( 'popup-anything-on-click', false, dirname( plugin_basename(__FILE__) ) . '/languages/' );
|
42 |
}
|
43 |
|
44 |
+
|
45 |
+
register_activation_hook( __FILE__, 'popupaoc_install' );
|
46 |
+
function popupaoc_install() {
|
47 |
+
if( is_plugin_active('popup-anything-on-click-pro/popup-anything-on-click-pro.php') ) {
|
48 |
+
add_action('update_option_active_plugins', 'popupaoc_deactivate_pro_version');
|
49 |
+
}
|
50 |
+
}
|
51 |
+
|
52 |
+
function popupaoc_deactivate_pro_version() {
|
53 |
+
deactivate_plugins('popup-anything-on-click-pro/popup-anything-on-click-pro.php',true);
|
54 |
+
}
|
55 |
+
|
56 |
+
add_action( 'admin_notices', 'popupaoc_plugin_admin_notice');
|
57 |
+
function popupaoc_plugin_admin_notice() {
|
58 |
+
|
59 |
+
global $pagenow;
|
60 |
+
|
61 |
+
$dir = WP_PLUGIN_DIR . '/popup-anything-on-click-pro/popup-anything-on-click-pro.php';
|
62 |
+
$notice_link = add_query_arg( array('message' => 'popupaoc-plugin-notice'), admin_url('plugins.php') );
|
63 |
+
$notice_transient = get_transient( 'popupaoc_install_notice' );
|
64 |
+
|
65 |
+
if( $notice_transient == false && $pagenow == 'plugins.php' && file_exists( $dir ) && current_user_can( 'install_plugins' ) ) {
|
66 |
+
echo '<div class="updated notice" style="position:relative;">
|
67 |
+
<p>
|
68 |
+
<strong>'.sprintf( __('Thank you for activating %s', 'popup-anything-on-click'), 'Popup anything on click').'</strong>.<br/>
|
69 |
+
'.sprintf( __('It looks like you had PRO version %s of this plugin activated. To avoid conflicts the extra version has been deactivated and we recommend you delete it.', 'popup-anything-on-click'), '<strong>(<em>Popup anything on click PRO</em>)</strong>' ).'
|
70 |
+
</p>
|
71 |
+
<a href="'.esc_url( $notice_link ).'" class="notice-dismiss" style="text-decoration:none;"></a>
|
72 |
+
</div>';
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
// Taking some global variable
|
77 |
+
global $paoc_popup_data;
|
78 |
+
|
79 |
// Funcions File
|
80 |
require_once( POPUPAOC_DIR .'/includes/popupaoc-functions.php' );
|
81 |
|
89 |
require_once( POPUPAOC_DIR . '/includes/admin/class-popupaoc-admin.php' );
|
90 |
|
91 |
// Shortcode file
|
92 |
+
require_once( POPUPAOC_DIR . '/includes/shortcode/popupaoc-popup-shortcode.php' );
|
93 |
+
|
94 |
+
// Public File
|
95 |
+
require_once( POPUPAOC_DIR . '/includes/class-paoc-public.php' );
|
96 |
+
|
97 |
+
/* Plugin Wpos Analytics Data Starts */
|
98 |
+
function wpos_analytics_anl32_load() {
|
99 |
+
|
100 |
+
require_once dirname( __FILE__ ) . '/wpos-analytics/wpos-analytics.php';
|
101 |
+
|
102 |
+
$wpos_analytics = wpos_anylc_init_module( array(
|
103 |
+
'id' => 32,
|
104 |
+
'file' => plugin_basename( __FILE__ ),
|
105 |
+
'name' => 'Popup anything on click',
|
106 |
+
'slug' => 'popup-anything-on-click',
|
107 |
+
'type' => 'plugin',
|
108 |
+
'menu' => 'edit.php?post_type=aoc_popup',
|
109 |
+
'text_domain' => 'popup-anything-on-click',
|
110 |
+
'promotion' => array(
|
111 |
+
'bundle' => array(
|
112 |
+
'name' => 'Download FREE 50+ Plugins, 10+ Themes and Dashboard Plugin',
|
113 |
+
'desc' => 'Download FREE 50+ Plugins, 10+ Themes and Dashboard Plugin',
|
114 |
+
'file' => 'https://www.wponlinesupport.com/latest/wpos-free-50-plugins-plus-12-themes.zip'
|
115 |
+
)
|
116 |
+
),
|
117 |
+
'offers' => array(
|
118 |
+
'trial_premium' => array(
|
119 |
+
'image' => 'http://analytics.wponlinesupport.com/?anylc_img=32',
|
120 |
+
'link' => 'http://analytics.wponlinesupport.com/?anylc_redirect=32',
|
121 |
+
'desc' => 'Or start using the plugin from admin menu',
|
122 |
+
)
|
123 |
+
),
|
124 |
+
));
|
125 |
+
|
126 |
+
return $wpos_analytics;
|
127 |
+
}
|
128 |
+
|
129 |
+
// Init Analytics
|
130 |
+
wpos_analytics_anl32_load();
|
131 |
+
/* Plugin Wpos Analytics Data Ends */
|
readme.txt
CHANGED
@@ -1,28 +1,47 @@
|
|
1 |
=== Popup anything on click ===
|
2 |
-
|
3 |
-
|
4 |
-
Requires at least:
|
5 |
-
Tested up to:
|
6 |
Stable tag: trunk
|
7 |
License: GPLv3
|
8 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
10 |
-
Display a modal popup by clicking on a link, image or button
|
11 |
|
12 |
== Description ==
|
13 |
-
Popup anything by clicking on a
|
14 |
|
15 |
-
|
|
|
|
|
16 |
|
17 |
-
|
18 |
|
19 |
-
|
20 |
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
= Features =
|
|
|
24 |
* Create and manage as many popups as you want
|
25 |
* Customize the look and feel of the popup
|
|
|
|
|
26 |
* Set custom animation effects (Fadein, Slide, Fall, Flip, Blur, Rotate etc)
|
27 |
* Customize popup animation effect
|
28 |
* Set popup location on the screen
|
@@ -35,34 +54,96 @@ This plugin enable awesome popup in your WordPress website using short codes. Wi
|
|
35 |
= How to install (Video) : =
|
36 |
[youtube https://www.youtube.com/watch?v=Df94DWdmCik]
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
== Installation ==
|
39 |
|
40 |
1. Upload the 'popup-anything-on-click' folder to the '/wp-content/plugins/' directory.
|
41 |
2. Activate the "popup-anything-on-click" list plugin through the 'Plugins' menu in WordPress.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
|
43 |
== Screenshots ==
|
44 |
|
45 |
1. How to add create a popup and add content and shortcode
|
46 |
2. Settings
|
47 |
3. Popup Effects
|
48 |
-
|
49 |
|
50 |
|
51 |
== Changelog ==
|
52 |
|
53 |
-
= 1.
|
54 |
-
*
|
|
|
55 |
|
56 |
-
= 1.
|
57 |
-
*
|
58 |
|
59 |
-
= 1.
|
60 |
-
*
|
61 |
|
62 |
-
= 1.
|
63 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
-
|
|
|
66 |
|
67 |
= 1.1.3 (12-7-2017) =
|
68 |
* Fixed popup overlay and loader TRUE and FALSE issue
|
1 |
=== Popup anything on click ===
|
2 |
+
Contributors: wponlinesupport, anoopranawat, pratik-jain
|
3 |
+
Tags: modal popup, popup, modal, full screen popup, html popup, image popup, popup on click, modal popup on click, full screen popup on click, on click popup,
|
4 |
+
Requires at least: 4.0
|
5 |
+
Tested up to: 5.3
|
6 |
Stable tag: trunk
|
7 |
License: GPLv3
|
8 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
10 |
+
Display a modal popup by clicking on a link, image or button. Also work with Gutenberg shortcode block.
|
11 |
|
12 |
== Description ==
|
13 |
+
Popup anything by **clicking on a**
|
14 |
|
15 |
+
* Link,
|
16 |
+
* Image or
|
17 |
+
* Button
|
18 |
|
19 |
+
Manage powerful modal popups for your WordPress blog or website. You can add unlimited popups with your own configurations.
|
20 |
|
21 |
+
Check [Demo and Features](https://www.wponlinesupport.com/wp-plugin/popup-anything-click/) for additional information.
|
22 |
|
23 |
+
Popup anything on click is a modal popup plugin for WordPress website that allows you to add highly customizable popup windows. Set Popup position ie center, top left, top right, bottom left, bottom right, center left and center right.
|
24 |
+
|
25 |
+
This plugin enable awesome popup in your WordPress website using short codes. With Popup anything on click plugin you can insert any type of content into your Popup (HTML, Image, Shortcodes etc). Insert your popup shortcode into any page or a post, easily and fast.
|
26 |
+
|
27 |
+
**Also work with Gutenberg shortcode block.**
|
28 |
+
|
29 |
+
= Shortcode Example =
|
30 |
+
|
31 |
+
<code>[popup_anything id="XX"]</code>
|
32 |
+
|
33 |
+
Where XX is popup id.
|
34 |
+
|
35 |
+
You can also display popup in template/php file:
|
36 |
+
|
37 |
+
<code><?php echo do_shortcode('[popup_anything id="XX"]'); ?></code>
|
38 |
|
39 |
= Features =
|
40 |
+
* Set Popup position ie center, top left, top right, bottom left, bottom right, center left and center right.
|
41 |
* Create and manage as many popups as you want
|
42 |
* Customize the look and feel of the popup
|
43 |
+
* Work well with contact form plugins
|
44 |
+
* Display shortcode output in the popup
|
45 |
* Set custom animation effects (Fadein, Slide, Fall, Flip, Blur, Rotate etc)
|
46 |
* Customize popup animation effect
|
47 |
* Set popup location on the screen
|
54 |
= How to install (Video) : =
|
55 |
[youtube https://www.youtube.com/watch?v=Df94DWdmCik]
|
56 |
|
57 |
+
= PRO Features Include : =
|
58 |
+
> <strong>Premium Version</strong><br>
|
59 |
+
>
|
60 |
+
> * 17 Effect.
|
61 |
+
> * Popup background color and font color.
|
62 |
+
> * Popup background image.
|
63 |
+
> * Customize popup width.
|
64 |
+
> * Customize popup overlay color.
|
65 |
+
> * Customize popup overlay opacity.
|
66 |
+
> * Customize popup loader color.
|
67 |
+
> * Set loader speed as you want
|
68 |
+
> * Set Background Image and color.
|
69 |
+
>
|
70 |
+
> View [PRO DEMO and Features](https://www.wponlinesupport.com/wp-plugin/popup-anything-click/) for additional information.
|
71 |
+
>
|
72 |
+
|
73 |
+
= Privacy & Policy =
|
74 |
+
* 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.
|
75 |
+
|
76 |
== Installation ==
|
77 |
|
78 |
1. Upload the 'popup-anything-on-click' folder to the '/wp-content/plugins/' directory.
|
79 |
2. Activate the "popup-anything-on-click" list plugin through the 'Plugins' menu in WordPress.
|
80 |
+
3. Check the Popup Anything Menu button and start adding popups.
|
81 |
+
|
82 |
+
== Frequently Asked Questions ==
|
83 |
+
|
84 |
+
= How to enable/disable Gutenberg editor support for Popup Anything? =
|
85 |
+
|
86 |
+
Just add this code in your theme function.php file to enable/disable Gutenberg editor support for Popup Anything :
|
87 |
+
|
88 |
+
<code>
|
89 |
+
function prefix_gutenberg_editor_support($popupaoc_args){
|
90 |
+
$popupaoc_args['show_in_rest'] = true;
|
91 |
+
return $popupaoc_args;
|
92 |
+
}
|
93 |
+
add_filter( 'popupaoc_registered_post_type_args', 'prefix_gutenberg_editor_support' );
|
94 |
+
</code>
|
95 |
+
|
96 |
|
97 |
== Screenshots ==
|
98 |
|
99 |
1. How to add create a popup and add content and shortcode
|
100 |
2. Settings
|
101 |
3. Popup Effects
|
102 |
+
4. Also work with Gutenberg shortcode block.
|
103 |
|
104 |
|
105 |
== Changelog ==
|
106 |
|
107 |
+
= 1.4.3 (21, Aug 2019) =
|
108 |
+
* [*] Tested : Tested with Gutenberg blocks.
|
109 |
+
* [*] To enable/disable Gutenberg editor support for popup anything plugin, please check "FAQ" section of the plugin under "Details" Tab : How to enable/disable Gutenberg editor support for Popup Anything?
|
110 |
|
111 |
+
= 1.4.2 (12, Feb 2019) =
|
112 |
+
* [*] Minor change in Opt-in flow.
|
113 |
|
114 |
+
= 1.4.1 (25, Dec 2018) =
|
115 |
+
* [*] Update Opt-in flow.
|
116 |
|
117 |
+
= 1.4 (06, Dec 2018) =
|
118 |
+
* [*] Tested with WordPress 5.0 and Gutenberg.
|
119 |
+
* [*] Tested with Twenty Nineteen theme.
|
120 |
+
* [*] Fixed some CSS issues.
|
121 |
+
|
122 |
+
= 1.3 (24, Sep 2018) =
|
123 |
+
* [+] Added alt tag for Link type image.
|
124 |
+
* [*] Fixed issue when uploaded a large size image for Link type image.
|
125 |
+
|
126 |
+
= 1.2.2 (07, June 2018) =
|
127 |
+
* [*] Follow some WordPress Detailed Plugin Guidelines.
|
128 |
+
|
129 |
+
= 1.2.1 (08-05-2018) =
|
130 |
+
* Fixed : Fixed some css issues.
|
131 |
+
|
132 |
+
= 1.2 (10-3-2018) =
|
133 |
+
* Fixed : Fixed some css issues
|
134 |
+
|
135 |
+
= 1.1.6 (28-2-2018) =
|
136 |
+
* Fixed : Popup display issue if large content added in the popup.
|
137 |
+
* Fixed : Aligning the button or simple text to appear next to a word or sentence, rather than it appearing on the next line.
|
138 |
+
* Changed : Change close button image
|
139 |
+
* Fixed : Some issues has been fixed
|
140 |
+
* Fixed : Work with any third party plugin shortcode.
|
141 |
+
|
142 |
+
= 1.1.5 (24-1-2018) =
|
143 |
+
* Thanks to @amugereki for showing us all the bug. Fixed popup display issue if large content added in the popup (Updated)
|
144 |
|
145 |
+
= 1.1.4 (22-1-2018) =
|
146 |
+
* Fixed popup display issue if large content added in the popup
|
147 |
|
148 |
= 1.1.3 (12-7-2017) =
|
149 |
* Fixed popup overlay and loader TRUE and FALSE issue
|
wpos-analytics/assets/css/wpos-anylc-admin.css
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.wpos-anylc-clearfix:before, .wpos-anylc-clearfix:after{content: ""; display: table;}
|
2 |
+
.wpos-anylc-clearfix::after{clear: both;}
|
3 |
+
.wpos-anylc-optin-wrap *{box-sizing:border-box; outline:0;}
|
4 |
+
.wpos-anylc-hide{display:none;}
|
5 |
+
.wpos-anylc-optin-wrap .button{border-radius:0;}
|
6 |
+
.wpos-anylc-optin-wrap{max-width: 480px; width: 100%; border:1px solid #ddd; background-color: #fff;}
|
7 |
+
.wpos-anylc-optin-icon-wrap{font-size:0; padding: 15px;}
|
8 |
+
.wpos-anylc-optin-icon{width: 20%; display:inline-block; vertical-align:middle; border:1px solid #ddd; padding:2px; max-height:84px; height:100%; text-align:center;}
|
9 |
+
.wpos-anylc-optin-plus{width: 20%; display:inline-block; vertical-align:middle; text-align:center;}
|
10 |
+
.wpos-anylc-optin-icon img{max-height: 78px; max-width:100%; width: 100%; display: block;}
|
11 |
+
.wpos-anylc-optin-plus .dashicons-plus{color:#999; height:auto; width:auto; font-size:26px;}
|
12 |
+
.wpos-anylc-wp-badge i{height:100%; width:100%; line-height:normal; font-size:60px; line-height: 78px; background-color:#0073aa; color: #fff;}
|
13 |
+
.wpos-anylc-optin-cnt{padding: 0 15px 15px 15px; line-height: 24px; font-size: 15px;}
|
14 |
+
.wpos-anylc-optin-cnt p{line-height: 24px; font-size: 15px;}
|
15 |
+
.wpos-anylc-subs-wrap, .wpos-anylc-promotion-wrap{margin:10px 0; font-size:14px; font-weight:600;}
|
16 |
+
.wpos-anylc-optin-action{background-color:#C0C7CA; padding: 15px 15px;}
|
17 |
+
.wpos-anylc-optin-action .button{height: auto !important; padding: 2px 12px !important; font-size: 15px; font-weight: 600;}
|
18 |
+
.wpos-anylc-optin-permission{padding: 10px 15px; text-align:center; font-size: 12px;}
|
19 |
+
.wpos-anylc-terms{padding: 5px 15px; text-align:center; background-color:#e5e5e5; font-size: 11px; color: #999;}
|
20 |
+
.wpos-anylc-terms a{color: #999;}
|
21 |
+
.wpos-anylc-optin-permission a, .wpos-anylc-terms a{text-decoration:none; box-shadow:none;}
|
22 |
+
.wpos-anylc-optin-permission a{display:block;}
|
23 |
+
.wpos-anylc-permission{margin: 15px 0 15px 0; text-align: left;}
|
24 |
+
.wpos-anylc-permission i{height: auto; width: auto; font-size: 40px;}
|
25 |
+
.wpos-anylc-permission > div{display: inline-block; margin: 0 0 0 10px; line-height: 21px;}
|
26 |
+
.wpos-anylc-permission .wpos-anylc-permission-name{display: block; font-weight: 600; font-size: 14px;}
|
27 |
+
.wpos-anylc-permission .wpos-anylc-permission-info{display: block;}
|
28 |
+
.button.wpos-anylc-btn{height: auto !important; padding: 2px 12px !important; font-size:15px; font-weight:600; height:auto !important; padding: 2px 12px !important; font-size:15px; font-weight:600; border-radius:0;}
|
29 |
+
.wpos-anylc-notice{position: relative;}
|
30 |
+
.wpos-anylc-notice .notice-dismiss{text-decoration:none;}
|
31 |
+
.wpos-anylc-center{text-align:center;}
|
32 |
+
|
33 |
+
/* Popup CSS */
|
34 |
+
.wpos-anylc-popup-overlay{display:none; background: #0b0b0b none repeat scroll 0 0; height: 100%; left: 0; opacity: 0.8; overflow: hidden; position: fixed; top: 0; width: 100%; z-index: 9995;}
|
35 |
+
.wpos-anylc-popup-wrp{height: 100%; left: 0; outline: 0 none !important; position: fixed; top: 0; width: 100%; z-index: 9996; overflow:auto;}
|
36 |
+
.wpos-anylc-popup-block{background: #fff none repeat scroll 0 0; margin: 50px auto; max-width: 650px; position: relative; text-align: left; top:5%; min-height:65px;}
|
37 |
+
.wpos-anylc-popup-body .wpos-anylc-popup-heading{font-size: 21px; font-weight: 600;}
|
38 |
+
.wpos-anylc-popup-header{padding: 20px; font-size: 18px; font-weight: 600; color: #666; border-bottom: 1px solid #e7e7e7;}
|
39 |
+
.wpos-anylc-popup-body{padding:20px;}
|
40 |
+
.wpos-anylc-popup-body p{margin:0 0 1em 0; font-size: 15px;}
|
41 |
+
.wpos-anylc-popup-body p:last-child{margin:0;}
|
42 |
+
.wpos-anylc-popup-footer{padding:20px; text-align:right;}
|
43 |
+
.wpos-anylc-no-overflow{overflow:hidden;}
|
44 |
+
.wpos-anylc-popup-title{background-color: #0073aa; color: #fff; font-size: 20px; padding: 10px 20px; line-height:normal;}
|
45 |
+
|
46 |
+
/* Offers Page */
|
47 |
+
.wpos-anylc-offer-wrap{border:1px solid #ccc; padding:15px; max-width: 800px; background-color:#fff; margin:0 0 30px 0;}
|
48 |
+
.wpos-anylc-offer-wrap img{max-height:100%; max-width:100%; height:auto; width:auto;}
|
49 |
+
.wpos-anylc-offer-wrap .wpos-anylc-offer-title{font-size: 22px; line-height: normal; font-weight: 600; padding: 0 0 10px 0; border-bottom: 1px solid #ddd; margin: 0 0 10px 0;}
|
50 |
+
.wpos-anylc-offer-wrap .wpos-anylc-offer-body{margin-bottom: 10px;}
|
51 |
+
.wpos-anylc-offer-wrap .wpos-anylc-offer-desc p{font-size: 16px;}
|
52 |
+
.wpos-anylc-offer-wrap a:focus, .wpos-anylc-offer-wrap a:active, .wpos-anylc-offer-wrap a:hover{box-shadow:none; outline:none;}
|
53 |
+
|
54 |
+
@media only screen and (max-width:320px) {
|
55 |
+
.wpos-anylc-optin-icon{max-height: 56px;}
|
56 |
+
.wpos-anylc-wp-badge i{font-size: 35px; line-height: 50px;}
|
57 |
+
}
|
wpos-analytics/assets/images/icon.png
ADDED
Binary file
|
wpos-analytics/assets/images/wpos-logo.png
ADDED
Binary file
|
wpos-analytics/assets/js/wpos-anylc-admin.js
ADDED
@@ -0,0 +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 |
+
}
|
wpos-analytics/includes/class-anylc-admin.php
ADDED
@@ -0,0 +1,477 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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'] ) ? $_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'] ) ? $_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'] ) ? str_replace('-offers', '', $_GET['page']) : null;
|
187 |
+
|
188 |
+
// if no data is set then return
|
189 |
+
if( ! isset( $wpos_analytics_product[ $anylc_product_name ] ) ) {
|
190 |
+
return;
|
191 |
+
}
|
192 |
+
|
193 |
+
// Taking soem data
|
194 |
+
$analy_product = $wpos_analytics_product[ $anylc_product_name ];
|
195 |
+
$opt_in_data = wpos_anylc_get_option( $analy_product['anylc_optin'] );
|
196 |
+
$opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
|
197 |
+
|
198 |
+
include_once( WPOS_ANYLC_DIR .'/templates/offers.php' );
|
199 |
+
}
|
200 |
+
|
201 |
+
/**
|
202 |
+
* Add Action links
|
203 |
+
*
|
204 |
+
* @package Wpos Analytic
|
205 |
+
* @since 1.0
|
206 |
+
*/
|
207 |
+
function wpos_anylc_add_action_links( $actions, $plugin_file, $plugin_data, $context ) {
|
208 |
+
|
209 |
+
global $wpos_analytics_module;
|
210 |
+
|
211 |
+
// Taking some data
|
212 |
+
$module_data = !empty( $wpos_analytics_module[ $plugin_file ] ) ? $wpos_analytics_module[ $plugin_file ] : '';
|
213 |
+
|
214 |
+
// If analytics module data is there
|
215 |
+
if( $module_data ) {
|
216 |
+
|
217 |
+
$opt_in_data = wpos_anylc_get_option( $module_data['anylc_optin'] );
|
218 |
+
$opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
|
219 |
+
|
220 |
+
// If user has opt in
|
221 |
+
if( $opt_in == 1 ) {
|
222 |
+
|
223 |
+
$new_links['wpos_anylc'] = '<a href="#" class="wpos-anylc-opt-out-link" data-id="'.$module_data['id'].'">'.__('Opt Out', 'wpos_analytic').'</a>';
|
224 |
+
|
225 |
+
} else {
|
226 |
+
|
227 |
+
$opt_in_link = wpos_anylc_optin_url( $module_data, $opt_in );
|
228 |
+
|
229 |
+
$new_links['wpos_anylc'] = '<a href="'.esc_url( $opt_in_link ).'" class="wpos-anylc-opt-in-link">'.__('Opt In', 'wpos_analytic').'</a>';
|
230 |
+
}
|
231 |
+
|
232 |
+
$actions = array_merge( $new_links, $actions );
|
233 |
+
}
|
234 |
+
return $actions;
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* Redirect plugin / theme on activation to its opt in menu
|
239 |
+
*
|
240 |
+
* @package Wpos Analytic
|
241 |
+
* @since 1.0
|
242 |
+
*/
|
243 |
+
function wpos_anylc_admin_init_process() {
|
244 |
+
|
245 |
+
// If license notice is dismissed
|
246 |
+
if( isset($_GET['message']) && $_GET['message'] == 'wpos-anylc-dismiss-notice' && !empty( $_GET['anylc_id'] ) ) {
|
247 |
+
set_transient( 'wpos_anylc_optin_notice_'.$_GET['anylc_id'], true, 172800 );
|
248 |
+
}
|
249 |
+
|
250 |
+
$redirect = get_option('wpos_anylc_redirect');
|
251 |
+
|
252 |
+
// return if no activation redirect
|
253 |
+
if ( ! $redirect ) {
|
254 |
+
return;
|
255 |
+
}
|
256 |
+
|
257 |
+
// Flush the redirect transient
|
258 |
+
update_option( 'wpos_anylc_redirect', '' );
|
259 |
+
|
260 |
+
// Redirect to about page
|
261 |
+
wp_safe_redirect( $redirect );
|
262 |
+
exit;
|
263 |
+
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* Display Analytic Optin notice
|
267 |
+
*
|
268 |
+
* @package Wpos Analytic
|
269 |
+
* @since 1.0
|
270 |
+
*/
|
271 |
+
function wpos_anylc_optin_notice() {
|
272 |
+
|
273 |
+
global $current_screen, $wpos_analytics_module, $wpos_analytics_product;
|
274 |
+
|
275 |
+
// Taking some variables
|
276 |
+
$screen_id = isset( $current_screen->id ) ? $current_screen->id : '';
|
277 |
+
|
278 |
+
// Plugin action links
|
279 |
+
if( $screen_id == 'dashboard' && current_user_can('manage_options') && !empty( $wpos_analytics_module ) ) {
|
280 |
+
foreach ($wpos_analytics_module as $module_key => $module) {
|
281 |
+
|
282 |
+
$anylc_pdt_id = $module['id'];
|
283 |
+
$notice_transient = get_transient( 'wpos_anylc_optin_notice_'.$anylc_pdt_id );
|
284 |
+
|
285 |
+
if( $notice_transient == false ) {
|
286 |
+
|
287 |
+
$opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
|
288 |
+
$opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1;
|
289 |
+
$notice_link = add_query_arg( array('message' => 'wpos-anylc-dismiss-notice', 'anylc_id' => $anylc_pdt_id), admin_url('index.php') );
|
290 |
+
|
291 |
+
// If user has opt in
|
292 |
+
if( $opt_in == -1 ) {
|
293 |
+
|
294 |
+
$anylc_pdt_name = $module['name'];
|
295 |
+
$anylc_optin_url = wpos_anylc_optin_url( $module, $opt_in );
|
296 |
+
|
297 |
+
echo '<div class="updated notice wpos-anylc-notice wpos-anylc-optin-notice">
|
298 |
+
<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>
|
299 |
+
<a href="'.esc_url( $notice_link ).'" class="notice-dismiss"></a>
|
300 |
+
</div>';
|
301 |
+
}
|
302 |
+
}
|
303 |
+
}
|
304 |
+
} // End of if
|
305 |
+
|
306 |
+
if( isset($_GET['message']) && $_GET['message'] == 'optout_success' ) {
|
307 |
+
echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible">
|
308 |
+
<p><strong>Sorry to let you go. You are now opted out from the plugin.</strong></p>
|
309 |
+
</div>';
|
310 |
+
}
|
311 |
+
|
312 |
+
// Process Promotion Data
|
313 |
+
if( !empty($_GET['message']) && $_GET['message'] == 'wpos_anylc_promotion' && !empty($_GET['wpos_anylc_pdt']) && !empty($_GET['wpos_anylc_promo_pdt']) ) {
|
314 |
+
|
315 |
+
$promotion = 1;
|
316 |
+
$promotion_pdt = explode( ',', $_GET['wpos_anylc_promo_pdt'] );
|
317 |
+
|
318 |
+
$anylc_pdt = $_GET['wpos_anylc_pdt'];
|
319 |
+
$anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
|
320 |
+
|
321 |
+
if( !empty($promotion_pdt) ) {
|
322 |
+
foreach ($promotion_pdt as $pdt_key => $pdt) {
|
323 |
+
if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
|
324 |
+
$promotion_pdt_data[] = '<a href="'.$anylc_pdt_data['promotion'][$pdt]['file'].'">'.$anylc_pdt_data['promotion'][$pdt]['name'].'</a>';
|
325 |
+
}
|
326 |
+
}
|
327 |
+
}
|
328 |
+
|
329 |
+
if( $promotion_pdt_data ) {
|
330 |
+
echo '<div class="updated notice wpos-anylc-optin-notice is-dismissible" style="display:block !important;">
|
331 |
+
<p><strong>Your Download has been started. In case if it is intrupted then download it from here. '.join(' | ', $promotion_pdt_data).'</strong></p>
|
332 |
+
</div>';
|
333 |
+
}
|
334 |
+
}
|
335 |
+
}
|
336 |
+
|
337 |
+
/**
|
338 |
+
* Analytic Optout Popup HTML
|
339 |
+
*
|
340 |
+
* @package Wpos Analytic
|
341 |
+
* @since 1.0
|
342 |
+
*/
|
343 |
+
function wpos_anylc_optout_popup() {
|
344 |
+
|
345 |
+
global $pagenow, $wpos_analytics_module;
|
346 |
+
|
347 |
+
if( $pagenow == 'plugins.php' && !empty( $wpos_analytics_module ) ) {
|
348 |
+
foreach ($wpos_analytics_module as $module_key => $module) {
|
349 |
+
|
350 |
+
$opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] );
|
351 |
+
$opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : false;
|
352 |
+
|
353 |
+
// If user has opt in
|
354 |
+
if( $opt_in == 1 ) {
|
355 |
+
|
356 |
+
$opt_out_link = wpos_anylc_optout_url( $module, $opt_in );
|
357 |
+
|
358 |
+
include( WPOS_ANYLC_DIR .'/templates/optout-popup.php' );
|
359 |
+
}
|
360 |
+
}
|
361 |
+
}
|
362 |
+
}
|
363 |
+
|
364 |
+
/**
|
365 |
+
* Analytic Action Process
|
366 |
+
*
|
367 |
+
* @package Wpos Analytic
|
368 |
+
* @since 1.0
|
369 |
+
*/
|
370 |
+
function wpos_anylc_action_process() {
|
371 |
+
|
372 |
+
// Skip if not admin area
|
373 |
+
if ( !is_admin() ) {
|
374 |
+
return false;
|
375 |
+
}
|
376 |
+
|
377 |
+
if( !empty($_GET['wpos_anylc_action']) && isset($_GET['_wpnonce']) ) {
|
378 |
+
|
379 |
+
global $wpos_analytics_product;
|
380 |
+
|
381 |
+
$anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? $_GET['wpos_anylc_pdt'] : '';
|
382 |
+
$anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? $_GET['page'] : $anylc_pdt;
|
383 |
+
$anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
|
384 |
+
|
385 |
+
// If valid product data found
|
386 |
+
if( $anylc_pdt_data ) {
|
387 |
+
|
388 |
+
// Process Optin
|
389 |
+
if( $_GET['wpos_anylc_action'] == 'optin' ) {
|
390 |
+
|
391 |
+
// Verify nonce
|
392 |
+
if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
|
393 |
+
wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
|
394 |
+
}
|
395 |
+
|
396 |
+
$opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 1) );
|
397 |
+
|
398 |
+
// Redirect to original menu
|
399 |
+
$redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer-promotion' );
|
400 |
+
if( $redirect_url ) {
|
401 |
+
wp_redirect( $redirect_url );
|
402 |
+
exit;
|
403 |
+
}
|
404 |
+
}
|
405 |
+
|
406 |
+
|
407 |
+
// Process Skip
|
408 |
+
if( $_GET['wpos_anylc_action'] == 'skip' ) {
|
409 |
+
|
410 |
+
// Verify nonce
|
411 |
+
if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act' ) ) {
|
412 |
+
wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
|
413 |
+
}
|
414 |
+
|
415 |
+
$optin_form_data = wpos_anylc_optin_data();
|
416 |
+
$optin_form_data['wpos_anylc_action'] = 'skip';
|
417 |
+
|
418 |
+
$anylc_args = array(
|
419 |
+
'timeout' => 60,
|
420 |
+
'sslverify' => false,
|
421 |
+
'body' => $optin_form_data,
|
422 |
+
);
|
423 |
+
|
424 |
+
// Post back to get a response.
|
425 |
+
$response = wp_safe_remote_post( 'http://analytics.wponlinesupport.com', $anylc_args );
|
426 |
+
|
427 |
+
if( wp_remote_retrieve_response_code( $response ) == 200 ) {
|
428 |
+
$opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 2) );
|
429 |
+
}
|
430 |
+
|
431 |
+
// Redirect to original menu
|
432 |
+
$redirect_url = wpos_anylc_pdt_url( $anylc_pdt_data, 'offer' );
|
433 |
+
if( $redirect_url ) {
|
434 |
+
wp_redirect( $redirect_url );
|
435 |
+
exit;
|
436 |
+
}
|
437 |
+
}
|
438 |
+
|
439 |
+
|
440 |
+
// Process Opt Out
|
441 |
+
if( $_GET['wpos_anylc_action'] == 'optout' ) {
|
442 |
+
|
443 |
+
// Verify nonce
|
444 |
+
if( ! wp_verify_nonce( $_GET['_wpnonce'], 'wpos_anylc_act'.'|'.$_GET['wpos_anylc_pdt'] ) ) {
|
445 |
+
wp_die( __('Sorry, Something happened wrong.', 'wpos_analytic'), 'wpos_anylc_err', array('back_link' => true) );
|
446 |
+
}
|
447 |
+
|
448 |
+
$optin_form_data = wpos_anylc_optin_data();
|
449 |
+
$optin_form_data['wpos_anylc_action'] = 'optout';
|
450 |
+
|
451 |
+
$anylc_args = array(
|
452 |
+
'timeout' => 60,
|
453 |
+
'sslverify' => false,
|
454 |
+
'body' => $optin_form_data,
|
455 |
+
);
|
456 |
+
|
457 |
+
// Post back to get a response.
|
458 |
+
$response = wp_safe_remote_post( 'http://analytics.wponlinesupport.com', $anylc_args );
|
459 |
+
|
460 |
+
if( wp_remote_retrieve_response_code( $response ) == 200 ) {
|
461 |
+
$opt_in_data = wpos_anylc_update_option( $anylc_pdt_data['anylc_optin'], array('status' => 0) );
|
462 |
+
}
|
463 |
+
|
464 |
+
// Redirect to original menu
|
465 |
+
$redirect_url = isset( $_GET['redirect'] ) ? $_GET['redirect'] : wpos_anylc_pdt_url( $anylc_pdt_data );
|
466 |
+
$redirect_url = add_query_arg( array( 'message' => 'optout_success' ), $redirect_url );
|
467 |
+
if( $redirect_url ) {
|
468 |
+
wp_redirect( $redirect_url );
|
469 |
+
exit;
|
470 |
+
}
|
471 |
+
}
|
472 |
+
}
|
473 |
+
} // End of main if
|
474 |
+
}
|
475 |
+
}
|
476 |
+
|
477 |
+
$wpos_anylc_admin = new Wpos_Anylc_Admin();
|
wpos-analytics/includes/class-anylc-script.php
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
$promotion_pdt = explode( ',', $_GET['wpos_anylc_promo_pdt'] );
|
37 |
+
|
38 |
+
$anylc_pdt = $_GET['wpos_anylc_pdt'];
|
39 |
+
$anylc_pdt_data = isset( $wpos_analytics_product[ $anylc_pdt ] ) ? $wpos_analytics_product[ $anylc_pdt ] : false;
|
40 |
+
|
41 |
+
if( !empty($promotion_pdt) ) {
|
42 |
+
foreach ($promotion_pdt as $pdt_key => $pdt) {
|
43 |
+
if( isset( $anylc_pdt_data['promotion'][$pdt]['file'] ) ) {
|
44 |
+
$promotion_pdt_data[] = $anylc_pdt_data['promotion'][$pdt]['file'];
|
45 |
+
}
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
// Registring admin Style
|
51 |
+
wp_register_style( 'wpos-anylc-admin-style', WPOS_ANYLC_URL.'assets/css/wpos-anylc-admin.css', null, WPOS_ANYLC_VERSION );
|
52 |
+
wp_enqueue_style( 'wpos-anylc-admin-style' );
|
53 |
+
|
54 |
+
// Registring admin script
|
55 |
+
wp_register_script( 'wpos-anylc-admin-script', WPOS_ANYLC_URL.'assets/js/wpos-anylc-admin.js', array('jquery'), WPOS_ANYLC_VERSION, true );
|
56 |
+
wp_localize_script( 'wpos-anylc-admin-script', 'WposAnylc', array(
|
57 |
+
'promotion' => isset($promotion) ? 1 : 0,
|
58 |
+
'promotion_pdt' => isset( $promotion_pdt_data ) ? $promotion_pdt_data : 0,
|
59 |
+
));
|
60 |
+
wp_enqueue_script( 'wpos-anylc-admin-script' );
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
$wpos_anylc_script = new Wpos_Anylc_Script();
|
wpos-analytics/includes/wpos-anylc-function.php
ADDED
@@ -0,0 +1,311 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* Check Multidimention Array
|
30 |
+
*
|
31 |
+
* @package Wpos Analytic
|
32 |
+
* @since 1.0
|
33 |
+
*/
|
34 |
+
function wpos_anylc_is_multi_arr( $arr ) {
|
35 |
+
rsort( $arr );
|
36 |
+
return isset( $arr[0] ) && is_array( $arr[0] );
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Get site unique id
|
41 |
+
*
|
42 |
+
* @package Wpos Analytic
|
43 |
+
* @since 1.0.0
|
44 |
+
*/
|
45 |
+
function wpos_anylc_site_uid() {
|
46 |
+
|
47 |
+
$site_uid = get_option( 'wpos_anylc_site_uid' );
|
48 |
+
|
49 |
+
// Generate new site id if not exist
|
50 |
+
if( empty( $site_uid ) ) {
|
51 |
+
$site_url = untrailingslashit( get_bloginfo('wpurl') );
|
52 |
+
$site_uid = md5( $site_url . SECURE_AUTH_KEY );
|
53 |
+
|
54 |
+
update_option( 'wpos_anylc_site_uid', $site_uid );
|
55 |
+
}
|
56 |
+
|
57 |
+
return $site_uid;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Get Optin Data
|
62 |
+
*
|
63 |
+
* @package Wpos Analytic
|
64 |
+
* @since 1.0.0
|
65 |
+
*/
|
66 |
+
function wpos_anylc_optin_data( $anylc_pdt = false ) {
|
67 |
+
|
68 |
+
// Skip if not admin area
|
69 |
+
if ( !is_admin() ) {
|
70 |
+
return false;
|
71 |
+
}
|
72 |
+
|
73 |
+
global $current_user, $wpos_analytics_product;
|
74 |
+
|
75 |
+
// Takind some data
|
76 |
+
$theme_data = wp_get_theme();
|
77 |
+
$page = isset( $_GET['page'] ) ? $_GET['page'] : false;
|
78 |
+
|
79 |
+
// If product is not passed
|
80 |
+
if( ! $anylc_pdt ) {
|
81 |
+
$anylc_pdt = !empty( $_GET['wpos_anylc_pdt'] ) ? $_GET['wpos_anylc_pdt'] : '';
|
82 |
+
$anylc_pdt = ( ! $anylc_pdt && !empty( $_GET['page'] ) ) ? $_GET['page'] : $anylc_pdt;
|
83 |
+
}
|
84 |
+
|
85 |
+
// If a valid product is there
|
86 |
+
if( $anylc_pdt && !empty( $wpos_analytics_product[ $anylc_pdt ] ) ) {
|
87 |
+
|
88 |
+
$analy_product = $wpos_analytics_product[ $anylc_pdt ];
|
89 |
+
$return_url = add_query_arg( array( 'page' => $page ), admin_url('admin.php') );
|
90 |
+
$return_url = wp_nonce_url( $return_url, 'wpos_anylc_act' );
|
91 |
+
|
92 |
+
// Getting data according to type
|
93 |
+
if( $analy_product['type'] == 'theme' ) {
|
94 |
+
|
95 |
+
$product_name = $theme_data->get( 'Name' );
|
96 |
+
$product_version = $theme_data->get( 'Version' );
|
97 |
+
|
98 |
+
} else {
|
99 |
+
|
100 |
+
if( !function_exists('get_plugin_data') ) {
|
101 |
+
require_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
102 |
+
}
|
103 |
+
|
104 |
+
$plugin_data = get_plugin_data( trailingslashit(WP_PLUGIN_DIR) . $analy_product['file'] );
|
105 |
+
$product_name = !empty( $plugin_data['Name'] ) ? $plugin_data['Name'] : '';
|
106 |
+
$product_version = !empty( $plugin_data['Version'] ) ? $plugin_data['Version'] : '';
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
$optin_data = array(
|
111 |
+
'site_url' => untrailingslashit( get_bloginfo('wpurl') ),
|
112 |
+
'site_name' => get_bloginfo( 'name' ),
|
113 |
+
'wp_version' => get_bloginfo( 'version' ),
|
114 |
+
'language' => get_bloginfo( 'language' ),
|
115 |
+
'is_rtl' => is_rtl() ? 1 : 0,
|
116 |
+
'php_version' => phpversion(),
|
117 |
+
'sdk_version' => WPOS_ANYLC_VERSION,
|
118 |
+
'product_name' => isset( $product_name ) ? $product_name : '',
|
119 |
+
'product_version' => isset( $product_version ) ? $product_version : '',
|
120 |
+
'product_id' => !empty( $analy_product['id'] ) ? $analy_product['id'] : 0,
|
121 |
+
'product_type' => !empty( $analy_product['type'] ) ? $analy_product['type'] : '',
|
122 |
+
'theme_name' => $theme_data->get( 'Name' ),
|
123 |
+
'theme_uri' => $theme_data->get( 'ThemeURI' ),
|
124 |
+
'theme_author' => $theme_data->get( 'Author' ),
|
125 |
+
'theme_author_uri' => $theme_data->get( 'AuthorURI' ),
|
126 |
+
'theme_version' => $theme_data->get( 'Version' ),
|
127 |
+
'user_firstname' => $current_user->user_firstname,
|
128 |
+
'user_lastname' => $current_user->user_lastname,
|
129 |
+
'user_nickname' => $current_user->user_nicename,
|
130 |
+
'user_email' => get_bloginfo( 'admin_email' ),
|
131 |
+
'ip_address' => wpos_anylc_get_ip_address(),
|
132 |
+
'site_uid' => wpos_anylc_site_uid(),
|
133 |
+
'return_url' => !empty( $return_url ) ? $return_url : '',
|
134 |
+
);
|
135 |
+
return $optin_data;
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Get IP Address
|
140 |
+
*
|
141 |
+
* @package Wpos Analytic
|
142 |
+
* @since 1.0.0
|
143 |
+
*/
|
144 |
+
function wpos_anylc_get_ip_address() {
|
145 |
+
if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) { // WPCS: input var ok, CSRF ok.
|
146 |
+
return sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_REAL_IP'] ) ); // WPCS: input var ok, CSRF ok.
|
147 |
+
} elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { // WPCS: input var ok, CSRF ok.
|
148 |
+
// Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2
|
149 |
+
// Make sure we always only send through the first IP in the list which should always be the client IP.
|
150 |
+
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.
|
151 |
+
} elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { // @codingStandardsIgnoreLine
|
152 |
+
return sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); // @codingStandardsIgnoreLine
|
153 |
+
}
|
154 |
+
return '127.0.0.1';
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* Get Product Optin Data
|
159 |
+
*
|
160 |
+
* @package Wpos Analytic
|
161 |
+
* @since 1.0.0
|
162 |
+
*/
|
163 |
+
function wpos_anylc_get_option( $key = '' ) {
|
164 |
+
|
165 |
+
$opt_in_data = array();
|
166 |
+
|
167 |
+
if( !empty( $key ) ) {
|
168 |
+
$opt_in_data = get_option( $key );
|
169 |
+
$opt_in_data = ( !empty($opt_in_data) && is_array($opt_in_data) ) ? $opt_in_data : array();
|
170 |
+
}
|
171 |
+
return $opt_in_data;
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Get Product Optin Data
|
176 |
+
*
|
177 |
+
* @package Wpos Analytic
|
178 |
+
* @since 1.0.0
|
179 |
+
*/
|
180 |
+
function wpos_anylc_update_option( $key = '', $data = array() ) {
|
181 |
+
|
182 |
+
$opt_in_data = array();
|
183 |
+
|
184 |
+
if( !empty( $key ) ) {
|
185 |
+
$opt_in_data = wpos_anylc_get_option( $key );
|
186 |
+
|
187 |
+
if( is_array($data) ) {
|
188 |
+
$opt_in_data = array_merge( $opt_in_data, $data );
|
189 |
+
update_option( $key, $opt_in_data );
|
190 |
+
}
|
191 |
+
}
|
192 |
+
return $opt_in_data;
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Get Analytic Product Optin URL
|
197 |
+
*
|
198 |
+
* @package Wpos Analytic
|
199 |
+
* @since 1.0.0
|
200 |
+
*/
|
201 |
+
function wpos_anylc_optin_url( $module_data = '', $optin_status = null ) {
|
202 |
+
|
203 |
+
$optin_url = false;
|
204 |
+
|
205 |
+
// Optin Status
|
206 |
+
if( ! isset( $optin_status ) ) {
|
207 |
+
$opt_in_data = get_option( $module_data['anylc_optin'] );
|
208 |
+
$optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
|
209 |
+
}
|
210 |
+
|
211 |
+
if( !empty( $module_data['menu'] ) && !empty( $module_data['slug'] ) ) {
|
212 |
+
$url_data = parse_url( $module_data['menu'], PHP_URL_QUERY );
|
213 |
+
$query_data = !empty( $url_data ) ? parse_str( $url_data, $query_arr ) : array();
|
214 |
+
|
215 |
+
if( !empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and post type menu
|
216 |
+
|
217 |
+
$optin_url = add_query_arg( array( 'post_type' => $query_arr['post_type'], 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('edit.php') );
|
218 |
+
|
219 |
+
} else if( empty( $query_arr['post_type'] ) && $optin_status >= 0 ) { // If Optin is done and simple admin menu
|
220 |
+
|
221 |
+
$optin_url = add_query_arg( array( 'page' => $module_data['slug'], 'anylc_optin_menu' => true ), admin_url('admin.php') );
|
222 |
+
|
223 |
+
} else {
|
224 |
+
$optin_url = add_query_arg( array( 'page' => $module_data['slug'] ), admin_url('admin.php') );
|
225 |
+
}
|
226 |
+
}
|
227 |
+
|
228 |
+
return $optin_url;
|
229 |
+
}
|
230 |
+
|
231 |
+
/**
|
232 |
+
* Get Analytic Product Opt Out URL
|
233 |
+
*
|
234 |
+
* @package Wpos Analytic
|
235 |
+
* @since 1.0.0
|
236 |
+
*/
|
237 |
+
function wpos_anylc_optout_url( $module_data = '', $optin_status = null, $redirect_url = false ) {
|
238 |
+
|
239 |
+
$opt_out_link = false;
|
240 |
+
|
241 |
+
// Optin Status
|
242 |
+
if( !isset( $optin_status ) ) {
|
243 |
+
$opt_in_data = get_option( $module_data['anylc_optin'] );
|
244 |
+
$optin_status = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : null;
|
245 |
+
}
|
246 |
+
|
247 |
+
if( $optin_status == 1 ) {
|
248 |
+
|
249 |
+
if( ! $redirect_url ) {
|
250 |
+
$plugin_status = isset( $_GET['plugin_status'] ) ? $_GET['plugin_status'] : false;
|
251 |
+
$paged = isset( $_GET['paged'] ) ? $_GET['paged'] : false;
|
252 |
+
$s = isset( $_GET['s'] ) ? $_GET['s'] : false;
|
253 |
+
|
254 |
+
$redirect_url = add_query_arg( array( 'plugin_status' => $plugin_status, 'paged' => $paged, 's' => $s ), admin_url( 'plugins.php' ) );
|
255 |
+
}
|
256 |
+
|
257 |
+
$opt_out_link = add_query_arg( array( 'wpos_anylc_action' => 'optout', 'wpos_anylc_pdt' => $module_data['slug'], 'redirect' => $redirect_url ), $redirect_url );
|
258 |
+
$opt_out_link = wp_nonce_url( $opt_out_link, 'wpos_anylc_act'.'|'.$module_data['slug'] );
|
259 |
+
}
|
260 |
+
|
261 |
+
return $opt_out_link;
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Get Analytic Product URL
|
266 |
+
*
|
267 |
+
* @package Wpos Analytic
|
268 |
+
* @since 1.0.0
|
269 |
+
*/
|
270 |
+
function wpos_anylc_pdt_url( $module_data = '', $type = false ) {
|
271 |
+
|
272 |
+
$redirect_url = false;
|
273 |
+
|
274 |
+
if( !empty( $module_data['menu'] ) ) {
|
275 |
+
$pos = strpos( $module_data['menu'], '?post_type' );
|
276 |
+
$redirect_url = ( $pos !== false ) ? admin_url( $module_data['menu'] ) : add_query_arg( array( 'page' => $module_data['menu'] ), admin_url('admin.php') );
|
277 |
+
|
278 |
+
switch ( $type ) {
|
279 |
+
case 'promotion':
|
280 |
+
|
281 |
+
$promotion = !empty( $_GET['promotion'] ) ? $_GET['promotion'] : '';
|
282 |
+
|
283 |
+
if( !empty( $promotion ) ) {
|
284 |
+
$promotion = is_array( $promotion ) ? implode( ',', $promotion ) : $promotion;
|
285 |
+
$redirect_url = add_query_arg( array( 'message' => 'wpos_anylc_promotion', 'wpos_anylc_pdt' => $module_data['slug'], 'wpos_anylc_promo_pdt' => $promotion ), $redirect_url );
|
286 |
+
}
|
287 |
+
break;
|
288 |
+
|
289 |
+
case 'offer':
|
290 |
+
|
291 |
+
if( !empty( $module_data['offers'] ) ) {
|
292 |
+
$redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
|
293 |
+
}
|
294 |
+
break;
|
295 |
+
|
296 |
+
case 'offer-promotion':
|
297 |
+
|
298 |
+
$promotion = !empty( $_GET['promotion'] ) ? $_GET['promotion'] : '';
|
299 |
+
|
300 |
+
if( !empty( $module_data['offers'] ) ) {
|
301 |
+
$redirect_url = add_query_arg( array( 'page' => $module_data['slug'].'-offers' ), $redirect_url );
|
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 |
+
}
|
310 |
+
return $redirect_url;
|
311 |
+
}
|
wpos-analytics/templates/analytic.php
ADDED
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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="http://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 |
+
<div class="wpos-anylc-subs-wrap">
|
41 |
+
<input type="hidden" name="subscribe" value="" />
|
42 |
+
<label><input type="checkbox" value="1" name="subscribe" checked="checked" /> Subscribe for Updates and Promotions</label>
|
43 |
+
</div>
|
44 |
+
|
45 |
+
<?php if( !empty( $analy_product['promotion'] ) ) { ?>
|
46 |
+
<div class="wpos-anylc-promotion-wrap">
|
47 |
+
<?php foreach( $analy_product['promotion'] as $promotion_key => $promotion_data ) { ?>
|
48 |
+
<div><label><input type="checkbox" value="<?php echo $promotion_key; ?>" name="promotion[]" checked="checked" /> <?php echo $promotion_data['name']; ?></label></div>
|
49 |
+
<?php } ?>
|
50 |
+
</div>
|
51 |
+
<?php } ?>
|
52 |
+
</div>
|
53 |
+
<div class="wpos-anylc-optin-action wpos-anylc-clearfix">
|
54 |
+
<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>
|
55 |
+
|
56 |
+
<?php if( is_null( $opt_in ) ) { ?>
|
57 |
+
<a href="<?php echo esc_url( $skip_url ); ?>" class="button button-secondary button-large wpos-anylc-skip-btn">Skip</a>
|
58 |
+
<?php }
|
59 |
+
|
60 |
+
if( !empty( $optin_form_data ) ) {
|
61 |
+
foreach ($optin_form_data as $data_key => $data_value) {
|
62 |
+
echo '<input type="hidden" name="'.esc_attr( $data_key ).'" value="'.esc_attr( $data_value ).'" />';
|
63 |
+
}
|
64 |
+
}
|
65 |
+
?>
|
66 |
+
</div>
|
67 |
+
<div class="wpos-anylc-optin-permission">
|
68 |
+
<a class="wpos-anylc-permission-toggle" href="javascript:void(0);">What permissions are being granted?</a>
|
69 |
+
|
70 |
+
<div class="wpos-anylc-permission-wrap wpos-anylc-hide">
|
71 |
+
<div class="wpos-anylc-permission">
|
72 |
+
<i class="dashicons dashicons-admin-users"></i>
|
73 |
+
<div>
|
74 |
+
<span class="wpos-anylc-permission-name">Your Profile Overview</span>
|
75 |
+
<span class="wpos-anylc-permission-info">Name and email address</span>
|
76 |
+
</div>
|
77 |
+
</div>
|
78 |
+
<div class="wpos-anylc-permission">
|
79 |
+
<i class="dashicons dashicons-admin-settings"></i>
|
80 |
+
<div>
|
81 |
+
<span class="wpos-anylc-permission-name">Your Site Overview</span>
|
82 |
+
<span class="wpos-anylc-permission-info">Site URL, WP version, PHP info & Theme</span>
|
83 |
+
</div>
|
84 |
+
</div>
|
85 |
+
<div class="wpos-anylc-permission">
|
86 |
+
<i class="dashicons dashicons-admin-plugins"></i>
|
87 |
+
<div>
|
88 |
+
<span class="wpos-anylc-permission-name">Current Plugin Events</span>
|
89 |
+
<span class="wpos-anylc-permission-info">Activation, Deactivation and Uninstall</span>
|
90 |
+
</div>
|
91 |
+
</div>
|
92 |
+
</div>
|
93 |
+
</div>
|
94 |
+
<div class="wpos-anylc-terms">
|
95 |
+
<a href="https://www.wponlinesupport.com/privacy-policy/" target="_blank">Privacy Policy</a> - <a href="https://www.wponlinesupport.com/term-and-condition/" target="_blank">Terms of Service</a>
|
96 |
+
</div>
|
97 |
+
</div>
|
98 |
+
</form>
|
99 |
+
</div><!-- end .wrap -->
|
wpos-analytics/templates/offers.php
ADDED
@@ -0,0 +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 -->
|
wpos-analytics/templates/optout-popup.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Analytic Optout Popup
|
4 |
+
*
|
5 |
+
* @package Wpos Analytic
|
6 |
+
* @since 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( !defined( 'ABSPATH' ) ) {
|
10 |
+
exit; // Exit if accessed directly
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
<div class="wpos-anylc-popup wpos-anylc-popup-wrp wpos-anylc-hide" id="wpos-anylc-optout-<?php echo $module['id']; ?>">
|
14 |
+
<div class="wpos-anylc-popup-inr-wrp">
|
15 |
+
<div class="wpos-anylc-popup-block">
|
16 |
+
|
17 |
+
<div class="wpos-anylc-popup-header">Opt Out</div>
|
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 |
+
<a href="<?php echo esc_url( $opt_out_link ); ?>" class="button button-secondary">Opt Out</a>
|
25 |
+
<button type="button" class="button button-primary wpos-anylc-popup-close">Sure, Let Me Continue Helping</button>
|
26 |
+
</div>
|
27 |
+
|
28 |
+
</div><!-- end .wpos-anylc-popup-block -->
|
29 |
+
</div><!-- end .wpos-anylc-popup-inr-wrp -->
|
30 |
+
</div><!-- end .wpos-anylc-popup-wrp -->
|
31 |
+
<div class="wpos-anylc-popup-overlay" id="wpos-anylc-optout-overlay-<?php echo $module['id']; ?>"></div>
|
wpos-analytics/wpos-analytics.php
ADDED
@@ -0,0 +1,251 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPOS Analytics
|
4 |
+
*
|
5 |
+
* @author WP Online Support
|
6 |
+
* @package Wpos Analytic
|
7 |
+
* @since 1.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( !defined( 'ABSPATH' ) ) {
|
11 |
+
exit; // Exit if accessed directly
|
12 |
+
}
|
13 |
+
|
14 |
+
if ( ! class_exists( 'WPOS_Analytics' ) ) :
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Main Analytics Class By WP Online Support.
|
18 |
+
*
|
19 |
+
* @since 1.0
|
20 |
+
*/
|
21 |
+
final class WPOS_Analytics {
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @var Instance
|
25 |
+
* @since 1.0
|
26 |
+
*/
|
27 |
+
protected static $instance = null;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Main Analytics Instance.
|
31 |
+
*
|
32 |
+
* Insures that only one instance of Analytics exists in memory at any one time.
|
33 |
+
* Also prevents needing to define globals all over the place.
|
34 |
+
*
|
35 |
+
* @since 1.0
|
36 |
+
* @uses WPOS_ANYLC::setup_constants() Setup the constants needed.
|
37 |
+
* @uses WPOS_ANYLC::includes() Include the required files.
|
38 |
+
* @uses WPOS_ANYLC::wpos_anylc_plugins_loaded() load the language files.
|
39 |
+
* @see PWPC()
|
40 |
+
* @return object The one true Analytics
|
41 |
+
*/
|
42 |
+
public static function instance() {
|
43 |
+
if ( is_null( self::$instance ) ) {
|
44 |
+
self::$instance = new self();
|
45 |
+
}
|
46 |
+
return self::$instance;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Throw error on object clone.
|
51 |
+
*
|
52 |
+
* The whole idea of the singleton design pattern is that there is a single object therefore, we don't want the object to be cloned.
|
53 |
+
*
|
54 |
+
* @since 1.0
|
55 |
+
* @access protected
|
56 |
+
* @return void
|
57 |
+
*/
|
58 |
+
public function __clone() {
|
59 |
+
// Cloning instances of the class is forbidden.
|
60 |
+
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'pwpc' ), '1.0' );
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Disable unserializing of the class.
|
65 |
+
*
|
66 |
+
* @since 1.0
|
67 |
+
* @access protected
|
68 |
+
* @return void
|
69 |
+
*/
|
70 |
+
public function __wakeup() {
|
71 |
+
// Unserializing instances of the class is forbidden.
|
72 |
+
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'pwpc' ), '1.0' );
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Plugin Constructor.
|
77 |
+
*/
|
78 |
+
public function __construct() {
|
79 |
+
$this->setup_constants();
|
80 |
+
$this->includes();
|
81 |
+
|
82 |
+
do_action( 'wpos_anylc_loaded' );
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Define constant if not already set.
|
87 |
+
*
|
88 |
+
* @param string $name
|
89 |
+
* @param string|bool $value
|
90 |
+
*/
|
91 |
+
public function define( $name, $value ) {
|
92 |
+
if ( ! defined( $name ) ) {
|
93 |
+
define( $name, $value );
|
94 |
+
}
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Setup plugin constants. Basic plugin definitions
|
99 |
+
*
|
100 |
+
* @access private
|
101 |
+
* @since 1.0
|
102 |
+
*/
|
103 |
+
private function setup_constants() {
|
104 |
+
|
105 |
+
$this->define( 'WPOS_ANYLC_VERSION', '1.0' );
|
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.
|