Version Description
- New: Add Home Page condition for vi
- New: Add margin option for vi video ad
- Fix: Remove undefined var notice
- Fix: Remove debugging output
- Fix: vi login sometimes not automatically redirect
- Fix: use correct default values for vi settings if they are empty
- Fix: Use correct tier2 iab category depending on tier1 selection
- Fix: missing comma in ads.txt google adsense entry
- Fix: Do not show vi ad on feed, 404, category, archive and search pages
- Fix: Missing excerpt and content on category and archiv pages
- Fix: vi font Size default value can be empty
- Fix: Do not show vi ads when user is logged out of vi
- Tweak: Remove validate ad settings button
- Tweak: Remove not necessary admin notices
Download this release
Release Info
Developer | ReneHermi |
Plugin | AdSense Plugin WP QUADS |
Version | 1.7.2 |
Comparing to | |
See all releases |
Code changes from version 1.7.1 to 1.7.2
- assets/css/quads-admin.css +12 -1
- assets/css/quads-admin.min.css +1 -1
- assets/js/quads-admin.js +15 -8
- assets/js/quads-admin.min.js +7 -2
- includes/admin/admin-actions.php +2 -2
- includes/admin/admin-notices.php +6 -6
- includes/admin/settings/display-settings.php +1 -1
- includes/admin/settings/register-settings.php +0 -2
- includes/vendor/google/adsense.php +1 -1
- includes/vendor/vi/conditions.php +41 -15
- includes/vendor/vi/public/js/vi.js +9 -6
- includes/vendor/vi/render.php +74 -37
- includes/vendor/vi/vi.php +126 -48
- includes/vendor/vi/views/Forms/adSettings.php +72 -7
- includes/vendor/vi/views/ad_settings.php +19 -2
- quick-adsense-reloaded.php +2 -2
- readme.txt +19 -3
assets/css/quads-admin.css
CHANGED
@@ -1187,4 +1187,15 @@ margin-top:20px;
|
|
1187 |
border-bottom:3px solid yellow;
|
1188 |
font-weight: bold;
|
1189 |
color:white;
|
1190 |
-
}*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1187 |
border-bottom:3px solid yellow;
|
1188 |
font-weight: bold;
|
1189 |
color:white;
|
1190 |
+
}*/
|
1191 |
+
|
1192 |
+
#quads_vi_automatic_integration select{
|
1193 |
+
min-width: 180px;
|
1194 |
+
}
|
1195 |
+
|
1196 |
+
#quads_vi_ads\[ads\]\[1\]\[marginLeft\],
|
1197 |
+
#quads_vi_ads\[ads\]\[1\]\[marginTop\],
|
1198 |
+
#quads_vi_ads\[ads\]\[1\]\[marginRight\],
|
1199 |
+
#quads_vi_ads\[ads\]\[1\]\[marginBottom\]{
|
1200 |
+
width: 60px;
|
1201 |
+
}
|
assets/css/quads-admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.quads-share-button-container{margin:5px 0}.quads-share-button-container p{margin:0 0 10px}.quads-share-button{display:inline-block}.quads-share-button a{text-decoration:none}.quads-share-button .quads-share{font-family:sans-serif;font-weight:700;text-decoration:none;text-align:center;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;color:#FFF;display:inline;font-size:16px;width:40px;padding:4px 8px}.quads-share-button-twitter .quads-share{background-color:#00ABF0}.quads-share-button-facebook .quads-share{background-color:#3b5998}.quads-share-button-googleplus .quads-share{background-color:#F53424}.quads-share-button-facebook .share:active,.quads-share-button-googleplus .share:active,.quads-share-button-twitter .share:active{background-color:#353535}@media (max-width:925px){.quads-share-button .quads-share{font-size:15px;padding:8px 16px}}.quads-richeditor{font-size:11px}#quads-add-ons h2{margin:0 0 15px}#quads-add-ons .quadsshare-addons{float:left;margin:0 15px 15px 0;background:#f0f0f0;border:1px solid #ccc;width:320px;padding:8px;height:315px;position:relative}#quads-add-ons .quadsshare-addons h3{margin:0 0 8px;font-size:13px}#quads-add-ons .quadsshare-addons .button-secondary{position:absolute;bottom:8px;left:8px}#quads-add-ons .quadsshare-addons .third-party{display:none}#system-info-textarea{width:580px;height:400px;font-family:Menlo,Monaco,monospace;background:0 0;white-space:pre;overflow:auto;display:block}.quads-select-chosen{width:300px}input.large-text,textarea.large-text{max-width:600px}input.medium-text,textarea.medium-text{min-width:190px}#quads_tab_container ul{list-style:none;margin:0;padding:0;background:#fff;float:left}#quads_tab_container ul li:first-child.selected-tab{border-top:none}#quads_tab_container ul li a.selected-tab{font-weight:700;text-decoration:none}#quads_tab_container .quads-row{padding-top:12px;padding-bottom:12px}#quads_tab_container .quads-row label strong,#tab_container .quads-row strong{font-weight:700}.quads-tabs a{padding:5px;color:#a1a1a1;text-transform:uppercase}.quads-tabs a strong{font-weight:700}li.quads-tabs{float:left;margin-left:0;background-color:#e5e5e5}#quads_tab_container>ul>li.quads-tabs.active{background-color:#fff}#quads_tab_container>ul>li.quads-tabs.active a{color:#83c11f}#quads_tab_container .quads-panel-container{background:#FFF;padding:20px;overflow:auto;text-align:left;margin-bottom:10px;max-width:640px;float:left;clear:both}.form-table{margin-top:-20px}#quads_tab_container .form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;line-height:1.3;font-weight:700;font-size:14px;color:#484848;width:30%}#quads_tab_container .form-table tr{border-bottom:1px solid #E7E7E7}#quads_tab_container span.description{display:block;font-weight:400;font-style:normal;font-size:13px;margin-top:7px;color:#484848}#quads_tab_container .col-title{font-size:18px;color:#484848}@media only screen and (max-width:680px){#quads_tab_container ul{float:none;background:#fff}#quads_tab_container .form-table tr>th{width:100%}#quads_tab_container span.description{font-size:14px}#quads_tab_container .form-table tr>th,#tab_container .form-table tr>td{padding:10px}#quads_tab_container .quads-tabs a{text-align:left}#quads_tab_container li.quads-tabs{float:none;margin-left:0}}#quads_tab_container ul li.quads-tabs{margin-bottom:0}#quads_tab_container ul li.quads-tabs a{display:block;padding:10px;text-decoration:none;font-weight:700}#quads_tab_container ul li.quads-tabs a:hover{color:#383838}#quads_tab_container ul li.quads-tabs a.active{text-decoration:underline}#quads_tab_container table tbody tr:nth-child(1)>th>div{font-size:20px}#quadstabcontainer>.quadstabs{background-color:#fff}#quadstabcontainer ul .active{background-color:#00adef;color:#fff;border-bottom-color:#0098D2}#quadstabcontainer ul .active:hover{background-color:#00A4E2;color:#fff;border-bottom-color:#0098D2}#quadstabcontainer ul li a{padding:10px 14px;background-color:#f3f3f3}#quadstabcontainer .quadstab-container{border:0 solid #ececec}.quads-quote-docs{font-family:Courier New,Courier,Fixed;color:#050}.quads-desc{display:block;font-style:italic;padding-top:10px}.quads-postbox{padding:10px;position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;margin-bottom:20px}.nav-tab-active{background-color:#fff;border-bottom:0}#quads-add-ons{padding:20px}.quads-toggle{position:absolute;right:0;top:0}.quads-box-close .quads-close-open-icon{background-position:0 -38px}.quads-close-open-icon{width:38px;height:38px;background:url(../images/arrow-close.png) repeat-y #f4f4f4}.quads-ad-toggle-header{position:relative;background-color:#f4f4f4;margin-bottom:2px;padding:10px 10px 10px 15px;-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none;cursor:pointer!important;min-height:20px}.quads-ad-toggle-container{padding:20px;background-color:#f4f4f4}.quads-toogle-title{font-size:16px;font-weight:700}.adsense-size-title,.quads-advanced-description label{font-weight:600;font-size:12px;text-transform:uppercase;float:left}.quads-advanced-description label{width:215px}.quads-advanced-ad-box{clear:both;margin-top:20px;margin-bottom:20px}.adsense-size-title{margin-right:0;line-height:32px;margin-left:14px;min-width:100px}.quads-select-style-overwrite{border:1px solid #e6e6e6;width:150px;overflow:hidden;background:url(../images/box_arrow.png) 120px 0 repeat-y #fff;margin:0 0 5px}.quads-select-style-overwrite select{width:150px}.quads-size-input{position:relative;top:-1px;width:110%;border:none;box-shadow:none;background:0 0;-webkit-appearance:none;font-family:'Open Sans',arial,sans-serif;color:#555;font-size:12px}.quads-pro-overlay{height:200px}.quads-license-error-notice,.quads-license-expires-soon-notice{background-color:#fff;padding:10px;overflow:auto;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);border:1px solid #ECECEC;border-radius:3px}.quads-license-error-notice a{color:#0097df;text-decoration:underline}.quads-license-error-notice{border-left:4px solid #dd3d36}.quads-license-expiration-date-notice,.quads-license-lifetime-notice,.quads-license-null{padding:0}.quads-license-expiration-date-notice .quads-license-data p,.quads-license-lifetime-notice .quads-license-data p{color:#666;font-size:14px;font-style:italic;margin:4px 0 0}#quads_settingslicenses_header-nav{display:none}#quads_settingslicenses_header{max-width:640px}#quads_settingslicenses_header .quads-row.th{min-width:250px}.quads-notice{background:#fff;border-left:4px solid #46b450;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.quads_admin h2.nav-tab-wrapper{border:0}.quads_admin .nav-tab{border:0;text-transform:uppercase;color:#a1a1a1;font-weight:700}.quads-h1{margin-bottom:1.35rem;font-size:2.5em;line-height:3.68rem;letter-spacing:normal}.quads-h2{margin-top:0;margin-bottom:1.2rem;font-size:30px;line-height:2.5rem}.quads-heading-pro{color:#83c11f;font-weight:700}.quads-button.green{display:inline-block;background-color:#83c11f;padding:10px;min-width:170px;color:#fff;font-size:16px;text-decoration:none;text-align:center;margin-top:20px}#quads-add-ons .quads-footer{clear:both;margin-top:20px;font-style:italic}#quads-add-ons li{font-size:18px;line-height:29px;position:relative;padding-left:23px;list-style:none!important}#quads-add-ons li:before{width:1em;height:100%;background:url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;background-size:contain;content:"";position:absolute;top:0;left:0;color:#77b227}.adsense_admin_header{font-size:14px;font-weight:500}#quads-adsense-bg-div{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.65);z-index:250000}#quads-adsense-container{text-align:center;width:480px;margin:85px auto 0;background-color:#fff;padding:2%;border-radius:2px}#quads-adsense-container h3{margin-top:0}#quads-adsense-container textarea,.quads-ad-toggle-container textarea{width:100%}.quads-ad-toggle-container input{margin-top:7px;margin-bottom:10px}.quads-adsense-code label,input{margin-right:2px}#quads_settings\5b ad2\5d \5b g_data_ad_client\5d{width:200px}.quads-ad-toggle-container label{display:inline-block;margin-right:2px;margin-top:-3px}.quads_adsense_code .quads-add-adsense{margin:20px 5px 20px 0}.quads-label-left{min-width:71px}#quads-label-Type{min-width:67px}.quads-medium-size{width:110px}#quads-msg{display:none;margin:5px;background-color:#c55c5c;color:#fff}.quads-loader,.quads-success-modal{display:block;position:fixed;top:45%;left:25%;width:200px;height:auto;padding:5px 20px;z-index:1002;overflow:auto}.quads-general-helper,.quads-helper{background-color:#83c11f;display:inline-block}.quads-form-table{width:100%}.quads-left-box{width:45%;min-height:100px;float:left;line-height:35px;min-width:300px}@media screen and (max-width:700px){.adsense-size-title{margin-left:0}.quads-left-box{width:45%;min-height:100px;float:none;line-height:35px;min-width:300px}.quads-style img{max-width:50px}}.adsense_admin_header ul li{margin-top:2px;margin-left:20px;list-style-type:square}.quads-helper{border-radius:50%;border:2px solid #fff;width:15px;height:15px;position:relative;top:4px;margin-top:-4px;cursor:pointer;margin-left:2px}.quads-general-helper:after,.quads-helper:after{height:20px;font-family:sans-serif;content:"?";font-size:11px;font-weight:700;left:4px;position:absolute;color:#fff}.quads-helper:after{margin-top:-10px}.quads-general-helper:after{margin-top:-2px}#quads-add-new-ad:before,.quads-delete-ad:before{font-family:quads;margin-right:5px}.quads-general-helper{border-radius:50%;border:2px solid #fff;width:15px;height:15px;position:relative;top:4px;margin-top:-4px;cursor:pointer;margin-left:2px}.quads-message{padding:10px;border:1px solid #FBFBFB;border-radius:2px;background-color:#F8F8F8;position:absolute;max-width:500px;z-index:9999;display:none;box-shadow:0 0 5px rgba(0,0,0,.2);font-weight:400;line-height:20px;text-transform:none;font-size:14px}#quads-pro-hover{background-color:#83c11f;padding:20px;min-width:150px;color:#fff;display:block;position:relative;margin-top:-100px;margin-left:50%}#quads-pro-hover-background{width:100%;height:100%;background:rgba(0,0,0,.6)}#quads-open-toggle{clear:both;float:left;margin-top:10px}#quads_settingsadsense_header input[type=number].small-text{width:55px}.quads_adsense_code input.quads-bggrey{background-color:#f5f5f5;color:#939393}.quads-amp-code{color:#939393;height:130px}.quads-chosen-select .chosen-choices li.search-field input{min-height:25px}#quads-validate{display:block;margin-left:2px;margin-bottom:20px;font-weight:700;clear:both}#quads-add-new-ad,.quads-delete-ad{font-size:14px;font-weight:600;color:#383838;display:block;text-decoration:none}@font-face{font-family:quads;src:url(data:application/octet-stream;base64,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) format('woff'),url(data:application/octet-stream;base64,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LbA/LLA2K4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrErARQrsARDLrArKy2wQCywABawBCWwBCYgLkcjRyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=) format('truetype')}#quads-add-new-ad:before{content:'\e801';text-decoration:none;color:#383838}#quads-add-new-ad{margin-left:3px;margin-top:5px;margin-bottom:20px}#quads-submit-button{z-index:999999}p.submit{float:left;padding-top:0;padding-bottom:0}.quads-delete-ad{clear:both;//background:url(../images/remove-icon.png);//background-size:20px 20px;//background-repeat:no-repeat;//height:20px;//padding-left:30px;margin-right:5px}.quads-delete-ad:before{content:'\e800';color:#383838}#backup-settings-textarea{width:580px;height:400px;font-family:Menlo,Monaco,monospace;background:0 0;white-space:normal;overflow:auto;display:block}@media (max-width:506px){.quads-banner-columns{display:block!important}.quads-banner-sidebar-second{width:100%!important}}@media (max-width:780px){.quads-banner-wrapper{margin-right:12px!important}}.quads-banner-wrapper{display:flex;flex-direction:column;clear:both;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 20px 2px 5px;padding:1px 12px}.quads-banner-content{display:flex;flex:1;color:#000}.quads-banner-columns{display:flex;flex:1;-ms-flex-align:center;-webkit-align-items:center;-webkit-box-align:center;align-items:center}.quads-banner-main{flex:1;order:2}.quads-banner-sidebar-first{min-width:160px;width:13%;order:1}.quads-banner-sidebar-second{width:19%;order:3}.quads-button-primary{display:inline-block;font-size:16px;line-height:32px;height:36px;margin:0;padding:0 13px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-weight:700;background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.quads-notice-dismiss{display:inline-block;position:relative;top:0;right:1px;border:none;margin:0;padding:0;background:0 0;color:#72777c;cursor:pointer}.quads-notice-dismiss:before{display:inline-block;background:0 0;color:#72777c;content:"\f153";font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased}.quads-widget-buttons{float:right}.quads-widget-buttons a{min-width:80px;text-align:center;font-weight:600}#quads-vi-widget ul{margin:0 0 0 25px;padding:0;background:#fff;float:none;list-style-type:square}#quads-vi-signup-fullscreen{display:none;z-index:999999;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;height:100%;width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#f0f0f0}#quads-vi-signup-container{width:99%;height:99%;max-width:868px;max-height:552px}#quads-vi-close{cursor:pointer;position:relative;display:inline-block;width:20px;height:20px;overflow:hidden;float:right;margin-right:20px;margin-top:20px}#quads-vi-close::after,#quads-vi-close::before{content:'';position:absolute;height:2px;width:100%;top:50%;left:0;margin-top:-1px;background:#7d7d7d}#quads-vi-close::before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}#quads-vi-close::after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}#quads-vi-signup-fullscreen iframe{width:100%;height:100%;z-index:999999;display:block;background:#FFF;border:none}.quads-spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;background-size:16px 16px;display:none;float:left;opacity:.7;filter:alpha(opacity=70);width:160px;height:16px;margin:5px 5px 0;clear:both}#quads-vi-customize-player label,#quads-vi-shortcodes label{width:170px;display:inline-block}#quads-vi-revenue-wrapper{margin-top:10px;min-width:565px;min-height:350px}#quads-vi-revenue-sum{font-weight:700;font-size:36px}#quads-vi-revenue-sum-wrapper{margin-top:20px;line-height:26px}#quads-vi-customize-player label{color:#000;font-weight:500}#quads-vi-save-settings{margin-top:20px}#quads-vi-welcome ul{float:none;list-style:square;margin-left:25px}.quads-tooltip{border-radius:50%;border:2px solid #fff;background-color:#e7db00;width:15px;height:15px;display:inline-block;position:relative;top:4px;margin-top:-4px;cursor:pointer;margin-left:2px}.quads-tooltip:after{height:20px;font-family:sans-serif;content:"?";color:#fff;font-size:11px;font-weight:700;left:4px;top:-2px;position:absolute}.quads-tooltip-message{padding:10px;border:1px solid #FBFBFB;border-radius:2px;background-color:#F8F8F8;position:absolute;max-width:500px;z-index:9999;display:none;box-shadow:0 0 5px rgba(0,0,0,.2);font-weight:400}#quads-vi-layout label{width:100px}#quads_vi_ads-ads-1-align-left-label{content:url(../images/align_left.png)}#quads_vi_ads-ads-1-align-right-label{content:url(../images/align_right.png)}#quads_vi_ads-ads-1-align-middle-label{content:url(../images/align_middle.png)}
|
1 |
+
.quads-share-button-container{margin:5px 0}.quads-share-button-container p{margin:0 0 10px}.quads-share-button{display:inline-block}.quads-share-button a{text-decoration:none}.quads-share-button .quads-share{font-family:sans-serif;font-weight:700;text-decoration:none;text-align:center;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;color:#FFF;display:inline;font-size:16px;width:40px;padding:4px 8px}.quads-share-button-twitter .quads-share{background-color:#00ABF0}.quads-share-button-facebook .quads-share{background-color:#3b5998}.quads-share-button-googleplus .quads-share{background-color:#F53424}.quads-share-button-facebook .share:active,.quads-share-button-googleplus .share:active,.quads-share-button-twitter .share:active{background-color:#353535}@media (max-width:925px){.quads-share-button .quads-share{font-size:15px;padding:8px 16px}}.quads-richeditor{font-size:11px}#quads-add-ons h2{margin:0 0 15px}#quads-add-ons .quadsshare-addons{float:left;margin:0 15px 15px 0;background:#f0f0f0;border:1px solid #ccc;width:320px;padding:8px;height:315px;position:relative}#quads-add-ons .quadsshare-addons h3{margin:0 0 8px;font-size:13px}#quads-add-ons .quadsshare-addons .button-secondary{position:absolute;bottom:8px;left:8px}#quads-add-ons .quadsshare-addons .third-party{display:none}#system-info-textarea{width:580px;height:400px;font-family:Menlo,Monaco,monospace;background:0 0;white-space:pre;overflow:auto;display:block}.quads-select-chosen{width:300px}input.large-text,textarea.large-text{max-width:600px}input.medium-text,textarea.medium-text{min-width:190px}#quads_tab_container ul{list-style:none;margin:0;padding:0;background:#fff;float:left}#quads_tab_container ul li:first-child.selected-tab{border-top:none}#quads_tab_container ul li a.selected-tab{font-weight:700;text-decoration:none}#quads_tab_container .quads-row{padding-top:12px;padding-bottom:12px}#quads_tab_container .quads-row label strong,#tab_container .quads-row strong{font-weight:700}.quads-tabs a{padding:5px;color:#a1a1a1;text-transform:uppercase}.quads-tabs a strong{font-weight:700}li.quads-tabs{float:left;margin-left:0;background-color:#e5e5e5}#quads_tab_container>ul>li.quads-tabs.active{background-color:#fff}#quads_tab_container>ul>li.quads-tabs.active a{color:#83c11f}#quads_tab_container .quads-panel-container{background:#FFF;padding:20px;overflow:auto;text-align:left;margin-bottom:10px;max-width:640px;float:left;clear:both}.form-table{margin-top:-20px}#quads_tab_container .form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;line-height:1.3;font-weight:700;font-size:14px;color:#484848;width:30%}#quads_tab_container .form-table tr{border-bottom:1px solid #E7E7E7}#quads_tab_container span.description{display:block;font-weight:400;font-style:normal;font-size:13px;margin-top:7px;color:#484848}#quads_tab_container .col-title{font-size:18px;color:#484848}@media only screen and (max-width:680px){#quads_tab_container ul{float:none;background:#fff}#quads_tab_container .form-table tr>th{width:100%}#quads_tab_container span.description{font-size:14px}#quads_tab_container .form-table tr>th,#tab_container .form-table tr>td{padding:10px}#quads_tab_container .quads-tabs a{text-align:left}#quads_tab_container li.quads-tabs{float:none;margin-left:0}}#quads_tab_container ul li.quads-tabs{margin-bottom:0}#quads_tab_container ul li.quads-tabs a{display:block;padding:10px;text-decoration:none;font-weight:700}#quads_tab_container ul li.quads-tabs a:hover{color:#383838}#quads_tab_container ul li.quads-tabs a.active{text-decoration:underline}#quads_tab_container table tbody tr:nth-child(1)>th>div{font-size:20px}#quadstabcontainer>.quadstabs{background-color:#fff}#quadstabcontainer ul .active{background-color:#00adef;color:#fff;border-bottom-color:#0098D2}#quadstabcontainer ul .active:hover{background-color:#00A4E2;color:#fff;border-bottom-color:#0098D2}#quadstabcontainer ul li a{padding:10px 14px;background-color:#f3f3f3}#quadstabcontainer .quadstab-container{border:0 solid #ececec}.quads-quote-docs{font-family:Courier New,Courier,Fixed;color:#050}.quads-desc{display:block;font-style:italic;padding-top:10px}.quads-postbox{padding:10px;position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;margin-bottom:20px}.nav-tab-active{background-color:#fff;border-bottom:0}#quads-add-ons{padding:20px}.quads-toggle{position:absolute;right:0;top:0}.quads-box-close .quads-close-open-icon{background-position:0 -38px}.quads-close-open-icon{width:38px;height:38px;background:url(../images/arrow-close.png) repeat-y #f4f4f4}.quads-ad-toggle-header{position:relative;background-color:#f4f4f4;margin-bottom:2px;padding:10px 10px 10px 15px;-moz-user-select:-moz-none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none;cursor:pointer!important;min-height:20px}.quads-ad-toggle-container{padding:20px;background-color:#f4f4f4}.quads-toogle-title{font-size:16px;font-weight:700}.adsense-size-title,.quads-advanced-description label{font-weight:600;font-size:12px;text-transform:uppercase;float:left}.quads-advanced-description label{width:215px}.quads-advanced-ad-box{clear:both;margin-top:20px;margin-bottom:20px}.adsense-size-title{margin-right:0;line-height:32px;margin-left:14px;min-width:100px}.quads-select-style-overwrite{border:1px solid #e6e6e6;width:150px;overflow:hidden;background:url(../images/box_arrow.png) 120px 0 repeat-y #fff;margin:0 0 5px}.quads-select-style-overwrite select{width:150px}.quads-size-input{position:relative;top:-1px;width:110%;border:none;box-shadow:none;background:0 0;-webkit-appearance:none;font-family:'Open Sans',arial,sans-serif;color:#555;font-size:12px}.quads-pro-overlay{height:200px}.quads-license-error-notice,.quads-license-expires-soon-notice{background-color:#fff;padding:10px;overflow:auto;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);border:1px solid #ECECEC;border-radius:3px}.quads-license-error-notice a{color:#0097df;text-decoration:underline}.quads-license-error-notice{border-left:4px solid #dd3d36}.quads-license-expiration-date-notice,.quads-license-lifetime-notice,.quads-license-null{padding:0}.quads-license-expiration-date-notice .quads-license-data p,.quads-license-lifetime-notice .quads-license-data p{color:#666;font-size:14px;font-style:italic;margin:4px 0 0}#quads_settingslicenses_header-nav{display:none}#quads_settingslicenses_header{max-width:640px}#quads_settingslicenses_header .quads-row.th{min-width:250px}.quads-notice{background:#fff;border-left:4px solid #46b450;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.quads_admin h2.nav-tab-wrapper{border:0}.quads_admin .nav-tab{border:0;text-transform:uppercase;color:#a1a1a1;font-weight:700}.quads-h1{margin-bottom:1.35rem;font-size:2.5em;line-height:3.68rem;letter-spacing:normal}.quads-h2{margin-top:0;margin-bottom:1.2rem;font-size:30px;line-height:2.5rem}.quads-heading-pro{color:#83c11f;font-weight:700}.quads-button.green{display:inline-block;background-color:#83c11f;padding:10px;min-width:170px;color:#fff;font-size:16px;text-decoration:none;text-align:center;margin-top:20px}#quads-add-ons .quads-footer{clear:both;margin-top:20px;font-style:italic}#quads-add-ons li{font-size:18px;line-height:29px;position:relative;padding-left:23px;list-style:none!important}#quads-add-ons li:before{width:1em;height:100%;background:url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;background-size:contain;content:"";position:absolute;top:0;left:0;color:#77b227}.adsense_admin_header{font-size:14px;font-weight:500}#quads-adsense-bg-div{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.65);z-index:250000}#quads-adsense-container{text-align:center;width:480px;margin:85px auto 0;background-color:#fff;padding:2%;border-radius:2px}#quads-adsense-container h3{margin-top:0}#quads-adsense-container textarea,.quads-ad-toggle-container textarea{width:100%}.quads-ad-toggle-container input{margin-top:7px;margin-bottom:10px}.quads-adsense-code label,input{margin-right:2px}#quads_settings\5b ad2\5d \5b g_data_ad_client\5d{width:200px}.quads-ad-toggle-container label{display:inline-block;margin-right:2px;margin-top:-3px}.quads_adsense_code .quads-add-adsense{margin:20px 5px 20px 0}.quads-label-left{min-width:71px}#quads-label-Type{min-width:67px}.quads-medium-size{width:110px}#quads-msg{display:none;margin:5px;background-color:#c55c5c;color:#fff}.quads-loader,.quads-success-modal{display:block;position:fixed;top:45%;left:25%;width:200px;height:auto;padding:5px 20px;z-index:1002;overflow:auto}.quads-general-helper,.quads-helper{background-color:#83c11f;display:inline-block}.quads-form-table{width:100%}.quads-left-box{width:45%;min-height:100px;float:left;line-height:35px;min-width:300px}@media screen and (max-width:700px){.adsense-size-title{margin-left:0}.quads-left-box{width:45%;min-height:100px;float:none;line-height:35px;min-width:300px}.quads-style img{max-width:50px}}.adsense_admin_header ul li{margin-top:2px;margin-left:20px;list-style-type:square}.quads-helper{border-radius:50%;border:2px solid #fff;width:15px;height:15px;position:relative;top:4px;margin-top:-4px;cursor:pointer;margin-left:2px}.quads-general-helper:after,.quads-helper:after{height:20px;font-family:sans-serif;content:"?";font-size:11px;font-weight:700;left:4px;position:absolute;color:#fff}.quads-helper:after{margin-top:-10px}.quads-general-helper:after{margin-top:-2px}#quads-add-new-ad:before,.quads-delete-ad:before{font-family:quads;margin-right:5px}.quads-general-helper{border-radius:50%;border:2px solid #fff;width:15px;height:15px;position:relative;top:4px;margin-top:-4px;cursor:pointer;margin-left:2px}.quads-message{padding:10px;border:1px solid #FBFBFB;border-radius:2px;background-color:#F8F8F8;position:absolute;max-width:500px;z-index:9999;display:none;box-shadow:0 0 5px rgba(0,0,0,.2);font-weight:400;line-height:20px;text-transform:none;font-size:14px}#quads-pro-hover{background-color:#83c11f;padding:20px;min-width:150px;color:#fff;display:block;position:relative;margin-top:-100px;margin-left:50%}#quads-pro-hover-background{width:100%;height:100%;background:rgba(0,0,0,.6)}#quads-open-toggle{clear:both;float:left;margin-top:10px}#quads_settingsadsense_header input[type=number].small-text{width:55px}.quads_adsense_code input.quads-bggrey{background-color:#f5f5f5;color:#939393}.quads-amp-code{color:#939393;height:130px}.quads-chosen-select .chosen-choices li.search-field input{min-height:25px}#quads-validate{display:block;margin-left:2px;margin-bottom:20px;font-weight:700;clear:both}#quads-add-new-ad,.quads-delete-ad{font-size:14px;font-weight:600;color:#383838;display:block;text-decoration:none}@font-face{font-family:quads;src:url(data:application/octet-stream;base64,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) format('woff'),url(data:application/octet-stream;base64,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LbA/LLA2K4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrErARQrsARDLrArKy2wQCywABawBCWwBCYgLkcjRyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=) format('truetype')}#quads-add-new-ad:before{content:'\e801';text-decoration:none;color:#383838}#quads-add-new-ad{margin-left:3px;margin-top:5px;margin-bottom:20px}#quads-submit-button{z-index:999999}p.submit{float:left;padding-top:0;padding-bottom:0}.quads-delete-ad{clear:both;//background:url(../images/remove-icon.png);//background-size:20px 20px;//background-repeat:no-repeat;//height:20px;//padding-left:30px;margin-right:5px}.quads-delete-ad:before{content:'\e800';color:#383838}#backup-settings-textarea{width:580px;height:400px;font-family:Menlo,Monaco,monospace;background:0 0;white-space:normal;overflow:auto;display:block}@media (max-width:506px){.quads-banner-columns{display:block!important}.quads-banner-sidebar-second{width:100%!important}}@media (max-width:780px){.quads-banner-wrapper{margin-right:12px!important}}.quads-banner-wrapper{display:flex;flex-direction:column;clear:both;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 20px 2px 5px;padding:1px 12px}.quads-banner-content{display:flex;flex:1;color:#000}.quads-banner-columns{display:flex;flex:1;-ms-flex-align:center;-webkit-align-items:center;-webkit-box-align:center;align-items:center}.quads-banner-main{flex:1;order:2}.quads-banner-sidebar-first{min-width:160px;width:13%;order:1}.quads-banner-sidebar-second{width:19%;order:3}.quads-button-primary{display:inline-block;font-size:16px;line-height:32px;height:36px;margin:0;padding:0 13px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-weight:700;background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.quads-notice-dismiss{display:inline-block;position:relative;top:0;right:1px;border:none;margin:0;padding:0;background:0 0;color:#72777c;cursor:pointer}.quads-notice-dismiss:before{display:inline-block;background:0 0;color:#72777c;content:"\f153";font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased}.quads-widget-buttons{float:right}.quads-widget-buttons a{min-width:80px;text-align:center;font-weight:600}#quads-vi-widget ul{margin:0 0 0 25px;padding:0;background:#fff;float:none;list-style-type:square}#quads-vi-signup-fullscreen{display:none;z-index:999999;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;height:100%;width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#f0f0f0}#quads-vi-signup-container{width:99%;height:99%;max-width:868px;max-height:552px}#quads-vi-close{cursor:pointer;position:relative;display:inline-block;width:20px;height:20px;overflow:hidden;float:right;margin-right:20px;margin-top:20px}#quads-vi-close::after,#quads-vi-close::before{content:'';position:absolute;height:2px;width:100%;top:50%;left:0;margin-top:-1px;background:#7d7d7d}#quads-vi-close::before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}#quads-vi-close::after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}#quads-vi-signup-fullscreen iframe{width:100%;height:100%;z-index:999999;display:block;background:#FFF;border:none}.quads-spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;background-size:16px 16px;display:none;float:left;opacity:.7;filter:alpha(opacity=70);width:160px;height:16px;margin:5px 5px 0;clear:both}#quads-vi-customize-player label,#quads-vi-shortcodes label{width:170px;display:inline-block}#quads-vi-revenue-wrapper{margin-top:10px;min-width:565px;min-height:350px}#quads-vi-revenue-sum{font-weight:700;font-size:36px}#quads-vi-revenue-sum-wrapper{margin-top:20px;line-height:26px}#quads-vi-customize-player label{color:#000;font-weight:500}#quads-vi-save-settings{margin-top:20px}#quads-vi-welcome ul{float:none;list-style:square;margin-left:25px}.quads-tooltip{border-radius:50%;border:2px solid #fff;background-color:#e7db00;width:15px;height:15px;display:inline-block;position:relative;top:4px;margin-top:-4px;cursor:pointer;margin-left:2px}.quads-tooltip:after{height:20px;font-family:sans-serif;content:"?";color:#fff;font-size:11px;font-weight:700;left:4px;top:-2px;position:absolute}.quads-tooltip-message{padding:10px;border:1px solid #FBFBFB;border-radius:2px;background-color:#F8F8F8;position:absolute;max-width:500px;z-index:9999;display:none;box-shadow:0 0 5px rgba(0,0,0,.2);font-weight:400}#quads-vi-layout label{width:100px}#quads_vi_ads-ads-1-align-left-label{content:url(../images/align_left.png)}#quads_vi_ads-ads-1-align-right-label{content:url(../images/align_right.png)}#quads_vi_ads-ads-1-align-middle-label{content:url(../images/align_middle.png)}#quads_vi_automatic_integration select{min-width:180px}#quads_vi_ads\[ads\]\[1\]\[marginBottom\],#quads_vi_ads\[ads\]\[1\]\[marginLeft\],#quads_vi_ads\[ads\]\[1\]\[marginRight\],#quads_vi_ads\[ads\]\[1\]\[marginTop\]{width:60px}
|
assets/js/quads-admin.js
CHANGED
@@ -118,34 +118,41 @@ e.preventDefault();
|
|
118 |
$.ajax({
|
119 |
type: "POST",
|
120 |
url: ajaxurl,
|
|
|
121 |
data: data,
|
122 |
-
//contentType: 'application/json',
|
123 |
success: function(response){
|
124 |
-
|
|
|
|
|
125 |
$("#quads_add_err").css('display', 'none', 'important').css('visibility', 'hidden');
|
126 |
$("#quads_add_err").hide();
|
127 |
-
|
128 |
console.log('Success, login succesfull, token stored' + response);
|
129 |
window.location.href = quads.path + '/wp-admin/?page=quads-settings&tab=general#quads_settingsvi_header';
|
130 |
-
|
|
|
|
|
131 |
console.log("Can not store token");
|
132 |
window.location.href = quads.path + '/wp-admin/?page=quads-settings&tab=general#quads_settingsvi_header';
|
133 |
-
|
|
|
134 |
},
|
135 |
beforeSend:function()
|
136 |
{
|
137 |
-
|
138 |
$("#quads_add_err").show();
|
139 |
},
|
140 |
complete:function()
|
141 |
{
|
142 |
-
|
143 |
$("#quads_add_err").hide();
|
144 |
}
|
145 |
|
146 |
});
|
147 |
}
|
148 |
-
|
|
|
149 |
|
150 |
|
151 |
// Remove several unused elements from vi page
|
118 |
$.ajax({
|
119 |
type: "POST",
|
120 |
url: ajaxurl,
|
121 |
+
dataType: "json",
|
122 |
data: data,
|
123 |
+
//contentType: 'application/json;charset=utf-8',
|
124 |
success: function(response){
|
125 |
+
//response = JSON.stringify(response);
|
126 |
+
console.log(response.status);
|
127 |
+
|
128 |
$("#quads_add_err").css('display', 'none', 'important').css('visibility', 'hidden');
|
129 |
$("#quads_add_err").hide();
|
130 |
+
if (typeof response.status != 'undefined' && response.status == 'success') {
|
131 |
console.log('Success, login succesfull, token stored' + response);
|
132 |
window.location.href = quads.path + '/wp-admin/?page=quads-settings&tab=general#quads_settingsvi_header';
|
133 |
+
return false;
|
134 |
+
}
|
135 |
+
else {
|
136 |
console.log("Can not store token");
|
137 |
window.location.href = quads.path + '/wp-admin/?page=quads-settings&tab=general#quads_settingsvi_header';
|
138 |
+
return false;
|
139 |
+
}
|
140 |
},
|
141 |
beforeSend:function()
|
142 |
{
|
143 |
+
$("#quads_add_err").css('display', 'inline', 'important').css('visibility', 'visible');
|
144 |
$("#quads_add_err").show();
|
145 |
},
|
146 |
complete:function()
|
147 |
{
|
148 |
+
$("#quads_add_err").css('display', 'none', 'important').css('visibility', 'hidden');
|
149 |
$("#quads_add_err").hide();
|
150 |
}
|
151 |
|
152 |
});
|
153 |
}
|
154 |
+
|
155 |
+
|
156 |
|
157 |
|
158 |
// Remove several unused elements from vi page
|
assets/js/quads-admin.min.js
CHANGED
@@ -118,19 +118,24 @@ e.preventDefault();
|
|
118 |
$.ajax({
|
119 |
type: "POST",
|
120 |
url: ajaxurl,
|
|
|
121 |
data: data,
|
122 |
-
//contentType: 'application/json',
|
123 |
success: function(response){
|
|
|
124 |
console.log(response.status);
|
|
|
125 |
$("#quads_add_err").css('display', 'none', 'important').css('visibility', 'hidden');
|
126 |
$("#quads_add_err").hide();
|
127 |
-
|
128 |
console.log('Success, login succesfull, token stored' + response);
|
129 |
window.location.href = quads.path + '/wp-admin/?page=quads-settings&tab=general#quads_settingsvi_header';
|
|
|
130 |
}
|
131 |
else {
|
132 |
console.log("Can not store token");
|
133 |
window.location.href = quads.path + '/wp-admin/?page=quads-settings&tab=general#quads_settingsvi_header';
|
|
|
134 |
}
|
135 |
},
|
136 |
beforeSend:function()
|
118 |
$.ajax({
|
119 |
type: "POST",
|
120 |
url: ajaxurl,
|
121 |
+
dataType: "json",
|
122 |
data: data,
|
123 |
+
//contentType: 'application/json;charset=utf-8',
|
124 |
success: function(response){
|
125 |
+
//response = JSON.stringify(response);
|
126 |
console.log(response.status);
|
127 |
+
|
128 |
$("#quads_add_err").css('display', 'none', 'important').css('visibility', 'hidden');
|
129 |
$("#quads_add_err").hide();
|
130 |
+
if (typeof response.status != 'undefined' && response.status == 'success') {
|
131 |
console.log('Success, login succesfull, token stored' + response);
|
132 |
window.location.href = quads.path + '/wp-admin/?page=quads-settings&tab=general#quads_settingsvi_header';
|
133 |
+
return false;
|
134 |
}
|
135 |
else {
|
136 |
console.log("Can not store token");
|
137 |
window.location.href = quads.path + '/wp-admin/?page=quads-settings&tab=general#quads_settingsvi_header';
|
138 |
+
return false;
|
139 |
}
|
140 |
},
|
141 |
beforeSend:function()
|
includes/admin/admin-actions.php
CHANGED
@@ -77,7 +77,7 @@ global $quads_options;
|
|
77 |
|
78 |
if (empty($_POST['token'])){
|
79 |
echo json_encode( array("status" => "failed") );
|
80 |
-
|
81 |
}
|
82 |
|
83 |
// Save token before trying to create ads.txt
|
@@ -100,7 +100,7 @@ global $quads_options;
|
|
100 |
|
101 |
//sleep(5);
|
102 |
echo json_encode( array("status" => "success", "token" => $_POST['token']) );
|
103 |
-
|
104 |
}
|
105 |
add_action( 'wp_ajax_quads_save_vi_token', 'quads_save_vi_token' );
|
106 |
|
77 |
|
78 |
if (empty($_POST['token'])){
|
79 |
echo json_encode( array("status" => "failed") );
|
80 |
+
wp_die();
|
81 |
}
|
82 |
|
83 |
// Save token before trying to create ads.txt
|
100 |
|
101 |
//sleep(5);
|
102 |
echo json_encode( array("status" => "success", "token" => $_POST['token']) );
|
103 |
+
wp_die();
|
104 |
}
|
105 |
add_action( 'wp_ajax_quads_save_vi_token', 'quads_save_vi_token' );
|
106 |
|
includes/admin/admin-notices.php
CHANGED
@@ -44,13 +44,13 @@ function quads_admin_messages() {
|
|
44 |
echo '<div class="notice notice-error" id="wpquads-adblock-notice" style="display:none;">' . sprintf( __( '<strong><p>You need to deactivate your ad blocker to use WP QUADS settings.</strong> Your ad blocker browser extension is removing WP QUADS css ressources and is breaking the settings screen! Deactivating the ad blocker will resolve it. WP QUADS is used on 60.000 websites and is into focus of the big adblocking companies. That\'s the downside of our success but nothing you need to worry about.</p>', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings#quads_settingsgeneral_header' ) . '</div>';
|
45 |
}
|
46 |
|
47 |
-
if( !quads_is_any_ad_activated() && quads_is_admin_page() ) {
|
48 |
-
echo '<div class="notice notice-warning">' . sprintf( __( '<strong>No ads are activated!</strong> You need to assign at least 1 ad to an ad spot. Fix this in <a href="%s">General Settings</a>! Alternatively you need to use a shortcode in your posts or no ads are shown at all.', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings#quads_settingsgeneral_header' ) . '</div>';
|
49 |
-
}
|
50 |
|
51 |
-
if( quads_get_active_ads() === 0 && quads_is_admin_page() ) {
|
52 |
-
echo '<div class="notice notice-warning">' . sprintf( __( '<strong>No ads defined!</strong> You need to create at least one ad code. Fix this in <a href="%s">ADSENSE CODE</a>.', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings#quads_settingsadsense_header' ) . '</div>';
|
53 |
-
}
|
54 |
|
55 |
if( !quads_is_post_type_activated() && quads_is_admin_page() ) {
|
56 |
echo '<div class="notice notice-warning">' . sprintf( __( '<strong>No ads are shown - No post type chosen!</strong> You need to select at least 1 post type like <i>blog</i> or <i>page</i>. Fix this in <a href="%s">General Settings</a> or no ads are shown at all.', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings#quads_settingsgeneral_header' ) . '</div>';
|
44 |
echo '<div class="notice notice-error" id="wpquads-adblock-notice" style="display:none;">' . sprintf( __( '<strong><p>You need to deactivate your ad blocker to use WP QUADS settings.</strong> Your ad blocker browser extension is removing WP QUADS css ressources and is breaking the settings screen! Deactivating the ad blocker will resolve it. WP QUADS is used on 60.000 websites and is into focus of the big adblocking companies. That\'s the downside of our success but nothing you need to worry about.</p>', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings#quads_settingsgeneral_header' ) . '</div>';
|
45 |
}
|
46 |
|
47 |
+
// if( !quads_is_any_ad_activated() && quads_is_admin_page() ) {
|
48 |
+
// echo '<div class="notice notice-warning">' . sprintf( __( '<strong>No ads are activated!</strong> You need to assign at least 1 ad to an ad spot. Fix this in <a href="%s">General Settings</a>! Alternatively you need to use a shortcode in your posts or no ads are shown at all.', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings#quads_settingsgeneral_header' ) . '</div>';
|
49 |
+
// }
|
50 |
|
51 |
+
// if( quads_get_active_ads() === 0 && quads_is_admin_page() ) {
|
52 |
+
// echo '<div class="notice notice-warning">' . sprintf( __( '<strong>No ads defined!</strong> You need to create at least one ad code. Fix this in <a href="%s">ADSENSE CODE</a>.', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings#quads_settingsadsense_header' ) . '</div>';
|
53 |
+
// }
|
54 |
|
55 |
if( !quads_is_post_type_activated() && quads_is_admin_page() ) {
|
56 |
echo '<div class="notice notice-warning">' . sprintf( __( '<strong>No ads are shown - No post type chosen!</strong> You need to select at least 1 post type like <i>blog</i> or <i>page</i>. Fix this in <a href="%s">General Settings</a> or no ads are shown at all.', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings#quads_settingsgeneral_header' ) . '</div>';
|
includes/admin/settings/display-settings.php
CHANGED
@@ -235,7 +235,7 @@ function quads_options_page() {
|
|
235 |
submit_button(null, 'primary', 'quads-save-settings' , true, $other_attributes );
|
236 |
if ($active_tab !== 'licenses'){
|
237 |
?>
|
238 |
-
|
239 |
<?php
|
240 |
}
|
241 |
|
235 |
submit_button(null, 'primary', 'quads-save-settings' , true, $other_attributes );
|
236 |
if ($active_tab !== 'licenses'){
|
237 |
?>
|
238 |
+
<!--<a href="<?php //echo admin_url() . '/admin.php?page=quads-settings&quads-action=validate'; ?> " id="quads-validate"><?php //_e('Validate Ad Settings','quick-adsense-reloaded')?></a>//-->
|
239 |
<?php
|
240 |
}
|
241 |
|
includes/admin/settings/register-settings.php
CHANGED
@@ -2198,8 +2198,6 @@ function quads_adsense_code_callback( $args ) {
|
|
2198 |
}
|
2199 |
}
|
2200 |
|
2201 |
-
$ad = new wpquads\adsense($quads_options);
|
2202 |
-
echo $ad->getPublisherID();
|
2203 |
|
2204 |
$data = !empty($quads->vi->getSettings()->data) ? (array) $quads->vi->getSettings()->data : array();
|
2205 |
|
2198 |
}
|
2199 |
}
|
2200 |
|
|
|
|
|
2201 |
|
2202 |
$data = !empty($quads->vi->getSettings()->data) ? (array) $quads->vi->getSettings()->data : array();
|
2203 |
|
includes/vendor/google/adsense.php
CHANGED
@@ -86,7 +86,7 @@ class adsense {
|
|
86 |
return false;
|
87 |
}
|
88 |
|
89 |
-
$content = 'google.com, ' . str_replace('ca-', '', $this->getPublisherID()) . ', DIRECT f08c47fec0942fa0';
|
90 |
$adsTxt = new adsTxt($content, 'f08c47fec0942fa0');
|
91 |
return $adsTxt->writeAdsTxt();
|
92 |
}
|
86 |
return false;
|
87 |
}
|
88 |
|
89 |
+
$content = 'google.com, ' . str_replace('ca-', '', $this->getPublisherID()) . ', DIRECT, f08c47fec0942fa0';
|
90 |
$adsTxt = new adsTxt($content, 'f08c47fec0942fa0');
|
91 |
return $adsTxt->writeAdsTxt();
|
92 |
}
|
includes/vendor/vi/conditions.php
CHANGED
@@ -11,29 +11,28 @@ namespace wpquads\conditions;
|
|
11 |
|
12 |
class conditions {
|
13 |
|
|
|
|
|
|
|
|
|
|
|
14 |
protected function isExcluded() {
|
15 |
global $quads_options;
|
16 |
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
if (is_404())
|
21 |
-
return true;
|
22 |
|
|
|
23 |
if (is_user_logged_in() && ( isset($quads_options['visibility']['AppLogg'])))
|
24 |
return true;
|
25 |
-
|
26 |
-
if (is_front_page() && !isset( $quads_options['visibility']['AppHome'] ) )
|
27 |
-
return true;
|
28 |
-
|
29 |
-
if (is_category() && !(isset($quads_options['visibility']['AppCate']) ))
|
30 |
-
return true;
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
return true;
|
|
|
37 |
|
38 |
if (quads_is_amp_endpoint())
|
39 |
return true;
|
@@ -50,6 +49,33 @@ class conditions {
|
|
50 |
if ($this->isExcludedByMetaKey())
|
51 |
return true;
|
52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
// Default
|
55 |
return false;
|
11 |
|
12 |
class conditions {
|
13 |
|
14 |
+
/**
|
15 |
+
* global options
|
16 |
+
* @global array $quads_options
|
17 |
+
* @return boolean
|
18 |
+
*/
|
19 |
protected function isExcluded() {
|
20 |
global $quads_options;
|
21 |
|
22 |
+
/**
|
23 |
+
* Ad specific options
|
24 |
+
*/
|
|
|
|
|
25 |
|
26 |
+
// User logged in
|
27 |
if (is_user_logged_in() && ( isset($quads_options['visibility']['AppLogg'])))
|
28 |
return true;
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
+
// Is frontpage
|
31 |
+
if (is_front_page() &&
|
32 |
+
isset($this->ads['ads'][$this->id]['excludedExtraPages']) &&
|
33 |
+
in_array('homePage', $this->ads['ads'][$this->id]['excludedExtraPages']))
|
34 |
return true;
|
35 |
+
|
36 |
|
37 |
if (quads_is_amp_endpoint())
|
38 |
return true;
|
49 |
if ($this->isExcludedByMetaKey())
|
50 |
return true;
|
51 |
|
52 |
+
/**
|
53 |
+
* Global options
|
54 |
+
*/
|
55 |
+
|
56 |
+
// Is feed
|
57 |
+
if (is_feed()) {
|
58 |
+
return true;
|
59 |
+
}
|
60 |
+
|
61 |
+
// Is search
|
62 |
+
if (is_search()) {
|
63 |
+
return true;
|
64 |
+
}
|
65 |
+
|
66 |
+
// Is 404
|
67 |
+
if (is_404()) {
|
68 |
+
return true;
|
69 |
+
}
|
70 |
+
|
71 |
+
// Is category
|
72 |
+
if (is_category()) {
|
73 |
+
return true;
|
74 |
+
}
|
75 |
+
// Is archive page
|
76 |
+
if (is_archive()) {
|
77 |
+
return true;
|
78 |
+
}
|
79 |
|
80 |
// Default
|
81 |
return false;
|
includes/vendor/vi/public/js/vi.js
CHANGED
@@ -47,10 +47,11 @@ if (document.getElementById('quads_vi_ads[ads][1][iab1]')){
|
|
47 |
var $this = $(this);
|
48 |
replace_iab2_options($this.val());
|
49 |
})
|
50 |
-
|
51 |
function replace_iab2_options(element){
|
52 |
jQuery('#quads_vi_ads\\[ads\\]\\[1\\]\\[iab2\\] option').each(function(i){
|
53 |
-
var re = new RegExp("\\" + element, "ig");
|
|
|
54 |
if ($(this).val().match(re) ){
|
55 |
//console.log('match');
|
56 |
$(this).prop('disabled', false).show();
|
@@ -129,14 +130,16 @@ var save_quads_vi_ad_settings = function (){
|
|
129 |
jQuery.ajax({
|
130 |
type: "POST",
|
131 |
url: ajaxurl,
|
|
|
132 |
data: data,
|
133 |
//contentType: 'application/json',
|
134 |
success: function(response){
|
135 |
console.log(response);
|
136 |
-
response = JSON.parse(response);
|
137 |
|
138 |
-
if(response.status && response.status == 'error'){
|
139 |
-
|
|
|
140 |
} else {
|
141 |
var resp = 'Success: vi Ad Changes might take some time to take into effect.';
|
142 |
}
|
@@ -185,7 +188,7 @@ var quads_verify_vi_signup = function (){
|
|
185 |
},
|
186 |
error: function(response){
|
187 |
console.log(response);
|
188 |
-
console.log('Error: Can not send sign up data to wp quads');
|
189 |
},
|
190 |
complete:function()
|
191 |
{
|
47 |
var $this = $(this);
|
48 |
replace_iab2_options($this.val());
|
49 |
})
|
50 |
+
|
51 |
function replace_iab2_options(element){
|
52 |
jQuery('#quads_vi_ads\\[ads\\]\\[1\\]\\[iab2\\] option').each(function(i){
|
53 |
+
var re = new RegExp("\\" + element + '-', "ig");
|
54 |
+
//console.log(re);
|
55 |
if ($(this).val().match(re) ){
|
56 |
//console.log('match');
|
57 |
$(this).prop('disabled', false).show();
|
130 |
jQuery.ajax({
|
131 |
type: "POST",
|
132 |
url: ajaxurl,
|
133 |
+
dataType: "json",
|
134 |
data: data,
|
135 |
//contentType: 'application/json',
|
136 |
success: function(response){
|
137 |
console.log(response);
|
138 |
+
//response = JSON.parse(response);
|
139 |
|
140 |
+
if(typeof response.status != 'undefined' && response.status == 'error'){
|
141 |
+
|
142 |
+
var resp = '<span style="color:red;">Error: </span>' + response.error.message + ' ' + (response.error.description ? response.error.description : '');
|
143 |
} else {
|
144 |
var resp = 'Success: vi Ad Changes might take some time to take into effect.';
|
145 |
}
|
188 |
},
|
189 |
error: function(response){
|
190 |
console.log(response);
|
191 |
+
console.log('<span style="color:red;">Error: Can not send sign up data to wp quads</span>');
|
192 |
},
|
193 |
complete:function()
|
194 |
{
|
includes/vendor/vi/render.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
namespace wpquads;
|
4 |
|
5 |
/*
|
6 |
-
* vi ad render for WP QUADS used on
|
7 |
*
|
8 |
* @author René Hermenau
|
9 |
* @email info@mashshare.net
|
@@ -17,6 +17,15 @@ class render extends conditions\conditions {
|
|
17 |
* @var array
|
18 |
*/
|
19 |
protected $ads;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
/**
|
22 |
* Curent ad id
|
@@ -28,7 +37,7 @@ class render extends conditions\conditions {
|
|
28 |
* Filtered Content
|
29 |
* @var string
|
30 |
*/
|
31 |
-
protected $content;
|
32 |
|
33 |
|
34 |
public function __construct() {
|
@@ -36,34 +45,40 @@ class render extends conditions\conditions {
|
|
36 |
if (is_admin()) {
|
37 |
return false;
|
38 |
}
|
|
|
|
|
|
|
|
|
39 |
|
40 |
$this->ads = get_option('quads_vi_ads');
|
41 |
|
42 |
-
add_filter('the_content', array($this, 'prepareOutput'));
|
43 |
}
|
44 |
|
45 |
/**
|
46 |
-
* Loop through all ads
|
47 |
* @param string $content
|
48 |
* @return string
|
49 |
*/
|
50 |
public function prepareOutput($content) {
|
51 |
-
|
52 |
if (empty($this->ads['ads'])) {
|
53 |
return $content;
|
54 |
}
|
55 |
|
56 |
-
If (empty($this->content)) {
|
57 |
-
$this->content = $content;
|
58 |
-
}
|
59 |
|
60 |
// Loop through all available ads and use the return value as new $content
|
61 |
foreach ($this->ads['ads'] as $key => $value) {
|
62 |
$this->id = $key;
|
63 |
-
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
|
66 |
-
return $
|
67 |
}
|
68 |
|
69 |
/**
|
@@ -72,69 +87,67 @@ class render extends conditions\conditions {
|
|
72 |
* @param string $content
|
73 |
* @param int $id
|
74 |
*/
|
75 |
-
public function filterContent() {
|
76 |
|
77 |
// Loop through all available filter methods and run them until one of the filters returns sucessfully
|
78 |
$methods = get_class_methods(get_class());
|
79 |
-
|
80 |
foreach ($methods as $method) {
|
81 |
|
82 |
-
if ($loop == false) {
|
83 |
-
break;
|
84 |
-
}
|
85 |
// Do not use method filterContent()
|
86 |
if (strpos($method, 'filter') !== false && $method != 'filterContent') {
|
87 |
// Set content to filtered content
|
88 |
-
if (true == $this->$method()) {
|
89 |
-
|
|
|
|
|
90 |
}
|
91 |
}
|
92 |
}
|
93 |
-
return do_shortcode($
|
94 |
}
|
95 |
|
96 |
-
private function filterNoPost() {
|
97 |
if (isset($this->ads['ads'][$this->id]['position']) &&
|
98 |
-
$this->ads['ads'][$this->id]['position']
|
99 |
-
|
100 |
-
return true;
|
101 |
}
|
102 |
return false;
|
103 |
}
|
104 |
|
105 |
-
private function filterAbovePost() {
|
106 |
if (isset($this->ads['ads'][$this->id]['position']) &&
|
107 |
$this->ads['ads'][$this->id]['position'] === 'abovePost') {
|
108 |
-
|
109 |
-
return true;
|
110 |
}
|
111 |
return false;
|
112 |
}
|
113 |
|
114 |
-
private function filterBelowPost() {
|
115 |
if (isset($this->ads['ads'][$this->id]['position']) &&
|
116 |
$this->ads['ads'][$this->id]['position'] === 'belowPost') {
|
117 |
|
118 |
-
|
119 |
-
return true;
|
120 |
}
|
121 |
return false;
|
122 |
}
|
123 |
|
124 |
-
private function filterMiddlePost() {
|
125 |
if (isset($this->ads['ads'][$this->id]['position']) &&
|
126 |
$this->ads['ads'][$this->id]['position'] === 'middlePost') {
|
127 |
|
128 |
-
$paragraphCount = $this->get_paragraph_count();
|
129 |
$middle = round($paragraphCount / 2);
|
130 |
if ($paragraphCount > 1) {
|
131 |
-
$content = explode("</p>", $
|
132 |
array_splice($content, $middle, 0, $this->render()); // splice in at middle position
|
133 |
-
$
|
134 |
}
|
135 |
|
136 |
-
|
137 |
-
return true;
|
138 |
}
|
139 |
return false;
|
140 |
}
|
@@ -143,8 +156,8 @@ class render extends conditions\conditions {
|
|
143 |
* Count paragraphs
|
144 |
* @return int
|
145 |
*/
|
146 |
-
private function get_paragraph_count() {
|
147 |
-
$paragraphs = explode('/p>', $
|
148 |
$paragraphCount = 0;
|
149 |
if (is_array($paragraphs)) {
|
150 |
foreach ($paragraphs as $paragraph) {
|
@@ -156,7 +169,19 @@ class render extends conditions\conditions {
|
|
156 |
return $paragraphCount;
|
157 |
}
|
158 |
|
|
|
|
|
|
|
|
|
159 |
private function getInlineStyle() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
$style = '';
|
161 |
// Layout Alignment
|
162 |
if (isset($this->ads['ads'][$this->id]['align']) &&
|
@@ -174,7 +199,7 @@ class render extends conditions\conditions {
|
|
174 |
break;
|
175 |
}
|
176 |
}
|
177 |
-
return $style;
|
178 |
}
|
179 |
|
180 |
|
@@ -189,6 +214,18 @@ class render extends conditions\conditions {
|
|
189 |
}
|
190 |
return true;
|
191 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
|
193 |
/**
|
194 |
* Render ads
|
3 |
namespace wpquads;
|
4 |
|
5 |
/*
|
6 |
+
* vi ad render for WP QUADS used on frontend
|
7 |
*
|
8 |
* @author René Hermenau
|
9 |
* @email info@mashshare.net
|
17 |
* @var array
|
18 |
*/
|
19 |
protected $ads;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Array of already populated ads
|
23 |
+
* This is to make sure that never
|
24 |
+
* one ad is injected multiple times into page
|
25 |
+
* @var array
|
26 |
+
*/
|
27 |
+
protected $adsInjected = array();
|
28 |
+
|
29 |
|
30 |
/**
|
31 |
* Curent ad id
|
37 |
* Filtered Content
|
38 |
* @var string
|
39 |
*/
|
40 |
+
//protected $content;
|
41 |
|
42 |
|
43 |
public function __construct() {
|
45 |
if (is_admin()) {
|
46 |
return false;
|
47 |
}
|
48 |
+
|
49 |
+
if (!$this->getToken()) {
|
50 |
+
return false;
|
51 |
+
}
|
52 |
|
53 |
$this->ads = get_option('quads_vi_ads');
|
54 |
|
55 |
+
add_filter('the_content', array($this, 'prepareOutput'), quads_get_load_priority());
|
56 |
}
|
57 |
|
58 |
/**
|
59 |
+
* Loop through all ads and determine the location of the outputed ads
|
60 |
* @param string $content
|
61 |
* @return string
|
62 |
*/
|
63 |
public function prepareOutput($content) {
|
64 |
+
// vi ads are empty
|
65 |
if (empty($this->ads['ads'])) {
|
66 |
return $content;
|
67 |
}
|
68 |
|
|
|
|
|
|
|
69 |
|
70 |
// Loop through all available ads and use the return value as new $content
|
71 |
foreach ($this->ads['ads'] as $key => $value) {
|
72 |
$this->id = $key;
|
73 |
+
if(in_array($this->id, $this->adsInjected)){
|
74 |
+
//echo 'skip';
|
75 |
+
// skip. We already injected this ad into site
|
76 |
+
continue;
|
77 |
+
}
|
78 |
+
$content = $this->filterContent($content);
|
79 |
}
|
80 |
|
81 |
+
return $content;
|
82 |
}
|
83 |
|
84 |
/**
|
87 |
* @param string $content
|
88 |
* @param int $id
|
89 |
*/
|
90 |
+
public function filterContent($content) {
|
91 |
|
92 |
// Loop through all available filter methods and run them until one of the filters returns sucessfully
|
93 |
$methods = get_class_methods(get_class());
|
94 |
+
//$loop = true;
|
95 |
foreach ($methods as $method) {
|
96 |
|
97 |
+
// if ($loop == false) {
|
98 |
+
// break;
|
99 |
+
// }
|
100 |
// Do not use method filterContent()
|
101 |
if (strpos($method, 'filter') !== false && $method != 'filterContent') {
|
102 |
// Set content to filtered content
|
103 |
+
if (true == ($newContent = $this->$method($content))) {
|
104 |
+
//$loop = false;
|
105 |
+
$this->adsInjected[] = $this->id;
|
106 |
+
return do_shortcode($newContent);
|
107 |
}
|
108 |
}
|
109 |
}
|
110 |
+
return do_shortcode($content);
|
111 |
}
|
112 |
|
113 |
+
private function filterNoPost($content) {
|
114 |
if (isset($this->ads['ads'][$this->id]['position']) &&
|
115 |
+
$this->ads['ads'][$this->id]['position'] == 'notShown') {
|
116 |
+
return $content;
|
|
|
117 |
}
|
118 |
return false;
|
119 |
}
|
120 |
|
121 |
+
private function filterAbovePost($content) {
|
122 |
if (isset($this->ads['ads'][$this->id]['position']) &&
|
123 |
$this->ads['ads'][$this->id]['position'] === 'abovePost') {
|
124 |
+
return $this->render($this->id) . $content;
|
|
|
125 |
}
|
126 |
return false;
|
127 |
}
|
128 |
|
129 |
+
private function filterBelowPost($content) {
|
130 |
if (isset($this->ads['ads'][$this->id]['position']) &&
|
131 |
$this->ads['ads'][$this->id]['position'] === 'belowPost') {
|
132 |
|
133 |
+
return $content . $this->render();
|
|
|
134 |
}
|
135 |
return false;
|
136 |
}
|
137 |
|
138 |
+
private function filterMiddlePost($content) {
|
139 |
if (isset($this->ads['ads'][$this->id]['position']) &&
|
140 |
$this->ads['ads'][$this->id]['position'] === 'middlePost') {
|
141 |
|
142 |
+
$paragraphCount = $this->get_paragraph_count($content);
|
143 |
$middle = round($paragraphCount / 2);
|
144 |
if ($paragraphCount > 1) {
|
145 |
+
$content = explode("</p>", $content);
|
146 |
array_splice($content, $middle, 0, $this->render()); // splice in at middle position
|
147 |
+
$content = implode($content, "</p>");
|
148 |
}
|
149 |
|
150 |
+
return $content . $this->render();
|
|
|
151 |
}
|
152 |
return false;
|
153 |
}
|
156 |
* Count paragraphs
|
157 |
* @return int
|
158 |
*/
|
159 |
+
private function get_paragraph_count($content) {
|
160 |
+
$paragraphs = explode('/p>', $content);
|
161 |
$paragraphCount = 0;
|
162 |
if (is_array($paragraphs)) {
|
163 |
foreach ($paragraphs as $paragraph) {
|
169 |
return $paragraphCount;
|
170 |
}
|
171 |
|
172 |
+
/**
|
173 |
+
* Get the inline style
|
174 |
+
* @return string
|
175 |
+
*/
|
176 |
private function getInlineStyle() {
|
177 |
+
|
178 |
+
// Create margin
|
179 |
+
$marginTop = !empty($this->ads['ads'][$this->id]['marginTop']) ? $this->ads['ads'][$this->id]['marginTop'] : '0';
|
180 |
+
$marginRight = !empty($this->ads['ads'][$this->id]['marginRight']) ? $this->ads['ads'][$this->id]['marginRight'] : '0';
|
181 |
+
$marginBottom = !empty($this->ads['ads'][$this->id]['marginBottom']) ? $this->ads['ads'][$this->id]['marginBottom'] : '0';
|
182 |
+
$marginLeft = !empty($this->ads['ads'][$this->id]['marginLeft']) ? $this->ads['ads'][$this->id]['marginLeft'] : '0';
|
183 |
+
$margin = 'margin-top:' . $marginTop .'px;margin-right:' . $marginRight .'px;margin-bottom:' . $marginBottom. 'px;margin-left:' . $marginLeft .'px;';
|
184 |
+
|
185 |
$style = '';
|
186 |
// Layout Alignment
|
187 |
if (isset($this->ads['ads'][$this->id]['align']) &&
|
199 |
break;
|
200 |
}
|
201 |
}
|
202 |
+
return $style . $margin;
|
203 |
}
|
204 |
|
205 |
|
214 |
}
|
215 |
return true;
|
216 |
}
|
217 |
+
|
218 |
+
private function getToken() {
|
219 |
+
$token = get_option('quads_vi_token', '');
|
220 |
+
|
221 |
+
if (empty($token)) {
|
222 |
+
return false;
|
223 |
+
}
|
224 |
+
|
225 |
+
preg_match("/(\w*).(\w*)/", $token, $output);
|
226 |
+
|
227 |
+
return json_decode(base64_decode($output[2]));
|
228 |
+
}
|
229 |
|
230 |
/**
|
231 |
* Render ads
|
includes/vendor/vi/vi.php
CHANGED
@@ -27,6 +27,13 @@ class vi {
|
|
27 |
* @var bool
|
28 |
*/
|
29 |
private $debug = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
/**
|
32 |
* Base64 decoded jwt token
|
@@ -55,6 +62,11 @@ class vi {
|
|
55 |
// Production endpoints
|
56 |
$this->urlSettings = 'https://dashboard-api.vidint.net/v1/api/widget/settings';
|
57 |
}
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
$this->getToken();
|
60 |
|
@@ -64,16 +76,16 @@ class vi {
|
|
64 |
|
65 |
$this->ads = get_option('quads_vi_ads');
|
66 |
}
|
67 |
-
|
68 |
-
|
69 |
|
70 |
/**
|
71 |
* Load hooks
|
72 |
*/
|
73 |
public function hooks() {
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
77 |
|
78 |
// Only run the following actions when vi is activated and user confirmed his registration
|
79 |
// We need to ensure publishers privacy and do not want to send more personal information than absolutely necessary
|
@@ -88,6 +100,16 @@ class vi {
|
|
88 |
// Shortcodes
|
89 |
add_shortcode('quadsvi', array($this, 'getShortcode'));
|
90 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
|
92 |
/**
|
93 |
* Register the vi ad settings
|
@@ -103,6 +125,10 @@ class vi {
|
|
103 |
*/
|
104 |
public function getShortcode($atts) {
|
105 |
global $quads_options;
|
|
|
|
|
|
|
|
|
106 |
|
107 |
if (quads_check_meta_setting('NoAds') === '1') {
|
108 |
return;
|
@@ -207,7 +233,9 @@ class vi {
|
|
207 |
* @return array
|
208 |
*/
|
209 |
public function getFontFamily() {
|
210 |
-
return array(
|
|
|
|
|
211 |
'Times New Roman' => 'Times New Roman',
|
212 |
'Georgia' => 'Georgia',
|
213 |
'Palatino Linotype' => 'Palatino Linotype',
|
@@ -274,7 +302,7 @@ class vi {
|
|
274 |
*/
|
275 |
public function createAdsTxt() {
|
276 |
|
277 |
-
if (!isset($this->token->publisherId)){
|
278 |
return false;
|
279 |
}
|
280 |
|
@@ -299,9 +327,6 @@ class vi {
|
|
299 |
$adsTxt = new \wpquads\adsTxt($vi, '41b5eef6');
|
300 |
return $adsTxt->writeAdsTxt();
|
301 |
}
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
|
306 |
/**
|
307 |
* Get ads.txt from vi api
|
@@ -347,7 +372,6 @@ class vi {
|
|
347 |
if (empty($token)) {
|
348 |
$this->token = '';
|
349 |
return false;
|
350 |
-
;
|
351 |
}
|
352 |
|
353 |
preg_match("/(\w*).(\w*)/", $token, $output);
|
@@ -374,7 +398,7 @@ class vi {
|
|
374 |
|
375 |
if (!isset($this->settings->data->revenueAPI))
|
376 |
return false;
|
377 |
-
|
378 |
|
379 |
$args = array(
|
380 |
'headers' => array(
|
@@ -424,27 +448,29 @@ class vi {
|
|
424 |
if (!$vi_token)
|
425 |
return false;
|
426 |
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
|
|
|
|
448 |
|
449 |
$args = array(
|
450 |
'method' => 'POST',
|
@@ -485,6 +511,58 @@ class vi {
|
|
485 |
return json_encode($response);
|
486 |
}
|
487 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
public function getAdCode() {
|
489 |
return get_option('quads_vi_ads');
|
490 |
}
|
@@ -543,19 +621,20 @@ class vi {
|
|
543 |
delete_option('quads_vi_active');
|
544 |
return true;
|
545 |
}
|
546 |
-
|
547 |
// vi is deactivated
|
548 |
if ($response['body'] == 'false') {
|
549 |
update_option('quads_vi_active', 'false');
|
550 |
return false;
|
551 |
}
|
552 |
}
|
|
|
553 |
/**
|
554 |
* Weekly check to ensure vi ad code has not been changed unintentionally
|
555 |
* @return bool
|
556 |
*/
|
557 |
public function verifyViAdCode() {
|
558 |
-
|
559 |
//$url = 'https://wpquads.com/wpquads-api/signup/create.php?domain='.$this->getDomain().'&hash=' . $this->getHash();
|
560 |
$url = 'https://wpquads.com/wpquads-api/signup/create.php';
|
561 |
$args = array(
|
@@ -565,9 +644,9 @@ class vi {
|
|
565 |
'Content-Type' => 'application/json; charset=utf-8'
|
566 |
),
|
567 |
'body' => json_encode(array(
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
);
|
572 |
|
573 |
$response = wp_remote_post($url, $args);
|
@@ -582,37 +661,36 @@ class vi {
|
|
582 |
if (empty($response)) {
|
583 |
return true;
|
584 |
}
|
585 |
-
|
586 |
// vi is deactivated
|
587 |
if ($response['body'] == 'false') {
|
588 |
return false;
|
589 |
}
|
590 |
}
|
591 |
-
|
592 |
/**
|
593 |
* Create a hash to ensure that ad code has not been manippulated or changed unintentionally
|
594 |
* Use hashing instead sending sensitive publisher data back and forth
|
595 |
*/
|
596 |
-
private function getHash(){
|
597 |
$string = get_option('quads_vi_ads');
|
598 |
-
|
599 |
-
if (isset($string['ads'][1]['code'])){
|
600 |
-
|
601 |
}
|
602 |
return '';
|
603 |
}
|
604 |
-
|
605 |
/**
|
606 |
* Get login URL
|
607 |
* @return string
|
608 |
*/
|
609 |
-
public function getLoginURL(){
|
610 |
if (isset($this->settings->data->loginAPI) &&
|
611 |
-
|
612 |
return $this->settings->data->loginAPI;
|
613 |
}
|
614 |
return '';
|
615 |
}
|
616 |
|
617 |
-
|
618 |
}
|
27 |
* @var bool
|
28 |
*/
|
29 |
private $debug = false;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Use this to force reload of the settings
|
33 |
+
* Used after switching to debug and vice versa
|
34 |
+
* @var type
|
35 |
+
*/
|
36 |
+
private $forceReload = false;
|
37 |
|
38 |
/**
|
39 |
* Base64 decoded jwt token
|
62 |
// Production endpoints
|
63 |
$this->urlSettings = 'https://dashboard-api.vidint.net/v1/api/widget/settings';
|
64 |
}
|
65 |
+
|
66 |
+
|
67 |
+
if ($this->forceReload){
|
68 |
+
$this->setSettings();
|
69 |
+
}
|
70 |
|
71 |
$this->getToken();
|
72 |
|
76 |
|
77 |
$this->ads = get_option('quads_vi_ads');
|
78 |
}
|
|
|
|
|
79 |
|
80 |
/**
|
81 |
* Load hooks
|
82 |
*/
|
83 |
public function hooks() {
|
84 |
+
if (is_admin()) {
|
85 |
+
// Register the vi ad settings
|
86 |
+
add_action('admin_init', array($this, 'registerSettings'));
|
87 |
+
add_action('admin_notices', array($this, 'getDebugNotice'));
|
88 |
+
}
|
89 |
|
90 |
// Only run the following actions when vi is activated and user confirmed his registration
|
91 |
// We need to ensure publishers privacy and do not want to send more personal information than absolutely necessary
|
100 |
// Shortcodes
|
101 |
add_shortcode('quadsvi', array($this, 'getShortcode'));
|
102 |
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Write a warning notice when debug mode is on
|
106 |
+
*/
|
107 |
+
public function getDebugNotice(){
|
108 |
+
if ($this->debug){
|
109 |
+
echo '<div class="notice notice-error" id="wpquads-adblock-notice" style="">ATTENTION: WP QUADS vi debug mode is activated</div>';
|
110 |
+
}
|
111 |
+
return false;
|
112 |
+
}
|
113 |
|
114 |
/**
|
115 |
* Register the vi ad settings
|
125 |
*/
|
126 |
public function getShortcode($atts) {
|
127 |
global $quads_options;
|
128 |
+
|
129 |
+
if (!$this->token){
|
130 |
+
return;
|
131 |
+
}
|
132 |
|
133 |
if (quads_check_meta_setting('NoAds') === '1') {
|
134 |
return;
|
233 |
* @return array
|
234 |
*/
|
235 |
public function getFontFamily() {
|
236 |
+
return array(
|
237 |
+
'select' => 'Select Font Family',
|
238 |
+
'Arial' => 'Arial',
|
239 |
'Times New Roman' => 'Times New Roman',
|
240 |
'Georgia' => 'Georgia',
|
241 |
'Palatino Linotype' => 'Palatino Linotype',
|
302 |
*/
|
303 |
public function createAdsTxt() {
|
304 |
|
305 |
+
if (!isset($this->token->publisherId)) {
|
306 |
return false;
|
307 |
}
|
308 |
|
327 |
$adsTxt = new \wpquads\adsTxt($vi, '41b5eef6');
|
328 |
return $adsTxt->writeAdsTxt();
|
329 |
}
|
|
|
|
|
|
|
330 |
|
331 |
/**
|
332 |
* Get ads.txt from vi api
|
372 |
if (empty($token)) {
|
373 |
$this->token = '';
|
374 |
return false;
|
|
|
375 |
}
|
376 |
|
377 |
preg_match("/(\w*).(\w*)/", $token, $output);
|
398 |
|
399 |
if (!isset($this->settings->data->revenueAPI))
|
400 |
return false;
|
401 |
+
|
402 |
|
403 |
$args = array(
|
404 |
'headers' => array(
|
448 |
if (!$vi_token)
|
449 |
return false;
|
450 |
|
451 |
+
|
452 |
+
$viParam = $this->getViAdParams($ads);
|
453 |
+
// $viParam = array(
|
454 |
+
// 'domain' => $this->getDomain(),
|
455 |
+
// //'adUnitType' => 'FLOATING_OUTSTREAM',
|
456 |
+
// 'adUnitType' => 'NATIVE_VIDEO_UNIT',
|
457 |
+
// 'divId' => 'div_id',
|
458 |
+
// 'language' => isset($ads['ads'][1]['language']) ? $ads['ads'][1]['language'] : 'en-en',
|
459 |
+
// 'iabCategory' => isset($ads['ads'][1]['iab2']) && 'select' != $ads['ads'][1]['iab2'] ? $ads['ads'][1]['iab2'] : 'IAB2-16',
|
460 |
+
// 'font' => !empty($ads['ads'][1]['txt_font_family']) && $ads['ads'][1]['txt_font_family'] != 'select' ? $ads['ads'][1]['txt_font_family'] : 'Verdana',
|
461 |
+
// 'fontSize' => !empty($ads['ads'][1]['font_size']) ? $ads['ads'][1]['font_size'] : '12',
|
462 |
+
// 'keywords' => !empty($ads['ads'][1]['keywords']) ? $ads['ads'][1]['keywords'] : 'key,words',
|
463 |
+
// 'textColor' => !empty($ads['ads'][1]['text_color']) ? '#' . $ads['ads'][1]['text_color'] : '#00ff00',
|
464 |
+
// 'backgroundColor' => !empty($ads['ads'][1]['bg_color']) ? '#' . $ads['ads'][1]['bg_color'] : '#00ff00',
|
465 |
+
// 'vioptional1' => isset($ads['ads'][1]['optional1']) ? $ads['ads'][1]['optional1'] : 'optional1',
|
466 |
+
// 'vioptional2' => isset($ads['ads'][1]['optional2']) ? $ads['ads'][1]['optional2'] : 'optional2',
|
467 |
+
// 'vioptional3' => isset($ads['ads'][1]['optional3']) ? $ads['ads'][1]['optional3'] : 'optional3',
|
468 |
+
// 'float' => true,
|
469 |
+
// 'logoUrl' => 'http://url.com/logo.jpg',
|
470 |
+
// 'dfpSupport' => true,
|
471 |
+
// 'sponsoredText' => 'Sponsored text',
|
472 |
+
// 'poweredByText' => 'Powered by VI'
|
473 |
+
// );
|
474 |
|
475 |
$args = array(
|
476 |
'method' => 'POST',
|
511 |
return json_encode($response);
|
512 |
}
|
513 |
|
514 |
+
/**
|
515 |
+
* Build ad parameter dynamically
|
516 |
+
* @return array
|
517 |
+
*/
|
518 |
+
private function getViAdParams($ads) {
|
519 |
+
|
520 |
+
if (!empty($ads['ads'][1]['font_size'])) {
|
521 |
+
return array(
|
522 |
+
'domain' => $this->getDomain(),
|
523 |
+
//'adUnitType' => 'FLOATING_OUTSTREAM',
|
524 |
+
'adUnitType' => 'NATIVE_VIDEO_UNIT',
|
525 |
+
'divId' => 'div_id',
|
526 |
+
'language' => isset($ads['ads'][1]['language']) ? $ads['ads'][1]['language'] : 'en-en',
|
527 |
+
'iabCategory' => isset($ads['ads'][1]['iab2']) && 'select' != $ads['ads'][1]['iab2'] ? $ads['ads'][1]['iab2'] : 'IAB2-16',
|
528 |
+
'font' => !empty($ads['ads'][1]['txt_font_family']) && $ads['ads'][1]['txt_font_family'] != 'select' ? $ads['ads'][1]['txt_font_family'] : 'Verdana',
|
529 |
+
'fontSize' => !empty($ads['ads'][1]['font_size']) ? $ads['ads'][1]['font_size'] : '12',
|
530 |
+
'keywords' => !empty($ads['ads'][1]['keywords']) ? $ads['ads'][1]['keywords'] : 'key,words',
|
531 |
+
'textColor' => !empty($ads['ads'][1]['text_color']) ? '#' . $ads['ads'][1]['text_color'] : '#00ff00',
|
532 |
+
'backgroundColor' => !empty($ads['ads'][1]['bg_color']) ? '#' . $ads['ads'][1]['bg_color'] : '#00ff00',
|
533 |
+
'vioptional1' => isset($ads['ads'][1]['optional1']) ? $ads['ads'][1]['optional1'] : 'optional1',
|
534 |
+
'vioptional2' => isset($ads['ads'][1]['optional2']) ? $ads['ads'][1]['optional2'] : 'optional2',
|
535 |
+
'vioptional3' => isset($ads['ads'][1]['optional3']) ? $ads['ads'][1]['optional3'] : 'optional3',
|
536 |
+
'float' => true,
|
537 |
+
'logoUrl' => 'http://url.com/logo.jpg',
|
538 |
+
'dfpSupport' => true,
|
539 |
+
'sponsoredText' => 'Sponsored text',
|
540 |
+
'poweredByText' => 'Powered by VI'
|
541 |
+
);
|
542 |
+
} else {
|
543 |
+
return array(
|
544 |
+
'domain' => $this->getDomain(),
|
545 |
+
//'adUnitType' => 'FLOATING_OUTSTREAM',
|
546 |
+
'adUnitType' => 'NATIVE_VIDEO_UNIT',
|
547 |
+
'divId' => 'div_id',
|
548 |
+
'language' => isset($ads['ads'][1]['language']) ? $ads['ads'][1]['language'] : 'en-en',
|
549 |
+
'iabCategory' => isset($ads['ads'][1]['iab2']) && 'select' != $ads['ads'][1]['iab2'] ? $ads['ads'][1]['iab2'] : 'IAB2-16',
|
550 |
+
'font' => !empty($ads['ads'][1]['txt_font_family']) && $ads['ads'][1]['txt_font_family'] != 'select' ? $ads['ads'][1]['txt_font_family'] : 'Verdana',
|
551 |
+
'keywords' => !empty($ads['ads'][1]['keywords']) ? $ads['ads'][1]['keywords'] : 'key,words',
|
552 |
+
'textColor' => !empty($ads['ads'][1]['text_color']) ? '#' . $ads['ads'][1]['text_color'] : '#00ff00',
|
553 |
+
'backgroundColor' => !empty($ads['ads'][1]['bg_color']) ? '#' . $ads['ads'][1]['bg_color'] : '#00ff00',
|
554 |
+
'vioptional1' => isset($ads['ads'][1]['optional1']) ? $ads['ads'][1]['optional1'] : 'optional1',
|
555 |
+
'vioptional2' => isset($ads['ads'][1]['optional2']) ? $ads['ads'][1]['optional2'] : 'optional2',
|
556 |
+
'vioptional3' => isset($ads['ads'][1]['optional3']) ? $ads['ads'][1]['optional3'] : 'optional3',
|
557 |
+
'float' => true,
|
558 |
+
'logoUrl' => 'http://url.com/logo.jpg',
|
559 |
+
'dfpSupport' => true,
|
560 |
+
'sponsoredText' => 'Sponsored text',
|
561 |
+
'poweredByText' => 'Powered by VI'
|
562 |
+
);
|
563 |
+
}
|
564 |
+
}
|
565 |
+
|
566 |
public function getAdCode() {
|
567 |
return get_option('quads_vi_ads');
|
568 |
}
|
621 |
delete_option('quads_vi_active');
|
622 |
return true;
|
623 |
}
|
624 |
+
|
625 |
// vi is deactivated
|
626 |
if ($response['body'] == 'false') {
|
627 |
update_option('quads_vi_active', 'false');
|
628 |
return false;
|
629 |
}
|
630 |
}
|
631 |
+
|
632 |
/**
|
633 |
* Weekly check to ensure vi ad code has not been changed unintentionally
|
634 |
* @return bool
|
635 |
*/
|
636 |
public function verifyViAdCode() {
|
637 |
+
|
638 |
//$url = 'https://wpquads.com/wpquads-api/signup/create.php?domain='.$this->getDomain().'&hash=' . $this->getHash();
|
639 |
$url = 'https://wpquads.com/wpquads-api/signup/create.php';
|
640 |
$args = array(
|
644 |
'Content-Type' => 'application/json; charset=utf-8'
|
645 |
),
|
646 |
'body' => json_encode(array(
|
647 |
+
'domain' => $this->getDomain(),
|
648 |
+
'hash' => $this->getHash(),
|
649 |
+
))
|
650 |
);
|
651 |
|
652 |
$response = wp_remote_post($url, $args);
|
661 |
if (empty($response)) {
|
662 |
return true;
|
663 |
}
|
664 |
+
|
665 |
// vi is deactivated
|
666 |
if ($response['body'] == 'false') {
|
667 |
return false;
|
668 |
}
|
669 |
}
|
670 |
+
|
671 |
/**
|
672 |
* Create a hash to ensure that ad code has not been manippulated or changed unintentionally
|
673 |
* Use hashing instead sending sensitive publisher data back and forth
|
674 |
*/
|
675 |
+
private function getHash() {
|
676 |
$string = get_option('quads_vi_ads');
|
677 |
+
|
678 |
+
if (isset($string['ads'][1]['code'])) {
|
679 |
+
return md5($string['ads'][1]['code']);
|
680 |
}
|
681 |
return '';
|
682 |
}
|
683 |
+
|
684 |
/**
|
685 |
* Get login URL
|
686 |
* @return string
|
687 |
*/
|
688 |
+
public function getLoginURL() {
|
689 |
if (isset($this->settings->data->loginAPI) &&
|
690 |
+
!empty($this->settings->data->loginAPI)) {
|
691 |
return $this->settings->data->loginAPI;
|
692 |
}
|
693 |
return '';
|
694 |
}
|
695 |
|
|
|
696 |
}
|
includes/vendor/vi/views/Forms/adSettings.php
CHANGED
@@ -507,22 +507,57 @@ class adSettings {
|
|
507 |
// bg_color
|
508 |
$element = new Text('quads_vi_ads[ads][1][bg_color]', array("class" => "jscolor"), array());
|
509 |
$this->form->add(
|
510 |
-
$element->setLabel("Background Color")->setDefault(isset($settings->bg_color) ? $settings->bg_color : '')
|
511 |
);
|
512 |
// text_color
|
513 |
$element = new Text('quads_vi_ads[ads][1][text_color]', array("class" => "jscolor"), array());
|
514 |
$this->form->add(
|
515 |
-
$element->setLabel("Text Color")->setDefault(isset($settings->text_color) ? $settings->text_color : '')
|
516 |
);
|
517 |
// txt_font_family
|
518 |
$element = new Select('quads_vi_ads[ads][1][txt_font_family]', $this->vi->getFontFamily(), array() );
|
519 |
$this->form->add(
|
520 |
-
$element->setLabel("Text Font Family")->setDefault(isset($settings->txt_font_family) ? $settings->txt_font_family : '')
|
521 |
);
|
522 |
// font_size
|
523 |
-
$element = new Numerical('quads_vi_ads[ads][1][font_size]', array());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
524 |
$this->form->add(
|
525 |
-
$element->setLabel("Text Font Size")->setDefault(
|
526 |
);
|
527 |
// optional1
|
528 |
$element = new Text('quads_vi_ads[ads][1][optional1]', array());
|
@@ -554,11 +589,30 @@ class adSettings {
|
|
554 |
$element->setLabel("align")->setDefault(isset($settings->align) ? $settings->align : '')
|
555 |
);
|
556 |
|
557 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
558 |
|
559 |
// Position
|
560 |
$options = array(
|
561 |
-
'notShown' => '
|
562 |
'abovePost' => 'Above Content',
|
563 |
'middlePost' => 'Middle of Content',
|
564 |
'belowPost' => 'Below of Content'
|
@@ -579,6 +633,16 @@ class adSettings {
|
|
579 |
setDefault(isset($settings->excludedPostTypes) ? $settings->excludedPostTypes : 'noPostTypes')
|
580 |
);
|
581 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
582 |
// Hide Ads On Posts
|
583 |
$element = new Text('quads_vi_ads[ads][1][excludedPostIds]', array());
|
584 |
$this->form->add(
|
@@ -586,6 +650,7 @@ class adSettings {
|
|
586 |
setTooltip("Exclude ads from beeing shown on specific pages by adding comma separated post ids here.")->
|
587 |
setDefault(isset($settings->excludedPostIds) ? $settings->excludedPostIds : '')
|
588 |
);
|
|
|
589 |
|
590 |
// Condition User Roles
|
591 |
$options = array_merge (array('noUserRoles' => 'Exclude nothing'), $this->quads_get_user_roles());
|
507 |
// bg_color
|
508 |
$element = new Text('quads_vi_ads[ads][1][bg_color]', array("class" => "jscolor"), array());
|
509 |
$this->form->add(
|
510 |
+
$element->setLabel("Background Color")->setDefault(isset($settings->bg_color) ? $settings->bg_color : 'fafafa')
|
511 |
);
|
512 |
// text_color
|
513 |
$element = new Text('quads_vi_ads[ads][1][text_color]', array("class" => "jscolor"), array());
|
514 |
$this->form->add(
|
515 |
+
$element->setLabel("Text Color")->setDefault(isset($settings->text_color) ? $settings->text_color : '000000')
|
516 |
);
|
517 |
// txt_font_family
|
518 |
$element = new Select('quads_vi_ads[ads][1][txt_font_family]', $this->vi->getFontFamily(), array() );
|
519 |
$this->form->add(
|
520 |
+
$element->setLabel("Text Font Family")->setDefault(isset($settings->txt_font_family) ? $settings->txt_font_family : 'Verdana')
|
521 |
);
|
522 |
// font_size
|
523 |
+
// $element = new Numerical('quads_vi_ads[ads][1][font_size]', array());
|
524 |
+
// $this->form->add(
|
525 |
+
// $element->setLabel("Text Font Size")->setDefault(!empty($settings->font_size) ? $settings->font_size : '')
|
526 |
+
// );
|
527 |
+
// font_size
|
528 |
+
$element = new Select('quads_vi_ads[ads][1][font_size]', array(
|
529 |
+
'8' => '8',
|
530 |
+
'9' => '9',
|
531 |
+
'10' => '10',
|
532 |
+
'11' => '11',
|
533 |
+
'12' => '12',
|
534 |
+
'13' => '13',
|
535 |
+
'14' => '14',
|
536 |
+
'15' => '15',
|
537 |
+
'16' => '16',
|
538 |
+
'17' => '17',
|
539 |
+
'18' => '18',
|
540 |
+
'19' => '19',
|
541 |
+
'20' => '20',
|
542 |
+
'21' => '21',
|
543 |
+
'22' => '22',
|
544 |
+
'23' => '23',
|
545 |
+
'24' => '24',
|
546 |
+
'25' => '25',
|
547 |
+
'26' => '26',
|
548 |
+
'27' => '27',
|
549 |
+
'28' => '28',
|
550 |
+
'29' => '29',
|
551 |
+
'30' => '30',
|
552 |
+
'31' => '31',
|
553 |
+
'32' => '32',
|
554 |
+
'33' => '33',
|
555 |
+
'34' => '34',
|
556 |
+
'35' => '35',
|
557 |
+
'36' => '36',
|
558 |
+
));
|
559 |
$this->form->add(
|
560 |
+
$element->setLabel("Text Font Size")->setDefault(!empty($settings->font_size) ? $settings->font_size : '')
|
561 |
);
|
562 |
// optional1
|
563 |
$element = new Text('quads_vi_ads[ads][1][optional1]', array());
|
589 |
$element->setLabel("align")->setDefault(isset($settings->align) ? $settings->align : '')
|
590 |
);
|
591 |
|
592 |
+
// Margin Top
|
593 |
+
$element = new Numerical('quads_vi_ads[ads][1][marginTop]', array());
|
594 |
+
$this->form->add(
|
595 |
+
$element->setLabel("Top")->setDefault(isset($settings->marginTop) ? $settings->marginTop : '0')
|
596 |
+
);
|
597 |
+
// Margin Right
|
598 |
+
$element = new Numerical('quads_vi_ads[ads][1][marginRight]', array());
|
599 |
+
$this->form->add(
|
600 |
+
$element->setLabel("Top")->setDefault(isset($settings->marginRight) ? $settings->marginRight : '0')
|
601 |
+
);
|
602 |
+
// Margin Bottom
|
603 |
+
$element = new Numerical('quads_vi_ads[ads][1][marginBottom]', array());
|
604 |
+
$this->form->add(
|
605 |
+
$element->setLabel("Top")->setDefault(isset($settings->marginBottom) ? $settings->marginBottom : '0')
|
606 |
+
);
|
607 |
+
// Margin Left
|
608 |
+
$element = new Numerical('quads_vi_ads[ads][1][marginLeft]', array());
|
609 |
+
$this->form->add(
|
610 |
+
$element->setLabel("Top")->setTooltip('Create some distance between the video content and text elements on your page. Values around 10 and more are looking nice but this also depends on your theme and what you personally prefer;)')->setDefault(isset($settings->marginLeft) ? $settings->marginLeft : '0')
|
611 |
+
);
|
612 |
|
613 |
// Position
|
614 |
$options = array(
|
615 |
+
'notShown' => 'No Automatic',
|
616 |
'abovePost' => 'Above Content',
|
617 |
'middlePost' => 'Middle of Content',
|
618 |
'belowPost' => 'Below of Content'
|
633 |
setDefault(isset($settings->excludedPostTypes) ? $settings->excludedPostTypes : 'noPostTypes')
|
634 |
);
|
635 |
|
636 |
+
// Condition Extra Pages
|
637 |
+
$options = array_merge (array('noExtraPages' => 'Exclude nothing'), array('homePage' => 'Home Page'));
|
638 |
+
|
639 |
+
$element = new SelectMultiple('quads_vi_ads[ads][1][excludedExtraPages]', $options);
|
640 |
+
$this->form->add(
|
641 |
+
$element->setLabel("Exclude Extra Pages")->
|
642 |
+
setTooltip("Never show vi video ad on these extra pages. Select multiple values by holding down ctrl key.")->
|
643 |
+
setDefault(isset($settings->excludedExtraPages) ? $settings->excludedExtraPages : 'noExtraPages')
|
644 |
+
);
|
645 |
+
|
646 |
// Hide Ads On Posts
|
647 |
$element = new Text('quads_vi_ads[ads][1][excludedPostIds]', array());
|
648 |
$this->form->add(
|
650 |
setTooltip("Exclude ads from beeing shown on specific pages by adding comma separated post ids here.")->
|
651 |
setDefault(isset($settings->excludedPostIds) ? $settings->excludedPostIds : '')
|
652 |
);
|
653 |
+
|
654 |
|
655 |
// Condition User Roles
|
656 |
$options = array_merge (array('noUserRoles' => 'Exclude nothing'), $this->quads_get_user_roles());
|
includes/vendor/vi/views/ad_settings.php
CHANGED
@@ -55,9 +55,19 @@
|
|
55 |
<h3 style="margin-bottom:8px;">Layout</h3>
|
56 |
<br>
|
57 |
<?php echo $form->get()->render("quads_vi_ads[ads][1][align]"); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
<br>
|
59 |
</div>
|
60 |
-
<
|
|
|
61 |
<div style="border-top: 1px solid #c3c3c3;"></div>
|
62 |
<h3>Where:</h3>
|
63 |
|
@@ -74,6 +84,12 @@
|
|
74 |
?>
|
75 |
<br>
|
76 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
echo $form->get()->label("quads_vi_ads[ads][1][excludedUserRoles]");
|
78 |
echo $form->get()->render("quads_vi_ads[ads][1][excludedUserRoles]");
|
79 |
echo $form->get()->tooltip("quads_vi_ads[ads][1][excludedUserRoles]");
|
@@ -86,6 +102,7 @@
|
|
86 |
?>
|
87 |
<br>
|
88 |
<br>
|
|
|
89 |
<div id="quads-vi-save-notice"><span class="quads-spinner" style="float:none;"></span></div>
|
90 |
<div id="quads-vi-save-settings">
|
91 |
<input type="submit" id="quads_vi_save_settings_submit" style="" class='button button-primary' value="Save Video Settings">
|
@@ -93,7 +110,7 @@
|
|
93 |
|
94 |
</div>
|
95 |
<div id="quads-vi-shortcodes">
|
96 |
-
<h4 style="font-weight: 500;font-size:18px;color:black;">Manual
|
97 |
<label>Shortcode:</label>
|
98 |
<input readonly="" id="quads_shortcode_1" type="text" onclick="this.focus();
|
99 |
this.select()" value="[quadsvi id=1]" title="Optional: Copy and paste the shortcode into the post editor, click below then press Ctrl + C (PC) or Cmd + C (Mac).">
|
55 |
<h3 style="margin-bottom:8px;">Layout</h3>
|
56 |
<br>
|
57 |
<?php echo $form->get()->render("quads_vi_ads[ads][1][align]"); ?>
|
58 |
+
<br>
|
59 |
+
<br>
|
60 |
+
Margin Top: <?php echo $form->get()->render("quads_vi_ads[ads][1][marginTop]"); ?>px
|
61 |
+
Right: <?php echo $form->get()->render("quads_vi_ads[ads][1][marginRight]"); ?>px
|
62 |
+
Bottom: <?php echo $form->get()->render("quads_vi_ads[ads][1][marginBottom]"); ?> px
|
63 |
+
Left: <?php echo $form->get()->render("quads_vi_ads[ads][1][marginLeft]"); ?> px
|
64 |
+
<?php echo $form->get()->tooltip("quads_vi_ads[ads][1][marginLeft]"); ?>
|
65 |
+
|
66 |
+
|
67 |
<br>
|
68 |
</div>
|
69 |
+
<div id="quads_vi_automatic_integration">
|
70 |
+
<h3 style="margin-bottom:8px;">Automatic Placement</h3>
|
71 |
<div style="border-top: 1px solid #c3c3c3;"></div>
|
72 |
<h3>Where:</h3>
|
73 |
|
84 |
?>
|
85 |
<br>
|
86 |
<?php
|
87 |
+
echo $form->get()->label("quads_vi_ads[ads][1][excludedExtraPages]");
|
88 |
+
echo $form->get()->render("quads_vi_ads[ads][1][excludedExtraPages]");
|
89 |
+
echo $form->get()->tooltip("quads_vi_ads[ads][1][excludedExtraPages]");
|
90 |
+
?>
|
91 |
+
<br>
|
92 |
+
<?php
|
93 |
echo $form->get()->label("quads_vi_ads[ads][1][excludedUserRoles]");
|
94 |
echo $form->get()->render("quads_vi_ads[ads][1][excludedUserRoles]");
|
95 |
echo $form->get()->tooltip("quads_vi_ads[ads][1][excludedUserRoles]");
|
102 |
?>
|
103 |
<br>
|
104 |
<br>
|
105 |
+
</div>
|
106 |
<div id="quads-vi-save-notice"><span class="quads-spinner" style="float:none;"></span></div>
|
107 |
<div id="quads-vi-save-settings">
|
108 |
<input type="submit" id="quads_vi_save_settings_submit" style="" class='button button-primary' value="Save Video Settings">
|
110 |
|
111 |
</div>
|
112 |
<div id="quads-vi-shortcodes">
|
113 |
+
<h4 style="font-weight: 500;font-size:18px;color:black;">Manual Placement</h4>
|
114 |
<label>Shortcode:</label>
|
115 |
<input readonly="" id="quads_shortcode_1" type="text" onclick="this.focus();
|
116 |
this.select()" value="[quadsvi id=1]" title="Optional: Copy and paste the shortcode into the post editor, click below then press Ctrl + C (PC) or Cmd + C (Mac).">
|
quick-adsense-reloaded.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* Description: Insert Google AdSense and other ad formats fully automatic into your website
|
7 |
* Author: Rene Hermenau, WP-Staging
|
8 |
* Author URI: https://wordpress.org/plugins/quick-adsense-reloaded/
|
9 |
-
* Version: 1.7.
|
10 |
* Text Domain: quick-adsense-reloaded
|
11 |
* Domain Path: languages
|
12 |
* Credits: WP QUADS - Quick AdSense Reloaded is a fork of Quick AdSense
|
@@ -35,7 +35,7 @@ if( !defined( 'ABSPATH' ) )
|
|
35 |
|
36 |
// Plugin version
|
37 |
if( !defined( 'QUADS_VERSION' ) ) {
|
38 |
-
define( 'QUADS_VERSION', '1.7.
|
39 |
}
|
40 |
|
41 |
// Plugin name
|
6 |
* Description: Insert Google AdSense and other ad formats fully automatic into your website
|
7 |
* Author: Rene Hermenau, WP-Staging
|
8 |
* Author URI: https://wordpress.org/plugins/quick-adsense-reloaded/
|
9 |
+
* Version: 1.7.2
|
10 |
* Text Domain: quick-adsense-reloaded
|
11 |
* Domain Path: languages
|
12 |
* Credits: WP QUADS - Quick AdSense Reloaded is a fork of Quick AdSense
|
35 |
|
36 |
// Plugin version
|
37 |
if( !defined( 'QUADS_VERSION' ) ) {
|
38 |
+
define( 'QUADS_VERSION', '1.7.2' );
|
39 |
}
|
40 |
|
41 |
// Plugin name
|
readme.txt
CHANGED
@@ -9,7 +9,7 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
9 |
Tags: adsense, ads, ad, google adsense, advertising, amp, ad injection, ad inserter, ad manager
|
10 |
Requires at least: 3.6+
|
11 |
Tested up to: 4.9
|
12 |
-
Stable tag: 1.7.
|
13 |
|
14 |
Quick Adsense Reloaded! Quickest way to insert Google AdSense & other ads into your website. Google AdSense integration with Google AMP support
|
15 |
|
@@ -129,6 +129,22 @@ Alternative Installation:
|
|
129 |
|
130 |
== Changelog ==
|
131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
= 1.7.1 =
|
133 |
* Fix: adsense ads are not shown after activation of vi because of incomplete ads.txt
|
134 |
|
@@ -210,5 +226,5 @@ Complete changelog: https://wpquads.com/changelog
|
|
210 |
|
211 |
== Upgrade Notice ==
|
212 |
|
213 |
-
= 1.7.
|
214 |
-
1.7.
|
9 |
Tags: adsense, ads, ad, google adsense, advertising, amp, ad injection, ad inserter, ad manager
|
10 |
Requires at least: 3.6+
|
11 |
Tested up to: 4.9
|
12 |
+
Stable tag: 1.7.2
|
13 |
|
14 |
Quick Adsense Reloaded! Quickest way to insert Google AdSense & other ads into your website. Google AdSense integration with Google AMP support
|
15 |
|
129 |
|
130 |
== Changelog ==
|
131 |
|
132 |
+
= 1.7.2 =
|
133 |
+
* New: Add Home Page condition for vi
|
134 |
+
* New: Add margin option for vi video ad
|
135 |
+
* Fix: Remove undefined var notice
|
136 |
+
* Fix: Remove debugging output
|
137 |
+
* Fix: vi login sometimes not automatically redirect
|
138 |
+
* Fix: use correct default values for vi settings if they are empty
|
139 |
+
* Fix: Use correct tier2 iab category depending on tier1 selection
|
140 |
+
* Fix: missing comma in ads.txt google adsense entry
|
141 |
+
* Fix: Do not show vi ad on feed, 404, category, archive and search pages
|
142 |
+
* Fix: Missing excerpt and content on category and archiv pages
|
143 |
+
* Fix: vi font Size default value can be empty
|
144 |
+
* Fix: Do not show vi ads when user is logged out of vi
|
145 |
+
* Tweak: Remove validate ad settings button
|
146 |
+
* Tweak: Remove not necessary admin notices
|
147 |
+
|
148 |
= 1.7.1 =
|
149 |
* Fix: adsense ads are not shown after activation of vi because of incomplete ads.txt
|
150 |
|
226 |
|
227 |
== Upgrade Notice ==
|
228 |
|
229 |
+
= 1.7.2 =
|
230 |
+
1.7.2 New: This update is highly recommended. It fixes serious issues which led to missing content elements.
|