Popup Anything – A Marketing Popup and Lead Generation Conversions - Version 1.9.2.1

Version Description

(23, Aug 2021) = * [] Updated all external links * [] Tweak - Code optimization and performance improvements. * [] Fixed - Blocks Initializer Issue. * [] Updated language file and json.

Download this release

Release Info

Developer wponlinesupport
Plugin Icon 128x128 Popup Anything – A Marketing Popup and Lead Generation Conversions
Version 1.9.2.1
Comparing to
See all releases

Code changes from version 1.7.7 to 1.9.2.1

assets/css/popupaoc-public-style.css CHANGED
@@ -1,5 +1,5 @@
1
  .custombox-content,.custombox-overlay{position:fixed;overflow:hidden;top:0;width:100%;height:100%}.custombox-overlay{z-index:999997;opacity:0;transition-delay:0s;transition-timing-function:linear;transition-property:opacity}.custombox-content{z-index:999999;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:999998}
2
- .popupaoc-button{padding:10px 20px; background:#e91e63; border-radius:5px; color:#fff; display:inline-block; text-decoration:none !important; -webkit-transition-duration: 0.4s; transition-duration: 0.4s;}
3
  .popupaoc-link{text-decoration:none !important; -webkit-transition-duration: 0.4s; transition-duration: 0.4s;}
4
  .popupaoc-button:hover, .popupaoc-button:focus{background:#555; color:#fff;}
5
  .paoc-popup-modal {background-color: #fff; 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);
1
  .custombox-content,.custombox-overlay{position:fixed;overflow:hidden;top:0;width:100%;height:100%}.custombox-overlay{z-index:999997;opacity:0;transition-delay:0s;transition-timing-function:linear;transition-property:opacity}.custombox-content{z-index:999999;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:999998}
2
+ .popupaoc-button{padding:10px 20px; text-align:center; background:#e91e63; border-radius:5px; color:#fff; display:inline-block; text-decoration:none !important; -webkit-transition-duration: 0.4s; transition-duration: 0.4s;}
3
  .popupaoc-link{text-decoration:none !important; -webkit-transition-duration: 0.4s; transition-duration: 0.4s;}
4
  .popupaoc-button:hover, .popupaoc-button:focus{background:#555; color:#fff;}
5
  .paoc-popup-modal {background-color: #fff; 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);
includes/admin/class-popupaoc-admin.php CHANGED
@@ -145,7 +145,7 @@ class Popupaoc_Admin {
145
  // Taking variables
146
  $popup_type = isset($_POST[$prefix.'popup_type']) ? popupaoc_clean( $_POST[$prefix.'popup_type'] ) : '';
147
  $popup_image_url = isset($_POST[$prefix.'popup_image_url']) ? popupaoc_clean_url( $_POST[$prefix.'popup_image_url'] ) : '';
148
- $popup_image_id = isset($_POST[$prefix.'popup_image_id']) ? popupaoc_clean_numeric( $_POST[$prefix.'popup_image_id'] ) : '';
149
  $image_title = isset($_POST[$prefix.'image_title']) ? popupaoc_clean($_POST[$prefix.'image_title']) : 'false';
150
  $image_caption = isset($_POST[$prefix.'image_caption']) ? popupaoc_clean( $_POST[$prefix.'image_caption'] ) : 'false';
151
  $popup_button_txt = isset($_POST[$prefix.'popup_button_txt']) ? popupaoc_clean( $_POST[$prefix.'popup_button_txt'] ) : '';
@@ -157,9 +157,9 @@ class Popupaoc_Admin {
157
  $popup_positionx = isset($_POST[$prefix.'popup_positionx']) ? popupaoc_clean( $_POST[$prefix.'popup_positionx'] ) : '';
158
  $popup_positiony = isset($_POST[$prefix.'popup_positiony']) ? popupaoc_clean( $_POST[$prefix.'popup_positiony'] ) : '';
159
  $popupwidth = isset($_POST[$prefix.'popupwidth']) ? popupaoc_clean ( $_POST[$prefix.'popupwidth'] ) : '';
160
- $speedin = isset($_POST[$prefix.'speedin']) ? popupaoc_clean_numeric ( $_POST[$prefix.'speedin'], 300 ) : 300;
161
- $speedout = isset($_POST[$prefix.'speedout']) ? popupaoc_clean_numeric ( $_POST[$prefix.'speedout'], 300 ): 300;
162
- $delay = isset($_POST[$prefix.'delay']) ? popupaoc_clean_numeric ( $_POST[$prefix.'delay'], 150 ) : 150;
163
 
164
  update_post_meta($post_id, $prefix.'popup_type', $popup_type);
165
  update_post_meta($post_id, $prefix.'popup_button_txt', $popup_button_txt);
@@ -190,9 +190,9 @@ class Popupaoc_Admin {
190
 
191
  $new_columns['popupaoc_shortcode'] = __( 'Shortcode', 'popup-anything-on-click' );
192
 
193
- $columns = popupaoc_add_array( $columns, $new_columns, 1, true );
194
 
195
- return $columns;
196
  }
197
 
198
  /**
@@ -205,7 +205,7 @@ class Popupaoc_Admin {
205
 
206
  $prefix = POPUPAOC_META_PREFIX; // Taking metabox prefix
207
 
208
- switch ($column) {
209
  case 'popupaoc_shortcode':
210
  $shortcode_string = '';
211
  $shortcode_string .= '[popup_anything id="'.$post_id.'"] ';
@@ -240,9 +240,7 @@ class Popupaoc_Admin {
240
 
241
  // Register plugin premium page
242
  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') );
243
-
244
- // Hire Us Menu
245
- 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') );
246
  }
247
 
248
  /**
@@ -263,17 +261,7 @@ class Popupaoc_Admin {
263
  */
264
  function popupaoc_premium_page() {
265
  include_once( POPUPAOC_DIR . '/includes/admin/settings/premium.php' );
266
- }
267
-
268
- /**
269
- * Getting Started Page Html
270
- *
271
- * @package Popup Anything on Click
272
- * @since 1.2.2
273
- */
274
- function popupaoc_hireus_page() {
275
- include_once( POPUPAOC_DIR . '/includes/admin/settings/hire-us.php' );
276
- }
277
 
278
  /**
279
  * Admin Prior Process
@@ -283,11 +271,11 @@ class Popupaoc_Admin {
283
  */
284
  function popupaoc_admin_init_process() {
285
  // If plugin notice is dismissed
286
- if( isset($_GET['message']) && $_GET['message'] == 'popupaoc-plugin-notice' ) {
287
- set_transient( 'popupaoc_install_notice', true, 604800 );
288
- }
289
 
290
- // Register Plugin Settings
291
  register_setting( 'popupaoc_plugin_options', 'popupaoc_options', array($this, 'popupaoc_validate_options') );
292
  }
293
 
145
  // Taking variables
146
  $popup_type = isset($_POST[$prefix.'popup_type']) ? popupaoc_clean( $_POST[$prefix.'popup_type'] ) : '';
147
  $popup_image_url = isset($_POST[$prefix.'popup_image_url']) ? popupaoc_clean_url( $_POST[$prefix.'popup_image_url'] ) : '';
148
+ $popup_image_id = isset($_POST[$prefix.'popup_image_id']) ? popupaoc_clean_number( $_POST[$prefix.'popup_image_id'] ) : '';
149
  $image_title = isset($_POST[$prefix.'image_title']) ? popupaoc_clean($_POST[$prefix.'image_title']) : 'false';
150
  $image_caption = isset($_POST[$prefix.'image_caption']) ? popupaoc_clean( $_POST[$prefix.'image_caption'] ) : 'false';
151
  $popup_button_txt = isset($_POST[$prefix.'popup_button_txt']) ? popupaoc_clean( $_POST[$prefix.'popup_button_txt'] ) : '';
157
  $popup_positionx = isset($_POST[$prefix.'popup_positionx']) ? popupaoc_clean( $_POST[$prefix.'popup_positionx'] ) : '';
158
  $popup_positiony = isset($_POST[$prefix.'popup_positiony']) ? popupaoc_clean( $_POST[$prefix.'popup_positiony'] ) : '';
159
  $popupwidth = isset($_POST[$prefix.'popupwidth']) ? popupaoc_clean ( $_POST[$prefix.'popupwidth'] ) : '';
160
+ $speedin = isset($_POST[$prefix.'speedin']) ? popupaoc_clean_number( $_POST[$prefix.'speedin'], 300 ) : 300;
161
+ $speedout = isset($_POST[$prefix.'speedout']) ? popupaoc_clean_number( $_POST[$prefix.'speedout'], 300 ) : 300;
162
+ $delay = isset($_POST[$prefix.'delay']) ? popupaoc_clean_number( $_POST[$prefix.'delay'], 150 ) : 150;
163
 
164
  update_post_meta($post_id, $prefix.'popup_type', $popup_type);
165
  update_post_meta($post_id, $prefix.'popup_button_txt', $popup_button_txt);
190
 
191
  $new_columns['popupaoc_shortcode'] = __( 'Shortcode', 'popup-anything-on-click' );
192
 
193
+ $columns = popupaoc_add_array( $columns, $new_columns, 1, true );
194
 
195
+ return $columns;
196
  }
197
 
198
  /**
205
 
206
  $prefix = POPUPAOC_META_PREFIX; // Taking metabox prefix
207
 
208
+ switch ($column) {
209
  case 'popupaoc_shortcode':
210
  $shortcode_string = '';
211
  $shortcode_string .= '[popup_anything id="'.$post_id.'"] ';
240
 
241
  // Register plugin premium page
242
  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') );
243
+
 
 
244
  }
245
 
246
  /**
261
  */
262
  function popupaoc_premium_page() {
263
  include_once( POPUPAOC_DIR . '/includes/admin/settings/premium.php' );
264
+ }
 
 
 
 
 
 
 
 
 
 
265
 
266
  /**
267
  * Admin Prior Process
271
  */
272
  function popupaoc_admin_init_process() {
273
  // If plugin notice is dismissed
274
+ if( isset($_GET['message']) && $_GET['message'] == 'popupaoc-plugin-notice' ) {
275
+ set_transient( 'popupaoc_install_notice', true, 604800 );
276
+ }
277
 
278
+ // Register Plugin Settings
279
  register_setting( 'popupaoc_plugin_options', 'popupaoc_options', array($this, 'popupaoc_validate_options') );
280
  }
281
 
includes/admin/metabox/popupaoc-post-sett-metabox.php CHANGED
@@ -219,7 +219,7 @@ else{
219
  <label for="popupaoc-btn-clr-class"><?php _e('SpeedIn', 'popup-anything-on-click'); ?></label>
220
  </th>
221
  <td class="row-meta">
222
- <input type="number" name="<?php echo $prefix;?>speedin" value="<?php echo $speedin; ?>" class="small-text" placeholder="<?php _e('300', 'popup-anything-on-click'); ?>" /><br/>
223
  <span class="description"><?php _e('Enter the speed start of the animation in milliseconds.', 'popup-anything-on-click'); ?></span>
224
  </td>
225
  </tr>
@@ -229,7 +229,7 @@ else{
229
  <label for="popupaoc-btn-clr-class"><?php _e('SpeedOut', 'popup-anything-on-click'); ?></label>
230
  </th>
231
  <td class="row-meta">
232
- <input type="number" name="<?php echo $prefix;?>speedout" value="<?php echo $speedout; ?>" class="small-text" placeholder="<?php _e('300', 'popup-anything-on-click'); ?>" /><br/>
233
  <span class="description"><?php _e('Enter the speed end of the animation in milliseconds.', 'popup-anything-on-click'); ?></span>
234
  </td>
235
  </tr>
@@ -239,7 +239,7 @@ else{
239
  <label for="popupaoc-btn-clr-class"><?php _e('Delay', 'popup-anything-on-click'); ?></label>
240
  </th>
241
  <td class="row-meta">
242
- <input type="number" name="<?php echo $prefix;?>delay" value="<?php echo $delay; ?>" class="small-text" placeholder="<?php _e('150', 'popup-anything-on-click'); ?>" /><br/>
243
  <span class="description"><?php _e('Enter the wait before the transition effect start.', 'popup-anything-on-click'); ?></span>
244
  </td>
245
  </tr>
@@ -310,39 +310,39 @@ else{
310
 
311
  <!-- popup Overlay Color -->
312
  <tr class="popupaoc-pro-feature">
313
- <th>
314
- <?php _e('Popup Overlay Color','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
315
- </th>
316
- <td class="row-meta">
317
- <input type="text" name="" value="" class="regular-text" disabled /><br/>
318
- <span class="description"><?php _e('Select popup overlay background color.', 'popup-anything-on-click'); ?></span>
319
- <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
320
- </td>
321
- </tr>
322
 
323
  <!-- popup Popup Overlay Opacity -->
324
  <tr class="popupaoc-pro-feature">
325
- <th>
326
- <?php _e('Popup Overlay Opacity','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
327
- </th>
328
- <td class="row-meta">
329
- <input type="number" name="" value="" class="small-text" disabled /><br/>
330
- <span class="description"><?php _e('Set the popup overlay opacity. Value must be from 0 to 1.', 'popup-anything-on-click'); ?></span>
331
- <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
332
- </td>
333
- </tr>
334
 
335
  <!-- Close Popup On Overlay -->
336
  <tr class="popupaoc-pro-feature">
337
- <th>
338
- <?php _e('Close Popup On Overlay','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
339
- </th>
340
- <td class="row-meta">
341
- <input type="text" name="" value="" class="regular-text" disabled /><br/>
342
- <span class="description"><?php _e('Allow users to close the popup by clicking the overlay or outside the popup.', 'popup-anything-on-click'); ?></span>
343
- <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
344
- </td>
345
- </tr>
346
 
347
  <tr>
348
  <th scope="row" colspan="2"><div class="popupaoc-sub-sett-title"> <?php _e('Popup Loader Setting', 'popup-anything-on-click'); ?></div></th>
@@ -368,26 +368,26 @@ else{
368
 
369
  <!-- popup Loader Color -->
370
  <tr class="popupaoc-pro-feature">
371
- <th>
372
- <?php _e('Popup Loader Color','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
373
- </th>
374
- <td class="row-meta">
375
- <input type="text" name="" value="" class="regular-text" disabled /><br/>
376
- <span class="description"><?php _e(' Select popup loader color.', 'popup-anything-on-click'); ?></span>
377
- <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
378
- </td>
379
- </tr>
380
  <!-- popup Loader Speed -->
381
  <tr class="popupaoc-pro-feature">
382
- <th>
383
- <?php _e('Loader Speed','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
384
- </th>
385
- <td class="row-meta">
386
- <input type="number" name="" value="" class="small-text" disabled /><br/>
387
- <span class="description"><?php _e(' Enter the popup loader speed. Leave empty for default. Value should be in milliseconds. e.g 300.', 'popup-anything-on-click'); ?></span>
388
- <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
389
- </td>
390
- </tr>
391
 
392
  <tr class="popupaoc-pro-feature">
393
  <th scope="row" colspan="2"><div class="popupaoc-sub-sett-title"> <?php _e('Popup Colors Setting', 'popup-anything-on-click'); ?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span></div> </th>
@@ -395,33 +395,33 @@ else{
395
 
396
  <!-- Popup Background Color -->
397
  <tr class="popupaoc-pro-feature">
398
- <th>
399
- <?php _e('Popup Background Color','popup-anything-on-click');?>
400
- </th>
401
- <td class="row-meta">
402
- <input type="text" name="" value="" class="regular-text" disabled /><br/>
403
- <span class="description"><?php _e('Select popup background color.', 'popup-anything-on-click'); ?></span>
404
- </td>
405
  </tr>
406
  <!-- Popup Background Color Opacity -->
407
  <tr class="popupaoc-pro-feature">
408
- <th>
409
- <?php _e('Popup Background Color Opacity','popup-anything-on-click');?>
410
- </th>
411
- <td class="row-meta">
412
- <input type="number" name="" value="" class="small-text" disabled /><br/>
413
- <span class="description"><?php _e('Set the popup background color opacity if background image also added. Value must be from 0 to 1.', 'popup-anything-on-click'); ?></span>
414
- </td>
415
  </tr>
416
  <!-- Popup Background Color Opacity -->
417
  <tr class="popupaoc-pro-feature">
418
- <th>
419
- <?php _e('Popup Fonts Color','popup-anything-on-click');?>
420
- </th>
421
- <td class="row-meta">
422
- <input type="text" name="" value="" class="regular-text" disabled /><br/>
423
- <span class="description"><?php _e('Select popup fonts color.', 'popup-anything-on-click'); ?></span>
424
- </td>
425
  </tr>
426
  <!-- Buylink -->
427
  <tr class="popupaoc-pro-feature">
219
  <label for="popupaoc-btn-clr-class"><?php _e('SpeedIn', 'popup-anything-on-click'); ?></label>
220
  </th>
221
  <td class="row-meta">
222
+ <input type="text" name="<?php echo $prefix;?>speedin" value="<?php echo $speedin; ?>" class="small-text" placeholder="<?php _e('300', 'popup-anything-on-click'); ?>" /><br/>
223
  <span class="description"><?php _e('Enter the speed start of the animation in milliseconds.', 'popup-anything-on-click'); ?></span>
224
  </td>
225
  </tr>
229
  <label for="popupaoc-btn-clr-class"><?php _e('SpeedOut', 'popup-anything-on-click'); ?></label>
230
  </th>
231
  <td class="row-meta">
232
+ <input type="text" name="<?php echo $prefix;?>speedout" value="<?php echo $speedout; ?>" class="small-text" placeholder="<?php _e('300', 'popup-anything-on-click'); ?>" /><br/>
233
  <span class="description"><?php _e('Enter the speed end of the animation in milliseconds.', 'popup-anything-on-click'); ?></span>
234
  </td>
235
  </tr>
239
  <label for="popupaoc-btn-clr-class"><?php _e('Delay', 'popup-anything-on-click'); ?></label>
240
  </th>
241
  <td class="row-meta">
242
+ <input type="text" name="<?php echo $prefix;?>delay" value="<?php echo $delay; ?>" class="small-text" placeholder="<?php _e('150', 'popup-anything-on-click'); ?>" /><br/>
243
  <span class="description"><?php _e('Enter the wait before the transition effect start.', 'popup-anything-on-click'); ?></span>
244
  </td>
245
  </tr>
310
 
311
  <!-- popup Overlay Color -->
312
  <tr class="popupaoc-pro-feature">
313
+ <th>
314
+ <?php _e('Popup Overlay Color','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
315
+ </th>
316
+ <td class="row-meta">
317
+ <input type="text" name="" value="" class="regular-text" disabled /><br/>
318
+ <span class="description"><?php _e('Select popup overlay background color.', 'popup-anything-on-click'); ?></span>
319
+ <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
320
+ </td>
321
+ </tr>
322
 
323
  <!-- popup Popup Overlay Opacity -->
324
  <tr class="popupaoc-pro-feature">
325
+ <th>
326
+ <?php _e('Popup Overlay Opacity','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
327
+ </th>
328
+ <td class="row-meta">
329
+ <input type="text" name="" value="" class="small-text" disabled /><br/>
330
+ <span class="description"><?php _e('Set the popup overlay opacity. Value must be from 0 to 1.', 'popup-anything-on-click'); ?></span>
331
+ <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
332
+ </td>
333
+ </tr>
334
 
335
  <!-- Close Popup On Overlay -->
336
  <tr class="popupaoc-pro-feature">
337
+ <th>
338
+ <?php _e('Close Popup On Overlay','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
339
+ </th>
340
+ <td class="row-meta">
341
+ <input type="text" name="" value="" class="regular-text" disabled /><br/>
342
+ <span class="description"><?php _e('Allow users to close the popup by clicking the overlay or outside the popup.', 'popup-anything-on-click'); ?></span>
343
+ <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
344
+ </td>
345
+ </tr>
346
 
347
  <tr>
348
  <th scope="row" colspan="2"><div class="popupaoc-sub-sett-title"> <?php _e('Popup Loader Setting', 'popup-anything-on-click'); ?></div></th>
368
 
369
  <!-- popup Loader Color -->
370
  <tr class="popupaoc-pro-feature">
371
+ <th>
372
+ <?php _e('Popup Loader Color','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
373
+ </th>
374
+ <td class="row-meta">
375
+ <input type="text" name="" value="" class="regular-text" disabled /><br/>
376
+ <span class="description"><?php _e(' Select popup loader color.', 'popup-anything-on-click'); ?></span>
377
+ <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
378
+ </td>
379
+ </tr>
380
  <!-- popup Loader Speed -->
381
  <tr class="popupaoc-pro-feature">
382
+ <th>
383
+ <?php _e('Loader Speed','popup-anything-on-click');?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span>
384
+ </th>
385
+ <td class="row-meta">
386
+ <input type="text" name="" value="" class="small-text" disabled /><br/>
387
+ <span class="description"><?php _e(' Enter the popup loader speed. Leave empty for default. Value should be in milliseconds. e.g 300.', 'popup-anything-on-click'); ?></span>
388
+ <?php echo sprintf( __( 'Upgrade to <a href="%s" target="_blank">Premium Version</a> to get this option.', 'popup-anything-on-click'), POPUPAOC_PLUGIN_LINK); ?>
389
+ </td>
390
+ </tr>
391
 
392
  <tr class="popupaoc-pro-feature">
393
  <th scope="row" colspan="2"><div class="popupaoc-sub-sett-title"> <?php _e('Popup Colors Setting', 'popup-anything-on-click'); ?> <span class="popupaoc-pro-tag"><?php _e('PRO','popup-anything-on-click');?></span></div> </th>
395
 
396
  <!-- Popup Background Color -->
397
  <tr class="popupaoc-pro-feature">
398
+ <th>
399
+ <?php _e('Popup Background Color','popup-anything-on-click');?>
400
+ </th>
401
+ <td class="row-meta">
402
+ <input type="text" name="" value="" class="regular-text" disabled /><br/>
403
+ <span class="description"><?php _e('Select popup background color.', 'popup-anything-on-click'); ?></span>
404
+ </td>
405
  </tr>
406
  <!-- Popup Background Color Opacity -->
407
  <tr class="popupaoc-pro-feature">
408
+ <th>
409
+ <?php _e('Popup Background Color Opacity','popup-anything-on-click');?>
410
+ </th>
411
+ <td class="row-meta">
412
+ <input type="text" name="" value="" class="small-text" disabled /><br/>
413
+ <span class="description"><?php _e('Set the popup background color opacity if background image also added. Value must be from 0 to 1.', 'popup-anything-on-click'); ?></span>
414
+ </td>
415
  </tr>
416
  <!-- Popup Background Color Opacity -->
417
  <tr class="popupaoc-pro-feature">
418
+ <th>
419
+ <?php _e('Popup Fonts Color','popup-anything-on-click');?>
420
+ </th>
421
+ <td class="row-meta">
422
+ <input type="text" name="" value="" class="regular-text" disabled /><br/>
423
+ <span class="description"><?php _e('Select popup fonts color.', 'popup-anything-on-click'); ?></span>
424
+ </td>
425
  </tr>
426
  <!-- Buylink -->
427
  <tr class="popupaoc-pro-feature">
includes/admin/settings/hire-us.php DELETED
@@ -1,91 +0,0 @@
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/admin/settings/premium.php CHANGED
@@ -78,7 +78,7 @@ if ( !defined( 'ABSPATH' ) ) {
78
  <th></th>
79
  <td></td>
80
  <td><p>Gain access to <strong>Popup Anything On Click</strong> included in <strong>Essential Plugin Bundle</p>
81
- <a href="https://www.wponlinesupport.com/wp-plugin/popup-anything-click/?ref=WposPratik&utm_source=WP&utm_medium=Popup-Anything&utm_campaign=Upgrade-PRO" target="_blank">View Buying Options</a></td>
82
  </tr>
83
  </tfoot>
84
  <tbody>
78
  <th></th>
79
  <td></td>
80
  <td><p>Gain access to <strong>Popup Anything On Click</strong> included in <strong>Essential Plugin Bundle</p>
81
+ <a href="<?php echo POPUPAOC_SITE_LINK; ?>/pricing/?utm_source=WP&utm_medium=Popup-Anything&utm_campaign=Upgrade-PRO" target="_blank">View Buying Options</a></td>
82
  </tr>
83
  </tfoot>
84
  <tbody>
includes/admin/settings/settings.php CHANGED
@@ -36,14 +36,14 @@ $add_js = popupaoc_get_option('add_js');
36
  <div class="meta-box-sortables">
37
 
38
  <!-- General Settings Starts -->
39
- <div class="postbox">
40
-
41
- <button class="handlediv button-link" type="button"><span class="toggle-indicator"></span></button>
42
-
43
  <!-- Settings box title -->
44
- <h3 class="hndle">
45
- <span><?php _e( 'General Settings', 'popup-anything-on-click' ); ?></span>
46
- </h3>
 
 
47
 
48
  <div id="general" class="inside">
49
  <table class="form-table popupaoc-general-sett-tbl">
36
  <div class="meta-box-sortables">
37
 
38
  <!-- General Settings Starts -->
39
+ <div class="postbox">
40
+
 
 
41
  <!-- Settings box title -->
42
+ <div class="postbox-header">
43
+ <h2 class="hndle ui-sortable-handle">
44
+ <span><?php _e( 'General Settings', 'popup-anything-on-click' ); ?></span>
45
+ </h2>
46
+ </div>
47
 
48
  <div id="general" class="inside">
49
  <table class="form-table popupaoc-general-sett-tbl">
includes/popupaoc-functions.php CHANGED
@@ -240,9 +240,19 @@ function popupaoc_clean( $var ) {
240
  * @package Popup Anything On Click
241
  * @since 1.0
242
  */
243
- function popupaoc_clean_numeric( $var, $fallback = null ) {
244
- $data = abs($var);
245
- return ( empty($data) && $fallback ) ? $fallback : $data;
 
 
 
 
 
 
 
 
 
 
246
  }
247
 
248
  /**
240
  * @package Popup Anything On Click
241
  * @since 1.0
242
  */
243
+ function popupaoc_clean_number( $var, $fallback = null, $type = 'int' ) {
244
+
245
+ $var = is_numeric( $var ) ? $var : 0;
246
+
247
+ if ( $type == 'number' ) {
248
+ $data = intval( $var );
249
+ } else if ( $type == 'abs' ) {
250
+ $data = abs( $var );
251
+ } else {
252
+ $data = absint( $var );
253
+ }
254
+
255
+ return ( empty($data) && isset( $fallback ) ) ? $fallback : $data;
256
  }
257
 
258
  /**
languages/popup-anything-on-click.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Popup anything on click\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2020-07-14 11:47+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
@@ -237,7 +237,7 @@ msgstr ""
237
  msgid "Full Screen"
238
  msgstr ""
239
 
240
- #: includes/admin/settings/settings.php:45
241
  msgid "General Settings"
242
  msgstr ""
243
 
@@ -245,18 +245,6 @@ msgstr ""
245
  msgid "Google Analytic Event Setting"
246
  msgstr ""
247
 
248
- #: includes/admin/settings/hire-us.php:18
249
- msgid "Highlight of Hiring:"
250
- msgstr ""
251
-
252
- #: includes/admin/class-popupaoc-admin.php:245
253
- msgid "Hire Us"
254
- msgstr ""
255
-
256
- #: includes/admin/settings/hire-us.php:15
257
- msgid "Hire Us - Get unlimited expert WordPress Support and Development"
258
- msgstr ""
259
-
260
  #. Author URI of the plugin
261
  msgid "https://www.wponlinesupport.com"
262
  msgstr ""
3
  msgstr ""
4
  "Project-Id-Version: Popup anything on click\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2021-05-14 12:05+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
237
  msgid "Full Screen"
238
  msgstr ""
239
 
240
+ #: includes/admin/settings/settings.php:44
241
  msgid "General Settings"
242
  msgstr ""
243
 
245
  msgid "Google Analytic Event Setting"
246
  msgstr ""
247
 
 
 
 
 
 
 
 
 
 
 
 
 
248
  #. Author URI of the plugin
249
  msgid "https://www.wponlinesupport.com"
250
  msgstr ""
popup-anything-on-click.php CHANGED
@@ -1,20 +1,20 @@
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.7.7
9
- * Author: WP OnlineSupport
10
- * Author URI: https://www.wponlinesupport.com
11
  */
12
 
13
  // Exit if accessed directly
14
  if ( !defined( 'ABSPATH' ) ) exit;
15
 
16
  if( !defined( 'POPUPAOC_VERSION' ) ) {
17
- define( 'POPUPAOC_VERSION', '1.7.7' ); // Version of plugin
18
  }
19
  if( !defined( 'POPUPAOC_DIR' ) ) {
20
  define( 'POPUPAOC_DIR', dirname( __FILE__ ) ); // Plugin dir
@@ -32,7 +32,10 @@ if(!defined( 'POPUPAOC_META_PREFIX' ) ) {
32
  define('POPUPAOC_META_PREFIX','_aoc_'); // Plugin metabox prefix
33
  }
34
  if(!defined( 'POPUPAOC_PLUGIN_LINK' ) ) {
35
- define('POPUPAOC_PLUGIN_LINK','https://www.wponlinesupport.com/wp-plugin/popup-anything-click/?utm_source=WP&utm_medium=Popup-Anything&utm_campaign=Features-PRO'); // Plugin link
 
 
 
36
  }
37
 
38
  /**
@@ -109,6 +112,18 @@ require_once( POPUPAOC_DIR . '/includes/shortcode/popupaoc-popup-shortcode.php'
109
  // Public File
110
  require_once( POPUPAOC_DIR . '/includes/class-paoc-public.php' );
111
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  /* Plugin Wpos Analytics Data Starts */
113
  function wpos_analytics_anl32_load() {
114
 
1
  <?php
2
  /**
3
  * Plugin Name: Popup anything on click
4
+ * Plugin URI: https://www.essentialplugin.com/wordpress-plugin/popup-anything-click/
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.9.2.1
9
+ * Author: WP OnlineSupport, Essential Plugin
10
+ * Author URI: https://www.essentialplugin.com
11
  */
12
 
13
  // Exit if accessed directly
14
  if ( !defined( 'ABSPATH' ) ) exit;
15
 
16
  if( !defined( 'POPUPAOC_VERSION' ) ) {
17
+ define( 'POPUPAOC_VERSION', '1.9.2.1' ); // Version of plugin
18
  }
19
  if( !defined( 'POPUPAOC_DIR' ) ) {
20
  define( 'POPUPAOC_DIR', dirname( __FILE__ ) ); // Plugin dir
32
  define('POPUPAOC_META_PREFIX','_aoc_'); // Plugin metabox prefix
33
  }
34
  if(!defined( 'POPUPAOC_PLUGIN_LINK' ) ) {
35
+ define('POPUPAOC_PLUGIN_LINK','https://www.essentialplugin.com/wordpress-plugin/popup-anything-click/?utm_source=WP&utm_medium=Popup-Anything&utm_campaign=Features-PRO'); // Plugin link
36
+ }
37
+ if(!defined( 'POPUPAOC_SITE_LINK' ) ) {
38
+ define('POPUPAOC_SITE_LINK','https://www.essentialplugin.com'); // Plugin link
39
  }
40
 
41
  /**
112
  // Public File
113
  require_once( POPUPAOC_DIR . '/includes/class-paoc-public.php' );
114
 
115
+ /* Recommended Plugins Starts */
116
+ if ( is_admin() ) {
117
+ require_once( POPUPAOC_DIR . '/wpos-plugins/wpos-recommendation.php' );
118
+
119
+ wpos_espbw_init_module( array(
120
+ 'prefix' => 'popupaoc',
121
+ 'menu' => 'edit.php?post_type='.POPUPAOC_POST_TYPE,
122
+ 'position' => 3,
123
+ ));
124
+ }
125
+ /* Recommended Plugins Ends */
126
+
127
  /* Plugin Wpos Analytics Data Starts */
128
  function wpos_analytics_anl32_load() {
129
 
readme.txt CHANGED
@@ -1,8 +1,8 @@
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.5
6
  Stable tag: trunk
7
  License: GPLv3
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
@@ -18,7 +18,7 @@ Popup anything by **Clicking on a**
18
 
19
  Manage powerful modal popup for your WordPress blog or website. You can add unlimited popup with your own configurations.
20
 
21
- Check [Demo and Features](https://demo.wponlinesupport.com/popup-anything-on-click-demo/) 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
 
@@ -60,7 +60,7 @@ You can also display popup in template/php file:
60
  * Responsive popup.
61
 
62
  = How this plugin can support your website (Video) : =
63
- [https://www.youtube.com/watch?v=7Hw0lARJSf8]
64
 
65
  = How to install (Video) : =
66
  [youtube https://www.youtube.com/watch?v=Df94DWdmCik]
@@ -83,7 +83,7 @@ You can also display popup in template/php file:
83
  > * Set loader speed as you want
84
  > * Set Background Image and color.
85
  >
86
- > View [PRO DEMO and Features](https://www.wponlinesupport.com/wp-plugin/popup-anything-click/) for additional information.
87
  >
88
 
89
  = Privacy & Policy =
@@ -136,6 +136,27 @@ You can use <code>.popupaoc-button</code> class to change the button design as p
136
 
137
  == Changelog ==
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  = 1.7.7 (14, July 2020) =
140
  * [*] Follow WordPress Detailed Plugin Guidelines for Offload Media and Analytics Code.
141
 
1
  === Popup anything on click ===
2
+ Contributors: wponlinesupport, anoopranawat, pratik-jain, piyushpatel123, ridhimashukla, patelketan, mehulwpos, jahnavwponlinesupport, rafikwp
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: 5.2
5
+ Tested up to: 5.8
6
  Stable tag: trunk
7
  License: GPLv3
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
18
 
19
  Manage powerful modal popup for your WordPress blog or website. You can add unlimited popup with your own configurations.
20
 
21
+ Check [Features and Demo](https://www.essentialplugin.com/pricing/) 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
 
60
  * Responsive popup.
61
 
62
  = How this plugin can support your website (Video) : =
63
+ [youtube https://www.youtube.com/watch?v=7Hw0lARJSf8]
64
 
65
  = How to install (Video) : =
66
  [youtube https://www.youtube.com/watch?v=Df94DWdmCik]
83
  > * Set loader speed as you want
84
  > * Set Background Image and color.
85
  >
86
+ > View [PRO DEMO and Features](https://www.essentialplugin.com/wordpress-plugin/popup-anything-click/) for additional information.
87
  >
88
 
89
  = Privacy & Policy =
136
 
137
  == Changelog ==
138
 
139
+ = 1.9.2.1 (23, Aug 2021) =
140
+ * [*] Updated all external links
141
+ * [*] Tweak - Code optimization and performance improvements.
142
+ * [*] Fixed - Blocks Initializer Issue.
143
+ * [*] Updated language file and json.
144
+
145
+ = 1.9.2 (31, May 2021) =
146
+ * [*] Tested up to: 5.7.2
147
+ * [*] Added - https link in our analytics code to avoid browser security warning.
148
+
149
+ = 1.9.1 (14, May 2021) =
150
+ * [*] Fix - Resolve issue related to numeric value.
151
+
152
+ = 1.9 (15, March 2021) =
153
+ * [*] Tested up to: 5.7
154
+
155
+ = 1.8 (21, Oct 2020) =
156
+ * [*] Fixed button text align center issue.
157
+ * [+] Added - Added our other Popular Plugins under Popup Anything --> Install Popular Plugins From WPOS. This will help you to save your time during creating a website.
158
+ * [*] Updated FAQ section : I want to change button design as per my theme.
159
+
160
  = 1.7.7 (14, July 2020) =
161
  * [*] Follow WordPress Detailed Plugin Guidelines for Offload Media and Analytics Code.
162
 
wpos-analytics/assets/images/wpos-logo.png CHANGED
Binary file
wpos-analytics/templates/analytic.php CHANGED
@@ -22,7 +22,7 @@ if ( !defined( 'ABSPATH' ) ) {
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>
@@ -34,7 +34,7 @@ if ( !defined( 'ABSPATH' ) ) {
34
  <div class="wpos-anylc-optin-cnt">
35
  <p>Hey <?php echo ucfirst($user_name); ?>,</p>
36
  <p>Don't ever miss an opportunity to <b>opt in</b> for Email Notifications / Announcements about exciting New Features and Update Releases.</p>
37
- <p>Contribute in helping us making <b><?php echo $product_name; ?></b> compatible with most themes and plugins by allowing to share non-sensitive data to <a target="_blank" href="https://www.wponlinesupport.com">wponlinesupport.com</a> about your website.</p>
38
  <p>If you skip this, that's okay! <b><?php echo $product_name; ?></b> will still work just fine.</p>
39
 
40
  <?php if( !empty( $analy_product['promotion'] ) ) { ?>
@@ -87,7 +87,7 @@ if ( !defined( 'ABSPATH' ) ) {
87
  </div>
88
  </div>
89
  <div class="wpos-anylc-terms">
90
- <a href="https://www.wponlinesupport.com/privacy-policy/#free-pluign-info" target="_blank">Privacy Policy</a> - <a href="https://www.wponlinesupport.com/term-and-condition/" target="_blank">Terms of Service</a>
91
  </div>
92
  </div>
93
  </form>
22
  </div>
23
  <?php } ?>
24
 
25
+ <form method="POST" action="https://analytics.wponlinesupport.com">
26
  <div class="wpos-anylc-optin-wrap">
27
  <div class="wpos-anylc-optin-icon-wrap">
28
  <div class="wpos-anylc-optin-icon wpos-anylc-wp-badge"><i class="dashicons dashicons-wordpress"></i></div>
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="<?php echo POPUPAOC_SITE_LINK; ?>">essentialplugin.com</a> about your website.</p>
38
  <p>If you skip this, that's okay! <b><?php echo $product_name; ?></b> will still work just fine.</p>
39
 
40
  <?php if( !empty( $analy_product['promotion'] ) ) { ?>
87
  </div>
88
  </div>
89
  <div class="wpos-anylc-terms">
90
+ <a href="<?php echo POPUPAOC_SITE_LINK; ?>/privacy-policy/#free-pluign-info" target="_blank">Privacy Policy</a> - <a href="<?php echo POPUPAOC_SITE_LINK; ?>/term-and-condition/" target="_blank">Terms of Service</a>
91
  </div>
92
  </div>
93
  </form>
wpos-analytics/templates/optout-popup.php CHANGED
@@ -18,10 +18,10 @@ if ( !defined( 'ABSPATH' ) ) {
18
  <div class="wpos-anylc-popup-body">
19
  <p class="wpos-anylc-popup-heading">We appreciate your help to make the plugin better by letting us track some usage data.</p>
20
  <p>Usage tracking is done in the name of making <b><?php echo $module['name']; ?></b> better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking.</p>
21
- <p>By clicking "Opt Out", we will no longer be sending any data from <b><?php echo $module['name']; ?></b> to <a href="https://www.wponlinesupport.com/" target="_blank">wponlinesupport.com</a>.</p>
22
  </div>
23
  <div class="wpos-anylc-popup-footer">
24
- <form method="POST" action="http://analytics.wponlinesupport.com">
25
  <?php
26
  if( ! empty( $optin_form_data ) ) {
27
  foreach ($optin_form_data as $data_key => $data_value) {
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="<?php echo POPUPAOC_SITE_LINK; ?>" target="_blank">essentialplugin.com</a>.</p>
22
  </div>
23
  <div class="wpos-anylc-popup-footer">
24
+ <form method="POST" action="https://analytics.wponlinesupport.com">
25
  <?php
26
  if( ! empty( $optin_form_data ) ) {
27
  foreach ($optin_form_data as $data_key => $data_value) {
wpos-plugins/assets/css/admin-style.css ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .espbw-clearfix:before, .espbw-clearfix:after {content: "";display: table;}
2
+ .espbw-clearfix::after {clear: both;}
3
+ .espbw-hide{display: none;}
4
+ .filter-links a{padding-left:30px !important; background-size:25px 25px; background-repeat:no-repeat; background-position:left center;}
5
+ .filter-links .espbw-plugin-all a.espbw-filter-link{background-image:url('../images/essential-plugin-50.png');}
6
+ .filter-links .espbw-plugin-recommended a.espbw-filter-link{background-image:url('../images/utility-icon.png');}
7
+ .filter-links .espbw-plugin-marketing a.espbw-filter-link{background-image:url('../images/inbound50-by-50.png');}
8
+ .filter-links .espbw-plugin-sliders a.espbw-filter-link{background-image:url('../images/sliderspack.png');}
9
+ .filter-links .espbw-plugin-woo a.espbw-filter-link{background-image:url('../images/cart-2.png');}
10
+ .wpos-em{font-size:15px; color:#e11919 !important;}
11
+ .espbw-dashboard-logo{text-align: center;}
12
+ .espbw-dashboard-logo img{width:140px;}
13
+ .espbw-plugin-card-wrap{margin: 0 0 16px 0; display: inline-block; vertical-align: top; width: 50%; padding: 0 8px; font-size: 13px; box-sizing: border-box;}
14
+ .espbw-plugin-list{margin: 0 -8px; font-size:0.001px; width: auto;}
15
+ .espbw-plugin-list .plugin-card{float: none; width: 100%; margin: 0;}
16
+ .espbw-dashboard-title{text-align: center;}
17
+ .espbw-dashboard-title h3{margin: 10px 0 8px 0; font-size: 1.8em}
18
+ .espbw-dashboard-title-inr{display: inline-block; text-align: right;}
19
+ .espbw-dashboard-title-inr span{display: inline-block; font-weight: 600; text-decoration: underline;}
20
+ .espbw-filter .espbw-search-inp{margin: 0; border-radius: 0;}
21
+ .espbw-filter a:focus{box-shadow: none; outline: 0;}
22
+ .espbw-search-no-result{clear: both; text-align: center; font-size: 16px;}
wpos-plugins/assets/images/cart-2.png ADDED
Binary file
wpos-plugins/assets/images/essential-plugin-16.png ADDED
Binary file
wpos-plugins/assets/images/essential-plugin-50.png ADDED
Binary file
wpos-plugins/assets/images/essentialplugin-logo.png ADDED
Binary file
wpos-plugins/assets/images/inbound50-by-50.png ADDED
Binary file
wpos-plugins/assets/images/sliderspack.png ADDED
Binary file
wpos-plugins/assets/images/utility-icon.png ADDED
Binary file
wpos-plugins/assets/js/admin-script.js ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*jslint browser:true */
2
+ (function ($) {
3
+ "use strict";
4
+
5
+ var timer;
6
+ var timeOut = 300; /* delay after last keypress to execute filter */
7
+
8
+ $( document ).ready(function() {
9
+
10
+ /* Stop Submitting Search Form */
11
+ $('.espbw-search-inp-js').submit(function( event ) {
12
+ event.preventDefault();
13
+ });
14
+
15
+ $(document).on('keyup paste input', '.espbw-search-inp-js', function(event) {
16
+
17
+ clearTimeout(timer); /* if we pressed the key, it will clear the previous timer and wait again */
18
+ var curr_ele = $(this);
19
+ var cls_ele = curr_ele.closest('.espbw-dashboard-wrap');
20
+ var search_ele = cls_ele.find('.espbw-plugin-list');
21
+
22
+ cls_ele.find('.espbw-search-no-result').hide();
23
+ cls_ele.find('.espbw-filter-link').removeClass('current');
24
+
25
+ timer = setTimeout(function() {
26
+
27
+ var search_value = $.trim( curr_ele.val().toLowerCase() );
28
+ var search_array = search_value.split(" ");
29
+
30
+ if( search_value == '' ) {
31
+ cls_ele.find('.espbw-plugin-all .espbw-filter-link').addClass('current');
32
+ }
33
+
34
+ search_ele.find('.espbw-plugin-card-wrap').each(function(index) {
35
+
36
+ var contents = $(this).find('.espbw-plugin-name').text().toLowerCase();
37
+ var tags = $(this).attr('data-tags').toLowerCase();
38
+
39
+ if ( contents.indexOf(search_value) !== -1 || tags.indexOf(search_value) !== -1 ) {
40
+ $(this).show();
41
+ } else {
42
+ $(this).hide();
43
+ }
44
+ });
45
+
46
+ if( ! cls_ele.find('.espbw-plugin-card-wrap').is(":visible") ) {
47
+ cls_ele.find('.espbw-search-no-result').show();
48
+ }
49
+
50
+ }, timeOut);
51
+ });
52
+
53
+ /* Filter Links */
54
+ $(document).on('click', '.espbw-filter-link', function() {
55
+
56
+ var curr_ele = $(this);
57
+ var cls_ele = curr_ele.closest('.espbw-dashboard-wrap');
58
+ var plugin_list_ele = cls_ele.find('.espbw-plugin-list');
59
+ var filter = curr_ele.attr('data-filter');
60
+ filter = filter ? filter : '';
61
+
62
+ cls_ele.find('.espbw-search-inp-js').val('');
63
+ plugin_list_ele.find('.espbw-plugin-card-wrap').hide();
64
+ cls_ele.find('.espbw-filter-link').removeClass('current');
65
+ curr_ele.addClass('current');
66
+
67
+ if( filter == '' ) {
68
+ plugin_list_ele.find('.espbw-plugin-card-wrap').show();
69
+ } else {
70
+ plugin_list_ele.find('.espbw-'+filter).show();
71
+ }
72
+ });
73
+
74
+ });
75
+
76
+ })(jQuery);
wpos-plugins/includes/admin/class-espbw-admin.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin Class
4
+ * Handles the Admin side functionality of plugin
5
+ *
6
+ * @package Essential Plugins Bundle
7
+ * @since 1.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ class WPOS_ESPBW_Admin {
15
+
16
+ function __construct() {
17
+
18
+ // Action to register admin menu
19
+ add_action( 'admin_menu', array($this, 'espbw_register_menu'), 14 );
20
+ }
21
+
22
+ /**
23
+ * Function to register admin menus
24
+ *
25
+ * @since 1.0
26
+ */
27
+ function espbw_register_menu() {
28
+
29
+ global $wpos_espbw_module;
30
+
31
+ // Loop of menu
32
+ if( ! empty( $wpos_espbw_module ) ) {
33
+ foreach ($wpos_espbw_module as $module_key => $module_val) {
34
+
35
+ // Dashboard Page
36
+ add_submenu_page( $module_val['menu'], __('Essential Plugins Bundle By WP OnlineSuport', 'espbw'), '<span style="color:#ff6600;">'.__('Install Popular Plugins From WPOS', 'espbw').'</span>', 'manage_options', "{$module_val['prefix']}-espbw-dashboard", array($this, 'espbw_dashboard_page'), $module_val['position'] );
37
+ }
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Render Plugin Dashboard Page
43
+ *
44
+ * @since 1.0
45
+ */
46
+ function espbw_dashboard_page() {
47
+ include_once( WPOS_ESPBW_DIR . '/includes/admin/views/dashboard.php' );
48
+ }
49
+ }
50
+
51
+ $wpos_espbw_admin = new WPOS_ESPBW_Admin();
wpos-plugins/includes/admin/views/dashboard.php ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Dashboard Page
4
+ *
5
+ * @package Essential Plugins Bundle
6
+ * @since 1.0
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+
13
+ // Call Plugin API
14
+ if ( ! function_exists( 'plugins_api' ) ) {
15
+ require_once ABSPATH . '/wp-admin/includes/plugin-install.php';
16
+ }
17
+
18
+ // Taking some data
19
+ $plugins_allowedtags = array(
20
+ 'a' => array(
21
+ 'href' => array(),
22
+ 'title' => array(),
23
+ 'target' => array(),
24
+ ),
25
+ 'abbr' => array( 'title' => array() ),
26
+ 'acronym' => array( 'title' => array() ),
27
+ 'code' => array(),
28
+ 'pre' => array(),
29
+ 'em' => array(),
30
+ 'strong' => array(),
31
+ 'ul' => array(),
32
+ 'ol' => array(),
33
+ 'li' => array(),
34
+ 'p' => array(),
35
+ 'br' => array(),
36
+ );
37
+
38
+ $plugins_data = wpos_espbw_get_plugin_data();
39
+ $plugins_filter = wpos_espbw_plugins_filter();
40
+
41
+ // Check Plugin Install Permission
42
+ if( ! current_user_can('install_plugins') ) {
43
+ echo '<div class="error">
44
+ <p>'. esc_html__( "Sorry, It looks like that you do not have permission to install the plugin.", "espbw") .'</p>
45
+ <p>'. esc_html__("You can take a look at our all plugins at", "espbw") .' <a href="https://profiles.wordpress.org/wponlinesupport#content-plugins" target="_blank">'. esc_html__("here", "espbw") . '</a>.</p>
46
+ </div>';
47
+ return;
48
+ }
49
+ ?>
50
+ <script type="text/javascript">
51
+ var pagenow = 'plugin-install';
52
+ </script>
53
+ <div class="wrap espbw-settings">
54
+ <div class="espbw-dashboard-wrap">
55
+
56
+ <div class="espbw-dashboard-title">
57
+ <div class="espbw-dashboard-title-inr">
58
+ <div class="espbw-dashboard-logo"><a href="<?php echo POPUPAOC_SITE_LINK; ?>/?utm_source=wp&utm_medium=plugin&utm_campaign=essential-bundle" target="_blank"><img src="<?php echo esc_url( WPOS_ESPBW_URL ); ?>assets/images/essentialplugin-logo.png" alt="essentialplugin" /></a></div>
59
+ <h3 style="text-align:center;"><?php _e( 'Essential Plugin', 'espbw' ); ?></h3>
60
+ <em class="wpos-em">Installs directly from <b>wordpress.org</b> repository</em> <br />
61
+ </div>
62
+ </div>
63
+ <br/>
64
+
65
+ <div class="wp-filter espbw-filter">
66
+ <ul class="filter-links espbw-filter-links">
67
+ <li class="espbw-plugin-all"><a href="javascript:void(0);" class="espbw-filter-link current"><?php esc_html_e('All Essential Plugins', 'espbw'); ?></a></li>
68
+ <li class="espbw-plugin-recommended"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="recommended"><?php esc_html_e('Utility Plugins', 'espbw'); ?></a></li>
69
+ <li class="espbw-plugin-marketing"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="marketing"><?php esc_html_e('Inbound Marketing', 'espbw'); ?></a></li>
70
+ <li class="espbw-plugin-sliders"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="sliders"><?php esc_html_e('Sliders', 'espbw'); ?></a></li>
71
+ <li class="espbw-plugin-woo"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="woocommerce"><?php esc_html_e('WooCommerce', 'espbw'); ?></a></li>
72
+ </ul>
73
+
74
+ <form class="search-form search-plugins" method="get">
75
+ <input type="hidden" name="page" value="espbw-dashboard" />
76
+ <input type="search" name="espbw_search" value="" class="wp-filter-search espbw-search-inp espbw-search-inp-js" placeholder="<?php echo esc_html_e('Search Plugins e.g popup', 'espbw'); ?>" />
77
+ </form>
78
+ </div>
79
+
80
+ <?php if( ! empty( $plugins_data->plugins ) ) { ?>
81
+ <form id="plugin-filter" method="post">
82
+ <div class="espbw-plugin-list-wrap">
83
+ <div class="widefat espbw-plugin-list espbw-clearfix" id="the-list">
84
+
85
+ <?php foreach ($plugins_data->plugins as $plugin_key => $plugin_data) {
86
+
87
+ if ( is_object( $plugin_data ) ) {
88
+ $plugin_data = (array) $plugin_data;
89
+ }
90
+
91
+ // Taking some data
92
+ $title = wp_kses( $plugin_data['name'], $plugins_allowedtags );
93
+ $version = wp_kses( $plugin_data['version'], $plugins_allowedtags );
94
+ $name = strip_tags( $title . ' ' . $version );
95
+ $description = strip_tags( $plugin_data['short_description'] );
96
+ $last_updated_timestamp = strtotime( $plugin_data['last_updated'] );
97
+ $author = wp_kses( $plugin_data['author'], $plugins_allowedtags );
98
+ $author = str_replace( "href=", 'target="_blank" href=', $author );
99
+ $requires_php = isset( $plugin['requires_php'] ) ? $plugin['requires_php'] : null;
100
+ $requires_wp = isset( $plugin_data['requires'] ) ? $plugin_data['requires'] : null;
101
+ $compatible_php = is_php_version_compatible( $requires_php );
102
+ $compatible_wp = is_wp_version_compatible( $requires_wp );
103
+ $tested_wp = ( empty( $plugin_data['tested'] ) || version_compare( get_bloginfo( 'version' ), $plugin_data['tested'], '<=' ) );
104
+ $details_link = self_admin_url( 'plugin-install.php?tab=plugin-information&amp;plugin=' . $plugin_data['slug'] . '&amp;TB_iframe=true&amp;width=600&amp;height=550' );
105
+ $extra_class = ( ! empty( $plugins_filter[ $plugin_data['slug'] ]['class'] ) ) ? $plugins_filter[ $plugin_data['slug'] ]['class'] : '';
106
+ $plugin_tags = ( ! empty( $plugins_filter[ $plugin_data['slug'] ]['tags'] ) ) ? $plugins_filter[ $plugin_data['slug'] ]['tags'] : '';
107
+
108
+ // Author String
109
+ if ( ! empty( $author ) ) {
110
+ /* translators: %s: Plugin author. */
111
+ $author = ' <cite>' . sprintf( __( 'By %s' ), $author ) . '</cite>';
112
+ }
113
+
114
+ // Plugin Icon
115
+ if ( ! empty( $plugin_data['icons']['svg'] ) ) {
116
+ $plugin_icon_url = $plugin_data['icons']['svg'];
117
+ } elseif ( ! empty( $plugin_data['icons']['2x'] ) ) {
118
+ $plugin_icon_url = $plugin_data['icons']['2x'];
119
+ } elseif ( ! empty( $plugin_data['icons']['1x'] ) ) {
120
+ $plugin_icon_url = $plugin_data['icons']['1x'];
121
+ } else {
122
+ $plugin_icon_url = $plugin_data['icons']['default'];
123
+ }
124
+
125
+ // Plugin Action Links
126
+ $action_links = array();
127
+
128
+ if ( current_user_can( 'install_plugins' ) || current_user_can( 'update_plugins' ) ) {
129
+ $status = install_plugin_install_status( $plugin_data );
130
+
131
+ switch ( $status['status'] ) {
132
+ case 'install':
133
+ if ( $status['url'] ) {
134
+ if ( $compatible_php && $compatible_wp ) {
135
+ $action_links[] = sprintf(
136
+ '<a class="install-now button" data-slug="%s" href="%s" aria-label="%s" data-name="%s">%s</a>',
137
+ esc_attr( $plugin_data['slug'] ),
138
+ esc_url( $status['url'] ),
139
+ /* translators: %s: Plugin name and version. */
140
+ esc_attr( sprintf( __( 'Install %s now' ), $name ) ),
141
+ esc_attr( $name ),
142
+ __( 'Install Now' )
143
+ );
144
+ } else {
145
+ $action_links[] = sprintf(
146
+ '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
147
+ _x( 'Cannot Install', 'plugin' )
148
+ );
149
+ }
150
+ }
151
+ break;
152
+
153
+ case 'update_available':
154
+ if ( $status['url'] ) {
155
+ if ( $compatible_php && $compatible_wp ) {
156
+ $action_links[] = sprintf(
157
+ '<a class="update-now button aria-button-if-js" data-plugin="%s" data-slug="%s" href="%s" aria-label="%s" data-name="%s">%s</a>',
158
+ esc_attr( $status['file'] ),
159
+ esc_attr( $plugin_data['slug'] ),
160
+ esc_url( $status['url'] ),
161
+ /* translators: %s: Plugin name and version. */
162
+ esc_attr( sprintf( __( 'Update %s now' ), $name ) ),
163
+ esc_attr( $name ),
164
+ __( 'Update Now' )
165
+ );
166
+ } else {
167
+ $action_links[] = sprintf(
168
+ '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
169
+ _x( 'Cannot Update', 'plugin' )
170
+ );
171
+ }
172
+ }
173
+ break;
174
+
175
+ case 'latest_installed':
176
+ case 'newer_installed':
177
+ if ( is_plugin_active( $status['file'] ) ) {
178
+ $action_links[] = sprintf(
179
+ '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
180
+ _x( 'Active', 'plugin' )
181
+ );
182
+ } elseif ( current_user_can( 'activate_plugin', $status['file'] ) ) {
183
+ $button_text = __( 'Activate' );
184
+ /* translators: %s: Plugin name. */
185
+ $button_label = _x( 'Activate %s', 'plugin' );
186
+ $activate_url = add_query_arg(
187
+ array(
188
+ '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $status['file'] ),
189
+ 'action' => 'activate',
190
+ 'plugin' => $status['file'],
191
+ ),
192
+ network_admin_url( 'plugins.php' )
193
+ );
194
+
195
+ if ( is_network_admin() ) {
196
+ $button_text = __( 'Network Activate' );
197
+ /* translators: %s: Plugin name. */
198
+ $button_label = _x( 'Network Activate %s', 'plugin' );
199
+ $activate_url = add_query_arg( array( 'networkwide' => 1 ), $activate_url );
200
+ }
201
+
202
+ $action_links[] = sprintf(
203
+ '<a href="%1$s" class="button activate-now" aria-label="%2$s">%3$s</a>',
204
+ esc_url( $activate_url ),
205
+ esc_attr( sprintf( $button_label, $plugin_data['name'] ) ),
206
+ $button_text
207
+ );
208
+ } else {
209
+ $action_links[] = sprintf(
210
+ '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
211
+ _x( 'Installed', 'plugin' )
212
+ );
213
+ }
214
+ break;
215
+ }
216
+ }
217
+
218
+ $action_links[] = sprintf(
219
+ '<a href="%s" class="thickbox open-plugin-details-modal" aria-label="%s" data-title="%s">%s</a>',
220
+ esc_url( $details_link ),
221
+ /* translators: %s: Plugin name and version. */
222
+ esc_attr( sprintf( __( 'More information about %s' ), $name ) ),
223
+ esc_attr( $name ),
224
+ __( 'More Details' )
225
+ );
226
+ ?>
227
+
228
+ <div class="espbw-plugin-card-wrap <?php echo $extra_class; ?>" data-tags="<?php echo esc_attr( $plugin_tags ); ?>">
229
+ <div class="plugin-card plugin-card-<?php echo sanitize_html_class( $plugin_data['slug'] ); ?>">
230
+ <div class="plugin-card-top">
231
+ <div class="name column-name">
232
+ <h3>
233
+ <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox open-plugin-details-modal">
234
+ <span class="espbw-plugin-name"><?php echo $title; ?></span>
235
+ <img src="<?php echo esc_url( $plugin_icon_url ); ?>" class="plugin-icon" alt="" />
236
+ </a>
237
+ </h3>
238
+ </div>
239
+
240
+ <div class="action-links">
241
+ <?php
242
+ if ( $action_links ) {
243
+ echo '<ul class="plugin-action-buttons"><li>' . implode( '</li><li>', $action_links ) . '</li></ul>';
244
+ }
245
+ ?>
246
+ </div>
247
+
248
+ <div class="desc column-description">
249
+ <p><?php echo $description; ?></p>
250
+ <p class="authors"><?php echo $author; ?></p>
251
+ </div>
252
+ </div><!-- end .plugin-card-top -->
253
+
254
+ <div class="plugin-card-bottom">
255
+ <div class="vers column-rating">
256
+ <?php
257
+ wp_star_rating(
258
+ array(
259
+ 'rating' => $plugin_data['rating'],
260
+ 'type' => 'percent',
261
+ 'number' => $plugin_data['num_ratings'],
262
+ )
263
+ );
264
+ ?>
265
+ <span class="num-ratings" aria-hidden="true">(<?php echo number_format_i18n( $plugin_data['num_ratings'] ); ?>)</span>
266
+ </div>
267
+
268
+ <div class="column-updated">
269
+ <strong><?php _e( 'Last Updated:' ); ?></strong>
270
+ <?php
271
+ /* translators: %s: Human-readable time difference. */
272
+ printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) );
273
+ ?>
274
+ </div>
275
+
276
+ <div class="column-downloaded">
277
+ <?php
278
+ if ( $plugin_data['active_installs'] >= 1000000 ) {
279
+ $active_installs_millions = floor( $plugin_data['active_installs'] / 1000000 );
280
+ $active_installs_text = sprintf(
281
+ /* translators: %s: Number of millions. */
282
+ _nx( '%s+ Million', '%s+ Million', $active_installs_millions, 'Active plugin installations' ),
283
+ number_format_i18n( $active_installs_millions )
284
+ );
285
+ } elseif ( 0 == $plugin_data['active_installs'] ) {
286
+ $active_installs_text = _x( 'Less Than 10', 'Active plugin installations' );
287
+ } else {
288
+ $active_installs_text = number_format_i18n( $plugin_data['active_installs'] ) . '+';
289
+ }
290
+ /* translators: %s: Number of installations. */
291
+ printf( __( '%s Active Installations' ), $active_installs_text );
292
+ ?>
293
+ </div>
294
+
295
+ <div class="column-compatibility">
296
+ <?php
297
+ if ( ! $tested_wp ) {
298
+ echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress' ) . '</span>';
299
+ } elseif ( ! $compatible_wp ) {
300
+ echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>';
301
+ } else {
302
+ echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress' ) . '</span>';
303
+ }
304
+ ?>
305
+ </div>
306
+ </div><!-- end .plugin-card-bottom -->
307
+ </div><!-- end .plugin-card -->
308
+ </div><!-- end .espbw-plugin-card-wrap -->
309
+
310
+ <?php } ?>
311
+
312
+ </div>
313
+ <div class="espbw-hide espbw-search-no-result"><?php esc_html_e('Sorry, No result found. Please refine your search.', 'espbw'); ?></div>
314
+ </div><!-- end .espbw-plugin-list-wrap -->
315
+ </form>
316
+ <?php } else { ?>
317
+
318
+ <div class="espbw-no-result">
319
+ <p><?php esc_html_e('Sorry, Something happened wrong.', 'espbw'); ?></p>
320
+ <p><?php esc_html_e('You can take a look at our all plugins at', 'espbw'); ?> <a href="https://profiles.wordpress.org/wponlinesupport#content-plugins" target="_blank"><?php esc_html_e('here', 'espbw'); ?></a>.</p>
321
+ </div>
322
+
323
+ <?php }
324
+ ?>
325
+ </div>
326
+ </div><!-- end .wrap -->
wpos-plugins/includes/class-espbw-script.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Script Class
4
+ * Handles the script and style functionality of plugin
5
+ *
6
+ * @package Essential Plugins Bundle
7
+ * @since 1.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ class WPOS_ESPBW_Script {
15
+
16
+ function __construct() {
17
+
18
+ // Action to add style at admin side
19
+ add_action( 'admin_enqueue_scripts', array($this, 'espbw_admin_script_style') );
20
+ }
21
+
22
+ /**
23
+ * Function to add script and style at admin side
24
+ *
25
+ * @since 1.0
26
+ */
27
+ function espbw_admin_script_style( $hook ) {
28
+
29
+ // Taking pages array
30
+ $page = isset( $_GET['page'] ) ? $_GET['page'] : '';
31
+
32
+ // Registring admin css
33
+ wp_register_style( 'espbw-admin-css', WPOS_ESPBW_URL.'assets/css/admin-style.css', array(), WPOS_ESPBW_VERSION );
34
+
35
+ // Registring admin script
36
+ wp_register_script( 'espbw-admin-script', WPOS_ESPBW_URL.'assets/js/admin-script.js', array('jquery'), WPOS_ESPBW_VERSION, true );
37
+
38
+ // Olny for dashboard screen
39
+ if( strpos( $page, 'espbw-dashboard' ) !== false ) {
40
+
41
+ // enqueing admin css
42
+ wp_enqueue_style( 'espbw-admin-css' );
43
+
44
+ // enqueing admin script
45
+ wp_enqueue_script( 'plugin-install' );
46
+ wp_enqueue_script( 'updates' );
47
+ wp_localize_script( 'updates', '_wpUpdatesItemCounts', array(
48
+ 'totals' => wp_get_update_data(),
49
+ ));
50
+ add_thickbox();
51
+
52
+ wp_enqueue_script( 'espbw-admin-script' );
53
+ }
54
+ }
55
+ }
56
+
57
+ $wpos_espbw_script = new WPOS_ESPBW_Script();
wpos-plugins/includes/espbw-functions.php ADDED
@@ -0,0 +1,258 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Common Functions
4
+ *
5
+ * @package Essential Plugins Bundle
6
+ * @since 1.0
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+
13
+ /**
14
+ * Function to sort plugins api data
15
+ *
16
+ * @since 1.0
17
+ */
18
+ function wpos_espbw_sort_plugin_data( $a, $b ) {
19
+
20
+ $a_active_installs = is_numeric( $a['active_installs'] ) ? $a['active_installs'] : 0;
21
+ $b_active_installs = is_numeric( $b['active_installs'] ) ? $b['active_installs'] : 0;
22
+
23
+ if ($a_active_installs == $b_active_installs) {
24
+ return 0;
25
+ }
26
+ return ($a_active_installs > $b_active_installs) ? -1 : 1;
27
+ }
28
+
29
+ /**
30
+ * Function to add script and style at admin side
31
+ *
32
+ * @since 1.0
33
+ */
34
+ function wpos_espbw_get_plugin_data() {
35
+
36
+ // Get cache result
37
+ $plugins_data = get_transient( 'espbw_plugins_data' );
38
+
39
+ // If no cache is there
40
+ if( empty( $plugins_data ) ) {
41
+
42
+ // Call Plugin API
43
+ if ( ! function_exists( 'plugins_api' ) ) {
44
+ require_once ABSPATH . '/wp-admin/includes/plugin-install.php';
45
+ }
46
+
47
+ $plugins_data = plugins_api( 'query_plugins', array(
48
+ 'per_page' => 60,
49
+ 'author' => 'wponlinesupport',
50
+ 'fields' => array(
51
+ 'icons' => true,
52
+ 'active_installs' => true,
53
+ )
54
+ ) );
55
+
56
+ if( is_wp_error( $plugins_data ) || empty( $plugins_data->plugins ) ) {
57
+
58
+ $file = WPOS_ESPBW_DIR . 'plugins-data.json';
59
+
60
+ // We don't need to write to the file, so just open for reading.
61
+ $fp = fopen( $file, 'r' );
62
+
63
+ // Pull data of the file in.
64
+ $file_data = fread( $fp, 1024 * KB_IN_BYTES );
65
+
66
+ // Close file handle
67
+ fclose( $fp );
68
+
69
+ $file_data = utf8_encode($file_data);
70
+ $plugins_data_arr = json_decode( $file_data, true );
71
+ $plugins_data = json_decode( $file_data );
72
+ $plugins_data->plugins = $plugins_data_arr['plugins'];
73
+ }
74
+
75
+ if( ! is_wp_error( $plugins_data ) && ! empty( $plugins_data->plugins ) ) {
76
+
77
+ // Sort the data based on active install
78
+ usort( $plugins_data->plugins, "wpos_espbw_sort_plugin_data" );
79
+
80
+ set_transient( 'espbw_plugins_data', $plugins_data, (12 * HOUR_IN_SECONDS) );
81
+ }
82
+ }
83
+
84
+ return $plugins_data;
85
+ }
86
+
87
+ /**
88
+ * Add some filter classes for plugins.
89
+ *
90
+ * @since 1.0
91
+ */
92
+ function wpos_espbw_plugins_filter() {
93
+
94
+ $plugin_filters = array(
95
+ 'sp-faq' => array(
96
+ 'class' => 'espbw-recommended espbw-showcase',
97
+ 'tags' => 'faq, faq list, faq plugin, faqs, wp faq with category, jquery ui accordion, faq with accordion, frequently asked questions, wordpress faq',
98
+ ),
99
+ 'app-mockups-carousel' => array(
100
+ 'class' => 'espbw-sliders',
101
+ 'tags' => 'app mockups carousel, mockups, device mockup, mockup slider, app gallery slider, app gallery Carousel, device gallery carousel, app mockups carousel, mockups carousel',
102
+ ),
103
+ 'countdown-timer-ultimate' => array(
104
+ 'class' => 'espbw-recommended espbw-showcase',
105
+ 'tags' => 'countdown timer, timer, timer countdown, countdown, event countdown timer, animated countdown timer, birthday countdown, clock, count down, countdown, countdown clock, countdown generator, countdown system, countdown timer, countdown timer, date countdown, event countdown, flash countdown, jQuery countdown, time counter, website countdown, wp countdown, wp countdown timer',
106
+ ),
107
+ 'featured-post-creative' => array(
108
+ 'class' => 'espbw-post espbw-showcase',
109
+ 'tags' => 'featured post, featured post grid, featured post widget, responsive featured post grid, responsive featured post, featured post brick layout, featured posts',
110
+ ),
111
+ 'footer-mega-grid-columns' => array(
112
+ 'class' => '',
113
+ 'tags' => 'footer, footer widgets, footer widgets in grid, website footer, footer, mega footer, megafooter',
114
+ ),
115
+ 'hero-banner-ultimate' => array(
116
+ 'class' => '',
117
+ 'tags' => 'hero image, hero banner, hero header, hero video, video background, hero video, youtube video background, vimeo video background',
118
+ ),
119
+ 'inboundwp-lite' => array(
120
+ 'class' => 'espbw-marketing',
121
+ 'tags' => 'Spin Wheel, WhatsApp chat Support, Inbound, Inbound marketing, Better Heading, Social Proof, Testimonial, Review, Deal Countdown Timer, Marketing PopUp',
122
+ ),
123
+ 'popup-anything-on-click' => array(
124
+ 'class' => 'espbw-recommended',
125
+ 'tags' => 'modal popup, popup, modal, full screen popup, html popup, image popup, popup on click, modal popup on click, full screen popup on click, click popup',
126
+ ),
127
+ 'portfolio-and-projects' => array(
128
+ 'class' => 'espbw-recommended',
129
+ 'tags' => 'portfolio, portfolio listing, projects, project grid, project portfolio, Responsive Portfolio, portfolio categories, add portfolio, add portfolio plugin, portfolio gallery, portfolio plugin, career portfolio, googole image style, best portfolio, portfolio display, project management',
130
+ ),
131
+ 'maintenance-mode-with-timer' => array(
132
+ 'class' => '',
133
+ 'tags' => 'maintenance mode, coming soon, maintenance mode with timer, maintenance mode with countdown timer, countdown timer, coming soon with countdown timer, offline, site is offline, site offline, under construction, launch, launch page, maintenance',
134
+ ),
135
+ 'preloader-for-website' => array(
136
+ 'class' => '',
137
+ 'tags' => 'page loader, loader, page load animations, animated pre-loader, animated preloader, colorful, customize, Jquery Loader, jquery pre-loader, jquery preloader, loader, pre-loader, preload, preloader',
138
+ ),
139
+ 'search-and-navigation-popup' => array(
140
+ 'class' => '',
141
+ 'tags' => 'serchbox popup, menubar popup, navigation popup, serchbox popup',
142
+ ),
143
+ 'smooth-scroll-by-wpos' => array(
144
+ 'class' => '',
145
+ 'tags' => 'mousewheel scroll, scroll, smooth scroll, scrolling, go to top, back to top, scroll to element, scroll to section, smooth scroll to element, smooth scroll to section',
146
+ ),
147
+ 'ticker-ultimate' => array(
148
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
149
+ 'tags' => 'wponlinesupport, ticker, news ticker, blog ticker, post ticker, ticker slider, ticker vertical slider, ticker horizontal slider',
150
+ ),
151
+ 'wp-blog-and-widgets' => array(
152
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
153
+ 'tags' => 'blog design, blog layout, wordpress blog , custom blog template, wordpress blog widget, blog layout design, custom blog layout, Free wordpress blog, blog custom post type, blog menu, blog page with custom post type, blog, latest blog, custom post type, cpt, widget',
154
+ ),
155
+ 'sp-news-and-widget' => array(
156
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
157
+ 'tags' => 'wordpress news plugin, news website, news page scrolling , wordpress vertical news plugin widget, wordpress horizontal news plugin widget, scrolling news wordpress plugin, scrolling news widget wordpress plugin, WordPress set post or page as news, WordPress dynamic news, news, latest news, custom post type, cpt, widget, vertical news scrolling widget, news widget',
158
+ ),
159
+ 'wp-testimonial-with-widget' => array(
160
+ 'class' => 'espbw-recommended espbw-showcase',
161
+ 'tags' => 'testimonial, Testimonial, testimonials, Testimonials, widget, Best testimonial slider, Responsive testimonial slider, client testimonial slider, easy testimonial slider, testimonials with widget, wordpress testimonial with widget, testimonial rotator, testimonial slider, Testimonial slider, testimonial with shortcode, client testimonial, client quote',
162
+ ),
163
+ 'timeline-and-history-slider' => array(
164
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
165
+ 'tags' => 'timeline slider, life history, history slider, company story timeline, process slider, process, responsive timeline, about us, achievements, Activity Log, awesome company timeline, biography, events timeline, history, history timeline, life achievements, lifestream, story, personal timeline',
166
+ ),
167
+ 'wp-team-showcase-and-slider' => array(
168
+ 'class' => 'espbw-recommended espbw-showcase',
169
+ 'tags' => 'team, teamshowcase, team slider, responsive teamshowcase, teamshowcase rotator, employees, meet team, members, skills, staff, team, v-card, members profile, my team, our team, responsive team display, responsive team, team members, team members profile, team profile, team showcase, tlp team, WordPress Team Member',
170
+ ),
171
+ 'recent-posts-widget-designer' => array(
172
+ 'class' => '',
173
+ 'tags' => 'post widget, post widget with thumbnail, post widget designer, post widget designs, recent post widget with thumbnail, recent post widget designer, recent post widget designs',
174
+ ),
175
+ 'styles-for-wp-pagenavi-addon' => array(
176
+ 'class' => '',
177
+ 'tags' => 'navigation, pagination, paging, pages, navigation, pagenavi style, wp pagenavi styling, pagenavi styling, pagenavi css',
178
+ ),
179
+ 'post-grid-and-filter-ultimate' => array(
180
+ 'class' => 'espbw-post espbw-showcase',
181
+ 'tags' => 'post grid, post, post filter, post category filter, custom post grid, grid display, grid, content grid, filter, post designs, grid designs',
182
+ ),
183
+ 'accordion-and-accordion-slider' => array(
184
+ 'class' => 'espbw-showcase',
185
+ 'tags' => 'accordion, accordion image slider, accordion, horizontal accordion, vertical accordion, responsive accordion, accordion carousel,',
186
+ ),
187
+ 'html5-videogallery-plus-player' => array(
188
+ 'class' => 'espbw-recommended espbw-showcase',
189
+ 'tags' => 'video, youtube video gallery, vimeo video gallery, youtube video gallery with popup, Youtube-video, youtube embed, youtube gallery, youtube player, magnific Popup, vimeo video gallery gallery, HTML5 video player, HTML5 video gallery, wordpress HTML5 video, wordpress HTML5 video player, wordpress HTML5 video gallery, responsive, wordpress responsive video gallery',
190
+ ),
191
+ 'wp-featured-content-and-slider' => array(
192
+ 'class' => 'espbw-recommended espbw-showcase',
193
+ 'tags' => 'content slider, slider, features, services, featured content, featured services, featured content rotator, featured content slider, featured content slideshow, featured posts, featured content slider',
194
+ ),
195
+ 'wp-responsive-recent-post-slider' => array(
196
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
197
+ 'tags' => 'post slider, posts slider, recent post slider, recent posts slider, slider, responsive post slider, responsive posts slider, responsive recent post slider, responsive recent posts slider, wordpress posts slider, post slideshow, posts slideshow, recent posts slideshow',
198
+ ),
199
+ 'blog-designer-for-post-and-widget' => array(
200
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
201
+ 'tags' => 'post, post design, post designer, post designs, post layout, post layout design, post widget, blog, blog designs, blog design, stylist post, post slider, post grid, recent post, recent post slider, recent post designs, posts in page, post carousel slider',
202
+ ),
203
+ 'wp-slick-slider-and-image-carousel' => array(
204
+ 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
205
+ 'tags' => 'slick, image slider, slick slider, slick image slider, slider, image slider, header image slider, responsive image slider, responsive content slider, carousel, image carousel, carousel slider, content slider, coin slider, touch slider, text slider, responsive slider, responsive slideshow, Responsive Touch Slider, wp slider, wp image slider, wp header image slider, photo slider, responsive photo slider',
206
+ ),
207
+ 'wp-trending-post-slider-and-widget' => array(
208
+ 'class' => 'espbw-post espbw-showcase',
209
+ 'tags' => 'popular post, popular posts, trending, trending posts carousel trending post, trending posts, trending posts carousel, popular posts slider, trending posts slider, widget, shortcodes, slider, post slick slider, trending posts widget, popular posts widget, daily popular, page views, popular posts, top posts',
210
+ ),
211
+ 'audio-player-with-playlist-ultimate' => array(
212
+ 'class' => 'espbw-showcase',
213
+ 'tags' => 'audio player with playlist, album art, artist, audio player, audio player with playlist, multiple player, music player, repeat, shuffle, single player, song title',
214
+ ),
215
+ 'sliderspack-all-in-one-image-sliders' => array(
216
+ 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
217
+ 'tags' => 'logo ticker, bxslider, meta slider, flexslider, fancybox, nivo slider, owl slider, unslider , wallop slider , bx slider, flex slider, rolling slider, image slider, slider, 3d slider, 3d image slider, 3d image carousel, image carousel, carousel, swiper, swiper carousel, Cascade Slider',
218
+ ),
219
+ 'album-and-image-gallery-plus-lightbox' => array(
220
+ 'class' => 'espbw-recommended espbw-showcase',
221
+ 'tags' => 'album, image album, gallery, magnific image slider, image gallery, responsive image gallery, image slider, image gallery slider, gallery slider, album slider, lightbox, albums, best gallery plugin, photo gallery, galleries, gallery, image captions, media gallery, photo albums, photo gallery, photography, Picture Gallery, pictures, responsive galleries, responsive gallery, slideshow galleries, slideshow gallery, thumbnail galleries, thumbnail gallery, wordpress gallery plugin, wordpress photo gallery plugin, wordpress responsive gallery, wp gallery, wp gallery plugins',
222
+ ),
223
+ 'wp-modal-popup-with-cookie-integration' => array(
224
+ 'class' => '',
225
+ 'tags' => 'popup',
226
+ ),
227
+ 'meta-slider-and-carousel-with-lightbox' => array(
228
+ 'class' => 'espbw-recommended espbw-sliders',
229
+ 'tags' => 'frontend gallery slider, frontend gallery Carousel, image slider, image carousel, meta gallery slider, meta gallery carousel, gallery slider, gallery',
230
+ ),
231
+ 'post-category-image-with-grid-and-slider' => array(
232
+ 'class' => 'espbw-sliders espbw-showcase',
233
+ 'tags' => 'category, category image, post category image, post category image grid, post category image slider, customization, custom category image, category featured image, category grid, category slider',
234
+ ),
235
+ 'wp-logo-showcase-responsive-slider-slider' => array(
236
+ 'class' => 'espbw-recommended espbw-showcase',
237
+ 'tags' => 'logo slider, logo slider, widget, client logo carousel, client logo slider, client, customer, image carousel, carousel, logo showcase, Responsive logo slider, Responsive logo carousel, WordPress logo slider, WordPress logo carousel, slick carousel, Best logo showcase, easy logo slider, logo carousel wordpress, logo slider wordpress, sponsors, sponsors slider, sponsors carousel',
238
+ ),
239
+ 'product-categories-designs-for-woocommerce' => array(
240
+ 'class' => 'espbw-woocommerce espbw-showcase',
241
+ 'tags' => 'woocommerce, categories designs, categories slider, categories grid, WooCommerce categories designs, WooCommerce categories slider, WooCommerce categories grid',
242
+ ),
243
+ 'woo-product-slider-and-carousel-with-category' => array(
244
+ 'class' => 'espbw-woocommerce',
245
+ 'tags' => 'woocommerce, best selling products, best selling products slider, slick slider, best selling products by category, shortcode, template code, featured product, featured product slider, Featured product by category, autoplay slider, best product slider, best product slider for woo shop, carousel, clean woo product slider, multiple product slider, product carousel, product content slider, product contents carousel, product slider, product slider carousel for woo, products slider, responsive product slider, responsive product carousel, slider, smooth product slider woo product slider, advance slider, woo best selling products, woo category slider, latest products, most selling products, product carousel slider, recent product carousel, recent product slider',
246
+ ),
247
+ 'slider-and-carousel-plus-widget-for-instagram' => array(
248
+ 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
249
+ 'tags' => 'Custom Instagram Feed, feed, hashtag, instagram, Instagram feed, instagram gallery, Instagram images, Instagram photos, Instagram posts, Instagram wall, lightbox, photos, instagram social feed, show instagram post, responsive instgram, beautiful instagram, instagram widget, instgram plugin, artistic instagram, instagram wordpress, smashing instgram',
250
+ ),
251
+ 'frontend-gallery-slider-for-advanced-custom-field' => array(
252
+ 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
253
+ 'tags' => 'frontend gallery slider, frontend gallery Carousel, slider, acf frontend gallery slider, acf frontend gallery Carousel, acf gallery, acf',
254
+ ),
255
+ );
256
+
257
+ return $plugin_filters;
258
+ }
wpos-plugins/plugins-data.json ADDED
@@ -0,0 +1 @@
 
1
+ {"info":{"page":1,"pages":1,"results":39},"plugins":[{"name":"Accordion and Accordion Slider","slug":"accordion-and-accordion-slider","version":"1.0.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":10,"4":0,"3":0,"2":0,"1":0},"num_ratings":10,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":15979,"last_updated":"2020-08-10 9:12am GMT","added":"2017-10-12","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Accordion and Accordion Slider (Horizontal and Vertical) - Responsive and Touch enabled accordion for WordPress&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/accordion-and-accordion-slider.zip","tags":{"accordion":"Accordion","accordion-image-slider":"accordion image slider","horizontal-accordion":"horizontal accordion","vertical-accordion":"vertical accordion"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/accordion-and-accordion-slider\/assets\/icon-128x128.png?rev=1745171"}},{"name":"Album and Image Gallery plus Lightbox","slug":"album-and-image-gallery-plus-lightbox","version":"1.3.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":98,"ratings":{"5":18,"4":2,"3":0,"2":0,"1":0},"num_ratings":20,"support_threads":1,"support_threads_resolved":1,"active_installs":10000,"downloaded":82102,"last_updated":"2020-09-09 11:53am GMT","added":"2016-08-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive image gallery and image album in&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/album-and-image-gallery-plus-lightbox.zip","tags":{"album":"album","gallery":"gallery","image-album":"image album","magnific-image-slider":"magnific image slider","magnific-popup":"Magnific Popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/album-and-image-gallery-plus-lightbox\/assets\/icon-128x128.png?rev=1479228"}},{"name":"App Mockups Carousel","slug":"app-mockups-carousel","version":"1.1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":2,"4":0,"3":0,"2":0,"1":0},"num_ratings":2,"support_threads":1,"support_threads_resolved":0,"active_installs":300,"downloaded":2501,"last_updated":"2020-08-13 9:53am GMT","added":"2017-09-15","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Plugin create custom post type \u2013 App Mock-ups Carousel, add multiple images and settings. Show&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/app-mockups-carousel.zip","tags":{"app-gallery-carousel":"app gallery Carousel","app-gallery-slider":"app gallery slider","app-mockups-carousel":"app mockups carousel","device-gallery-carousel":"device gallery Carousel","swiper":"swiper"},"donate_link":"http:\/\/idangero.us\/donate\/?for=Swiper%20Donation","icons":{"1x":"https:\/\/ps.w.org\/app-mockups-carousel\/assets\/icon-128x128.png?rev=1730298"}},{"name":"Audio Player with Playlist Ultimate","slug":"audio-player-with-playlist-ultimate","version":"1.1.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":72,"ratings":{"5":6,"4":0,"3":0,"2":2,"1":2},"num_ratings":10,"support_threads":3,"support_threads_resolved":1,"active_installs":1000,"downloaded":16729,"last_updated":"2020-08-13 9:54am GMT","added":"2017-09-13","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Audio Player with Playlist Ultimate plugin is a jQuery HTML5 Music\/Audio Player with Playlist comes with huge possibilities and options.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/audio-player-with-playlist-ultimate.zip","tags":{"album-art":"album art","artist":"artist","audio-player":"audio player","audio-player-with-playlist":"audio player with playlist","multiple-player":"multiple player"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/audio-player-with-playlist-ultimate\/assets\/icon-128x128.png?rev=1729068"}},{"name":"Blog Designer &#8211; Post and Widget","slug":"blog-designer-for-post-and-widget","version":"2.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":20,"4":0,"3":1,"2":0,"1":1},"num_ratings":22,"support_threads":2,"support_threads_resolved":1,"active_installs":10000,"downloaded":113595,"last_updated":"2020-08-13 5:13am GMT","added":"2016-10-22","homepage":"","short_description":"Display Post on your website with 2 designs(Grid and Slider) with 1 widget. Also work&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/blog-designer-for-post-and-widget.zip","tags":{"post":"post","post-design":"post design","post-designer":"post designer","post-designs":"post designs","post-layout":"post layout"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/blog-designer-for-post-and-widget\/assets\/icon-128x128.png?rev=1519671"}},{"name":"Countdown Timer Ultimate","slug":"countdown-timer-ultimate","version":"1.2.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":18,"4":0,"3":2,"2":1,"1":2},"num_ratings":23,"support_threads":7,"support_threads_resolved":3,"active_installs":20000,"downloaded":169243,"last_updated":"2020-08-13 5:15am GMT","added":"2016-10-01","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive Countdown timer on your website. Also&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/countdown-timer-ultimate.zip","tags":{"countdown":"countdown","countdown-timer":"countdown timer","event-countdown-timer":"event countdown timer","timer":"timer","timer-countdown":"timer countdown"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/countdown-timer-ultimate\/assets\/icon-128x128.png?rev=1920759"}},{"name":"Featured Post Creative","slug":"featured-post-creative","version":"1.1.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":84,"ratings":{"5":3,"4":0,"3":2,"2":0,"1":0},"num_ratings":5,"support_threads":1,"support_threads_resolved":0,"active_installs":2000,"downloaded":23750,"last_updated":"2020-08-13 5:33am GMT","added":"2016-10-23","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Featured post on your website with 2 shortcode and 1 widget. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/featured-post-creative.zip","tags":{"featured-post":"featured post","featured-post-grid":"featured post grid","featured-post-widget":"featured post widget","responsive-featured-post":"responsive featured post","responsive-featured-post-grid":"responsive featured post grid"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/featured-post-creative\/assets\/icon-128x128.png?rev=1520278"}},{"name":"Footer Mega Grid Columns","slug":"footer-mega-grid-columns","version":"1.1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":9,"4":0,"3":0,"2":0,"1":1},"num_ratings":10,"support_threads":1,"support_threads_resolved":1,"active_installs":6000,"downloaded":39089,"last_updated":"2020-08-10 9:07am GMT","added":"2016-12-29","homepage":"","short_description":"Footer Mega Grid Columns - Register a footer widget area for your theme and allow you to add and display footer widgets in grid view with multiple col &hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/footer-mega-grid-columns.zip","tags":{"footer":"footer","footer-widgets":"footer widgets","footer-widgets-in-grid":"footer widgets in grid","simple-footer-editor":"simple footer editor","website-footer":"website footer"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/footer-mega-grid-columns\/assets\/icon-128x128.png?rev=1566023"}},{"name":"Frontend Gallery Slider For ACF","slug":"frontend-gallery-slider-for-advanced-custom-field","version":"1.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":3,"4":1,"3":0,"2":0,"1":0},"num_ratings":4,"support_threads":2,"support_threads_resolved":1,"active_installs":2000,"downloaded":16797,"last_updated":"2020-08-13 5:40am GMT","added":"2016-06-29","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Advanced Custom Field Gallery on frontend of your website with shorcode. Also work with&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/frontend-gallery-slider-for-advanced-custom-field.zip","tags":{"acf-frontend-gallery-slider":"acf frontend gallery slider","frontend-gallery-carousel":"frontend gallery Carousel","frontend-gallery-slider":"frontend gallery slider","slider":"slider","wponlinesupport":"wponlinesupport"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/frontend-gallery-slider-for-advanced-custom-field\/assets\/icon-128x128.png?rev=1445427"}},{"name":"Hero Banner Ultimate","slug":"hero-banner-ultimate","version":"1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":2,"support_threads_resolved":0,"active_installs":1000,"downloaded":11500,"last_updated":"2020-08-13 5:34am GMT","added":"2017-08-09","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Add hero banner with the help of background image OR background color OR background video.&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/hero-banner-ultimate.zip","tags":{"hero-banner":"hero banner","hero-header":"hero header","hero-image":"hero image","hero-video":"hero video","video-background":"video background"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/hero-banner-ultimate\/assets\/icon-128x128.png?rev=1710715"}},{"name":"InboundWP &#8211; A Complete Inbound Marketing Pack","slug":"inboundwp-lite","version":"1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":"5.4","rating":100,"ratings":{"5":5,"4":0,"3":0,"2":0,"1":0},"num_ratings":5,"support_threads":2,"support_threads_resolved":2,"active_installs":300,"downloaded":3590,"last_updated":"2020-08-13 5:41am GMT","added":"2019-04-11","homepage":"https:\/\/www.wponlinesupport.com\/wp-plugin\/inboundwp-marketing-plugin\/","short_description":"InboundWP Marketing - Spin Wheel, Deal Countdown Timer, Social Proof, Marketing PopUp, WhatsApp Chat Support,&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/inboundwp-lite.zip","tags":{"better-heading":"Better Heading","inbound":"Inbound","inbound-marketing":"inbound marketing","social-proof":"social proof","spin-wheel":"Spin Wheel"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/inboundwp-lite\/assets\/icon-128x128.png?rev=2066897"}},{"name":"Maintenance Mode with Timer","slug":"maintenance-mode-with-timer","version":"1.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":0,"ratings":{"5":0,"4":0,"3":0,"2":0,"1":0},"num_ratings":0,"support_threads":1,"support_threads_resolved":1,"active_installs":100,"downloaded":3480,"last_updated":"2020-08-20 6:56am GMT","added":"2017-01-10","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display maintenance mode with countdown timer on your&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/maintenance-mode-with-timer.zip","tags":{"coming-soon":"coming soon","countdown-timer":"countdown timer","maintenance-mode":"maintenance mode","maintenance-mode-with-countdown-timer":"maintenance mode with countdown timer","maintenance-mode-with-timer":"maintenance mode with timer"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/maintenance-mode-with-timer\/assets\/icon-128x128.png?rev=1575367"}},{"name":"Meta slider and carousel with lightbox","slug":"meta-slider-and-carousel-with-lightbox","version":"1.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":13,"4":0,"3":0,"2":0,"1":1},"num_ratings":14,"support_threads":2,"support_threads_resolved":0,"active_installs":7000,"downloaded":87067,"last_updated":"2020-09-01 9:09am GMT","added":"2016-07-22","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Plugin add a gallery meta box in your post, page and create a Image gallery menu tab. Display with a lightbox. Also work with Gutenberg shortcode bloc &hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/meta-slider-and-carousel-with-lightbox.zip","tags":{"frontend-gallery-carousel":"frontend gallery Carousel","frontend-gallery-slider":"frontend gallery slider","image-carousel":"Image carousel","image-slider":"image slider","meta-gallery-slider":"meta gallery slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/meta-slider-and-carousel-with-lightbox\/assets\/icon-128x128.jpg?rev=1458860"}},{"name":"Popup anything on click","slug":"popup-anything-on-click","version":"1.7.7","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":40,"4":1,"3":1,"2":1,"1":5},"num_ratings":48,"support_threads":12,"support_threads_resolved":5,"active_installs":40000,"downloaded":251622,"last_updated":"2020-08-13 4:52am GMT","added":"2017-07-06","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Display a modal popup by clicking on a link, image or button. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/popup-anything-on-click.zip","tags":{"full-screen-popup":"full screen popup","html-popup":"html popup","modal":"modal","modal-popup":"modal popup","popup":"popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/popup-anything-on-click\/assets\/icon-128x128.png?rev=1920767"}},{"name":"Portfolio and Projects","slug":"portfolio-and-projects","version":"1.0.7","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":8,"4":0,"3":1,"2":0,"1":0},"num_ratings":9,"support_threads":1,"support_threads_resolved":1,"active_installs":3000,"downloaded":30760,"last_updated":"2020-08-13 9:56am GMT","added":"2017-01-02","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Portfolio OR Projects in a grid view. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/portfolio-and-projects.zip","tags":{"portfolio":"portfolio","portfolio-listing":"portfolio listing","project-grid":"project grid","project-portfolio":"project portfolio","projects":"projects"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/portfolio-and-projects\/assets\/icon-128x128.png?rev=1566838"}},{"name":"Post Category Image With Grid and Slider","slug":"post-category-image-with-grid-and-slider","version":"1.3.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":4,"4":0,"3":0,"2":0,"1":0},"num_ratings":4,"support_threads":2,"support_threads_resolved":1,"active_installs":2000,"downloaded":16500,"last_updated":"2020-08-13 5:44am GMT","added":"2017-08-25","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Post Category Image With Grid and Slider plugin allow users to upload category image and&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/post-category-image-with-grid-and-slider.zip","tags":{"category":"category","category-image":"category image","post-category-image":"post category image","post-category-image-grid":"post category image grid","post-category-image-slider":"post category image slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/post-category-image-with-grid-and-slider\/assets\/icon-128x128.png?rev=1719140"}},{"name":"Post grid and filter ultimate","slug":"post-grid-and-filter-ultimate","version":"1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":23,"4":0,"3":0,"2":0,"1":0},"num_ratings":23,"support_threads":5,"support_threads_resolved":1,"active_installs":5000,"downloaded":34580,"last_updated":"2020-08-27 10:44am GMT","added":"2017-07-01","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to display WordPress post in grid view and post grid with filter. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/post-grid-and-filter-ultimate.zip","tags":{"custom-post-grid":"custom post grid","post":"post","post-category-filter":"post category filter","post-filter":"post filter","post-grid":"post grid"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/post-grid-and-filter-ultimate\/assets\/icon-128x128.png?rev=1688607"}},{"name":"Post Ticker Ultimate","slug":"ticker-ultimate","version":"1.2.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":3,"4":2,"3":0,"2":0,"1":0},"num_ratings":5,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":25342,"last_updated":"2020-08-13 9:58am GMT","added":"2016-10-10","homepage":"","short_description":"Add and display horizontal or vertical post ticker on your website that work with WordPress posts and Custom Post Type with the help of shortcode.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/ticker-ultimate.zip","tags":{"blog-ticker":"blog ticker","news-ticker":"news ticker","post-ticker":"Post ticker","ticker":"ticker","ticker-slider":"ticker slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/ticker-ultimate\/assets\/icon-128x128.png?rev=1511431"}},{"name":"Preloader for Website","slug":"preloader-for-website","version":"1.0.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"active_installs":400,"downloaded":7953,"last_updated":"2020-08-13 10:14am GMT","added":"2017-01-18","homepage":"","short_description":"Preloader for Website : A loading screen add-on for your WordPress website.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/preloader-for-website.zip","tags":{"animated-pre-loader":"animated pre-loader","animated-preloader":"animated preloader.","loader":"loader","page-load-animations":"page load animations","page-loader":"page loader"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/preloader-for-website\/assets\/icon-128x128.png?rev=1578463"}},{"name":"Product Categories Designs for WooCommerce","slug":"product-categories-designs-for-woocommerce","version":"1.2.2","author":"<a href=\"http:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":80,"ratings":{"5":6,"4":0,"3":0,"2":0,"1":2},"num_ratings":8,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":19735,"last_updated":"2020-08-13 5:47am GMT","added":"2016-09-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display WooCommerce product categories with good designs and grid and silder view. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/product-categories-designs-for-woocommerce.zip","tags":{"categories-designs":"categories Designs","categories-grid":"categories grid","categories-slider":"categories slider","woocommerce-categories-designs":"WooCommerce categories designs","woocommerce-categories-slider":"WooCommerce categories slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/product-categories-designs-for-woocommerce\/assets\/icon-128x128.png?rev=1503311"}},{"name":"Product Slider and Carousel with Category for WooCommerce","slug":"woo-product-slider-and-carousel-with-category","version":"2.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.1","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":38,"4":1,"3":1,"2":3,"1":4},"num_ratings":47,"support_threads":6,"support_threads_resolved":3,"active_installs":10000,"downloaded":149596,"last_updated":"2020-08-14 8:03am GMT","added":"2016-06-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Woocommerce Product, Best Selling Product, Featured Product Slider\/Carousel with category. Also work with Gutenberg shortcode&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/woo-product-slider-and-carousel-with-category.zip","tags":{"best-selling-products":"best selling products","best-selling-products-by-category":"best selling products by category","best-selling-products-slider":"best selling products slider","shortcode":"shortcode","slick-slider":"slick slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/woo-product-slider-and-carousel-with-category\/assets\/icon-128x128.png?rev=2136764"}},{"name":"Search and Navigation Popup","slug":"search-and-navigation-popup","version":"1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.3.4","requires_php":false,"rating":100,"ratings":{"5":2,"4":0,"3":0,"2":0,"1":0},"num_ratings":2,"support_threads":1,"support_threads_resolved":1,"active_installs":1000,"downloaded":5103,"last_updated":"2020-01-06 2:45pm GMT","added":"2017-09-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Display a search box OR navigation popup by clicking on a button.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/search-and-navigation-popup.zip","tags":{"full-screen-popup":"full screen popup","menubar-popup":"menubar popup","navigation-popup":"navigation popup","serchbox-popup":"serchbox popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/search-and-navigation-popup\/assets\/icon-128x128.png?rev=1732636"}},{"name":"Slider and Carousel Plus Widget for Social Media","slug":"slider-and-carousel-plus-widget-for-instagram","version":"1.9.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":10,"4":3,"3":0,"2":0,"1":2},"num_ratings":15,"support_threads":6,"support_threads_resolved":2,"active_installs":10000,"downloaded":85603,"last_updated":"2020-08-13 5:32am GMT","added":"2017-03-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A very simple plugin to display your social media pictures in","download_link":"https:\/\/downloads.wordpress.org\/plugin\/slider-and-carousel-plus-widget-for-instagram.zip","tags":{"custom-instagram-feed":"custom instagram feed","feed":"feed","hashtag":"hashtag","instagram":"Instagram","instagram-feed":"instagram feed"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/slider-and-carousel-plus-widget-for-instagram\/assets\/icon-128x128.png?rev=2107209"}},{"name":"SlidersPack &#8211; All In One Image\/Post Slider","slug":"sliderspack-all-in-one-image-sliders","version":"1.21","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":15,"4":0,"3":0,"2":0,"1":1},"num_ratings":16,"support_threads":4,"support_threads_resolved":3,"active_installs":3000,"downloaded":26107,"last_updated":"2020-09-21 6:22am GMT","added":"2017-10-24","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"SlidersPack - All In One Image Slider plus FancyBox for WordPress. Also work with WordPress&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sliderspack-all-in-one-image-sliders.zip","tags":{"bxslider":"bxslider","fancybox":"fancybox","flexslider":"flexslider","logo-ticker":"logo ticker","meta-slider":"Meta slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sliderspack-all-in-one-image-sliders\/assets\/icon-128x128.png?rev=1751649"}},{"name":"Smooth Scroll by WPOS","slug":"smooth-scroll-by-wpos","version":"1.0","author":"<a href=\"http:\/\/sptechnolab.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":84,"ratings":{"5":4,"4":0,"3":0,"2":0,"1":1},"num_ratings":5,"support_threads":1,"support_threads_resolved":0,"active_installs":600,"downloaded":5714,"last_updated":"2020-08-13 5:30am GMT","added":"2017-05-05","homepage":"","short_description":"A simple plugin contains Smooth Scrolling To Element, Go To Top and MouseWheel Smooth Scroll. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/smooth-scroll-by-wpos.zip","tags":{"go-to-top":"go-to-top","mousewheel-scroll":"mousewheel scroll","scroll":"scroll","scrolling":"scrolling","smooth-scroll":"smooth scroll"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/smooth-scroll-by-wpos\/assets\/icon-128x128.png?rev=1651456"}},{"name":"Styles For WP Pagenavi Addon","slug":"styles-for-wp-pagenavi-addon","version":"1.0.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.1","tested":"5.4.2","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":1,"support_threads_resolved":0,"active_installs":1000,"downloaded":11679,"last_updated":"2020-07-14 10:29am GMT","added":"2017-10-02","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Adds a more styling options to Wp-PageNavi WordPress plugin OR the_posts_pagination() WordPress navigation function.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/styles-for-wp-pagenavi-addon.zip","tags":{"navigation":"navigation","pages":"pages","pagination":"pagination","paging":"paging"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/styles-for-wp-pagenavi-addon\/assets\/icon-128x128.png?rev=1739334"}},{"name":"Timeline and History slider","slug":"timeline-and-history-slider","version":"1.3.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":21,"4":2,"3":0,"2":1,"1":4},"num_ratings":28,"support_threads":6,"support_threads_resolved":5,"active_installs":6000,"downloaded":45355,"last_updated":"2020-08-13 5:23am GMT","added":"2016-07-22","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Timeline Plugin for WordPress. Easy to add and display history OR timeline for your WordPress website. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/timeline-and-history-slider.zip","tags":{"biography":"biography","company-timeline":"company timeline","history-slider":"history slider","responsive-timeline":"Responsive Timeline","timeline-slider":"timeline slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/timeline-and-history-slider\/assets\/icon-128x128.jpg?rev=1458943"}},{"name":"Trending\/Popular Post Slider and Widget","slug":"wp-trending-post-slider-and-widget","version":"1.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":15,"4":0,"3":0,"2":1,"1":0},"num_ratings":16,"support_threads":4,"support_threads_resolved":1,"active_installs":6000,"downloaded":66991,"last_updated":"2020-08-13 5:28am GMT","added":"2016-02-26","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add Popular\/Trending posts slider, grid block and widget. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-trending-post-slider-and-widget.zip","tags":{"popular-post":"Popular post","popular-posts":"popular posts","trending-post":"trending post","trending-posts":"trending posts","trending-posts-carousel":"trending posts carousel"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-trending-post-slider-and-widget\/assets\/icon-128x128.png?rev=1358591"}},{"name":"Video gallery and Player","slug":"html5-videogallery-plus-player","version":"2.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":11,"4":1,"3":0,"2":0,"1":2},"num_ratings":14,"support_threads":1,"support_threads_resolved":1,"active_installs":3000,"downloaded":71909,"last_updated":"2020-08-13 5:11am GMT","added":"2013-10-26","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Easy to add and display your HTML5, YouTube, Vimeo vedio gallery with Magnific Popup to&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/html5-videogallery-plus-player.zip","tags":{"html5-video":"HTML5 video","video":"video","video-gallery":"video gallery","video-js":"video js","youtube-video-gallery":"Youtube video gallery"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/html5-videogallery-plus-player\/assets\/icon-128x128.png?rev=1450994"}},{"name":"WP Blog and Widget","slug":"wp-blog-and-widgets","version":"1.9","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":19,"4":2,"3":1,"2":0,"1":2},"num_ratings":24,"support_threads":3,"support_threads_resolved":1,"active_installs":10000,"downloaded":231793,"last_updated":"2020-08-28 6:25am GMT","added":"2015-09-22","homepage":"","short_description":"A quick, easy way to add a Blog custom post type, Blog widget to WordPress. Also, work with the Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-blog-and-widgets.zip","tags":{"blog-design":"blog design","blog-layout":"blog layout","custom-blog-template":"custom blog template","wordpress-blog":"wordpress blog","wordpress-blog-widget":"wordpress blog widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-blog-and-widgets\/assets\/icon-128x128.png?rev=1402789"}},{"name":"WP Featured Content and Slider","slug":"wp-featured-content-and-slider","version":"1.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":8,"4":0,"3":0,"2":0,"1":0},"num_ratings":8,"support_threads":1,"support_threads_resolved":0,"active_installs":4000,"downloaded":58126,"last_updated":"2020-08-13 5:22am GMT","added":"2015-11-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display what features your company, product or service offers, using our shortcode OR template code.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-featured-content-and-slider.zip","tags":{"content-slider":"content slider","featured":"featured","features":"features","services":"services","slider":"slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-featured-content-and-slider\/assets\/icon-128x128.png?rev=1402791"}},{"name":"WP Logo Showcase Responsive Slider","slug":"wp-logo-showcase-responsive-slider-slider","version":"2.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":98,"ratings":{"5":80,"4":0,"3":0,"2":0,"1":3},"num_ratings":83,"support_threads":6,"support_threads_resolved":6,"active_installs":60000,"downloaded":518146,"last_updated":"2020-08-14 7:19am GMT","added":"2015-11-04","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display Multiple reponsive logo slideshow carousel to your site quickly and easily. Also added Gutenberg block support.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-logo-showcase-responsive-slider-slider.zip","tags":{"client":"Client","client-logo-carousel":"client logo carousel","client-logo-slider":"client logo slider","logo-slider":"logo slider","widget":"widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-logo-showcase-responsive-slider-slider\/assets\/icon-128x128.png?rev=1279325"}},{"name":"WP Modal Popup with Cookie Integration","slug":"wp-modal-popup-with-cookie-integration","version":"2.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":6,"4":1,"3":0,"2":1,"1":0},"num_ratings":8,"support_threads":1,"support_threads_resolved":1,"active_installs":4000,"downloaded":44701,"last_updated":"2020-08-13 10:11am GMT","added":"2016-02-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"WP Modal Popup with Cookie Integration is the smart, responsive, customizable and beautifully coded popup for visitors with cookie integration.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-modal-popup-with-cookie-integration.zip","tags":{"advertise":"advertise","lightbox":"lightbox","marketing":"marketing","pop-over":"pop over","pop-up":"pop up"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-modal-popup-with-cookie-integration\/assets\/icon-128x128.png?rev=1359371"}},{"name":"WP News and Scrolling Widgets","slug":"sp-news-and-widget","version":"4.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":57,"4":1,"3":1,"2":0,"1":10},"num_ratings":69,"support_threads":4,"support_threads_resolved":2,"active_installs":20000,"downloaded":344675,"last_updated":"2020-09-09 11:51am GMT","added":"2013-10-16","homepage":"","short_description":"A quick, easy way to add a News custom post type, News widget, vertical scrolling&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sp-news-and-widget.zip","tags":{"main-news-page-scrolling":"main news page scrolling","news-website":"news website","wordpress-horizontal-news-plugin-widget":"wordpress horizontal news plugin widget","wordpress-news-plugin":"wordpress news plugin","wordpress-vertical-news-plugin-widget":"wordpress vertical news plugin widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sp-news-and-widget\/assets\/icon-128x128.png?rev=1402776"}},{"name":"WP responsive FAQ with category plugin","slug":"sp-faq","version":"3.3.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":12,"4":0,"3":1,"2":0,"1":2},"num_ratings":15,"support_threads":1,"support_threads_resolved":0,"active_installs":7000,"downloaded":80089,"last_updated":"2020-08-13 5:19am GMT","added":"2013-10-15","homepage":"","short_description":"A quick, easy way to add an responsive FAQs page. You can use this plugin as a jquery ui accordion. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sp-faq.zip","tags":{"faq":"faq","faq-list":"faq list","faq-plugin":"faq plugin","faqs":"faqs","jquery-ui":"jquery ui"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sp-faq\/assets\/icon-128x128.png?rev=1402779"}},{"name":"WP Responsive Recent Post Slider\/Carousel","slug":"wp-responsive-recent-post-slider","version":"2.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":76,"4":0,"3":4,"2":3,"1":3},"num_ratings":86,"support_threads":9,"support_threads_resolved":8,"active_installs":30000,"downloaded":400542,"last_updated":"2020-09-22 7:22am GMT","added":"2015-11-12","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Add and display Responsive WordPresss Recent Post Slider and Carousel on your website with 4&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-responsive-recent-post-slider.zip","tags":{"post-slider":"post slider","posts-slider":"posts slider","recent-post-slider":"recent post slider","recent-posts-slider":"recent posts slider","slider":"slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-responsive-recent-post-slider\/assets\/icon-128x128.png?rev=1402785"}},{"name":"WP Slick Slider and Image Carousel","slug":"wp-slick-slider-and-image-carousel","version":"2.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":41,"4":3,"3":3,"2":0,"1":6},"num_ratings":53,"support_threads":8,"support_threads_resolved":5,"active_installs":20000,"downloaded":259786,"last_updated":"2020-08-14 7:56am GMT","added":"2015-11-17","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"A quick, easy way to add and display mulipale WP Slick Slider and carousel using a shortcode. Also added Gutenberg block support.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-slick-slider-and-image-carousel.zip","tags":{"image-slider":"image slider","slick":"slick","slick-image-slider":"slick image slider","slick-slider":"slick slider","wponlinesupport":"wponlinesupport"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-slick-slider-and-image-carousel\/assets\/icon-128x128.png?rev=1443298"}},{"name":"WP Team Showcase and Slider","slug":"wp-team-showcase-and-slider","version":"2.1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":15,"4":0,"3":1,"2":0,"1":1},"num_ratings":17,"support_threads":1,"support_threads_resolved":1,"active_installs":5000,"downloaded":65650,"last_updated":"2020-08-13 5:00am GMT","added":"2016-01-09","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Easy to add and display your employees, team members in Grid view and Slider view.&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-team-showcase-and-slider.zip","tags":{"responsive-teamshowcase":"responsive teamshowcase","slider":"slider","team":"team","team-slider":"team slider","teamshowcase":"teamshowcase"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-team-showcase-and-slider\/assets\/icon-128x128.png?rev=2218871"}},{"name":"WP Testimonials with rotator widget","slug":"wp-testimonial-with-widget","version":"2.5.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":20,"4":0,"3":0,"2":0,"1":3},"num_ratings":23,"support_threads":1,"support_threads_resolved":0,"active_installs":10000,"downloaded":97865,"last_updated":"2020-08-13 5:00am GMT","added":"2015-09-07","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive, clean client&#039;s testimonial on your website using a shortcode or a widget.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-testimonial-with-widget.zip","tags":{"testimonial":"Testimonial","testimonials":"testimonials","widget":"widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-testimonial-with-widget\/assets\/icon-128x128.png?rev=1402790"}}]}
wpos-plugins/wpos-recommendation.php ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPOS Recommended Plugins
4
+ *
5
+ * @author WP Online Support
6
+ * @package Essential Plugins Bundle
7
+ * @since 1.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ if ( ! class_exists( 'WPOS_ESPBW' ) ) :
15
+
16
+ /**
17
+ * Main Recommended Plugins Class By WP Online Support.
18
+ *
19
+ * @since 1.0
20
+ */
21
+ final class WPOS_ESPBW {
22
+
23
+ /**
24
+ * @var Instance
25
+ * @since 1.0
26
+ */
27
+ protected static $instance = null;
28
+
29
+ /**
30
+ * Main Instance.
31
+ *
32
+ * Insures that only one instance of Analytics exists in memory at any one time.
33
+ * Also prevents needing to define globals all over the place.
34
+ *
35
+ * @since 1.0
36
+ * @uses WPOS_ESPBW::setup_constants() Setup the constants needed.
37
+ * @uses WPOS_ESPBW::includes() Include the required files.
38
+ * @uses WPOS_ESPBW::wpos_espbw_plugins_loaded() load the language files.
39
+ * @see WPOS_ESPBW()
40
+ * @return object the one true instance
41
+ */
42
+ public static function instance() {
43
+ if ( is_null( self::$instance ) ) {
44
+ self::$instance = new self();
45
+ }
46
+ return self::$instance;
47
+ }
48
+
49
+ /**
50
+ * Throw error on object clone.
51
+ *
52
+ * The whole idea of the singleton design pattern is that there is a single object therefore, we don't want the object to be cloned.
53
+ *
54
+ * @since 1.0
55
+ * @access protected
56
+ * @return void
57
+ */
58
+ public function __clone() {
59
+ // Cloning instances of the class is forbidden.
60
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' ), '1.0' );
61
+ }
62
+
63
+ /**
64
+ * Disable unserializing of the class.
65
+ *
66
+ * @since 1.0
67
+ * @access protected
68
+ * @return void
69
+ */
70
+ public function __wakeup() {
71
+ // Unserializing instances of the class is forbidden.
72
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' ), '1.0' );
73
+ }
74
+
75
+ /**
76
+ * Plugin Constructor.
77
+ */
78
+ public function __construct() {
79
+ $this->setup_constants();
80
+ $this->includes();
81
+ }
82
+
83
+ /**
84
+ * Define constant if not already set.
85
+ *
86
+ * @param string $name
87
+ * @param string|bool $value
88
+ */
89
+ public function define( $name, $value ) {
90
+ if ( ! defined( $name ) ) {
91
+ define( $name, $value );
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Setup plugin constants. Basic plugin definitions
97
+ *
98
+ * @access private
99
+ * @since 1.0
100
+ */
101
+ private function setup_constants() {
102
+ $this->define( 'WPOS_ESPBW_VERSION', '1.0' );
103
+ $this->define( 'WPOS_ESPBW_DIR', plugin_dir_path( __FILE__ ) );
104
+ $this->define( 'WPOS_ESPBW_URL', plugin_dir_url( __FILE__ ) );
105
+ }
106
+
107
+ /**
108
+ * Include required files.
109
+ *
110
+ * @access private
111
+ * @since 1.0
112
+ */
113
+ private function includes() {
114
+
115
+ // Functions file
116
+ require_once WPOS_ESPBW_DIR .'/includes/espbw-functions.php';
117
+
118
+ // Script Class
119
+ require_once WPOS_ESPBW_DIR .'/includes/class-espbw-script.php';
120
+
121
+ // Admin Class
122
+ require_once WPOS_ESPBW_DIR .'/includes/admin/class-espbw-admin.php';
123
+ }
124
+ }
125
+
126
+ /**
127
+ * The main function responsible for returning the one true
128
+ * Instance to functions everywhere.
129
+ *
130
+ * Use this function like you would a global variable, except without needing
131
+ * to declare the global.
132
+ *
133
+ * Example: <?php $wpos_espbw = WPOS_ESPBW(); ?>
134
+ *
135
+ * @since 1.0
136
+ * @return object The one true Analytics Instance.
137
+ */
138
+ function WPOS_ESPBW_RECOMMEND() {
139
+ return WPOS_ESPBW::instance();
140
+ }
141
+
142
+ /**
143
+ *
144
+ * Initialize Analytics Module
145
+ *
146
+ * @since 1.0
147
+ * @return object The one true Analytics Instance.
148
+ */
149
+ function wpos_espbw_init_module( $args = array() ) {
150
+
151
+ global $wpos_espbw_module;
152
+
153
+ $defaul_args = array(
154
+ 'prefix' => '',
155
+ 'menu' => false,
156
+ 'position' => 4,
157
+ );
158
+
159
+ $args = wp_parse_args( $args, $defaul_args );
160
+
161
+ // If required data is not there then simply return
162
+ if( empty( $args['menu'] ) ) {
163
+ return false;
164
+ }
165
+
166
+ // Taking some variables
167
+ $wpos_espbw_module = ! empty( $wpos_espbw_module ) ? $wpos_espbw_module : array();
168
+ $wpos_espbw_module[] = $args;
169
+
170
+ return $wpos_espbw_module;
171
+ }
172
+
173
+ /**
174
+ *
175
+ * Initialize Analytics Class Once all stuff has been loaded
176
+ *
177
+ * @since 1.0
178
+ * @return object The one true Analytics Instance.
179
+ */
180
+ function wpos_espbw_plugins_loaded() {
181
+
182
+ // Get Analytics Running.
183
+ WPOS_ESPBW_RECOMMEND();
184
+ }
185
+ add_action( 'plugins_loaded', 'wpos_espbw_plugins_loaded', 12 );
186
+
187
+ endif; // End if class_exists check