AdRotate Banner Manager - Version 3.14.2

Version Description

FREE = * [change] Better W3 Total Cache support * [fix] Post injection not always showing with multiple groups * [fix] Removed obsolete useragent column from database

Download this release

Release Info

Developer adegans
Plugin Icon 128x128 AdRotate Banner Manager
Version 3.14.2
Comparing to
See all releases

Code changes from version 3.14.1 to 3.14.2

adrotate-functions.php CHANGED
@@ -28,19 +28,28 @@ function adrotate_shortcode($atts, $content = null) {
28
if(!empty($atts['site'])) $site = 0; // Not supported in free version
29
30
$output = '';
31
-
32
- if($adrotate_config['w3caching'] == "Y") $output .= '<!-- mfunc '.W3TC_DYNAMIC_SECURITY.' -->';
33
-
34
- if($banner_id > 0 AND $group_ids == 0) { // Show one Ad
35
- $output .= adrotate_ad($banner_id, true, 0, 0);
36
- }
37
-
38
- if($banner_id == 0 AND $group_ids > 0) { // Show group
39
- $output .= adrotate_group($group_ids, 0, 0, 0);
40
}
41
42
- if($adrotate_config['w3caching'] == "Y") $output .= '<!-- /mfunc -->';
43
-
44
return $output;
45
}
46
@@ -168,7 +177,7 @@ function adrotate_count_impression($ad, $group = 0, $blog_id = 0, $impression_ti
168
$wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $today, 'clicks' => 0, 'impressions' => 1));
169
}
170
171
- $wpdb->insert($wpdb->prefix."adrotate_tracker", array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'i', 'useragent' => '', 'country' => '', 'city' => ''));
172
}
173
}
174
}
@@ -248,7 +257,7 @@ function adrotate_click_callback() {
248
$wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $today, 'clicks' => 1, 'impressions' => 1));
249
}
250
251
- $wpdb->insert($wpdb->prefix.'adrotate_tracker', array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'c', 'useragent' => $useragent, 'country' => '', 'city' => ''));
252
}
253
}
254
}
28
if(!empty($atts['site'])) $site = 0; // Not supported in free version
29
30
$output = '';
31
+ if($adrotate_config['w3caching'] == "Y") {
32
+ $output .= '<!-- mfunc '.W3TC_DYNAMIC_SECURITY.' -->';
33
+
34
+ if($banner_id > 0 AND ($group_ids == 0 OR $group_ids > 0)) { // Show one Ad
35
+ $output .= 'echo adrotate_ad('.$banner_id.', true, 0, 0);';
36
+ }
37
+
38
+ if($banner_id == 0 AND $group_ids > 0) { // Show group
39
+ $output .= 'echo adrotate_group('.$group_ids.', 0, 0, 0);';
40
+ }
41
+
42
+ $output .= '<!-- /mfunc '.W3TC_DYNAMIC_SECURITY.' -->';
43
+ } else {
44
+ if($banner_id > 0 AND ($group_ids == 0 OR $group_ids > 0)) { // Show one Ad
45
+ $output .= adrotate_ad($banner_id, true, 0, 0);
46
+ }
47
+
48
+ if($banner_id == 0 AND $group_ids > 0) { // Show group
49
+ $output .= adrotate_group($group_ids, 0, 0, 0);
50
+ }
51
}
52
53
return $output;
54
}
55
177
$wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $today, 'clicks' => 0, 'impressions' => 1));
178
}
179
180
+ $wpdb->insert($wpdb->prefix."adrotate_tracker", array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'i', 'country' => '', 'city' => ''));
181
}
182
}
183
}
257
$wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $today, 'clicks' => 1, 'impressions' => 1));
258
}
259
260
+ $wpdb->insert($wpdb->prefix.'adrotate_tracker', array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'c', 'country' => '', 'city' => ''));
261
}
262
}
263
}
adrotate-manage-publisher.php CHANGED
@@ -138,7 +138,7 @@ function adrotate_insert_input() {
138
139
// Save schedule for new ads or update the existing one
140
if($type != 'empty') {
141
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_schedule` WHERE `id` IN (SELECT `schedule` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `schedule` != %d AND `schedule` > 0 AND `ad` = %d AND `group` = 0 AND `user` = 0);", $schedule_id, $id));
142
}
143
$wpdb->update($wpdb->prefix.'adrotate_schedule', array('starttime' => $startdate, 'stoptime' => $enddate, 'maxclicks' => $maxclicks, 'maximpressions' => $maxshown), array('id' => $schedule_id));
144
@@ -146,11 +146,11 @@ function adrotate_insert_input() {
146
$wpdb->update($wpdb->prefix.'adrotate', array('title' => $title, 'bannercode' => $bannercode, 'updated' => $thetime, 'author' => $author, 'imagetype' => $imagetype, 'image' => $image, 'tracker' => $tracker, 'responsive' => $responsive, 'type' => $active, 'sortorder' => $sortorder), array('id' => $id));
147
148
// Determine Responsive requirement
149
- $responsive_count = $wpdb->get_var("SELECT COUNT(*) as `total` FROM `".$wpdb->prefix."adrotate` WHERE `responsive` = 'Y';");
150
update_option('adrotate_responsive_required', $responsive_count);
151
152
// Fetch group records for the ad
153
- $groupmeta = $wpdb->get_results($wpdb->prepare("SELECT `group` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `user` = 0 AND `schedule` = 0;", $id));
154
foreach($groupmeta as $meta) {
155
$group_array[] = $meta->group;
156
}
@@ -168,7 +168,7 @@ function adrotate_insert_input() {
168
// Remove groups from this ad
169
$delete = array_diff($group_array, $groups);
170
foreach($delete as &$value) {
171
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = %d AND `user` = 0 AND `schedule` = 0;", $id, $value));
172
}
173
unset($value);
174
@@ -279,7 +279,7 @@ function adrotate_insert_group() {
279
if($page_loc != 4) $page_par = 0;
280
281
// Fetch records for the group
282
- $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d AND `user` = 0;", $id));
283
foreach($linkmeta as $meta) {
284
$meta_array[] = $meta->ad;
285
}
@@ -297,7 +297,7 @@ function adrotate_insert_group() {
297
// Remove ads from this group
298
$delete = array_diff($meta_array,$ads);
299
foreach($delete as &$value) {
300
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = %d AND `user` = 0;", $value, $id));
301
}
302
unset($value);
303
@@ -305,7 +305,7 @@ function adrotate_insert_group() {
305
$wpdb->update($wpdb->prefix.'adrotate_groups', array('name' => $name, 'modus' => $modus, 'fallback' => 0, 'sortorder' => $sortorder, 'cat' => $category, 'cat_loc' => $category_loc, 'cat_par' => $category_par, 'page' => $page, 'page_loc' => $page_loc, 'page_par' => $page_par, 'wrapper_before' => $wrapper_before, 'wrapper_after' => $wrapper_after, 'align' => $align, 'gridrows' => $rows, 'gridcolumns' => $columns, 'admargin' => $admargin, 'adwidth' => $adwidth, 'adheight' => $adheight, 'adspeed' => $adspeed), array('id' => $id));
306
307
// Determine Dynamic Library requirement
308
- $dynamic_count = $wpdb->get_var("SELECT COUNT(*) as `total` FROM `".$wpdb->prefix."adrotate_groups` WHERE `name` != '' AND `modus` = 1;");
309
update_option('adrotate_dynamic_required', $dynamic_count);
310
311
adrotate_return('adrotate-groups', 201);
@@ -463,24 +463,24 @@ function adrotate_delete($id, $what) {
463
464
if($id > 0) {
465
if($what == 'banner') {
466
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate` WHERE `id` = %d;", $id));
467
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d;", $id));
468
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_stats` WHERE `ad` = %d;", $id));
469
adrotate_prepare_evaluate_ads(false);
470
} else if ($what == 'group') {
471
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_groups` WHERE `id` = %d;", $id));
472
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d;", $id));
473
adrotate_prepare_evaluate_ads(false);
474
} else if ($what == 'bannergroup') {
475
- $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d;", $id));
476
foreach($linkmeta as $meta) {
477
- $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate` WHERE `id` = ".$meta->ad.";");
478
- $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate_stats` WHERE `ad` = ".$meta->ad.";");
479
- $wpdb->query("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = ".$meta->ad.";");
480
}
481
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_groups` WHERE `id` = %d;", $id));
482
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `group` = %d;", $id));
483
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_stats` WHERE `group` = %d;", $id)); // Perhaps unnessesary
484
adrotate_prepare_evaluate_ads(false);
485
}
486
}
@@ -523,8 +523,8 @@ function adrotate_reset($id) {
523
global $wpdb;
524
525
if($id > 0) {
526
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_stats` WHERE `ad` = %d", $id));
527
- $wpdb->query($wpdb->prepare("DELETE FROM `".$wpdb->prefix."adrotate_tracker` WHERE `bannerid` = %d", $id));
528
}
529
}
530
@@ -540,9 +540,9 @@ function adrotate_renew($id, $howlong = 2592000) {
540
global $wpdb;
541
542
if($id > 0) {
543
- $schedule_id = $wpdb->get_var($wpdb->prepare("SELECT `schedule` FROM `".$wpdb->prefix."adrotate_linkmeta` WHERE `ad` = %d AND `group` = 0 AND `user` = 0 ORDER BY `id` DESC LIMIT 1;", $id));
544
if($schedule_id > 0) {
545
- $wpdb->query("UPDATE `".$wpdb->prefix."adrotate_schedule` SET `stoptime` = `stoptime` + $howlong WHERE `id` = $schedule_id;");
546
} else {
547
$now = adrotate_now();
548
$stoptime = $now + $howlong;
138
139
// Save schedule for new ads or update the existing one
140
if($type != 'empty') {
141
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_schedule` WHERE `id` IN (SELECT `schedule` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `schedule` != %d AND `schedule` > 0 AND `ad` = %d AND `group` = 0 AND `user` = 0);", $schedule_id, $id));
142
}
143
$wpdb->update($wpdb->prefix.'adrotate_schedule', array('starttime' => $startdate, 'stoptime' => $enddate, 'maxclicks' => $maxclicks, 'maximpressions' => $maxshown), array('id' => $schedule_id));
144
146
$wpdb->update($wpdb->prefix.'adrotate', array('title' => $title, 'bannercode' => $bannercode, 'updated' => $thetime, 'author' => $author, 'imagetype' => $imagetype, 'image' => $image, 'tracker' => $tracker, 'responsive' => $responsive, 'type' => $active, 'sortorder' => $sortorder), array('id' => $id));
147
148
// Determine Responsive requirement
149
+ $responsive_count = $wpdb->get_var("SELECT COUNT(*) as `total` FROM `{$wpdb->prefix}adrotate` WHERE `responsive` = 'Y';");
150
update_option('adrotate_responsive_required', $responsive_count);
151
152
// Fetch group records for the ad
153
+ $groupmeta = $wpdb->get_results($wpdb->prepare("SELECT `group` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = %d AND `user` = 0 AND `schedule` = 0;", $id));
154
foreach($groupmeta as $meta) {
155
$group_array[] = $meta->group;
156
}
168
// Remove groups from this ad
169
$delete = array_diff($group_array, $groups);
170
foreach($delete as &$value) {
171
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = %d AND `group` = %d AND `user` = 0 AND `schedule` = 0;", $id, $value));
172
}
173
unset($value);
174
279
if($page_loc != 4) $page_par = 0;
280
281
// Fetch records for the group
282
+ $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d AND `user` = 0;", $id));
283
foreach($linkmeta as $meta) {
284
$meta_array[] = $meta->ad;
285
}
297
// Remove ads from this group
298
$delete = array_diff($meta_array,$ads);
299
foreach($delete as &$value) {
300
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = %d AND `group` = %d AND `user` = 0;", $value, $id));
301
}
302
unset($value);
303
305
$wpdb->update($wpdb->prefix.'adrotate_groups', array('name' => $name, 'modus' => $modus, 'fallback' => 0, 'sortorder' => $sortorder, 'cat' => $category, 'cat_loc' => $category_loc, 'cat_par' => $category_par, 'page' => $page, 'page_loc' => $page_loc, 'page_par' => $page_par, 'wrapper_before' => $wrapper_before, 'wrapper_after' => $wrapper_after, 'align' => $align, 'gridrows' => $rows, 'gridcolumns' => $columns, 'admargin' => $admargin, 'adwidth' => $adwidth, 'adheight' => $adheight, 'adspeed' => $adspeed), array('id' => $id));
306
307
// Determine Dynamic Library requirement
308
+ $dynamic_count = $wpdb->get_var("SELECT COUNT(*) as `total` FROM `{$wpdb->prefix}adrotate_groups` WHERE `name` != '' AND `modus` = 1;");
309
update_option('adrotate_dynamic_required', $dynamic_count);
310
311
adrotate_return('adrotate-groups', 201);
463
464
if($id > 0) {
465
if($what == 'banner') {
466
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate` WHERE `id` = %d;", $id));
467
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = %d;", $id));
468
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = %d;", $id));
469
adrotate_prepare_evaluate_ads(false);
470
} else if ($what == 'group') {
471
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_groups` WHERE `id` = %d;", $id));
472
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
473
adrotate_prepare_evaluate_ads(false);
474
} else if ($what == 'bannergroup') {
475
+ $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
476
foreach($linkmeta as $meta) {
477
+ $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate` WHERE `id` = ".$meta->ad.";");
478
+ $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = ".$meta->ad.";");
479
+ $wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = ".$meta->ad.";");
480
}
481
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_groups` WHERE `id` = %d;", $id));
482
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
483
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `group` = %d;", $id)); // Perhaps unnessesary
484
adrotate_prepare_evaluate_ads(false);
485
}
486
}
523
global $wpdb;
524
525
if($id > 0) {
526
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = %d", $id));
527
+ $wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE `bannerid` = %d", $id));
528
}
529
}
530
540
global $wpdb;
541
542
if($id > 0) {
543
+ $schedule_id = $wpdb->get_var($wpdb->prepare("SELECT `schedule` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = %d AND `group` = 0 AND `user` = 0 ORDER BY `id` DESC LIMIT 1;", $id));
544
if($schedule_id > 0) {
545
+ $wpdb->query("UPDATE `{$wpdb->prefix}adrotate_schedule` SET `stoptime` = `stoptime` + $howlong WHERE `id` = $schedule_id;");
546
} else {
547
$now = adrotate_now();
548
$stoptime = $now + $howlong;
adrotate-output.php CHANGED
@@ -232,27 +232,26 @@ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
232
-------------------------------------------------------------*/
233
function adrotate_inject_posts($post_content) {
234
global $wpdb, $post, $adrotate_debug;
235
-
236
$group_array = array();
237
-
238
if(is_page()) {
239
// Inject ads into page
240
- $ids = $wpdb->get_results("SELECT `id`, `page`, `page_loc`, `page_par` FROM `{$wpdb->prefix}adrotate_groups` WHERE `page_loc` > 0;");
241
242
foreach($ids as $id) {
243
$pages = explode(",", $id->page);
244
if(!is_array($pages)) $pages = array();
245
246
if(in_array($post->ID, $pages)) {
247
- $group_array[$id->id] = array('location' => $id->page_loc, 'paragraph' => $id->page_par, 'pages' => $pages, 'categories' => array());
248
}
249
}
250
unset($ids, $pages);
251
}
252
-
253
if(is_single()) {
254
// Inject ads into posts in specified category
255
- $ids = $wpdb->get_results("SELECT `id`, `cat`, `cat_loc`, `cat_par` FROM `{$wpdb->prefix}adrotate_groups` WHERE `cat_loc` > 0;");
256
$wp_categories = get_terms('category', array('fields' => 'ids'));
257
258
foreach($ids as $id) {
@@ -261,88 +260,66 @@ function adrotate_inject_posts($post_content) {
261
262
foreach($wp_categories as &$value) {
263
if(in_array($value, $categories)) {
264
- $group_array[$id->id] = array('location' => $id->cat_loc, 'paragraph' => $id->cat_par, 'pages' => array(), 'categories' => $categories);
265
}
266
}
267
}
268
unset($ids, $wp_categories, $categories);
269
}
270
271
if($adrotate_debug['general'] == true) {
272
echo "<p><strong>[DEBUG][adrotate_inject_posts()] group_array</strong><pre>";
273
print_r($group_array);
274
echo "</pre></p>";
275
}
276
277
- $group_count = count($group_array);
278
if($group_count > 0) {
279
- if($group_count > 1) {
280
- // Try to prevent the same ad from showing when there are multiple ads to show
281
- $paragraph_count = substr_count($post_content, '<p>');
282
- if($paragraph_count == 0 OR $group_count < $paragraph_count) {
283
- $paragraph_count = $group_count;
284
- }
285
- $group_choice = array_rand($group_array, $paragraph_count);
286
- if(!is_array($group_choice)) $group_choice = array($group_choice);
287
-
288
- shuffle($group_choice);
289
- } else {
290
- $group_choice = array_rand($group_array, 1);
291
- $group_choice = array($group_choice,$group_choice);
292
- }
293
-
294
- if($adrotate_debug['general'] == true) {
295
- echo "<p><strong>[DEBUG][adrotate_inject_posts()] group_choice</strong><pre>";
296
- print_r($group_choice);
297
- echo "</pre></p>";
298
- }
299
-
300
$before = $after = $inside = 0;
301
- foreach($group_choice as $key => $group_id) {
302
- if(is_page($group_array[$group_id]['pages']) OR in_category($group_array[$group_id]['categories'])) {
303
// Advert in front of content
304
- if(($group_array[$group_id]['location'] == 1 OR $group_array[$group_id]['location'] == 3) AND $before == 0) {
305
$post_content = adrotate_group($group_id).$post_content;
306
$before = 1;
307
}
308
-
309
- // Advert behind content
310
- if(($group_array[$group_id]['location'] == 2 OR $group_array[$group_id]['location'] == 3) AND $after == 0) {
311
- $post_content = $post_content.adrotate_group($group_id);
312
- $after = 1;
313
}
314
315
// Adverts inside the content
316
- if($group_array[$group_id]['location'] == 4) {
317
- $paragraphs = explode("</p>", $post_content);
318
$paragraph_count = count($paragraphs);
319
- $par = 1;
320
- $post_content = '';
321
-
322
- // Backward compatibility
323
- if($group_array[$group_id]['paragraph'] == 20) $group_array[$group_id]['paragraph'] == 2;
324
- if($group_array[$group_id]['paragraph'] == 30) $group_array[$group_id]['paragraph'] == 3;
325
- if($group_array[$group_id]['paragraph'] == 40) $group_array[$group_id]['paragraph'] == 4;
326
-
327
- // Advanced setting
328
- $middle = ($group_array[$group_id]['paragraph'] == 99) ? ceil($paragraph_count / 2) : 1;
329
-
330
- foreach($paragraphs as &$paragraph) {
331
- if(($par == $group_array[$group_id]['paragraph'] OR ($par == $middle AND $group_array[$group_id]['paragraph'] == 99)) AND $inside == 0) {
332
- $paragraph .= adrotate_group($group_id);
333
- $inside = 1;
334
- }
335
- $post_content .= $paragraph."</p>";
336
- $par++;
337
-
338
- unset($paragraph);
339
- }
340
}
341
}
342
}
343
- unset($group_choice, $group_count, $group_array, $paragraph, $paragraph_count, $before, $after, $inside);
344
}
345
-
346
return $post_content;
347
}
348
@@ -741,7 +718,7 @@ function adrotate_notifications_dashboard() {
741
echo ' <div class="button_div"><a class="button" target="_blank" href="https://ajdg.solutions/products/adrotate-for-wordpress/?add-to-cart=1126?pk_campaign=adrotatefree-upgradebanner">'.__('Buy now', 'adrotate').'</a></div>';
742
echo ' <div class="text">'.__("You've been using <strong>AdRotate</strong> for a while now. Why not upgrade to the <strong>PRO</strong> version", 'adrotate').'?<br /><span>'.__('Use discount code <b>getadrotatepro</b> for 10% off on any AdRotate license!', 'adrotate' ).' '.__('Thank you for your purchase!', 'adrotate' ).'</span></div>';
743
echo ' <a class="close_banner" href="admin.php?page=adrotate-pro&hide=1"><img title="Close" src="'.plugins_url('images/icon-close.png', __FILE__).'" alt=""/></a>';
744
- echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
745
echo ' </div>';
746
echo '</div>';
747
}
@@ -753,7 +730,7 @@ function adrotate_notifications_dashboard() {
753
echo ' <div class="button_div"><a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Rate AdRotate</a></div>';
754
echo ' <div class="text">If you like <strong>AdRotate</strong> please let the world know that you do. Thanks for your support!<br /><span>If you have questions, suggestions or something else that doesn\'t belong in a review, please <a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/?pk_campaign=adrotatefree-reviewbanner" target="_blank">get in touch</a>!</span></div>';
755
echo ' <a class="close_banner" href="admin.php?page=adrotate&hide=2"><img title="Close" src="'.plugins_url('images/icon-close.png', __FILE__).'" alt=""/></a>';
756
- echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
757
echo ' </div>';
758
echo '</div>';
759
}
@@ -767,7 +744,7 @@ function adrotate_notifications_dashboard() {
767
echo ' <div class="adrotate_banner">';
768
echo ' <div class="button_div"><a class="button" href="admin.php?page=adrotate&upgrade=1">Update Now</a></div>';
769
echo ' <div class="text">You have almost finished upgrading <strong>AdRotate</strong> to version <strong>'.ADROTATE_DISPLAY.'</strong>!<br /><span>To complete the update click the button on the left. This may take a few seconds to complete!</span></div>';
770
- echo ' <div class="icon"><img title="" src="'.plugins_url('images/adrotate-logo-60x60.png', __FILE__).'" alt=""/></div>';
771
echo ' </div>';
772
echo '</div>';
773
}
@@ -849,16 +826,23 @@ function adrotate_credits() {
849
echo '<thead>';
850
echo '<tr valign="top">';
851
echo ' <th colspan="2">'.__('Help AdRotate Grow', 'adrotate').'</th>';
852
- echo ' <th colspan="2" width="20%"><center>'.__('Brought to you by', 'adrotate').'</center></th>';
853
echo '</tr>';
854
echo '</thead>';
855
856
echo '<tbody>';
857
echo '<tr>';
858
- echo '<td><center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-credits&pk_kwd=adrotate_logo" title="AdRotate plugin for WordPress"><img src="'.plugins_url('/images/adrotate-logo-60x60.png', __FILE__).'" alt="adrotate-logo-60x60" width="60" height="60" /></a></center></td>';
859
echo '<td>'.__("A lot of users only think to review AdRotate when something goes wrong while thousands of people use AdRotate satisfactory. Don't let this go unnoticed.", 'adrotate').' <strong>'. __("If you find AdRotate useful please leave your honest", 'adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform" target="_blank">'.__('rating','adrotate').'</a> '.__('and','adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate" target="_blank">'.__('review','adrotate').'</a> '.__('on WordPress.org to help AdRotate grow in a positive way', 'adrotate').'!</strong></td>';
860
861
- echo '<td><center><a href="https://ajdg.solutions/?pk_campaign=adrotatefree-credits" title="Arnan de Gans"><img src="'.plugins_url('/images/arnan-jungle.jpg', __FILE__).'" alt="Arnan de Gans" width="60" height="60" align="left" class="adrotate-photo" /></a><a href="http://meandmymac.net?pk_campaign=adrotatefree-credits" target="_blank">Arnan de Gans</a><br />from<br /><a href="https://ajdg.solutions?pk_campaign=adrotatefree-credits" target="_blank">AJdG Solutions</a></center></td></td>';
862
echo '</tr>';
863
echo '</tbody>';
864
232
-------------------------------------------------------------*/
233
function adrotate_inject_posts($post_content) {
234
global $wpdb, $post, $adrotate_debug;
235
+
236
$group_array = array();
237
if(is_page()) {
238
// Inject ads into page
239
+ $ids = $wpdb->get_results("SELECT `id`, `page`, `page_loc`, `page_par` FROM `{$wpdb->prefix}adrotate_groups` WHERE `page_loc` > 0 AND `page_loc` < 5;");
240
241
foreach($ids as $id) {
242
$pages = explode(",", $id->page);
243
if(!is_array($pages)) $pages = array();
244
245
if(in_array($post->ID, $pages)) {
246
+ $group_array[$id->id] = array('location' => $id->page_loc, 'paragraph' => $id->page_par, 'ids' => $pages);
247
}
248
}
249
unset($ids, $pages);
250
}
251
+
252
if(is_single()) {
253
// Inject ads into posts in specified category
254
+ $ids = $wpdb->get_results("SELECT `id`, `cat`, `cat_loc`, `cat_par` FROM `{$wpdb->prefix}adrotate_groups` WHERE `cat_loc` > 0 AND `cat_loc` < 5;");
255
$wp_categories = get_terms('category', array('fields' => 'ids'));
256
257
foreach($ids as $id) {
260
261
foreach($wp_categories as &$value) {
262
if(in_array($value, $categories)) {
263
+ $group_array[$id->id] = array('location' => $id->cat_loc, 'paragraph' => $id->cat_par, 'ids' => $categories);
264
}
265
}
266
}
267
unset($ids, $wp_categories, $categories);
268
}
269
270
+ $group_array = adrotate_shuffle($group_array);
271
+ $group_count = count($group_array);
272
+
273
if($adrotate_debug['general'] == true) {
274
echo "<p><strong>[DEBUG][adrotate_inject_posts()] group_array</strong><pre>";
275
+ echo "Group count: ".$group_count."</br>";
276
print_r($group_array);
277
echo "</pre></p>";
278
}
279
280
if($group_count > 0) {
281
$before = $after = $inside = 0;
282
+ foreach($group_array as $group_id => $group) {
283
+ if(is_page($group['ids']) OR is_category($group['ids']) OR in_category($group['ids'])) {
284
// Advert in front of content
285
+ if(($group['location'] == 1 OR $group['location'] == 3) AND $before == 0) {
286
$post_content = adrotate_group($group_id).$post_content;
287
+ unset($group_array[$group_id]);
288
$before = 1;
289
}
290
+
291
+ // Advert behind the content
292
+ if(($group['location'] == 2 OR $group['location'] == 3) AND $after == 0) {
293
+ $post_content = $post_content.adrotate_group($group_id);
294
+ unset($group_array[$group_id]);
295
+ $after = 1;
296
}
297
298
// Adverts inside the content
299
+ if($group['location'] == 4) {
300
+ $paragraphs = explode('</p>', $post_content);
301
$paragraph_count = count($paragraphs);
302
+ $count_p = ($group['paragraph'] == 99) ? ceil($paragraph_count / 2) : $group['paragraph'];
303
+
304
+ foreach($paragraphs as $index => $paragraph) {
305
+ if(trim($paragraph)) {
306
+ $paragraphs[$index] .= '</p>';
307
+ }
308
+
309
+ if($count_p == $index + 1 AND $inside == 0) {
310
+ $paragraphs[$index] .= adrotate_group($group_id);
311
+ unset($group_array[$group_id]);
312
+ $inside = 1;
313
+ }
314
+ }
315
+ $inside = 0; // Reset for the next paragraph
316
+ $post_content = implode('', $paragraphs);
317
+ unset($paragraphs, $paragraph_count);
318
}
319
}
320
}
321
+ unset($group_array, $before, $after, $inside);
322
}
323
return $post_content;
324
}
325
718
echo ' <div class="button_div"><a class="button" target="_blank" href="https://ajdg.solutions/products/adrotate-for-wordpress/?add-to-cart=1126?pk_campaign=adrotatefree-upgradebanner">'.__('Buy now', 'adrotate').'</a></div>';
719
echo ' <div class="text">'.__("You've been using <strong>AdRotate</strong> for a while now. Why not upgrade to the <strong>PRO</strong> version", 'adrotate').'?<br /><span>'.__('Use discount code <b>getadrotatepro</b> for 10% off on any AdRotate license!', 'adrotate' ).' '.__('Thank you for your purchase!', 'adrotate' ).'</span></div>';
720
echo ' <a class="close_banner" href="admin.php?page=adrotate-pro&hide=1"><img title="Close" src="'.plugins_url('images/icon-close.png', __FILE__).'" alt=""/></a>';
721
+ echo ' <div class="icon"><img title="" src="'.plugins_url('images/logo-60x60.png', __FILE__).'" alt=""/></div>';
722
echo ' </div>';
723
echo '</div>';
724
}
730
echo ' <div class="button_div"><a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Rate AdRotate</a></div>';
731
echo ' <div class="text">If you like <strong>AdRotate</strong> please let the world know that you do. Thanks for your support!<br /><span>If you have questions, suggestions or something else that doesn\'t belong in a review, please <a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/?pk_campaign=adrotatefree-reviewbanner" target="_blank">get in touch</a>!</span></div>';
732
echo ' <a class="close_banner" href="admin.php?page=adrotate&hide=2"><img title="Close" src="'.plugins_url('images/icon-close.png', __FILE__).'" alt=""/></a>';
733
+ echo ' <div class="icon"><img title="" src="'.plugins_url('images/logo-60x60.png', __FILE__).'" alt=""/></div>';
734
echo ' </div>';
735
echo '</div>';
736
}
744
echo ' <div class="adrotate_banner">';
745
echo ' <div class="button_div"><a class="button" href="admin.php?page=adrotate&upgrade=1">Update Now</a></div>';
746
echo ' <div class="text">You have almost finished upgrading <strong>AdRotate</strong> to version <strong>'.ADROTATE_DISPLAY.'</strong>!<br /><span>To complete the update click the button on the left. This may take a few seconds to complete!</span></div>';
747
+ echo ' <div class="icon"><img title="" src="'.plugins_url('images/logo-60x60.png', __FILE__).'" alt=""/></div>';
748
echo ' </div>';
749
echo '</div>';
750
}
826
echo '<thead>';
827
echo '<tr valign="top">';
828
echo ' <th colspan="2">'.__('Help AdRotate Grow', 'adrotate').'</th>';
829
+ echo ' <th style="text-align:center;">'.__('Follow Arnan on Facebook', 'wpevents').'</th>';
830
echo '</tr>';
831
echo '</thead>';
832
833
echo '<tbody>';
834
echo '<tr>';
835
+ echo '<td><center><a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-credits&pk_kwd=adrotate_logo" title="AdRotate plugin for WordPress"><img src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt="AdRotate logo" width="60" height="60" /></a></center></td>';
836
echo '<td>'.__("A lot of users only think to review AdRotate when something goes wrong while thousands of people use AdRotate satisfactory. Don't let this go unnoticed.", 'adrotate').' <strong>'. __("If you find AdRotate useful please leave your honest", 'adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform" target="_blank">'.__('rating','adrotate').'</a> '.__('and','adrotate').' <a href="https://wordpress.org/support/view/plugin-reviews/adrotate" target="_blank">'.__('review','adrotate').'</a> '.__('on WordPress.org to help AdRotate grow in a positive way', 'adrotate').'!</strong></td>';
837
838
+ echo '<td width="25%"><script>(function(d, s, id) {';
839
+ echo 'var js, fjs = d.getElementsByTagName(s)[0];';
840
+ echo 'if (d.getElementById(id)) return;';
841
+ echo 'js = d.createElement(s); js.id = id;';
842
+ echo 'js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";';
843
+ echo 'fjs.parentNode.insertBefore(js, fjs);';
844
+ echo '}(document, \'script\', \'facebook-jssdk\'));</script>';
845
+ echo '<center><div class="fb-page" data-href="https://www.facebook.com/Arnandegans" data-width="315" data-adapt-container-width="true" data-small-header="true" data-hide-cover="false" data-show-facepile="false"></div></center></td>';
846
echo '</tr>';
847
echo '</tbody>';
848
adrotate-setup.php CHANGED
@@ -507,7 +507,6 @@ function adrotate_database_install() {
507
`timer` int(15) unsigned NOT NULL default '0',
508
`bannerid` int(15) unsigned NOT NULL default '0',
509
`stat` char(1) NOT NULL default 'c',
510
- `useragent` mediumtext NOT NULL,
511
`country` text NOT NULL,
512
`city` text NOT NULL,
513
PRIMARY KEY (`id`),
@@ -806,6 +805,12 @@ function adrotate_database_upgrade() {
806
adrotate_del_column("{$wpdb->prefix}adrotate", 'link');
807
}
808
809
update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
810
}
811
507
`timer` int(15) unsigned NOT NULL default '0',
508
`bannerid` int(15) unsigned NOT NULL default '0',
509
`stat` char(1) NOT NULL default 'c',
510
`country` text NOT NULL,
511
`city` text NOT NULL,
512
PRIMARY KEY (`id`),
805
adrotate_del_column("{$wpdb->prefix}adrotate", 'link');
806
}
807
808
+ // Database: 56
809
+ // AdRotate: 3.14.2
810
+ if($adrotate_db_version['current'] < 56) {
811
+ adrotate_del_column("{$wpdb->prefix}adrotate_tracker", 'useragent');
812
+ }
813
+
814
update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
815
}
816
adrotate-widget.php CHANGED
@@ -24,7 +24,7 @@ class adrotate_widgets extends WP_Widget {
24
-------------------------------------------------------------*/
25
function adrotate_widgets() {
26
27
- parent::__construct(false, 'AdRotate', array('description' => "Show unlimited ads in the sidebar."));
28
29
}
30
@@ -47,17 +47,27 @@ class adrotate_widgets extends WP_Widget {
47
}
48
49
if($adrotate_config['widgetalign'] == 'Y') echo '<ul><li>';
50
- if($adrotate_config['w3caching'] == 'Y') echo '<!-- mfunc '.W3TC_DYNAMIC_SECURITY.' -->';
51
-
52
- if($instance['type'] == "single") {
53
- echo adrotate_ad($instance['adid'], true, 0, 0, 0);
54
- }
55
56
- if($instance['type'] == "group") {
57
- echo adrotate_group($instance['adid'], 0, 0, 0);
58
}
59
-
60
- if($adrotate_config['w3caching'] == 'Y') echo '<!-- /mfunc -->';
61
if($adrotate_config['widgetalign'] == 'Y') echo '</li></ul>';
62
63
echo $after_widget;
@@ -100,13 +110,7 @@ class adrotate_widgets extends WP_Widget {
100
$title = esc_attr( $title );
101
$description = esc_attr( $description );
102
$type = esc_attr( $type );
103
-
104
- //Try and preserve pre-fix widget IDs
105
- if(isset($id) and $adid < 1) {
106
- $adid = esc_attr( $id );
107
- } else {
108
- $adid = esc_attr( $adid );
109
- }
110
?>
111
<p>
112
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title (optional):', 'adrotate' ); ?></label>
@@ -123,8 +127,8 @@ class adrotate_widgets extends WP_Widget {
123
<p>
124
<label for="<?php echo $this->get_field_id('type'); ?>"><?php _e( 'Type:', 'adrotate' ); ?></label>
125
<select class="widefat" id="<?php echo $this->get_field_id('type'); ?>" name="<?php echo $this->get_field_name('type'); ?>" class="postform">
126
- <option value="single" <?php if($type == "single") { echo 'selected'; } ?>><?php _e( 'Single Ad - Use Ad ID', 'adrotate' ); ?></option>
127
- <option value="group" <?php if($type == "group") { echo 'selected'; } ?>><?php _e( 'Group of Ads - Use group ID', 'adrotate' ); ?></option>
128
</select>
129
<br />
130
<small><?php _e( 'Choose what you want to use this widget for', 'adrotate' ); ?></small>
24
-------------------------------------------------------------*/
25
function adrotate_widgets() {
26
27
+ parent::__construct(false, 'AdRotate', array('description' => "Show a group of adverts or a single advert in any widget area."));
28
29
}
30
47
}
48
49
if($adrotate_config['widgetalign'] == 'Y') echo '<ul><li>';
50
51
+ if($adrotate_config['w3caching'] == 'Y') {
52
+ echo '<!-- mfunc '.W3TC_DYNAMIC_SECURITY.' -->';
53
+ if($instance['type'] == "single") {
54
+ echo 'echo adrotate_ad('.$instance['adid'].', true, 0, 0, 0);';
55
+ }
56
+
57
+ if($instance['type'] == "group") {
58
+ echo 'echo adrotate_group('.$instance['adid'].', 0, 0, 0);';
59
+ }
60
+ echo '<!-- /mfunc '.W3TC_DYNAMIC_SECURITY.' -->';
61
+ } else {
62
+ if($instance['type'] == "single") {
63
+ echo adrotate_ad($instance['adid'], true, 0, 0, 0);
64
+ }
65
+
66
+ if($instance['type'] == "group") {
67
+ echo adrotate_group($instance['adid'], 0, 0, 0);
68
+ }
69
}
70
+
71
if($adrotate_config['widgetalign'] == 'Y') echo '</li></ul>';
72
73
echo $after_widget;
110
$title = esc_attr( $title );
111
$description = esc_attr( $description );
112
$type = esc_attr( $type );
113
+ $adid = esc_attr( $adid );
114
?>
115
<p>
116
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title (optional):', 'adrotate' ); ?></label>
127
<p>
128
<label for="<?php echo $this->get_field_id('type'); ?>"><?php _e( 'Type:', 'adrotate' ); ?></label>
129
<select class="widefat" id="<?php echo $this->get_field_id('type'); ?>" name="<?php echo $this->get_field_name('type'); ?>" class="postform">
130
+ <option value="single" <?php if($type == "single") { echo 'selected'; } ?>><?php _e( 'Advert - Use Advert ID', 'adrotate' ); ?></option>
131
+ <option value="group" <?php if($type == "group") { echo 'selected'; } ?>><?php _e( 'Group - Use group ID', 'adrotate' ); ?></option>
132
</select>
133
<br />
134
<small><?php _e( 'Choose what you want to use this widget for', 'adrotate' ); ?></small>
adrotate.php CHANGED
@@ -7,7 +7,7 @@ Author URI: http://ajdg.solutions/?pk_campaign=adrotatefree-pluginpage
7
Description: The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
8
Text Domain: adrotate
9
Domain Path: /languages/
10
- Version: 3.14.1
11
License: GPLv3
12
*/
13
@@ -22,9 +22,9 @@ License: GPLv3
22
------------------------------------------------------------------------------------ */
23
24
/*--- AdRotate values ---------------------------------------*/
25
- define("ADROTATE_DISPLAY", '3.14.1');
26
define("ADROTATE_VERSION", 380);
27
- define("ADROTATE_DB_VERSION", 55);
28
/*-----------------------------------------------------------*/
29
30
/*--- Load Files --------------------------------------------*/
7
Description: The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
8
Text Domain: adrotate
9
Domain Path: /languages/
10
+ Version: 3.14.2
11
License: GPLv3
12
*/
13
22
------------------------------------------------------------------------------------ */
23
24
/*--- AdRotate values ---------------------------------------*/
25
+ define("ADROTATE_DISPLAY", '3.14.2');
26
define("ADROTATE_VERSION", 380);
27
+ define("ADROTATE_DB_VERSION", 56);
28
/*-----------------------------------------------------------*/
29
30
/*--- Load Files --------------------------------------------*/
dashboard/adrotatepro.php CHANGED
@@ -48,27 +48,20 @@
48
<h3><?php _e('AdRotate is brought to you by', 'adrotate'); ?></h3>
49
<div class="postbox-adrotate">
50
<div class="inside">
51
- <p><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/arnan-jungle.jpg" alt="Arnan de Gans" width="100" height="100" align="left" class="adrotate-photo" style="margin: 0 10px 0 0;" />
52
- <a href="http://meandmymac.net/?pk_campaign=adrotatefree-propage" title="Arnan de Gans">Arnan de Gans</a> (<a href="https://ajdg.solutions/?pk_campaign=adrotatefree-propage" title="Arnan de Gans">AJdG Solutions</a>) - <?php _e('Premium plugins, support and services for WordPress and WooCommerce! I am a digital nomad in the Philippines. Click on my name to find out more about me and what I am doing. Thanks for your support and for using my plugins!', 'adrotate'); ?></p>
53
- <table width="100%">
54
- <tr class="first">
55
- <td class="first b">
56
- <div id="fb-root"></div>
57
- <script>(function(d, s, id) {
58
- var js, fjs = d.getElementsByTagName(s)[0];
59
- if (d.getElementById(id)) return;
60
- js = d.createElement(s); js.id = id;
61
- js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
62
- fjs.parentNode.insertBefore(js, fjs);
63
- }(document, 'script', 'facebook-jssdk'));</script><center><div class="fb-like" data-href="https://www.facebook.com/Arnandegans/" data-width="250" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div></center>
64
- </td>
65
-
66
- <td class="b">
67
- <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script><center><a href="https://twitter.com/arnandegans" class="twitter-follow-button" data-show-count="false" data-size="large" data-dnt="true"></a></center>
68
- </td>
69
- </tr>
70
- </tbody>
71
- </table>
72
</div>
73
</div>
74
48
<h3><?php _e('AdRotate is brought to you by', 'adrotate'); ?></h3>
49
<div class="postbox-adrotate">
50
<div class="inside">
51
+ <script>(function(d, s, id) {
52
+ var js, fjs = d.getElementsByTagName(s)[0];
53
+ if (d.getElementById(id)) return;
54
+ js = d.createElement(s); js.id = id;
55
+ js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
56
+ fjs.parentNode.insertBefore(js, fjs);
57
+ }(document, 'script', 'facebook-jssdk'));</script>
58
+ <p><center><div class="fb-page"
59
+ data-href="https://www.facebook.com/Arnandegans"
60
+ data-width="490"
61
+ data-adapt-container-width="true"
62
+ data-hide-cover="false"
63
+ data-show-facepile="false">
64
+ </div></center></p>
65
</div>
66
</div>
67
dashboard/info.php CHANGED
@@ -52,25 +52,22 @@ $data = get_option("adrotate_advert_status");
52
<tbody>
53
<tr class="first">
54
<td colspan="2">
55
- <center><?php _e('Your donation helps to improve AdRotate. Consider writing a review if you like AdRotate. Also follow my Facebook page and twitter. Thank you!', 'adrotate-pro'); ?><br /><br />
56
<center><a class="button-primary" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40ajdg%2enet&item_name=AdRotate%20Donation&no_shipping=0&no_note=0&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&amount=10" target="_blank">Donate &euro; 10 via Paypal</a> <a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Write review on WordPress.org</a></center><br />
57
- </td>
58
- </tr>
59
-
60
- <tr class="first">
61
- <td class="first b">
62
- <div id="fb-root"></div>
63
<script>(function(d, s, id) {
64
var js, fjs = d.getElementsByTagName(s)[0];
65
if (d.getElementById(id)) return;
66
js = d.createElement(s); js.id = id;
67
- js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
68
fjs.parentNode.insertBefore(js, fjs);
69
- }(document, 'script', 'facebook-jssdk'));</script><center><div class="fb-like" data-href="https://www.facebook.com/Arnandegans/" data-width="250" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div></center>
70
- </td>
71
-
72
- <td class="b">
73
- <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script><center><a href="https://twitter.com/arnandegans" class="twitter-follow-button" data-show-count="false" data-size="large" data-dnt="true"></a></center>
74
</td>
75
</tr>
76
</tbody>
@@ -78,35 +75,6 @@ $data = get_option("adrotate_advert_status");
78
</div>
79
</div>
80
81
- <h3><?php _e('AdRotate News and Developer Blog', 'adrotate'); ?></h3>
82
- <div class="postbox-adrotate">
83
- <div class="inside">
84
- <?php
85
- wp_widget_rss_output(array(
86
- 'url' => array('http://meandmymac.net/feed/', 'http://ajdg.solutions/feed/'),
87
- 'title' => 'News',
88
- 'items' => 4,
89
- 'show_summary' => 1,
90
- 'show_author' => 0,
91
- 'show_date' => 1)
92
- );
93
- ?>
94
- </div>
95
- </div>
96
-
97
- </div>
98
- </div>
99
-
100
- <div id="postbox-container-3" class="postbox-container" style="width:50%;">
101
- <div id="side-sortables" class="meta-box-sortables ui-sortable">
102
-
103
- <h3><?php _e('Get more features with AdRotate Pro', 'adrotate'); ?></h3>
104
- <div class="postbox-adrotate">
105
- <div class="inside">
106
- <p><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-logo-60x60.png" alt="adrotate-logo-60x60" width="60" height="60" align="left" style="padding: 0 10px 10px 0;" /><?php _e('Benefit from extra features to reinforce your income with advertising campaigns. Make the most of your website with the powerful tools AdRotate Pro offers on top of the trusted features included in the free version.', 'adrotate'); ?> <?php _e('Want to know more about', 'adrotate'); ?> <a href="admin.php?page=adrotate-pro">AdRotate Pro</a>? <?php _e('Visit the', 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-infopage" target="_blank">AdRotate <?php _e('website', 'adrotate'); ?></a>.</p>
107
- </div>
108
- </div>
109
-
110
<h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
111
<div class="postbox-adrotate">
112
<div class="inside">
@@ -116,12 +84,7 @@ $data = get_option("adrotate_advert_status");
116
<p><h4><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</h4><?php _e(' For up to five WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128&pk_campaign=adrotatefree-infopage&pk_kwd=buy_multi" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
117
<p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 299.00)</h4><?php _e('Unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&pk_campaign=adrotatefree-infopage&pk_kwd=buy_developer" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
118
<p><h4><?php _e('Compare licenses', 'adrotate'); ?></h4> <?php _e("Not sure which license is for you? Compare them...", 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-infopage&pk_kwd=compare_license" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
119
- </div>
120
- </div>
121
<!--
122
- <h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
123
- <div class="postbox-adrotate">
124
- <div class="inside">
125
<img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-product.png" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" />
126
<p><h4><?php _e('Lifetime License', 'adrotate'); ?> (&euro; 59.00)</h4><?php _e('Single installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&pk_campaign=adrotatefree-infopage&pk_kwd=buy_single" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
127
<p><h4><?php _e('Duo License', 'adrotate'); ?> (&euro; 29.00 p/year)</h4><?php _e('Up to 2 installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126&pk_campaign=adrotatefree-infopage&pk_kwd=buy_duo" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
@@ -129,9 +92,9 @@ $data = get_option("adrotate_advert_status");
129
<p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 199.00 p/year)</h4><?php _e('Up to 25 installations or multisite networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&pk_campaign=adrotatefree-infopage&pk_kwd=buy_developer" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
130
<p><em><?php _e('Subscriptions get 1 year access to updates, email support & AdRotate Geo.', 'adrotate'); ?></em></p>
131
<p><h4><?php _e('Compare licenses', 'adrotate'); ?></h4> <?php _e("Not sure which license is for you?", 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-infopage&pk_kwd=compare_license" target="_blank"><?php _e('Compare Licenses', 'adrotate'); ?> &raquo;</a></p>
132
</div>
133
</div>
134
- -->
135
136
<h3><?php _e('AdRotate is brought to you by', 'adrotate'); ?></h3>
137
<div class="postbox-adrotate">
@@ -141,6 +104,35 @@ $data = get_option("adrotate_advert_status");
141
</div>
142
</div>
143
144
</div>
145
</div>
146
52
<tbody>
53
<tr class="first">
54
<td colspan="2">
55
+ <center><?php _e('Consider writing a review if you like AdRotate. Also follow my Facebook page for updates about me and my plugins. Thank you!', 'adrotate-pro'); ?><br /><br />
56
<center><a class="button-primary" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40ajdg%2enet&item_name=AdRotate%20Donation&no_shipping=0&no_note=0&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8&amount=10" target="_blank">Donate &euro; 10 via Paypal</a> <a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Write review on WordPress.org</a></center><br />
57
<script>(function(d, s, id) {
58
var js, fjs = d.getElementsByTagName(s)[0];
59
if (d.getElementById(id)) return;
60
js = d.createElement(s); js.id = id;
61
+ js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
62
fjs.parentNode.insertBefore(js, fjs);
63
+ }(document, 'script', 'facebook-jssdk'));</script>
64
+ <p><center><div class="fb-page"
65
+ data-href="https://www.facebook.com/Arnandegans"
66
+ data-width="490"
67
+ data-adapt-container-width="true"
68
+ data-hide-cover="false"
69
+ data-show-facepile="false">
70
+ </div></center></p>
71
</td>
72
</tr>
73
</tbody>
75
</div>
76
</div>
77
78
<h3><?php _e('Buy AdRotate Professional', 'adrotate'); ?></h3>
79
<div class="postbox-adrotate">
80
<div class="inside">
84
<p><h4><?php _e('Multi License', 'adrotate'); ?> (&euro; 99.00)</h4><?php _e(' For up to five WordPress installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1128&pk_campaign=adrotatefree-infopage&pk_kwd=buy_multi" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
85
<p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 299.00)</h4><?php _e('Unlimited WordPress installations and/or networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&pk_campaign=adrotatefree-infopage&pk_kwd=buy_developer" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
86
<p><h4><?php _e('Compare licenses', 'adrotate'); ?></h4> <?php _e("Not sure which license is for you? Compare them...", 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-infopage&pk_kwd=compare_license" target="_blank"><?php _e('All Licenses', 'adrotate'); ?> &raquo;</a></p>
87
<!--
88
<img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/adrotate-product.png" alt="adrotate-product" width="150" height="150" align="right" style="padding: 0 0 10px 10px;" />
89
<p><h4><?php _e('Lifetime License', 'adrotate'); ?> (&euro; 59.00)</h4><?php _e('Single installation.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1124&pk_campaign=adrotatefree-infopage&pk_kwd=buy_single" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
90
<p><h4><?php _e('Duo License', 'adrotate'); ?> (&euro; 29.00 p/year)</h4><?php _e('Up to 2 installations.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1126&pk_campaign=adrotatefree-infopage&pk_kwd=buy_duo" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
92
<p><h4><?php _e('Developer License', 'adrotate'); ?> (&euro; 199.00 p/year)</h4><?php _e('Up to 25 installations or multisite networks.', 'adrotate'); ?> <a href="https://ajdg.solutions/cart/?add-to-cart=1130&pk_campaign=adrotatefree-infopage&pk_kwd=buy_developer" target="_blank"><?php _e('Buy now', 'adrotate'); ?> &raquo;</a></p>
93
<p><em><?php _e('Subscriptions get 1 year access to updates, email support & AdRotate Geo.', 'adrotate'); ?></em></p>
94
<p><h4><?php _e('Compare licenses', 'adrotate'); ?></h4> <?php _e("Not sure which license is for you?", 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-infopage&pk_kwd=compare_license" target="_blank"><?php _e('Compare Licenses', 'adrotate'); ?> &raquo;</a></p>
95
+ -->
96
</div>
97
</div>
98
99
<h3><?php _e('AdRotate is brought to you by', 'adrotate'); ?></h3>
100
<div class="postbox-adrotate">
104
</div>
105
</div>
106
107
+ </div>
108
+ </div>
109
+
110
+ <div id="postbox-container-3" class="postbox-container" style="width:50%;">
111
+ <div id="side-sortables" class="meta-box-sortables ui-sortable">
112
+
113
+ <h3><?php _e('Get more features with AdRotate Pro', 'adrotate'); ?></h3>
114
+ <div class="postbox-adrotate">
115
+ <div class="inside">
116
+ <p><img src="<?php echo WP_CONTENT_URL; ?>/plugins/adrotate/images/logo-60x60.png" alt="AdRotate logo" width="60" height="60" align="left" style="padding: 0 10px 10px 0;" /><?php _e('Benefit from extra features to reinforce your income with advertising campaigns. Make the most of your website with the powerful tools AdRotate Pro offers on top of the trusted features included in the free version.', 'adrotate'); ?> <?php _e('Want to know more about', 'adrotate'); ?> <a href="admin.php?page=adrotate-pro">AdRotate Pro</a>? <?php _e('Visit the', 'adrotate'); ?> <a href="https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-infopage" target="_blank">AdRotate <?php _e('website', 'adrotate'); ?></a>.</p>
117
+ </div>
118
+ </div>
119
+
120
+ <h3><?php _e('AdRotate News and Developer Blog', 'adrotate'); ?></h3>
121
+ <div class="postbox-adrotate">
122
+ <div class="inside">
123
+ <?php
124
+ wp_widget_rss_output(array(
125
+ 'url' => array('http://meandmymac.net/feed/', 'http://ajdg.solutions/feed/'),
126
+ 'title' => 'News',
127
+ 'items' => 6,
128
+ 'show_summary' => 1,
129
+ 'show_author' => 0,
130
+ 'show_date' => 1)
131
+ );
132
+ ?>
133
+ </div>
134
+ </div>
135
+
136
</div>
137
</div>
138
dashboard/settings/maintenance.php CHANGED
@@ -66,6 +66,12 @@
66
<td valign="top"><?php _e('Current status of adverts', 'adrotate'); ?></td>
67
<td><?php _e('Normal', 'adrotate'); ?>: <?php echo $adrotate_advert_status['normal']; ?>, <?php _e('Error', 'adrotate'); ?>: <?php echo $adrotate_advert_status['error']; ?>, <?php _e('Expired', 'adrotate'); ?>: <?php echo $adrotate_advert_status['expired']; ?>, <?php _e('Expires Soon', 'adrotate'); ?>: <?php echo $adrotate_advert_status['expiressoon']; ?>, <?php _e('Unknown', 'adrotate'); ?>: <?php echo $adrotate_advert_status['unknown']; ?>.</td>
68
</tr>
69
<tr>
70
<td><?php _e('Ad evaluation next run:', 'adrotate'); ?></td>
71
<td><?php if(!$adevaluate) _e('Not scheduled!', 'adrotate'); else echo date_i18n(get_option('date_format')." H:i", $adevaluate); ?></td>
66
<td valign="top"><?php _e('Current status of adverts', 'adrotate'); ?></td>
67
<td><?php _e('Normal', 'adrotate'); ?>: <?php echo $adrotate_advert_status['normal']; ?>, <?php _e('Error', 'adrotate'); ?>: <?php echo $adrotate_advert_status['error']; ?>, <?php _e('Expired', 'adrotate'); ?>: <?php echo $adrotate_advert_status['expired']; ?>, <?php _e('Expires Soon', 'adrotate'); ?>: <?php echo $adrotate_advert_status['expiressoon']; ?>, <?php _e('Unknown', 'adrotate'); ?>: <?php echo $adrotate_advert_status['unknown']; ?>.</td>
68
</tr>
69
+ <tr>
70
+ <td><?php _e('Banners/assets Folder', 'adrotate-pro'); ?></td>
71
+ <td>
72
+ <?php echo (is_writable(ABSPATH.'wp-content/banners/')) ? '<span style="color:#009900;">'.__('Exists and appears writable', 'adrotate-pro').'</span>' : '<span style="color:#CC2900;">'.__('Not writable or does not exist', 'adrotate-pro').'</span>'; ?>
73
+ </td>
74
+ </tr>
75
<tr>
76
<td><?php _e('Ad evaluation next run:', 'adrotate'); ?></td>
77
<td><?php if(!$adevaluate) _e('Not scheduled!', 'adrotate'); else echo date_i18n(get_option('date_format')." H:i", $adevaluate); ?></td>
images/{adrotate-logo-60x60.png → logo-60x60.png} RENAMED
File without changes
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: adegans
3
Donate link: http://meandmymac.net/donate/?pk_campaign=adrotatefree-readme
4
Tags: ads, banner, commercial, admin, advertise, adrotator, plugin, random, rotator, ad, advertising, advertisement, block, blocks, advertiser, publisher, adsense, geo, geolocation, geotarget, chitika, clickbank, broadstreet, banner manager,advert manager, campaign manager, export, import, telize, maxmind, referrer, email, menu, statistics, stats, report, advert, adverts, popular, best, great, 2014, geoselect, geobytes, schedules, schedule, monetize, header, widget, javascript, jquery, tracking, clicks, impressions, rotate, zone, zones, sidebar, footer, content, posts, pages, 2015
5
Requires at least: 3.8
6
- Tested up to: 4.4
7
- Stable tag: 3.14.1
8
License: GPLv3
9
10
The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
@@ -91,16 +91,26 @@ You can also post your questions on the [forum](https://ajdg.solutions/forums/?p
91
92
Be a Pro and go Pro. With [AdRotate Pro](https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-readme)!
93
94
- = 3.14.1 FREE =
95
- * [change] Few dashboard updates, better wording and such
96
- * [change] Removed obsolete 'link' column from database
97
- * [i18n] Updated translation strings
98
-
99
- = 3.18.2 PRO =
100
- * [change] Tweaks to Geo Targeting settings
101
* [change] Dashboard tweaks
102
- * [fix] Telize/GeoBytes not redirecting to AdRotate Geo properly
103
- * [i18n] Updated translation strings
104
105
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?pk_campaign=adrotatefree-readme).
106
@@ -108,10 +118,10 @@ NOTE: Unsolicited offers, parnterships, job offers, promotional emails or produc
108
109
== Upgrade Notice ==
110
111
- = 3.14.1 FREE =
112
- * [change] Few dashboard updates, better wording and such
113
- * [change] Removed obsolete 'link' column from database
114
- * [i18n] Updated translation strings
115
116
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?pk_campaign=adrotatefree-readme).
117
3
Donate link: http://meandmymac.net/donate/?pk_campaign=adrotatefree-readme
4
Tags: ads, banner, commercial, admin, advertise, adrotator, plugin, random, rotator, ad, advertising, advertisement, block, blocks, advertiser, publisher, adsense, geo, geolocation, geotarget, chitika, clickbank, broadstreet, banner manager,advert manager, campaign manager, export, import, telize, maxmind, referrer, email, menu, statistics, stats, report, advert, adverts, popular, best, great, 2014, geoselect, geobytes, schedules, schedule, monetize, header, widget, javascript, jquery, tracking, clicks, impressions, rotate, zone, zones, sidebar, footer, content, posts, pages, 2015
5
Requires at least: 3.8
6
+ Tested up to: 4.4.1
7
+ Stable tag: 3.14.2
8
License: GPLv3
9
10
The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
91
92
Be a Pro and go Pro. With [AdRotate Pro](https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-readme)!
93
94
+ = 3.14.2 FREE =
95
+ * [change] Better W3 Total Cache support
96
+ * [fix] Post injection not always showing with multiple groups
97
+ * [fix] Removed obsolete useragent column from database
98
+
99
+ = 3.19 PRO =
100
+ * [new] Post Injection extends to widgets
101
+ * [new] Page Injection extends to widgets
102
+ * [new] All new widgets for easier control and setup
103
+ * [new] AdRotate Geo API v3
104
+ * [new] AdRotate Update API v4
105
* [change] Dashboard tweaks
106
+ * [change] Better W3 Total Cache support
107
+ * [fix] Post injection not always showing with multiple groups
108
+ * [fix] Better day recognition for schedules
109
+ * [fix] Correct schedule creation for renewing adverts
110
+ * [fix] Correct device icons for adverts in groups and schedules
111
+ * [fix] Removed obsolete useragent column from database
112
+ * [fix] Better use of WP_Error for Geo Targeting
113
+ * [fix] Better error reporting for Geo Targeting
114
115
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?pk_campaign=adrotatefree-readme).
116
118
119
== Upgrade Notice ==
120
121
+ = 3.14.2 FREE =
122
+ * [change] Better W3 Total Cache support
123
+ * [fix] Post injection not always showing with multiple groups
124
+ * [fix] Removed obsolete useragent column from database
125
126
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?pk_campaign=adrotatefree-readme).
127