AdSense Plugin WP QUADS - Version 1.4.5

Version Description

  • New: Add new option to hide AMP ads on certain posts with WP QUADS PRO

  • Fix: Save Changes button is behind admin footer on plugin settings tab

  • Fix: Ad Check "Highlight ads" button dark colored and unreadable with some themes

  • Fix: Do not use ajax saving on license and import/export tab

  • Fix: Fix css issue on admin notice

  • Fix: Ad Check Highlight button color not readable - css fix

  • Fix: wrong amount of max ads limit when AMP ads are used

  • Fix: Make sure AdSense ads are injected only in the main query

Download this release

Release Info

Developer ReneHermi
Plugin Icon 128x128 AdSense Plugin WP QUADS
Version 1.4.5
Comparing to
See all releases

Code changes from version 1.4.4 to 1.4.5

assets/css/quads-admin.css CHANGED
@@ -802,4 +802,8 @@ li.quads-tabs {
802
  margin-left: 2px;
803
  margin-bottom: 20px;
804
  font-weight: bold;
 
 
 
 
805
  }
802
  margin-left: 2px;
803
  margin-bottom: 20px;
804
  font-weight: bold;
805
+ }
806
+
807
+ #quads-submit-button{
808
+ z-index: 999999;
809
  }
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}.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-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}}.quads-general-helper,.quads-helper{background-color:#83c11f;width:15px;display:inline-block;top:4px;cursor:pointer}.adsense_admin_header ul li{margin-top:2px;margin-left:20px;list-style-type:square}.quads-helper{border-radius:50%;border:2px solid #fff;height:15px;position:relative;margin-top:-4px;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-general-helper{border-radius:50%;border:2px solid #fff;height:15px;position:relative;margin-top:-4px;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{margin-top:-20px;display:block;margin-left:2px;margin-bottom:20px;font-weight:700}
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}.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-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}}.quads-general-helper,.quads-helper{background-color:#83c11f;width:15px;display:inline-block;top:4px;cursor:pointer}.adsense_admin_header ul li{margin-top:2px;margin-left:20px;list-style-type:square}.quads-helper{border-radius:50%;border:2px solid #fff;height:15px;position:relative;margin-top:-4px;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-general-helper{border-radius:50%;border:2px solid #fff;height:15px;position:relative;margin-top:-4px;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{margin-top:-20px;display:block;margin-left:2px;margin-bottom:20px;font-weight:700}#quads-submit-button{z-index:999999}
assets/js/quads-admin.js CHANGED
@@ -161,7 +161,7 @@ jQuery(document).ready(function ($) {
161
 
162
  error: function(){
163
  //Do not show alert on import/export tab
164
- if ( search === -1 ){
165
  alert ('Error: Can not save settings. Try again');
166
  }
167
  jQuery('#quads-save-result').hide('fast');
161
 
162
  error: function(){
163
  //Do not show alert on import/export tab
164
+ if ( tab_imexport === -1 && tab_licenses === -1 ){
165
  alert ('Error: Can not save settings. Try again');
166
  }
167
  jQuery('#quads-save-result').hide('fast');
assets/js/quads-admin.min.js CHANGED
@@ -145,7 +145,8 @@ jQuery(document).ready(function ($) {
145
 
146
  // Check current url / settings page
147
  var url = window.location.search;
148
- var search = url.search("page=quads-settings&tab=imexport");
 
149
 
150
  jQuery('#quads-save-result').html("<div id='quads-loader' class='quads-loader'></div>");
151
  jQuery('#quads-loader').append('<p><img src="'+quads.path+'/wp-content/plugins/quick-adsense-reloaded/assets/images/loader1.gif"></p>').show();
@@ -160,14 +161,14 @@ jQuery(document).ready(function ($) {
160
 
161
  error: function(){
162
  //Do not show alert on import/export tab
163
- if ( search === -1 ){
164
  alert ('Error: Can not save settings. Try again');
165
  }
166
  jQuery('#quads-save-result').hide('fast');
167
  }
168
  });
169
- // Do not preventDefault on import/export tab
170
- if ( search === -1 ){
171
  return false;
172
  }
173
  });
145
 
146
  // Check current url / settings page
147
  var url = window.location.search;
148
+ var tab_imexport = url.search("page=quads-settings&tab=imexport");
149
+ var tab_licenses = url.search("page=quads-settings&tab=licenses");
150
 
151
  jQuery('#quads-save-result').html("<div id='quads-loader' class='quads-loader'></div>");
152
  jQuery('#quads-loader').append('<p><img src="'+quads.path+'/wp-content/plugins/quick-adsense-reloaded/assets/images/loader1.gif"></p>').show();
161
 
162
  error: function(){
163
  //Do not show alert on import/export tab
164
+ if ( tab_imexport === -1 && tab_licenses === -1 ){
165
  alert ('Error: Can not save settings. Try again');
166
  }
167
  jQuery('#quads-save-result').hide('fast');
168
  }
169
  });
170
+ // Do not use ajax saving on import/export and licenses tab
171
+ if ( tab_imexport === -1 && tab_licenses ===-1 ){
172
  return false;
173
  }
174
  });
includes/admin/admin-notices.php CHANGED
@@ -208,7 +208,7 @@ function quads_theme_notice(){
208
  $show_notice = get_option('quads_show_theme_notice');
209
 
210
  if( false !== $show_notice && 'no' !== $show_notice && quads_is_commercial_theme() ) {
211
- $message = __( '<strong>Extend the <strong>' . quads_is_commercial_theme(). '</strong> theme with <strong>WP QUADS PRO!</strong><br>Save time and earn more - Bring your AdSense earnings to next level. <a href="http://wpquads.com?utm_campaign=adminnotice&utm_source=admin_notice&utm_medium=admin&utm_content=bimber_upgrade_notice" target="_blank"> Purchase Now</a> or <a href="http://wpquads.com?utm_campaign=free_plugin&utm_source=admin_notice&utm_medium=admin&utm_content=bimber_upgrade_notice" target="_blank">Get Details</a></strong> <p> <a href="'.admin_url().'admin.php?page=quads-settings&quads-action=close_upgrade_notice" class="button">Close Notice</a>', 'quick-adsense-reloaded' );
212
  ?>
213
  <div class="updated notice" style="border-left: 4px solid #ffba00;">
214
  <p><?php echo $message; ?></p>
@@ -231,7 +231,7 @@ function quads_update_notice() {
231
  }
232
 
233
  if( (version_compare( QUADS_VERSION, '1.3.9', '>=' ) ) && quads_is_advanced() && (version_compare( QUADS_PRO_VERSION, '1.3.0', '<' ) ) ) {
234
- $message = sprintf( __( '<strong>WP QUADS ' . QUADS_VERSION . ': <strong> Update WP QUADS PRO to get custom post type support from <a href="%s">General Settings</a>.', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings' );
235
  $message .= '<br><br><a href="' . admin_url() . 'admin.php?page=quads-settings&quads-action=hide_update_notice" class="button-primary thankyou" target="_self" title="Close Notice" style="font-weight:bold;">Close Notice</a>';
236
  ?>
237
  <div class="updated notice" style="border-left: 4px solid #ffba00;">
@@ -240,7 +240,7 @@ function quads_update_notice() {
240
  //update_option ('quads_show_update_notice', 'no');
241
  } else
242
  if( !quads_is_advanced() ) {
243
- $message = sprintf( __( '<strong>WP QUADS ' . QUADS_VERSION . ': <strong> Install <a href="%1s" target="_blank">WP QUADS PRO</a> to get custom post type support in <a href="%2s">General Settings</a>.', 'quick-adsense-reloaded' ), 'http://wpquads.com?utm_campaign=admin_notice&utm_source=admin_notice&utm_medium=admin&utm_content=custom_post_type', admin_url() . 'admin.php?page=quads-settings' );
244
  $message .= '<br><br><a href="' . admin_url() . 'admin.php?page=quads-settings&quads-action=hide_update_notice" class="button-primary thankyou" target="_self" title="Close Notice" style="font-weight:bold;">Close Notice</a>';
245
  ?>
246
  <div class="updated notice" style="border-left: 4px solid #ffba00;">
208
  $show_notice = get_option('quads_show_theme_notice');
209
 
210
  if( false !== $show_notice && 'no' !== $show_notice && quads_is_commercial_theme() ) {
211
+ $message = __( '<strong>Extend the' . quads_is_commercial_theme(). '</strong> theme with <strong>WP QUADS PRO!</strong><br>Save time and earn more - Bring your AdSense earnings to next level. <a href="http://wpquads.com?utm_campaign=adminnotice&utm_source=admin_notice&utm_medium=admin&utm_content=bimber_upgrade_notice" target="_blank"> Purchase Now</a> or <a href="http://wpquads.com?utm_campaign=free_plugin&utm_source=admin_notice&utm_medium=admin&utm_content=bimber_upgrade_notice" target="_blank">Get Details</a> <p> <a href="'.admin_url().'admin.php?page=quads-settings&quads-action=close_upgrade_notice" class="button">Close Notice</a>', 'quick-adsense-reloaded' );
212
  ?>
213
  <div class="updated notice" style="border-left: 4px solid #ffba00;">
214
  <p><?php echo $message; ?></p>
231
  }
232
 
233
  if( (version_compare( QUADS_VERSION, '1.3.9', '>=' ) ) && quads_is_advanced() && (version_compare( QUADS_PRO_VERSION, '1.3.0', '<' ) ) ) {
234
+ $message = sprintf( __( '<strong>WP QUADS ' . QUADS_VERSION . ': </strong> Update WP QUADS PRO to get custom post type support from <a href="%s">General Settings</a>.', 'quick-adsense-reloaded' ), admin_url() . 'admin.php?page=quads-settings' );
235
  $message .= '<br><br><a href="' . admin_url() . 'admin.php?page=quads-settings&quads-action=hide_update_notice" class="button-primary thankyou" target="_self" title="Close Notice" style="font-weight:bold;">Close Notice</a>';
236
  ?>
237
  <div class="updated notice" style="border-left: 4px solid #ffba00;">
240
  //update_option ('quads_show_update_notice', 'no');
241
  } else
242
  if( !quads_is_advanced() ) {
243
+ $message = sprintf( __( '<strong>WP QUADS ' . QUADS_VERSION . ': </strong> Install <a href="%1s" target="_blank">WP QUADS PRO</a> to get custom post type support in <a href="%2s">General Settings</a>.', 'quick-adsense-reloaded' ), 'http://wpquads.com?utm_campaign=admin_notice&utm_source=admin_notice&utm_medium=admin&utm_content=custom_post_type', admin_url() . 'admin.php?page=quads-settings' );
244
  $message .= '<br><br><a href="' . admin_url() . 'admin.php?page=quads-settings&quads-action=hide_update_notice" class="button-primary thankyou" target="_self" title="Close Notice" style="font-weight:bold;">Close Notice</a>';
245
  ?>
246
  <div class="updated notice" style="border-left: 4px solid #ffba00;">
includes/admin/views/deactivate-feedback.php CHANGED
@@ -1,18 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <div id="quick-adsense-reloaded-feedback-overlay" style="display: none;">
2
  <div id="quick-adsense-reloaded-feedback-content">
3
  <form action="" method="post">
4
  <h3><strong><?php _e('If you have a moment, please let us know why you are deactivating:', 'quick-adsense-reloaded'); ?></strong></h3>
5
  <ul>
6
- <li><label><input type="radio" name="quads_disable_reason" value="temporary"/><?php _e('It is only temporary', 'quick-adsense-reloaded'); ?></label></li>
7
- <li><label><input type="radio" name="quads_disable_reason" value="stopped showing ads"/><?php _e('I stopped showing ads on my site', 'quick-adsense-reloaded'); ?></label></li>
8
- <li><label><input type="radio" name="quads_disable_reason" value="missing feature"/><?php _e('I miss a feature', 'quick-adsense-reloaded'); ?></label></li>
9
- <li><input type="text" name="quads_disable_text[]" value="" placeholder="Which one?"/></li>
10
- <li><label><input type="radio" name="quads_disable_reason" value="technical issue"/><?php _e('I have a technical issue', 'quick-adsense-reloaded'); ?></label></li>
11
- <li><textarea name="quads_disable_text[]" placeholder="<?php _e('Can we help? Please let us know how', 'quick-adsense-reloaded'); ?>"></textarea></li>
12
- <li><label><input type="radio" name="quads_disable_reason" value="other plugin"/><?php _e('I switched to another plugin', 'quick-adsense-reloaded'); ?></label></li>
13
- <li><input type="text" name="quads_disable_text[]" value="" placeholder="Which one?"/></li>
14
- <li><label><input type="radio" name="quads_disable_reason" value="other"/><?php _e('other reason', 'quick-adsense-reloaded'); ?></label></li>
15
- <li><textarea name="quads_disable_text[]" placeholder="<?php _e('Please specify, if possible', 'quick-adsense-reloaded'); ?>"></textarea></li>
16
  </ul>
17
  <?php if ($email) : ?>
18
  <input type="hidden" name="quads_disable_from" value="<?php echo $email; ?>"/>
1
+ <?php
2
+ $reasons = array(
3
+ 1 => '<li><label><input type="radio" name="quads_disable_reason" value="temporary"/>' . __('It is only temporary', 'quick-adsense-reloaded') . '</label></li>',
4
+ 2 => '<li><label><input type="radio" name="quads_disable_reason" value="stopped showing ads"/>' . __('I stopped showing ads on my site', 'quick-adsense-reloaded') . '</label></li>',
5
+ 3 => '<li><label><input type="radio" name="quads_disable_reason" value="missing feature"/>' . __('I miss a feature', 'quick-adsense-reloaded') . '</label></li>
6
+ <li><input type="text" name="quads_disable_text[]" value="" placeholder="Please describe the feature"/></li>',
7
+ 4 => '<li><label><input type="radio" name="quads_disable_reason" value="technical issue"/>' . __('Technical Issue', 'quick-adsense-reloaded') . '</label></li>
8
+ <li><textarea name="quads_disable_text[]" placeholder="' . __('Can we help? Please describe your problem', 'quick-adsense-reloaded') . '"></textarea></li>',
9
+ 5 => '<li><label><input type="radio" name="quads_disable_reason" value="other plugin"/>' . __('I switched to another plugin', 'quick-adsense-reloaded') . '</label></li>
10
+ <li><input type="text" name="quads_disable_text[]" value="" placeholder="Name of the plugin"/></li>',
11
+ 6 => '<li><label><input type="radio" name="quads_disable_reason" value="other"/>' . __('Other reason', 'quick-adsense-reloaded') . '</label></li>
12
+ <li><textarea name="quads_disable_text[]" placeholder="' . __('Please specify, if possible', 'quick-adsense-reloaded') . '"></textarea></li>',
13
+ );
14
+ shuffle($reasons);
15
+ ?>
16
+
17
+
18
  <div id="quick-adsense-reloaded-feedback-overlay" style="display: none;">
19
  <div id="quick-adsense-reloaded-feedback-content">
20
  <form action="" method="post">
21
  <h3><strong><?php _e('If you have a moment, please let us know why you are deactivating:', 'quick-adsense-reloaded'); ?></strong></h3>
22
  <ul>
23
+ <?php
24
+ foreach ($reasons as $reason){
25
+ echo $reason;
26
+ }
27
+ ?>
 
 
 
 
 
28
  </ul>
29
  <?php if ($email) : ?>
30
  <input type="hidden" name="quads_disable_from" value="<?php echo $email; ?>"/>
includes/conditionals.php CHANGED
@@ -22,11 +22,6 @@
22
  */
23
  function quads_ad_is_allowed( $content = null ) {
24
  global $quads_options;
25
-
26
- // Only show ads in main query
27
- if( !is_main_query() ) {
28
- return false;
29
- }
30
 
31
  $hide_ads = apply_filters('quads_hide_ads', false);
32
 
@@ -151,3 +146,23 @@ function quads_set_ad_count_widget(){
151
  return $ad_count_widget;
152
  }
153
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  */
23
  function quads_ad_is_allowed( $content = null ) {
24
  global $quads_options;
 
 
 
 
 
25
 
26
  $hide_ads = apply_filters('quads_hide_ads', false);
27
 
146
  return $ad_count_widget;
147
  }
148
 
149
+ /**
150
+ * Check if AMP ads are disabled on a post via the post meta box settings
151
+ *
152
+ * @global obj $post
153
+ * @return boolean true if its disabled
154
+ */
155
+ function quads_is_disabled_post_amp() {
156
+ global $post;
157
+
158
+ if(!is_singular()){
159
+ return true;
160
+ }
161
+
162
+ $ad_settings = get_post_meta( $post->ID, '_quads_config_visibility', true );
163
+
164
+ if( !empty( $ad_settings['OffAMP'] ) ) {
165
+ return true;
166
+ }
167
+ return false;
168
+ }
includes/frontend-checks.php CHANGED
@@ -192,7 +192,7 @@ function quads_add_admin_bar_menu( $wp_admin_bar ) {
192
  $wp_admin_bar->add_node( array(
193
  'parent' => 'quads_ad_check',
194
  'id' => 'quads_ad_check_highlight_ads',
195
- 'title' => sprintf( '<label><input id="quads_highlight_ads_checkbox" type="checkbox"> %s</label>', __( 'highlight ads', 'quick-adsense-reloaded' ) )
196
  ) );
197
  }
198
 
@@ -216,7 +216,7 @@ function quads_check_the_content_filter( $content ) {
216
  function quads_check_adblocker() {
217
  ?>
218
  <!--noptimize--><style>.quads-hidden { display: none; } .quads-adminbar-is-warnings { background: #ef4000 ! important; color: #fff !important; }
219
- .quads-highlight-ads { outline:6px solid #83c11f !important; }</style>
220
  <script type="text/javascript" src="<?php echo QUADS_PLUGIN_URL . 'assets/js/ads.js' ?>"></script>
221
  <script>
222
  (function (d, w) {
192
  $wp_admin_bar->add_node( array(
193
  'parent' => 'quads_ad_check',
194
  'id' => 'quads_ad_check_highlight_ads',
195
+ 'title' => sprintf( '<label><input id="quads_highlight_ads_checkbox" type="checkbox"> %s</label>', __( 'Show Adverts', 'quick-adsense-reloaded' ) )
196
  ) );
197
  }
198
 
216
  function quads_check_adblocker() {
217
  ?>
218
  <!--noptimize--><style>.quads-hidden { display: none; } .quads-adminbar-is-warnings { background: #ef4000 ! important; color: #fff !important; }
219
+ .quads-highlight-ads { outline:6px solid #83c11f !important; }#wp-admin-bar-quads_ad_check_highlight_ads label {color:#b4b9be !important;}</style>
220
  <script type="text/javascript" src="<?php echo QUADS_PLUGIN_URL . 'assets/js/ads.js' ?>"></script>
221
  <script>
222
  (function (d, w) {
includes/helper-functions.php CHANGED
@@ -30,7 +30,7 @@ function quads_is_plugins_page() {
30
  /**
31
  * display deactivation logic on plugins page
32
  *
33
- * @since 1.7.14
34
  */
35
  function quads_add_deactivation_feedback_modal() {
36
 
30
  /**
31
  * display deactivation logic on plugins page
32
  *
33
+ * @since 1.4.0
34
  */
35
  function quads_add_deactivation_feedback_modal() {
36
 
includes/meta-boxes.php CHANGED
@@ -8,8 +8,13 @@
8
  * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
  * @since 0.9.6
10
  */
 
 
 
 
 
11
  //function quads_load_meta_box () {
12
- new Quads_Meta_Box();
13
  //}
14
  //add_action( 'load-post.php', 'quads_load_meta_box' );
15
  //add_action( 'load-post-new.php', 'quads_load_meta_box' );
8
  * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
  * @since 0.9.6
10
  */
11
+
12
+ // Exit if accessed directly
13
+ if( !defined( 'ABSPATH' ) )
14
+ exit;
15
+
16
  //function quads_load_meta_box () {
17
+ new Quads_Meta_Box();
18
  //}
19
  //add_action( 'load-post.php', 'quads_load_meta_box' );
20
  //add_action( 'load-post-new.php', 'quads_load_meta_box' );
includes/render-ad-functions.php CHANGED
@@ -370,7 +370,7 @@ function quads_render_amp($id){
370
  global $quads_options;
371
 
372
  // if amp is not activated return empty
373
- if (!isset($quads_options[$id]['amp'])){
374
  return '';
375
  }
376
 
370
  global $quads_options;
371
 
372
  // if amp is not activated return empty
373
+ if (!isset($quads_options[$id]['amp']) || quads_is_disabled_post_amp() ){
374
  return '';
375
  }
376
 
includes/scripts.php CHANGED
@@ -39,9 +39,9 @@ function quads_load_admin_scripts( $hook ) {
39
  // Use minified libraries if SCRIPT_DEBUG is turned off
40
  $suffix = ( quadsIsDebugMode() ) ? '' : '.min';
41
 
42
- if ( quads_is_plugins_page() ){
43
- wp_enqueue_script( 'quads-global-admin-scripts', $js_dir . 'quads-global-admin' . $suffix . '.js', array('jquery'), QUADS_VERSION, false );
44
- }
45
 
46
  // These have to be global
47
  wp_enqueue_script( 'quads-admin-scripts', $js_dir . 'quads-admin' . $suffix . '.js', array('jquery'), QUADS_VERSION, false );
@@ -80,9 +80,7 @@ function quads_load_plugins_admin_scripts( $hook ) {
80
  $suffix = ( quadsIsDebugMode() ) ? '' : '.min';
81
 
82
  wp_enqueue_script( 'quads-plugins-admin-scripts', $js_dir . 'quads-plugins-admin' . $suffix . '.js', array('jquery'), QUADS_VERSION, false );
83
- wp_enqueue_style( 'quads-plugins-admin', $css_dir . 'quads-plugins-admin' . $suffix . '.css', QUADS_VERSION );
84
-
85
-
86
  }
87
 
88
  /**
39
  // Use minified libraries if SCRIPT_DEBUG is turned off
40
  $suffix = ( quadsIsDebugMode() ) ? '' : '.min';
41
 
42
+ // if ( quads_is_plugins_page() ){
43
+ // wp_enqueue_script( 'quads-global-admin-scripts', $js_dir . 'quads-global-admin' . $suffix . '.js', array('jquery'), QUADS_VERSION, false );
44
+ // }
45
 
46
  // These have to be global
47
  wp_enqueue_script( 'quads-admin-scripts', $js_dir . 'quads-admin' . $suffix . '.js', array('jquery'), QUADS_VERSION, false );
80
  $suffix = ( quadsIsDebugMode() ) ? '' : '.min';
81
 
82
  wp_enqueue_script( 'quads-plugins-admin-scripts', $js_dir . 'quads-plugins-admin' . $suffix . '.js', array('jquery'), QUADS_VERSION, false );
83
+ wp_enqueue_style( 'quads-plugins-admin', $css_dir . 'quads-plugins-admin' . $suffix . '.css', QUADS_VERSION );
 
 
84
  }
85
 
86
  /**
includes/template-functions.php CHANGED
@@ -28,7 +28,7 @@ add_filter('the_content', 'quads_process_content', quads_get_load_priority());
28
  function quads_post_settings_to_quicktags ( $content ) {
29
 
30
  // Return original content if QUADS is not allowed
31
- if ( !quads_ad_is_allowed($content) )
32
  return $content;
33
 
34
  $quicktags_str = quads_get_visibility_quicktags_str();
@@ -91,8 +91,8 @@ function quads_process_content( $content ) {
91
  global $quads_options, $adsArray, $adsArrayCus, $visibleContentAds, $ad_count_widget, $visibleShortcodeAds;
92
 
93
 
94
- // Do not do anything if ads are not allowed
95
- if( !quads_ad_is_allowed( $content ) ) {
96
  $content = quads_clean_tags( $content );
97
  return $content;
98
  }
@@ -227,12 +227,13 @@ function quads_get_max_allowed_post_ads( $content ) {
227
  $AdsWidName = 'AdsWidget%d (Quick Adsense Reloaded)';
228
 
229
  // count number of active widgets and subtract them
230
- if( strpos( $content, '<!--OffWidget-->' ) === false ) {
231
  for ( $i = 1; $i <= $numberWidgets; $i++ ) {
232
  $wadsid = sanitize_title( str_replace( array('(', ')'), '', sprintf( $AdsWidName, $i ) ) );
233
  $maxAds -= (is_active_widget( '', '', $wadsid )) ? 1 : 0;
234
  }
235
  }
 
236
  return $maxAds;
237
  }
238
 
@@ -707,372 +708,7 @@ function quads_replace_ads($content, $quicktag, $id) {
707
  }
708
 
709
  /**
710
- * Main processing for the_content filter
711
- *
712
- * @global arr $quads_options all plugin settings
713
- * @global int $visibleContentAds number of active content ads (reseted internally so we have to use a similar global below for external purposes: $visibleContentAdsGlobal)
714
- * @global arr $adsArray Whitespace trimmed array of ad codes
715
- * @global int $maxWidgets maximum number of ad widgets
716
- * @global int $maxAds number of maximum available ads
717
- * @global string $AdsWidName name of widget
718
- * @global int $visibleContentAdsGlobal number of active content ads
719
- * @global int $visibleShortcodeAds number of active shortcode ads
720
- * @global int $ad_count_widget number of active widget ads
721
- * @param string $content
722
- *
723
- * @return string
724
- *
725
- * @since 0.9.0
726
- */
727
-
728
- //function quads_process_content_old($content){
729
- // global $quads_options, $visibleContentAds, $adsArray, $maxWidgets, $maxAds, $AdsWidName, $visibleContentAdsGlobal, $visibleShortcodeAds, $ad_count_widget;
730
- //
731
- // // Return original content if QUADS is not allowed
732
- // if ( !quads_ad_is_allowed($content) ) {
733
- // $content = quads_clean_tags($content);
734
- // return $content;
735
- // }
736
- // // Maximum allowed ads
737
- // $maxAds = isset($quads_options['maxads']) ? $quads_options['maxads'] : 10;
738
- //
739
- // // count active widget ads
740
- // if (strpos($content,'<!--OffWidget-->')===false) {
741
- // for($i=1;$i<=$maxWidgets;$i++) {
742
- // $wadsid = sanitize_title(str_replace(array('(',')'),'',sprintf($AdsWidName,$i)));
743
- // //$maxAds -= (is_active_widget('', '', $wadsid)) ? 1 : 0 ;
744
- // $ad_count_widget += (is_active_widget('', '', $wadsid)) ? 1 : 0 ;
745
- // }
746
- // }
747
- //
748
- // // Return here if max visible ads are exceeded
749
- // if( $visibleContentAds+$visibleShortcodeAds+$ad_count_widget >= $maxAds ) { // ShownAds === 0 or larger/equal than $maxAds
750
- // $content = quads_clean_tags($content);
751
- // return $content;
752
- // };
753
- //
754
- // // Create array of valid id's
755
- // if( count( $adsArray ) === 0 ) { //
756
- // for ( $i = 1; $i <= $maxAds; $i++ ) {
757
- // $tmp = isset($quads_options['ad' . $i]['code']) ? trim( $quads_options['ad' . $i]['code'] ) : '';
758
- // // id is valid if there is either the plain text field populated or the adsense ad slot and the ad client id
759
- // if( !empty( $tmp ) || (!empty($quads_options['ad' . $i]['g_data_ad_slot']) && !empty($quads_options['ad' . $i]['g_data_ad_client'] ) ) ) {
760
- // $adsArray[] = $i;
761
- // }
762
- // }
763
- // }
764
- //
765
- // // Ad code array is empty so break here
766
- // if( count($adsArray) === 0 ) {
767
- // $content = quads_clean_tags($content);
768
- // return $content;
769
- // };
770
- //
771
- // /* ... Tidy up content ... */
772
- // // Replace all <p></p> tags with placeholder ##QA-TP1##
773
- // $content = str_replace("<p></p>", "##QA-TP1##", $content);
774
- //
775
- // // Replace all <p>&nbsp;</p> tags with placeholder ##QA-TP2##
776
- // $content = str_replace("<p>&nbsp;</p>", "##QA-TP2##", $content);
777
- //
778
- // $off_default_ads = (strpos($content,'<!--OffDef-->')!==false);
779
- // if( !$off_default_ads ) { // disabled default positioned ads
780
- //
781
- // $adsArrayCus = array(); // ids of used ads
782
- //
783
- // $cusrnd = 'CusRnd'; // placeholder string for random ad
784
- // $cusads = 'CusAds'; // placeholder string for custom ad spots
785
- //
786
- // $beginning_position_status = isset($quads_options['pos1']['BegnAds']) ? true : false;
787
- // $beginning_position_ad_id = isset($quads_options['pos1']['BegnRnd']) ? $quads_options['pos1']['BegnRnd'] : 0;
788
- //
789
- // $middle_position_status = isset($quads_options['pos2']['MiddAds']) ? true : false;
790
- // $middle_position_ad_id = isset($quads_options['pos2']['MiddRnd']) ? $quads_options['pos2']['MiddRnd'] : 0;
791
- //
792
- // $end_position_status = isset($quads_options['pos3']['EndiAds']) ? true : false;
793
- // $end_position_ad_id = isset($quads_options['pos3']['EndiRnd']) ? $quads_options['pos3']['EndiRnd'] : 0;
794
- //
795
- // $more_position_status = isset($quads_options['pos4']['MoreAds']) ? true : false;
796
- // $more_position_ad_id = isset($quads_options['pos4']['MoreRnd']) ? $quads_options['pos4']['MoreRnd'] : 0;
797
- //
798
- // $last_paragraph_position_status = isset($quads_options['pos5']['LapaAds']) ? true : false;
799
- // $last_paragraph_position_ad_id = isset($quads_options['pos5']['LapaRnd'])? $quads_options['pos5']['LapaRnd'] : 0 ;
800
- //
801
- //
802
- //
803
- // $number = 3; // number of paragraph ads | default value 3.
804
- // $default = 5; // Position. Let's start with id 5
805
- // for($i=1;$i<=$number;$i++) {
806
- //
807
- // $key = $default +$i; // 6,7,8
808
- //
809
- // $paragraph['status'][$i] = isset($quads_options['pos' . $key]['Par'.$i .'Ads']) ? $quads_options['pos' . $key]['Par'.$i .'Ads'] : 0; // Status - active | inactive
810
- // $paragraph['id'][$i] = isset($quads_options['pos' . $key]['Par'.$i .'Rnd']) ? $quads_options['pos' . $key]['Par'.$i .'Rnd'] : 0; // Ad id
811
- // $paragraph['position'][$i] = isset($quads_options['pos' . $key]['Par'.$i .'Nup']) ? $quads_options['pos' . $key]['Par'.$i .'Nup'] : 0; // Paragraph No
812
- // $paragraph['end_post'][$i] = isset($quads_options['pos' . $key]['Par'.$i .'Con']) ? $quads_options['pos' . $key]['Par'.$i .'Con'] : 0; // End of post - yes | no
813
- //
814
- // }
815
- // // Position 9 Ad after Image
816
- // $imageActive = isset($quads_options['pos9']['Img1Ads']) ? $quads_options['pos9']['Img1Ads'] : false;
817
- // $imageAdNo = isset($quads_options['pos9']['Img1Rnd']) ? $quads_options['pos9']['Img1Rnd'] : false;
818
- // $imageNo = isset($quads_options['pos9']['Img1Nup']) ? $quads_options['pos9']['Img1Nup'] : false;
819
- // $imageCaption = isset($quads_options['pos9']['Img1Con']) ? $quads_options['pos9']['Img1Con'] : false;
820
- //
821
- //
822
- // if ( $beginning_position_ad_id == 0 ) { $b1 = $cusrnd; } else { $b1 = $cusads.$beginning_position_ad_id; array_push($adsArrayCus, $beginning_position_ad_id); };
823
- // if ( $more_position_ad_id == 0 ) { $r1 = $cusrnd; } else { $r1 = $cusads.$more_position_ad_id; array_push($adsArrayCus, $more_position_ad_id); };
824
- // if ( $middle_position_ad_id == 0 ) { $m1 = $cusrnd; } else { $m1 = $cusads.$middle_position_ad_id; array_push($adsArrayCus, $middle_position_ad_id); };
825
- // if ( $last_paragraph_position_ad_id == 0 ) { $g1 = $cusrnd; } else { $g1 = $cusads.$last_paragraph_position_ad_id; array_push($adsArrayCus, $last_paragraph_position_ad_id); };
826
- // if ( $end_position_ad_id == 0 ) { $b2 = $cusrnd; } else { $b2 = $cusads.$end_position_ad_id; array_push($adsArrayCus, $end_position_ad_id); };
827
- //
828
- // for($i=1;$i<=$number;$i++) {
829
- // if ( $paragraph['id'][$i] == 0 ) {
830
- // $paragraph[$i] = $cusrnd;
831
- // } else {
832
- // $paragraph[$i] = $cusads.$paragraph['id'][$i];
833
- // array_push($adsArrayCus, $paragraph['id'][$i]);
834
- //
835
- // };
836
- // }
837
- //
838
- // // Create the arguments for filter quads_filter_paragraphs
839
- // $quads_args = array (
840
- // 'paragraph' => $paragraph,
841
- // 'cusads' => $cusads,
842
- // 'cusrnd' => $cusrnd,
843
- // 'AdsIdCus' => $adsArrayCus,
844
- //
845
- // );
846
- //
847
- // // Execute filter to add more paragraph ad spots
848
- // $quads_filtered = apply_filters('quads_filter_paragraphs', $quads_args);
849
- //
850
- // // The filtered arguments
851
- // $paragraph = $quads_filtered['paragraph'];
852
- //
853
- // // filtered list of ad spots
854
- // $adsArrayCus = $quads_filtered['AdsIdCus'];
855
- //
856
- // // Create paragraph ads
857
- // //$number = 6;
858
- // $number = 3;
859
- // for($i=$number;$i>=1;$i--) {
860
- // if ( !empty($paragraph['status'][$i]) ){
861
- //
862
- // $sch = "</p>";
863
- // $content = str_replace("</P>", $sch, $content);
864
- // // paragraphs in content
865
- // $paragraphsArray = explode($sch, $content);
866
- // if ( (int)$paragraph['position'][$i] < count($paragraphsArray) ) {
867
- // $content = implode($sch, array_slice($paragraphsArray, 0, $paragraph['position'][$i])).$sch .'<!--'.$paragraph[$i].'-->'. implode($sch, array_slice($paragraphsArray, $paragraph['position'][$i]));
868
- // } elseif ($paragraph['end_post'][$i]) {
869
- // $content = implode($sch, $paragraphsArray).'<!--'.$paragraph[$i].'-->';
870
- // }
871
- // }
872
- // }
873
- //
874
- // // Check if image ad is random one
875
- // if ( $imageAdNo == 0 ) {
876
- // $imageAd = $cusrnd;
877
- // } else {
878
- // $imageAd = $cusads.$imageAdNo;
879
- // array_push($adsArrayCus, $imageAdNo);
880
- // };
881
- //
882
- // // Check if ad is middle one
883
- // if( $middle_position_status && strpos($content,'<!--OffMiddle-->')===false) {
884
- // if( substr_count(strtolower($content), '</p>')>=2 ) {
885
- // $sch = "</p>";
886
- // $content = str_replace("</P>", $sch, $content);
887
- // $paragraphsArray = explode($sch, $content);
888
- // $nn = 0; $mm = strlen($content)/2;
889
- // for($i=0;$i<count($paragraphsArray);$i++) {
890
- // $nn += strlen($paragraphsArray[$i]) + 4;
891
- // if($nn>$mm) {
892
- // if( ($mm - ($nn - strlen($paragraphsArray[$i]))) > ($nn - $mm) && $i+1<count($paragraphsArray) ) {
893
- // $paragraphsArray[$i+1] = '<!--'.$m1.'-->'.$paragraphsArray[$i+1];
894
- // } else {
895
- // $paragraphsArray[$i] = '<!--'.$m1.'-->'.$paragraphsArray[$i];
896
- // }
897
- // break;
898
- // }
899
- // }
900
- // $content = implode($sch, $paragraphsArray);
901
- // }
902
- // }
903
- //
904
- //
905
- // // Check if image ad is "More Tag" one
906
- // if( $more_position_status && strpos($content,'<!--OffAfMore-->')===false) {
907
- // $mmr = '<!--'.$r1.'-->';
908
- // $postid = get_the_ID();
909
- // $content = str_replace('<span id="more-'.$postid.'"></span>', $mmr, $content);
910
- // }
911
- //
912
- // if( $beginning_position_status && strpos($content,'<!--OffBegin-->')===false) {
913
- // $content = '<!--'.$b1.'-->'.$content;
914
- // }
915
- // if( $end_position_status && strpos($content,'<!--OffEnd-->')===false) {
916
- // $content = $content.'<!--'.$b2.'-->';
917
- // }
918
- // if( $last_paragraph_position_status && strpos($content,'<!--OffBfLastPara-->')===false){
919
- // $sch = "<p>";
920
- // $content = str_replace("<P>", $sch, $content);
921
- // $paragraphsArray = explode($sch, $content);
922
- // if ( count($paragraphsArray) > 2 ) {
923
- // $content = implode($sch, array_slice($paragraphsArray, 0, count($paragraphsArray)-1)) .'<!--'.$g1.'-->'. $sch. $paragraphsArray[count($paragraphsArray)-1];
924
- // }
925
- // }
926
- //
927
- // if ( $imageActive ){
928
- //
929
- // // Sanitation
930
- // $imgtag = "<img";
931
- // $delimiter = ">";
932
- // $caption = "[/caption]";
933
- // $atag = "</a>";
934
- // $content = str_replace("<IMG", $imgtag, $content);
935
- // $content = str_replace("</A>", $atag, $content);
936
- //
937
- // // Start
938
- // $paragraphsArray = explode($imgtag, $content);
939
- // if ( (int)$imageNo < count($paragraphsArray) ) {
940
- // $paragraphsArrayImages = explode($delimiter, $paragraphsArray[$imageNo]);
941
- // if ( count($paragraphsArrayImages) > 1 ) {
942
- // $tss = explode($caption, $paragraphsArray[$imageNo]);
943
- // $ccp = ( count($tss) > 1 ) ? strpos(strtolower($tss[0]),'[caption ')===false : false ;
944
- // $paragraphsArrayAtag = explode($atag, $paragraphsArray[$imageNo]);
945
- // $cdu = ( count($paragraphsArrayAtag) > 1 ) ? strpos(strtolower($paragraphsArrayAtag[0]),'<a href')===false : false ;
946
- // if ( $imageCaption && $ccp ) {
947
- // $paragraphsArray[$imageNo] = implode($caption, array_slice($tss, 0, 1)).$caption. "\r\n".'<!--'.$imageAd.'-->'."\r\n". implode($caption, array_slice($tss, 1));
948
- // }else if ( $cdu ) {
949
- // $paragraphsArray[$imageNo] = implode($atag, array_slice($paragraphsArrayAtag, 0, 1)).$atag. "\r\n".'<!--'.$imageAd.'-->'."\r\n". implode($atag, array_slice($paragraphsArrayAtag, 1));
950
- // }else{
951
- // $paragraphsArray[$imageNo] = implode($delimiter, array_slice($paragraphsArrayImages, 0, 1)).$delimiter. "\r\n".'<!--'.$imageAd.'-->'."\r\n". implode($delimiter, array_slice($paragraphsArrayImages, 1));
952
- // }
953
- // }
954
- // $content = implode($imgtag, $paragraphsArray);
955
- // }
956
- // }
957
- // } // end disabled default positioned ads
958
- //
959
- // /*
960
- // * Tidy up content
961
- // */
962
- // $content = '<!--EmptyClear-->'.$content."\n".'<div style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div>';
963
- // $content = quads_clean_tags($content, true);
964
- //
965
- //
966
- // /*
967
- // * Replace Beginning/Middle/End/Paragraph Ads1-10
968
- // */
969
- //
970
- // if( !$off_default_ads ) { // disabled default ads
971
- // for( $i=1; $i<=count($adsArrayCus); $i++ ) {
972
- //
973
- // if( strpos($content,'<!--'.$cusads.$adsArrayCus[$i-1].'-->')!==false && in_array($adsArrayCus[$i-1], $adsArray)) {
974
- // $content = quads_replace_ads( $content, $cusads.$adsArrayCus[$i], $adsArrayCus[$i] );
975
- // // Comment this to allow the use of the same ad on several ad spots
976
- // //$adsArray = quads_del_element($adsArray, array_search($adsArrayCus[$i-1], $adsArray)) ;
977
- // $visibleContentAds += 1;
978
- //
979
- // quads_set_ad_count_content();
980
- // if ( quads_ad_reach_max_count() ){
981
- // $content = quads_clean_tags($content);
982
- // }
983
- // }
984
- // }
985
- // }
986
- //
987
- //
988
- // /**
989
- // * Replace Quicktags Ads1 to Ads10
990
- // **/
991
- //
992
- // $tcn = count($adsArray); $idx = 0;
993
- // for( $i=1; $i<=$tcn; $i++ ) {
994
- // if( strpos($content, '<!--Ads'.$adsArray[$idx].'-->')!==false ) {
995
- // $content = quads_replace_ads( $content, 'Ads'.$adsArray[$idx], $adsArray[$idx] );
996
- // $adsArray = quads_del_element($adsArray, $idx) ;
997
- // $visibleContentAds += 1;
998
- // quads_set_ad_count_content();
999
- // if (quads_ad_reach_max_count()){
1000
- // $content = quads_clean_tags($content);
1001
- // return $content;
1002
- // }
1003
- //
1004
- // } else {
1005
- // $idx += 1;
1006
- // }
1007
- // }
1008
- //
1009
- //
1010
- //
1011
- // /* ... Replace Beginning/Middle/End random Ads ... */
1012
- // if( !$off_default_ads ) {
1013
- // if( strpos($content, '<!--'.$cusrnd.'-->')!==false && is_singular() ) {
1014
- // //wp_die($visibleContentAds + ' ' + $visibleShortcodeAds + $ad_count_widget + ' ');
1015
- //
1016
- // $tcx = count($adsArray);
1017
- // $tcy = substr_count($content, '<!--'.$cusrnd.'-->');
1018
- //
1019
- // for( $i=$tcx; $i<=$tcy-1; $i++ ) {
1020
- // array_push($adsArray, -1);
1021
- // }
1022
- // shuffle($adsArray);
1023
- // for( $i=1; $i<=$tcy; $i++ ) {
1024
- // $content = quads_replace_ads( $content, $cusrnd, $adsArray[0] );
1025
- // $adsArray = quads_del_element($adsArray, 0) ;
1026
- // $visibleContentAds += 1;
1027
- // quads_set_ad_count_content();
1028
- // if (quads_ad_reach_max_count()){
1029
- // $content = quads_clean_tags($content);
1030
- // return $content;
1031
- // }
1032
- // }
1033
- // }
1034
- // }
1035
- //
1036
- // /*
1037
- // * Replace RndAds Random Ads
1038
- // */
1039
- // if( strpos($content, '<!--RndAds-->')!==false && is_singular() ) {
1040
- // $adsArrayTmp = array();
1041
- // shuffle($adsArray);
1042
- // for( $i=1; $i<=$maxAds-$visibleContentAds; $i++ ) {
1043
- // if( $i <= count($adsArray) ) {
1044
- // array_push($adsArrayTmp, $adsArray[$i-1]);
1045
- // }
1046
- // }
1047
- // $tcx = count($adsArrayTmp);
1048
- // $tcy = substr_count($content, '<!--RndAds-->');
1049
- // for( $i=$tcx; $i<=$tcy-1; $i++ ) {
1050
- // array_push($adsArrayTmp, -1);
1051
- // }
1052
- // shuffle($adsArrayTmp);
1053
- // for( $i=1; $i<=$tcy; $i++ ) {
1054
- // $tmp = $adsArrayTmp[0];
1055
- // $content = quads_replace_ads( $content, 'RndAds', $adsArrayTmp[0] );
1056
- // $adsArrayTmp = quads_del_element($adsArrayTmp, 0) ;
1057
- // if($tmp != -1){
1058
- // $visibleContentAds += 1;
1059
- // };
1060
- // quads_set_ad_count_content();
1061
- // if (quads_ad_reach_max_count()){
1062
- // $content = quads_clean_tags($content);
1063
- // return $content;
1064
- // }
1065
- // }
1066
- // }
1067
- //
1068
- // /* ... That's it. DONE :) ... */
1069
- // $content = quads_clean_tags($content);
1070
- // // Reset ad_count - Important!!!
1071
- // $visibleContentAdsGlobal = 0;
1072
- // return do_shortcode($content);
1073
- // }
1074
- /**
1075
- * Revert content into original content without any ad code
1076
  *
1077
  * @global int $visibleContentAds
1078
  * @global array $adsArray
28
  function quads_post_settings_to_quicktags ( $content ) {
29
 
30
  // Return original content if QUADS is not allowed
31
+ if ( !quads_ad_is_allowed($content))
32
  return $content;
33
 
34
  $quicktags_str = quads_get_visibility_quicktags_str();
91
  global $quads_options, $adsArray, $adsArrayCus, $visibleContentAds, $ad_count_widget, $visibleShortcodeAds;
92
 
93
 
94
+ // Do not do anything if ads are not allowed or process is not in the main query
95
+ if( !quads_ad_is_allowed( $content ) || !is_main_query()) {
96
  $content = quads_clean_tags( $content );
97
  return $content;
98
  }
227
  $AdsWidName = 'AdsWidget%d (Quick Adsense Reloaded)';
228
 
229
  // count number of active widgets and subtract them
230
+ if( strpos( $content, '<!--OffWidget-->' ) === false && !quads_is_amp_endpoint() ) {
231
  for ( $i = 1; $i <= $numberWidgets; $i++ ) {
232
  $wadsid = sanitize_title( str_replace( array('(', ')'), '', sprintf( $AdsWidName, $i ) ) );
233
  $maxAds -= (is_active_widget( '', '', $wadsid )) ? 1 : 0;
234
  }
235
  }
236
+ //echo 'test' . $maxAds . quads_is_amp_endpoint();
237
  return $maxAds;
238
  }
239
 
708
  }
709
 
710
  /**
711
+ * Revert content to original content any remove any processing helper strings
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
712
  *
713
  * @global int $visibleContentAds
714
  * @global array $adsArray
quick-adsense-reloaded.php CHANGED
@@ -6,7 +6,7 @@
6
  * Description: Insert Google AdSense or any Ads code into your website. A fork of Quick AdSense
7
  * Author: Rene Hermenau, WP-Staging
8
  * Author URI: https://wordpress.org/plugins/quick-adsense-reloaded/
9
- * Version: 1.4.4
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.4.4' );
39
  }
40
 
41
  // Plugin name
6
  * Description: Insert Google AdSense or any Ads code into your website. A fork of Quick AdSense
7
  * Author: Rene Hermenau, WP-Staging
8
  * Author URI: https://wordpress.org/plugins/quick-adsense-reloaded/
9
+ * Version: 1.4.5
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.4.5' );
39
  }
40
 
41
  // Plugin name
readme.txt CHANGED
@@ -8,8 +8,8 @@ License: GPLv2 or later
8
  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.7.1
12
- Stable tag: 1.4.4
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,8 +129,21 @@ Alternative Installation:
129
 
130
  == Changelog ==
131
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  = 1.4.4 =
133
- * Fix: Undefined variable if WP QUADS PRO beta version is used with more than 3 AdSebse paragraph AdSebse spots
134
  * Fix: Deactivate License button not working
135
  * Fix: Admin notice if AdSense codes are empty
136
  * Fix: PHP Warning when AdSense ad codes are empty
8
  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.7.2
12
+ Stable tag: 1.4.5
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.4.5 =
133
+ * New: Add new option to hide AMP ads on certain posts with WP QUADS PRO
134
+
135
+ * Fix: Save Changes button is behind admin footer on plugin settings tab
136
+ * Fix: Ad Check "Highlight ads" button dark colored and unreadable with some themes
137
+ * Fix: Do not use ajax saving on license and import/export tab
138
+ * Fix: Fix css issue on admin notice
139
+ * Fix: Ad Check Highlight button color not readable - css fix
140
+ * Fix: wrong amount of max ads limit when AMP ads are used
141
+ * Fix: Make sure AdSense ads are injected only in the main query
142
+
143
+
144
+
145
  = 1.4.4 =
146
+ * Fix: Undefined variable if WP QUADS PRO beta version is used with more than 3 AdSebse paragraph AdSense spots
147
  * Fix: Deactivate License button not working
148
  * Fix: Admin notice if AdSense codes are empty
149
  * Fix: PHP Warning when AdSense ad codes are empty