AdSense Plugin WP QUADS - Version 1.4.6

Version Description

  • New: Theme API for custom theme integration of AdSense ads supports margin and alignment options now
  • New: Create WP QUADS admin menue logo
  • Fix: Admin warning if no adsense spots are activated is not working properly
Download this release

Release Info

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

Code changes from version 1.4.5 to 1.4.6

includes/admin/admin-notices.php CHANGED
@@ -22,39 +22,39 @@ if( !defined( 'ABSPATH' ) )
22
function quads_admin_messages() {
23
global $quads_options;
24
25
- if( !current_user_can( 'update_plugins' ) ){
26
return;
27
}
28
-
29
quads_theme_notice();
30
-
31
quads_update_notice();
32
-
33
- if (!quads_is_any_ad_activated() && quads_is_admin_page() ){
34
- 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>';
35
}
36
-
37
- if (quads_get_active_ads() === 0 && quads_is_admin_page() ){
38
- 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>';
39
}
40
-
41
- if (!quads_is_post_type_activated() && quads_is_admin_page() ){
42
- echo '<div class="notice notice-warning">'.sprintf(__('<strong>No ads are shown - No post types selected</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>';
43
}
44
-
45
- if (isset($_GET['quads-action']) && $_GET['quads-action'] === 'validate' && quads_is_admin_page() && quads_is_any_ad_activated() && quads_is_post_type_activated() && quads_get_active_ads() > 0 ){
46
- echo '<div class="notice notice-success">' . sprintf(__('<strong>No errors detected in WP QUADS settings.</strong> If ads are still not shown read the <a href="%s" target="_blank">troubleshooting guide</a>'), 'http://wpquads.com/docs/adsense-ads-are-not-showing/?utm_source=plugin&utm_campaign=wpquads-settings&utm_medium=website&utm_term=toplink') . '</div>';
47
}
48
49
//quads_plugin_deactivated_notice();
50
-
51
$install_date = get_option( 'quads_install_date' );
52
$display_date = date( 'Y-m-d h:i:s' );
53
$datetime1 = new DateTime( $install_date );
54
$datetime2 = new DateTime( $display_date );
55
$diff_intrval = round( ($datetime2->format( 'U' ) - $datetime1->format( 'U' )) / (60 * 60 * 24) );
56
-
57
-
58
if( $diff_intrval >= 7 && get_option( 'quads_rating_div' ) == "no" || false === get_option( 'quads_rating_div' ) || quads_rate_again() ) {
59
echo '<div class="quads_fivestar updated " style="box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);background-color:white;">
60
<p>Awesome, you\'ve been using <strong>WP QUADS</strong> for more than 1 week. <br> May i ask you to give it a <strong>5-star rating</strong> on Wordpress? </br>
@@ -139,6 +139,7 @@ function quads_hide_rating_div() {
139
echo json_encode( array("success") );
140
exit;
141
}
142
add_action( 'wp_ajax_quads_hide_rating', 'quads_hide_rating_div' );
143
144
/**
@@ -147,22 +148,23 @@ add_action( 'wp_ajax_quads_hide_rating', 'quads_hide_rating_div' );
147
function quads_hide_rating_notice_week() {
148
$nextweek = time() + (7 * 24 * 60 * 60);
149
$human_date = date( 'Y-m-d h:i:s', $nextweek );
150
- update_option( 'quads_date_next_notice', $human_date );
151
- update_option( 'quads_rating_div', 'yes' );
152
echo json_encode( array("success") );
153
exit;
154
}
155
add_action( 'wp_ajax_quads_hide_rating_week', 'quads_hide_rating_notice_week' );
156
157
/**
158
* Check if admin notice will open again after one week of closing
159
* @return boolean
160
*/
161
- function quads_rate_again(){
162
-
163
$rate_again_date = get_option( 'quads_date_next_notice' );
164
165
- if (false === $rate_again_date){
166
return false;
167
}
168
@@ -171,12 +173,11 @@ function quads_rate_again(){
171
$datetime2 = new DateTime( $current_date );
172
$diff_intrval = round( ($datetime2->format( 'U' ) - $datetime1->format( 'U' )) / (60 * 60 * 24) );
173
174
- if ($diff_intrval >= 0){
175
return true;
176
}
177
}
178
179
-
180
/**
181
* Show a message when pro or free plugin gets disabled
182
*
@@ -203,12 +204,12 @@ function quads_plugin_deactivated_notice() {
203
*
204
* Not used at the moment
205
*/
206
- function quads_theme_notice(){
207
-
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>
@@ -233,29 +234,31 @@ function quads_update_notice() {
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;">
238
- <p><?php echo $message; ?></p>
239
- </div> <?php
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;">
247
- <p><?php echo $message; ?></p>
248
- </div>
249
<?php
250
}
251
}
252
/**
253
* Hide Notice and update db option quads_hide_notice
254
*/
255
- function quads_hide_notice(){
256
- update_option ('quads_show_update_notice', 'no');
257
}
258
- add_action('quads_hide_update_notice', 'quads_hide_notice', 10);
259
260
/**
261
* Check if any ad is activated and assigned in general settings
@@ -275,21 +278,26 @@ function quads_is_any_ad_activated() {
275
}
276
}
277
}
278
- //wp_die(print_r($check));
279
-
280
- if( count( $check ) === 0 &&
281
- !isset( $quads_options['pos1']['BegnAds'] ) &&
282
- !isset( $quads_options['pos2']['MiddAds'] ) &&
283
- !isset( $quads_options['pos3']['EndiAds'] ) &&
284
- !isset( $quads_options['pos4']['MoreAds'] ) &&
285
- !isset( $quads_options['pos5']['LapaAds'] ) &&
286
- !isset( $quads_options['pos6']['Par1Ads'] ) &&
287
- !isset( $quads_options['pos7']['Par2Ads'] ) &&
288
- !isset( $quads_options['pos8']['Par3Ads'] ) &&
289
- !isset( $quads_options['pos9']['Img1Ads'] ) ) {
290
- return false;
291
}
292
- return true;
293
}
294
295
/**
@@ -298,13 +306,13 @@ function quads_is_any_ad_activated() {
298
* @global array $quads_options
299
* @return boolean
300
*/
301
- function quads_is_post_type_activated(){
302
- global $quads_options;
303
304
- if (empty($quads_options['post_types'])){
305
- return false;
306
- }
307
- return true;
308
}
309
310
/**
22
function quads_admin_messages() {
23
global $quads_options;
24
25
+ if( !current_user_can( 'update_plugins' ) ) {
26
return;
27
}
28
+
29
quads_theme_notice();
30
+
31
quads_update_notice();
32
+
33
+ if( !quads_is_any_ad_activated() && quads_is_admin_page() ) {
34
+ 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>';
35
}
36
+
37
+ if( quads_get_active_ads() === 0 && quads_is_admin_page() ) {
38
+ 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>';
39
}
40
+
41
+ if( !quads_is_post_type_activated() && quads_is_admin_page() ) {
42
+ echo '<div class="notice notice-warning">' . sprintf( __( '<strong>No ads are shown - No post types selected</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>';
43
}
44
+
45
+ if( isset( $_GET['quads-action'] ) && $_GET['quads-action'] === 'validate' && quads_is_admin_page() && quads_is_any_ad_activated() && quads_is_post_type_activated() && quads_get_active_ads() > 0 ) {
46
+ echo '<div class="notice notice-success">' . sprintf( __( '<strong>No errors detected in WP QUADS settings.</strong> If ads are still not shown read the <a href="%s" target="_blank">troubleshooting guide</a>' ), 'http://wpquads.com/docs/adsense-ads-are-not-showing/?utm_source=plugin&utm_campaign=wpquads-settings&utm_medium=website&utm_term=toplink' ) . '</div>';
47
}
48
49
//quads_plugin_deactivated_notice();
50
+
51
$install_date = get_option( 'quads_install_date' );
52
$display_date = date( 'Y-m-d h:i:s' );
53
$datetime1 = new DateTime( $install_date );
54
$datetime2 = new DateTime( $display_date );
55
$diff_intrval = round( ($datetime2->format( 'U' ) - $datetime1->format( 'U' )) / (60 * 60 * 24) );
56
+
57
+
58
if( $diff_intrval >= 7 && get_option( 'quads_rating_div' ) == "no" || false === get_option( 'quads_rating_div' ) || quads_rate_again() ) {
59
echo '<div class="quads_fivestar updated " style="box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);background-color:white;">
60
<p>Awesome, you\'ve been using <strong>WP QUADS</strong> for more than 1 week. <br> May i ask you to give it a <strong>5-star rating</strong> on Wordpress? </br>
139
echo json_encode( array("success") );
140
exit;
141
}
142
+
143
add_action( 'wp_ajax_quads_hide_rating', 'quads_hide_rating_div' );
144
145
/**
148
function quads_hide_rating_notice_week() {
149
$nextweek = time() + (7 * 24 * 60 * 60);
150
$human_date = date( 'Y-m-d h:i:s', $nextweek );
151
+ update_option( 'quads_date_next_notice', $human_date );
152
+ update_option( 'quads_rating_div', 'yes' );
153
echo json_encode( array("success") );
154
exit;
155
}
156
+
157
add_action( 'wp_ajax_quads_hide_rating_week', 'quads_hide_rating_notice_week' );
158
159
/**
160
* Check if admin notice will open again after one week of closing
161
* @return boolean
162
*/
163
+ function quads_rate_again() {
164
+
165
$rate_again_date = get_option( 'quads_date_next_notice' );
166
167
+ if( false === $rate_again_date ) {
168
return false;
169
}
170
173
$datetime2 = new DateTime( $current_date );
174
$diff_intrval = round( ($datetime2->format( 'U' ) - $datetime1->format( 'U' )) / (60 * 60 * 24) );
175
176
+ if( $diff_intrval >= 0 ) {
177
return true;
178
}
179
}
180
181
/**
182
* Show a message when pro or free plugin gets disabled
183
*
204
*
205
* Not used at the moment
206
*/
207
+ function quads_theme_notice() {
208
+
209
+ $show_notice = get_option( 'quads_show_theme_notice' );
210
+
211
+ if( false !== $show_notice && 'no' !== $show_notice && quads_is_commercial_theme() ) {
212
+ $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' );
213
?>
214
<div class="updated notice" style="border-left: 4px solid #ffba00;">
215
<p><?php echo $message; ?></p>
234
if( (version_compare( QUADS_VERSION, '1.3.9', '>=' ) ) && quads_is_advanced() && (version_compare( QUADS_PRO_VERSION, '1.3.0', '<' ) ) ) {
235
$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' );
236
$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>';
237
+ ?>
238
+ <div class="updated notice" style="border-left: 4px solid #ffba00;">
239
+ <p><?php echo $message; ?></p>
240
+ </div> <?php
241
//update_option ('quads_show_update_notice', 'no');
242
} else
243
+ if( !quads_is_advanced() ) {
244
$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' );
245
$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>';
246
+ ?>
247
+ <div class="updated notice" style="border-left: 4px solid #ffba00;">
248
+ <p><?php echo $message; ?></p>
249
+ </div>
250
<?php
251
}
252
}
253
+
254
/**
255
* Hide Notice and update db option quads_hide_notice
256
*/
257
+ function quads_hide_notice() {
258
+ update_option( 'quads_show_update_notice', 'no' );
259
}
260
+
261
+ add_action( 'quads_hide_update_notice', 'quads_hide_notice', 10 );
262
263
/**
264
* Check if any ad is activated and assigned in general settings
278
}
279
}
280
}
281
+
282
+ // ad activated with api (custom position)
283
+ if( count( $check ) > 0 ) {
284
+ return true;
285
}
286
+ // check if any other ad is assigned and activated
287
+ if( isset( $quads_options['pos1']['BegnAds'] ) ||
288
+ isset( $quads_options['pos2']['MiddAds'] ) ||
289
+ isset( $quads_options['pos3']['EndiAds'] ) ||
290
+ isset( $quads_options['pos4']['MoreAds'] ) ||
291
+ isset( $quads_options['pos5']['LapaAds'] ) ||
292
+ isset( $quads_options['pos6']['Par1Ads'] ) ||
293
+ isset( $quads_options['pos7']['Par2Ads'] ) ||
294
+ isset( $quads_options['pos8']['Par3Ads'] ) ||
295
+ isset( $quads_options['pos9']['Img1Ads'] )
296
+ ) {
297
+ return true;
298
+ }
299
+ // no ad is activated
300
+ return false;
301
}
302
303
/**
306
* @global array $quads_options
307
* @return boolean
308
*/
309
+ function quads_is_post_type_activated() {
310
+ global $quads_options;
311
312
+ if( empty( $quads_options['post_types'] ) ) {
313
+ return false;
314
+ }
315
+ return true;
316
}
317
318
/**
includes/admin/admin-pages.php CHANGED
@@ -30,7 +30,9 @@ function quads_add_options_link() {
30
if ($create_settings){
31
$quads_settings_page = add_submenu_page( 'options-general.php', __( 'WP QUADS Settings', 'quick-adsense-reloaded' ), __( 'WPQUADS', 'quick-adsense-reloaded' ), 'manage_options', 'quads-settings', 'quads_options_page' );
32
}else{
33
- $quads_parent_page = add_menu_page( 'Quick AdSense Reloaded Settings', $label, 'manage_options', 'quads-settings', 'quads_options_page' );
34
//if (quads_is_installed_clickfraud() ){
35
//$quads_add_ons_page = add_submenu_page('quads-settings', __('Click Fraud Monitor'), __('Click Fraud Monitor'), 'manage_options', 'cfmonitor-config', 'cfmonitor_conf');
36
//} else {
30
if ($create_settings){
31
$quads_settings_page = add_submenu_page( 'options-general.php', __( 'WP QUADS Settings', 'quick-adsense-reloaded' ), __( 'WPQUADS', 'quick-adsense-reloaded' ), 'manage_options', 'quads-settings', 'quads_options_page' );
32
}else{
33
+ $wpquads_logo ="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjYxMS42OHB4IiBoZWlnaHQ9IjU0NXB4IiB2aWV3Qm94PSIwIDAgNjExLjY4IDU0NSIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjExLjY4IDU0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQoJIDxzdHlsZT4uc3R5bGUwe2ZpbGw6I2ZmZjt9PC9zdHlsZT4NCjxnIGlkPSJFYmVuZV8wX3hBMF9JbWFnZV8xXyI+DQo8L2c+DQo8ZyBpZD0iV1BRVUFEUyI+DQoJPGc+DQoJCTxwYXRoIGNsYXNzPSJzdHlsZTAiIGQ9Ik0yNS43MDksNTM1LjQyTDMuMzIsNDUxLjA0NGgxMS40NTRsMTIuODM0LDU1LjMxMWMxLjM4MSw1Ljc5NCwyLjU3LDExLjU1LDMuNTY4LDE3LjI2Nw0KCQkJYzIuMTQ4LTkuMDE3LDMuNDE1LTE0LjIxNiwzLjc5OS0xNS41OThsMTYuMDU4LTU2Ljk3OWgxMy40NjhsMTIuMDg2LDQyLjcwNmMzLjAzMSwxMC41OSw1LjIxOCwyMC41NDcsNi41NjIsMjkuODcxDQoJCQljMS4wNzQtNS4zMzMsMi40NzUtMTEuNDUzLDQuMjAyLTE4LjM2bDEzLjIzNy01NC4yMTdoMTEuMjI0TDg4LjY3NSw1MzUuNDJINzcuOTEybC0xNy43ODQtNjQuMjg5DQoJCQljLTEuNDk3LTUuMzcyLTIuMzgtOC42NzEtMi42NDgtOS44OTljLTAuODgzLDMuODc2LTEuNzA4LDcuMTc1LTIuNDc1LDkuODk5bC0xNy45LDY0LjI4OUgyNS43MDl6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdHlsZTAiIGQ9Ik0xMjIuMjI5LDUzNS40MnYtODQuMzc2aDMxLjgyOGM1LjYwMiwwLDkuODc5LDAuMjY5LDEyLjgzNSwwLjgwNmM0LjE0NCwwLjY5LDcuNjE2LDIuMDA2LDEwLjQxNywzLjk0Mg0KCQkJYzIuOCwxLjkzOCw1LjA1NSw0LjY1Myw2Ljc2Myw4LjE0NWMxLjcwNywzLjQ5MiwyLjU2MSw3LjMyOSwyLjU2MSwxMS41MTFjMCw3LjE3Ni0yLjI4MywxMy4yNDgtNi44NDksMTguMjE3DQoJCQljLTQuNTY2LDQuOTY5LTEyLjgxNiw3LjQ1My0yNC43NDksNy40NTNoLTIxLjY0MXYzNC4zMDNIMTIyLjIyOXogTTEzMy4zOTUsNDkxLjE2aDIxLjgxM2M3LjIxMywwLDEyLjMzNi0xLjM0MywxNS4zNjctNC4wMjkNCgkJCWMzLjAzMS0yLjY4Niw0LjU0Ny02LjQ2NSw0LjU0Ny0xMS4zMzhjMC0zLjUzLTAuODkyLTYuNTUyLTIuNjc2LTkuMDY1Yy0xLjc4NC0yLjUxMy00LjEzNS00LjE3My03LjA1LTQuOTc5DQoJCQljLTEuODgtMC40OTgtNS4zNTMtMC43NDgtMTAuNDE3LTAuNzQ4aC0yMS41ODNWNDkxLjE2eiIvPg0KCQk8cGF0aCBjbGFzcz0ic3R5bGUwIiBkPSJNMjY4LjI0Nyw1MjQuNzE1YzQuMTgyLDIuOTkyLDguNzI5LDUuMzcyLDEzLjY0MSw3LjEzN2wtNi4yNzMsMTIuMDI5DQoJCQljLTIuNTcxLTAuNzY5LTUuMDg0LTEuODIzLTcuNTQtMy4xNjZjLTAuNTM4LTAuMjY5LTQuMzE3LTIuNzYzLTExLjMzOC03LjQ4MmMtNS41MjUsMi40MTgtMTEuNjQ2LDMuNjI2LTE4LjM2LDMuNjI2DQoJCQljLTEyLjk3LDAtMjMuMTI4LTMuODE3LTMwLjQ3Ni0xMS40NTNjLTcuMzQ4LTcuNjM1LTExLjAyMS0xOC4zNi0xMS4wMjEtMzIuMTc0YzAtMTMuNzc0LDMuNjg0LTI0LjQ4OSwxMS4wNS0zMi4xNDUNCgkJCWM3LjM2Ny03LjY1NCwxNy4zNjItMTEuNDgxLDI5Ljk4Ni0xMS40ODFjMTIuNTA4LDAsMjIuNDI3LDMuODI3LDI5Ljc1NiwxMS40ODFjNy4zMjgsNy42NTUsMTAuOTkzLDE4LjM3LDEwLjk5MywzMi4xNDUNCgkJCWMwLDcuMjkxLTEuMDE3LDEzLjY5OC0zLjA1LDE5LjIyNEMyNzQuMDc5LDUxNi42NzcsMjcxLjYyMyw1MjAuNzYzLDI2OC4yNDcsNTI0LjcxNXogTTI1NC41NDksNTE1LjEwMw0KCQkJYzIuMTg3LTIuNTY5LDMuODI3LTUuNjc4LDQuOTIxLTkuMzIzYzEuMDkzLTMuNjQ2LDEuNjQtNy44MjgsMS42NC0xMi41NDhjMC05Ljc0NS0yLjE0OS0xNy4wMjYtNi40NDYtMjEuODQyDQoJCQljLTQuMjk3LTQuODE0LTkuOTE5LTcuMjIzLTE2Ljg2My03LjIyM2MtNi45NDUsMC0xMi41NzYsMi40MTctMTYuODkzLDcuMjUyYy00LjMxNyw0LjgzNC02LjQ3NSwxMi4xMDUtNi40NzUsMjEuODEzDQoJCQljMCw5Ljg2MiwyLjE1OCwxNy4yMzgsNi40NzUsMjIuMTMxYzQuMzE2LDQuODkyLDkuNzc0LDcuMzM4LDE2LjM3NSw3LjMzOGMyLjQ1NSwwLDQuNzc3LTAuNDAzLDYuOTY0LTEuMjA5DQoJCQljLTMuNDUzLTIuMjY0LTYuOTY0LTQuMDI4LTEwLjUzMi01LjI5NWw0Ljc3Ny05LjcyN0MyNDQuMDkyLDUwOC4zODksMjQ5LjQ0NSw1MTEuMjY3LDI1NC41NDksNTE1LjEwM3oiLz4NCgkJPHBhdGggY2xhc3M9InN0eWxlMCIgZD0iTTI5MS45MDIsNDUxLjA0NGgxNy4wMzd2NDUuNjk5YzAsNy4yNTIsMC4yMSwxMS45NTIsMC42MzMsMTQuMTAxYzAuNzI5LDMuNDUzLDIuNDY2LDYuMjI2LDUuMjA5LDguMzE2DQoJCQljMi43NDMsMi4wOTIsNi40OTQsMy4xMzcsMTEuMjUzLDMuMTM3YzQuODM0LDAsOC40NzktMC45ODcsMTAuOTM2LTIuOTY0YzIuNDU1LTEuOTc2LDMuOTMzLTQuNDAyLDQuNDMyLTcuMjgNCgkJCWMwLjQ5OC0yLjg3OCwwLjc0OC03LjY1NSwwLjc0OC0xNC4zMzF2LTQ2LjY3OGgxNy4wMzZ2NDQuMzE3YzAsMTAuMTMtMC40NiwxNy4yODYtMS4zODEsMjEuNDY4DQoJCQljLTAuOTIxLDQuMTg0LTIuNjE5LDcuNzEzLTUuMDk0LDEwLjU5MWMtMi40NzYsMi44NzgtNS43ODQsNS4xNzEtOS45MjksNi44NzhjLTQuMTQ0LDEuNzA3LTkuNTU0LDIuNTYxLTE2LjIzLDIuNTYxDQoJCQljLTguMDU4LDAtMTQuMTY5LTAuOTMxLTE4LjMzMi0yLjc5MWMtNC4xNjQtMS44Ni03LjQ1My00LjI3OC05Ljg3MS03LjI1MmMtMi40MTctMi45NzMtNC4wMS02LjA5MS00Ljc3Ny05LjM1Mw0KCQkJYy0xLjExMy00LjgzNS0xLjY2OS0xMS45NzItMS42NjktMjEuNDExVjQ1MS4wNDR6Ii8+DQoJCTxwYXRoIGNsYXNzPSJzdHlsZTAiIGQ9Ik00NTMuMjMsNTM1LjQyaC0xOC41MzNsLTcuMzY3LTE5LjE2NmgtMzMuNzI4bC02Ljk2NCwxOS4xNjZoLTE4LjA3MmwzMi44NjQtODQuMzc2aDE4LjAxNUw0NTMuMjMsNTM1LjQyeg0KCQkJIE00MjEuODYyLDUwMi4wMzhsLTExLjYyNi0zMS4zMTFsLTExLjM5NiwzMS4zMTFINDIxLjg2MnoiLz4NCgkJPHBhdGggY2xhc3M9InN0eWxlMCIgZD0iTTQ2Mi4yMDksNDUxLjA0NGgzMS4xMzdjNy4wMjIsMCwxMi4zNzUsMC41MzgsMTYuMDU5LDEuNjExYzQuOTQ5LDEuNDU5LDkuMTg4LDQuMDQ5LDEyLjcyLDcuNzcxDQoJCQljMy41MjksMy43MjIsNi4yMTYsOC4yNzgsOC4wNTgsMTMuNjY5YzEuODQyLDUuMzkyLDIuNzYzLDEyLjAzOSwyLjc2MywxOS45NDNjMCw2Ljk0NS0wLjg2MywxMi45MzEtMi41OSwxNy45NTcNCgkJCWMtMi4xMTEsNi4xNC01LjEyMywxMS4xMDgtOS4wMzcsMTQuOTA2Yy0yLjk1NSwyLjg3OC02Ljk0NSw1LjEyMy0xMS45NzEsNi43MzRjLTMuNzYxLDEuMTg5LTguNzg3LDEuNzg0LTE1LjA4LDEuNzg0aC0zMi4wNTgNCgkJCVY0NTEuMDQ0eiBNNDc5LjI0NSw0NjUuMzE3djU1Ljg4N2gxMi43MmM0Ljc1NywwLDguMTkxLTAuMjY5LDEwLjMwMi0wLjgwNmMyLjc2My0wLjY5MSw1LjA1Ni0xLjg2MSw2Ljg3OC0zLjUxMg0KCQkJYzEuODIyLTEuNjQ4LDMuMzEtNC4zNjQsNC40NjEtOC4xNDRzMS43MjctOC45MywxLjcyNy0xNS40NTRjMC02LjUyMi0wLjU3NS0xMS41MjktMS43MjctMTUuMDIxDQoJCQljLTEuMTUxLTMuNDkxLTIuNzYzLTYuMjE2LTQuODM1LTguMTczYy0yLjA3MS0xLjk1Ny00LjctMy4yOC03Ljg4NS0zLjk3MmMtMi4zOC0wLjUzNi03LjA0Mi0wLjgwNi0xMy45ODYtMC44MDZINDc5LjI0NXoiLz4NCgkJPHBhdGggY2xhc3M9InN0eWxlMCIgZD0iTTU0My4wNzMsNTA3Ljk2NmwxNi41NzYtMS42MTFjMC45OTcsNS41NjQsMy4wMjEsOS42NSw2LjA3MiwxMi4yNmMzLjA1LDIuNjA5LDcuMTY1LDMuOTEzLDEyLjM0NiwzLjkxMw0KCQkJYzUuNDg2LDAsOS42Mi0xLjE2LDEyLjQwMy0zLjQ4MWMyLjc4MS0yLjMyMSw0LjE3Mi01LjAzNiw0LjE3Mi04LjE0NWMwLTEuOTk0LTAuNTg1LTMuNjkyLTEuNzU1LTUuMDk0DQoJCQljLTEuMTcxLTEuNC0zLjIxNC0yLjYxOC02LjEzLTMuNjU0Yy0xLjk5NS0wLjY5MS02LjU0Mi0xLjkxOS0xMy42NDEtMy42ODRjLTkuMTMyLTIuMjY0LTE1LjU0LTUuMDQ1LTE5LjIyNC04LjM0Ng0KCQkJYy01LjE4LTQuNjQzLTcuNzctMTAuMzAzLTcuNzctMTYuOTc5YzAtNC4yOTcsMS4yMTgtOC4zMTcsMy42NTQtMTIuMDU5YzIuNDM3LTMuNzQsNS45NDctNi41OSwxMC41MzMtOC41NDcNCgkJCWM0LjU4NC0xLjk1NywxMC4xMi0yLjkzNSwxNi42MDQtMi45MzVjMTAuNTksMCwxOC41NjIsMi4zMjEsMjMuOTE0LDYuOTY0czguMTYzLDEwLjg0LDguNDMyLDE4LjU5bC0xNy4wMzYsMC43NDkNCgkJCWMtMC43MjktNC4zMzYtMi4yOTMtNy40NTQtNC42OS05LjM1NGMtMi4zOTgtMS44OTktNS45OTYtMi44NDktMTAuNzkyLTIuODQ5Yy00Ljk0OSwwLTguODI1LDEuMDE4LTExLjYyNiwzLjA1MQ0KCQkJYy0xLjgwNCwxLjMwNS0yLjcwNSwzLjA1LTIuNzA1LDUuMjM3YzAsMS45OTUsMC44NDQsMy43MDMsMi41MzIsNS4xMjJjMi4xNDgsMS44MDUsNy4zNjcsMy42ODQsMTUuNjU1LDUuNjQxDQoJCQlzMTQuNDE4LDMuOTgxLDE4LjM4OSw2LjA3MmMzLjk3MiwyLjA5Miw3LjA3OSw0Ljk0OSw5LjMyNCw4LjU3NWMyLjI0NCwzLjYyNiwzLjM2Nyw4LjEwNiwzLjM2NywxMy40MzkNCgkJCWMwLDQuODM1LTEuMzQ0LDkuMzYyLTQuMDI5LDEzLjU4M2MtMi42ODcsNC4yMjItNi40ODQsNy4zNTgtMTEuMzk2LDkuNDFjLTQuOTEyLDIuMDUzLTExLjAzMiwzLjA3OS0xOC4zNiwzLjA3OQ0KCQkJYy0xMC42NjgsMC0xOC44NTktMi40NjUtMjQuNTc2LTcuMzk2QzU0Ny42MDEsNTI0LjU5MSw1NDQuMTg2LDUxNy40MDUsNTQzLjA3Myw1MDcuOTY2eiIvPg0KCTwvZz4NCjwvZz4NCjxnIGlkPSJFYmVuZV80X0tvcGllX3hBMF9JbWFnZV8xXyI+DQoJDQoJCTxpbWFnZSBvdmVyZmxvdz0idmlzaWJsZSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjI4IiBpZD0iRWJlbmVfNF9Lb3BpZV94QTBfSW1hZ2UiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRWdBQUFBY0NBSUFBQUJOa0c3eEFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBCkdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFEWkpSRUZVZU5yc3p3RU5BQUFJQXlEZlAvVE4Kb1lNR3BPMThGREV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TWJHYlZnQUJCZ0J1WTFQSkhBbElWd0FBQUFCSlJVNUVya0pnZ2c9PSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSA0IDM5MikiPg0KCTwvaW1hZ2U+DQo8L2c+DQo8ZyBpZD0iRWJlbmVfM19Lb3BpZV82X3hBMF9JbWFnZV8xXyI+DQoJDQoJCTxpbWFnZSBvdmVyZmxvdz0idmlzaWJsZSIgd2lkdGg9Ijc2IiBoZWlnaHQ9IjEwOCIgaWQ9IkViZW5lXzNfS29waWVfNl94QTBfSW1hZ2UiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRXdBQUFCc0NBSUFBQUJQV2NOS0FBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBCkdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJQkpSRUZVZU5yc3p3RUJBREFJQXlDMWYrZTkKZ0FrOE5LQ1QxSFZUSDVDVWxKU1VsSlNVbEpTVWxKU1VsSlNVbEpTVWxKU1VsSlNVbEpTVWxKU1VsSlNVbEpTVWxKU1VsSlNVbEpTVQpsSlNVbEpTVWxKU1VsSlNVbEpTVWxKU1VsSlNVbEpTVWxKU1VsSlNVbEpTVWxKU1VsSlNVbEpTVWxKU1VsSlRjUFFFR0FPSGxBOVhxCjVpMFFBQUFBQUVsRlRrU3VRbUNDIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDIxNSAzMTIpIj4NCgk8L2ltYWdlPg0KPC9nPg0KPGcgaWQ9IkViZW5lXzNfS29waWVfN194QTBfSW1hZ2VfMV8iPg0KCQ0KCQk8aW1hZ2Ugb3ZlcmZsb3c9InZpc2libGUiIHdpZHRoPSI4MCIgaGVpZ2h0PSIxNzIiIGlkPSJFYmVuZV8zX0tvcGllXzdfeEEwX0ltYWdlIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQ3NDQUlBQUFCakk3eVlBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQQpHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTDVKUkVGVWVOcnN6d0VCQUFBRUF6RDA3M3c5CjJCcXNrOVFuVTg4SUN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0wKQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTApDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEM5K3lBZ3dBClozMEVWVHVscE5RQUFBQUFTVVZPUks1Q1lJST0iIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgMzE5IDI0OCkiPg0KCTwvaW1hZ2U+DQo8L2c+DQo8ZyBpZD0iRWJlbmVfM19Lb3BpZV84X3hBMF9JbWFnZV8xXyI+DQoJDQoJCTxpbWFnZSBvdmVyZmxvdz0idmlzaWJsZSIgd2lkdGg9IjgwIiBoZWlnaHQ9IjcyIiBpZD0iRWJlbmVfM19Lb3BpZV84X3hBMF9JbWFnZSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGQUFBQUJJQ0FJQUFBRHU5dVVNQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEKR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUdGSlJFRlVlTnJzenpFQkFBQUlBeURYUC9Rcwo0U2MwSUczbmt3Z0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMCkN3c0xDd3NMQ3dzTEN3c0xDd3NMQzk5YkFRWUEveWJYY2Qzc1lVOEFBQUFBU1VWT1JLNUNZSUk9IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDEwNiAzNDgpIj4NCgk8L2ltYWdlPg0KPC9nPg0KPGcgaWQ9IkViZW5lXzNfS29waWVfOV94QTBfSW1hZ2VfMV8iPg0KCQ0KCQk8aW1hZ2Ugb3ZlcmZsb3c9InZpc2libGUiIHdpZHRoPSI3MiIgaGVpZ2h0PSIyODAiIGlkPSJFYmVuZV8zX0tvcGllXzlfeEEwX0ltYWdlIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBRVlDQUlBQUFCd2RpZFRBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQQpHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBUWxKUkVGVWVOcnN6d0VOQUFBSUF5QzFmK2ZiCjQ0TUdiSkpwZEZOS1RFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE0KVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TQpURXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNClRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE0KVEV4TVRFeE1URXhNVEV4TVRLelJDekFBK0YwRkxVdDk2RjhBQUFBQVNVVk9SSzVDWUlJPSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSA0MzAgMTQwKSI+DQoJPC9pbWFnZT4NCjwvZz4NCjxnIGlkPSJFYmVuZV8zX0tvcGllXzEwX3hBMF9JbWFnZV8xXyI+DQoJDQoJCTxpbWFnZSBvdmVyZmxvdz0idmlzaWJsZSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjQyMCIgaWQ9IkViZW5lXzNfS29waWVfMTBfeEEwX0ltYWdlIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVnQUFBR2tDQUlBQUFBZGZ2UmRBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQQpHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBWDlKUkVGVWVOcnN6MEVSQUFBSUF5RFhQL1JzCjRjT0RCcVR0ZkJReE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXgKTVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeApNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4Ck1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXgKTVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeApNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4Ck1URXhNVEV4TVRFeE1URXhNVEV4TVRHeE95dkFBRTYvNlBYS29tdGZBQUFBQUVsRlRrU3VRbUNDIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDUzNiAwKSI+DQoJPC9pbWFnZT4NCjwvZz4NCjwvc3ZnPg0K
34
+ ";
35
+ $quads_parent_page = add_menu_page( 'Quick AdSense Reloaded Settings', $label, 'manage_options', 'quads-settings', 'quads_options_page', 'data:image/svg+xml;base64,' . $wpquads_logo );
36
//if (quads_is_installed_clickfraud() ){
37
//$quads_add_ons_page = add_submenu_page('quads-settings', __('Click Fraud Monitor'), __('Click Fraud Monitor'), 'manage_options', 'cfmonitor-config', 'cfmonitor_conf');
38
//} else {
includes/api.php CHANGED
@@ -147,7 +147,7 @@ function quads_ad( $args ) {
147
148
$location_settings = quads_get_ad_location_settings( $args['location'] );
149
$code .= "\n".'<!-- WP QUADS Custom Ad v. ' . QUADS_VERSION .' -->'."\n";
150
- $code .= '<div class="quads-location quads-ad' .$location_settings['ad']. '" id="quads-ad' .$location_settings['ad']. '">'."\n";
151
$code .= quads_render_ad( 'ad' . $location_settings['ad'], $quads_options[ 'ad' . $location_settings['ad'] ]['code'] );
152
$code .= '</div>';
153
}
147
148
$location_settings = quads_get_ad_location_settings( $args['location'] );
149
$code .= "\n".'<!-- WP QUADS Custom Ad v. ' . QUADS_VERSION .' -->'."\n";
150
+ $code .= '<div class="quads-location quads-ad' .$location_settings['ad']. '" id="quads-ad' .$location_settings['ad']. '" style="'. quads_get_inline_ad_style( $location_settings['ad'] ).'">'."\n";
151
$code .= quads_render_ad( 'ad' . $location_settings['ad'], $quads_options[ 'ad' . $location_settings['ad'] ]['code'] );
152
$code .= '</div>';
153
}
includes/template-functions.php CHANGED
@@ -677,26 +677,28 @@ function quads_replace_ads($content, $quicktag, $id) {
677
if( strpos($content,'<!--'.$quicktag.'-->')===false ) {
678
return $content;
679
}
680
681
if ($id != -1) {
682
- $paragraphsArray = array(
683
- 'float:left;margin:%1$dpx %1$dpx %1$dpx 0;',
684
- 'float:none;margin:%1$dpx 0 %1$dpx 0;text-align:center;',
685
- 'float:right;margin:%1$dpx 0 %1$dpx %1$dpx;',
686
- 'float:none;margin:0px;');
687
-
688
- $adsalign = $quads_options['ad' . $id]['align'];
689
- $adsmargin = isset($quads_options['ad' . $id]['margin']) ? $quads_options['ad' . $id]['margin'] : '3'; // default
690
- $margin = sprintf($paragraphsArray[(int)$adsalign], $adsmargin);
691
-
692
- // Do not create any inline style on AMP site
693
- $style = !quads_is_amp_endpoint() ? apply_filters ('quads_filter_margins', $margin, 'ad'.$id ) : '';
694
- $adscode = $quads_options['ad' . $id ]['code'];
695
696
$adscode =
697
"\n".'<!-- WP QUADS Content Ad Plugin v. ' . QUADS_VERSION .' -->'."\n".
698
'<div class="quads-location quads-ad' .$id. '" id="quads-ad' .$id. '" style="'.$style.'">'."\n".
699
- quads_render_ad('ad'.$id, $adscode)."\n".
700
'</div>'. "\n";
701
702
} else {
@@ -707,6 +709,40 @@ function quads_replace_ads($content, $quicktag, $id) {
707
return $cont[0].$adscode.$cont[1];
708
}
709
710
/**
711
* Revert content to original content any remove any processing helper strings
712
*
677
if( strpos($content,'<!--'.$quicktag.'-->')===false ) {
678
return $content;
679
}
680
+
681
682
if ($id != -1) {
683
+ // $styleArray = array(
684
+ // 'float:left;margin:%1$dpx %1$dpx %1$dpx 0;',
685
+ // 'float:none;margin:%1$dpx 0 %1$dpx 0;text-align:center;',
686
+ // 'float:right;margin:%1$dpx 0 %1$dpx %1$dpx;',
687
+ // 'float:none;margin:0px;');
688
+ //
689
+ // $adsalign = $quads_options['ad' . $id]['align'];
690
+ // $adsmargin = isset($quads_options['ad' . $id]['margin']) ? $quads_options['ad' . $id]['margin'] : '3'; // default
691
+ // $margin = sprintf($styleArray[(int)$adsalign], $adsmargin);
692
+ //
693
+ // // Do not create any inline style on AMP site
694
+ // $style = !quads_is_amp_endpoint() ? apply_filters ('quads_filter_margins', $margin, 'ad'.$id ) : '';
695
696
+ $code = !empty($quads_options['ad' . $id ]['code']) ? $quads_options['ad' . $id ]['code'] : '';
697
+ $style = quads_get_inline_ad_style($id);
698
$adscode =
699
"\n".'<!-- WP QUADS Content Ad Plugin v. ' . QUADS_VERSION .' -->'."\n".
700
'<div class="quads-location quads-ad' .$id. '" id="quads-ad' .$id. '" style="'.$style.'">'."\n".
701
+ quads_render_ad('ad'.$id, $code)."\n".
702
'</div>'. "\n";
703
704
} else {
709
return $cont[0].$adscode.$cont[1];
710
}
711
712
+ /**
713
+ * Get ad inline style
714
+ *
715
+ * @global arr $quads_options
716
+ * @param int $id id of the ad
717
+ * @return string
718
+ */
719
+ function quads_get_inline_ad_style( $id ) {
720
+ global $quads_options;
721
+
722
+ if( empty($id) ) {
723
+ return '';
724
+ }
725
+
726
+ // Basic style
727
+ $styleArray = array(
728
+ 'float:left;margin:%1$dpx %1$dpx %1$dpx 0;',
729
+ 'float:none;margin:%1$dpx 0 %1$dpx 0;text-align:center;',
730
+ 'float:right;margin:%1$dpx 0 %1$dpx %1$dpx;',
731
+ 'float:none;margin:0px;');
732
+
733
+ // Alignment
734
+ $adsalign = $quads_options['ad' . $id]['align'];
735
+
736
+ // Margin
737
+ $adsmargin = isset( $quads_options['ad' . $id]['margin'] ) ? $quads_options['ad' . $id]['margin'] : '3'; // default optin = 3
738
+ $margin = sprintf( $styleArray[( int ) $adsalign], $adsmargin );
739
+
740
+ // Do not create any inline style on AMP site
741
+ $style = !quads_is_amp_endpoint() ? apply_filters( 'quads_filter_margins', $margin, 'ad' . $id ) : '';
742
+
743
+ return $style;
744
+ }
745
+
746
/**
747
* Revert content to original content any remove any processing helper strings
748
*
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.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,7 +35,7 @@ if( !defined( 'ABSPATH' ) )
35
36
// Plugin version
37
if( !defined( 'QUADS_VERSION' ) ) {
38
- define( 'QUADS_VERSION', '1.4.5' );
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.6
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.6' );
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.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,6 +129,11 @@ Alternative Installation:
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
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.6
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.6 =
133
+ * New: Theme API for custom theme integration of AdSense ads supports margin and alignment options now
134
+ * New: Create WP QUADS admin menue logo
135
+ * Fix: Admin warning if no adsense spots are activated is not working properly
136
+
137
= 1.4.5 =
138
* New: Add new option to hide AMP ads on certain posts with WP QUADS PRO
139