AdRotate Banner Manager - Version 5.8.4

Version Description

Enjoy this latest update with the latest tweaks and improvements for AdRotate for WordPress!

Download this release

Release Info

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

Code changes from version 5.8.3.1 to 5.8.4

Files changed (3) hide show
  1. adrotate.php +21 -7
  2. dashboard/publisher/adverts-edit.php +1 -1
  3. readme.txt +14 -1
adrotate.php CHANGED
@@ -6,7 +6,7 @@ Author: Arnan de Gans
6
  Author URI: https://www.arnan.me/?pk_campaign=adrotatefree&pk_keyword=plugin_info
7
  Description: Monetise your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
- Version: 5.8.3.1
10
  License: GPLv3
11
  */
12
 
@@ -21,7 +21,7 @@ License: GPLv3
21
  ------------------------------------------------------------------------------------ */
22
 
23
  /*--- AdRotate values ---------------------------------------*/
24
- define("ADROTATE_DISPLAY", '5.8.3.1');
25
  define("ADROTATE_VERSION", 399);
26
  define("ADROTATE_DB_VERSION", 66);
27
  $plugin_folder = plugin_dir_path(__FILE__);
@@ -170,6 +170,10 @@ function adrotate_manage() {
170
  if(isset($_GET['file'])) $file = esc_attr($_GET['file']);
171
  if(isset($_GET['view'])) $view = esc_attr($_GET['view']);
172
  if(isset($_GET['ad'])) $ad_edit_id = esc_attr($_GET['ad']);
 
 
 
 
173
  $now = adrotate_now();
174
  $today = adrotate_date_start('day');
175
  $in2days = $now + 172800;
@@ -292,6 +296,9 @@ function adrotate_manage_group() {
292
  if(isset($_GET['view'])) $view = esc_attr($_GET['view']);
293
  if(isset($_GET['group'])) $group_edit_id = esc_attr($_GET['group']);
294
 
 
 
 
295
  if(isset($_GET['month']) AND isset($_GET['year'])) {
296
  $month = esc_attr($_GET['month']);
297
  $year = esc_attr($_GET['year']);
@@ -342,8 +349,8 @@ function adrotate_manage_group() {
342
  function adrotate_manage_schedules() {
343
  global $wpdb, $adrotate_config;
344
 
345
- $now = adrotate_now();
346
- $in2days = $now + 172800;
347
  ?>
348
  <div class="wrap">
349
  <h1><?php _e('Schedules', 'adrotate'); ?></h1>
@@ -367,12 +374,15 @@ function adrotate_manage_schedules() {
367
  function adrotate_statistics() {
368
  global $wpdb, $adrotate_config;
369
 
370
- $status = $view = $id = $file = '';
371
  if(isset($_GET['status'])) $status = esc_attr($_GET['status']);
372
  if(isset($_GET['view'])) $view = esc_attr($_GET['view']);
373
  if(isset($_GET['id'])) $id = esc_attr($_GET['id']);
374
  if(isset($_GET['file'])) $file = esc_attr($_GET['file']);
375
 
 
 
 
376
  if(isset($_GET['month']) AND isset($_GET['year'])) {
377
  $month = esc_attr($_GET['month']);
378
  $year = esc_attr($_GET['year']);
@@ -417,6 +427,8 @@ function adrotate_manage_media() {
417
  if(isset($_GET['status'])) $status = esc_attr($_GET['status']);
418
  if(isset($_GET['file'])) $file = esc_attr($_GET['file']);
419
 
 
 
420
  if(strlen($file) > 0 AND wp_verify_nonce($_REQUEST['_wpnonce'], 'adrotate_delete_media_'.$file)) {
421
  if(adrotate_unlink($file)) {
422
  $status = 206;
@@ -456,6 +468,7 @@ function adrotate_support() {
456
  if(isset($_GET['status'])) $status = esc_attr($_GET['status']);
457
  if(isset($_GET['file'])) $file = esc_attr($_GET['file']);
458
 
 
459
  $current_user = wp_get_current_user();
460
 
461
  if(adrotate_is_networked()) {
@@ -487,7 +500,8 @@ function adrotate_options() {
487
 
488
  $active_tab = (isset($_GET['tab'])) ? esc_attr($_GET['tab']) : 'general';
489
  $status = (isset($_GET['status'])) ? esc_attr($_GET['status']) : '';
490
- $error = (isset($_GET['error'])) ? esc_attr($_GET['error']) : '';
 
491
 
492
  $action = (isset($_GET['action'])) ? esc_attr($_GET['action']) : '';
493
  if($action == 'update-db') adrotate_check_upgrade();
@@ -497,7 +511,7 @@ function adrotate_options() {
497
  <div class="wrap">
498
  <h1><?php _e('AdRotate Settings', 'adrotate'); ?></h1>
499
 
500
- <?php if($status > 0) adrotate_status($status, array('error' => $error)); ?>
501
 
502
  <h2 class="nav-tab-wrapper">
503
  <a href="?page=adrotate-settings&tab=general" class="nav-tab <?php echo $active_tab == 'general' ? 'nav-tab-active' : ''; ?>"><?php _e('General', 'adrotate'); ?></a>
6
  Author URI: https://www.arnan.me/?pk_campaign=adrotatefree&pk_keyword=plugin_info
7
  Description: Monetise your website with adverts while keeping things simple. Start making money today!
8
  Text Domain: adrotate
9
+ Version: 5.8.4
10
  License: GPLv3
11
  */
12
 
21
  ------------------------------------------------------------------------------------ */
22
 
23
  /*--- AdRotate values ---------------------------------------*/
24
+ define("ADROTATE_DISPLAY", '5.8.4');
25
  define("ADROTATE_VERSION", 399);
26
  define("ADROTATE_DB_VERSION", 66);
27
  $plugin_folder = plugin_dir_path(__FILE__);
170
  if(isset($_GET['file'])) $file = esc_attr($_GET['file']);
171
  if(isset($_GET['view'])) $view = esc_attr($_GET['view']);
172
  if(isset($_GET['ad'])) $ad_edit_id = esc_attr($_GET['ad']);
173
+
174
+ if(!is_numeric($status)) $status = 0;
175
+ if(!is_numeric($ad_edit_id)) $ad_edit_id = 0;
176
+
177
  $now = adrotate_now();
178
  $today = adrotate_date_start('day');
179
  $in2days = $now + 172800;
296
  if(isset($_GET['view'])) $view = esc_attr($_GET['view']);
297
  if(isset($_GET['group'])) $group_edit_id = esc_attr($_GET['group']);
298
 
299
+ if(!is_numeric($status)) $status = 0;
300
+ if(!is_numeric($group_edit_id)) $group_edit_id = 0;
301
+
302
  if(isset($_GET['month']) AND isset($_GET['year'])) {
303
  $month = esc_attr($_GET['month']);
304
  $year = esc_attr($_GET['year']);
349
  function adrotate_manage_schedules() {
350
  global $wpdb, $adrotate_config;
351
 
352
+ $now = adrotate_now();
353
+ $in2days = $now + 172800;
354
  ?>
355
  <div class="wrap">
356
  <h1><?php _e('Schedules', 'adrotate'); ?></h1>
374
  function adrotate_statistics() {
375
  global $wpdb, $adrotate_config;
376
 
377
+ $status = $view = $file = $id = '';
378
  if(isset($_GET['status'])) $status = esc_attr($_GET['status']);
379
  if(isset($_GET['view'])) $view = esc_attr($_GET['view']);
380
  if(isset($_GET['id'])) $id = esc_attr($_GET['id']);
381
  if(isset($_GET['file'])) $file = esc_attr($_GET['file']);
382
 
383
+ if(!is_numeric($status)) $status = 0;
384
+ if(!is_numeric($id)) $id = 0;
385
+
386
  if(isset($_GET['month']) AND isset($_GET['year'])) {
387
  $month = esc_attr($_GET['month']);
388
  $year = esc_attr($_GET['year']);
427
  if(isset($_GET['status'])) $status = esc_attr($_GET['status']);
428
  if(isset($_GET['file'])) $file = esc_attr($_GET['file']);
429
 
430
+ if(!is_numeric($status)) $status = 0;
431
+
432
  if(strlen($file) > 0 AND wp_verify_nonce($_REQUEST['_wpnonce'], 'adrotate_delete_media_'.$file)) {
433
  if(adrotate_unlink($file)) {
434
  $status = 206;
468
  if(isset($_GET['status'])) $status = esc_attr($_GET['status']);
469
  if(isset($_GET['file'])) $file = esc_attr($_GET['file']);
470
 
471
+ if(!is_numeric($status)) $status = 0;
472
  $current_user = wp_get_current_user();
473
 
474
  if(adrotate_is_networked()) {
500
 
501
  $active_tab = (isset($_GET['tab'])) ? esc_attr($_GET['tab']) : 'general';
502
  $status = (isset($_GET['status'])) ? esc_attr($_GET['status']) : '';
503
+
504
+ if(!is_numeric($status)) $status = 0;
505
 
506
  $action = (isset($_GET['action'])) ? esc_attr($_GET['action']) : '';
507
  if($action == 'update-db') adrotate_check_upgrade();
511
  <div class="wrap">
512
  <h1><?php _e('AdRotate Settings', 'adrotate'); ?></h1>
513
 
514
+ <?php if($status > 0) adrotate_status($status); ?>
515
 
516
  <h2 class="nav-tab-wrapper">
517
  <a href="?page=adrotate-settings&tab=general" class="nav-tab <?php echo $active_tab == 'general' ? 'nav-tab-active' : ''; ?>"><?php _e('General', 'adrotate'); ?></a>
dashboard/publisher/adverts-edit.php CHANGED
@@ -12,7 +12,7 @@
12
  if(!$ad_edit_id) {
13
  $edit_id = $wpdb->get_var("SELECT `id` FROM `{$wpdb->prefix}adrotate` WHERE `type` = 'empty' ORDER BY `id` DESC LIMIT 1;");
14
  if($edit_id == 0) {
15
- $wpdb->insert($wpdb->prefix."adrotate", array('title' => '', 'bannercode' => '', 'thetime' => $now, 'updated' => $now, 'author' => $userdata->user_login, 'imagetype' => 'dropdown', 'image' => '', 'tracker' => 'N', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'type' => 'empty', 'weight' => 6, 'autodelete' => 'N', 'budget' => 0, 'crate' => 0, 'irate' => 0, 'state_req' => 'N', 'cities' => serialize(array()), 'states' => serialize(array()), 'cities' => serialize(array()), 'countries' => serialize(array())));
16
  $edit_id = $wpdb->insert_id;
17
 
18
  $wpdb->insert($wpdb->prefix.'adrotate_schedule', array('name' => 'Schedule for ad '.$edit_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'daystarttime' => '0000', 'daystoptime' => '0000', 'day_mon' => 'Y', 'day_tue' => 'Y', 'day_wed' => 'Y', 'day_thu' => 'Y', 'day_fri' => 'Y', 'day_sat' => 'Y', 'day_sun' => 'Y', 'autodelete' => 'N'));
12
  if(!$ad_edit_id) {
13
  $edit_id = $wpdb->get_var("SELECT `id` FROM `{$wpdb->prefix}adrotate` WHERE `type` = 'empty' ORDER BY `id` DESC LIMIT 1;");
14
  if($edit_id == 0) {
15
+ $wpdb->insert($wpdb->prefix."adrotate", array('title' => '', 'bannercode' => '', 'thetime' => $now, 'updated' => $now, 'author' => $userdata->user_login, 'imagetype' => 'dropdown', 'image' => '', 'tracker' => 'N', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'type' => 'empty', 'weight' => 6, 'autodelete' => 'N', 'budget' => 0, 'crate' => 0, 'irate' => 0, 'state_req' => 'N', 'cities' => serialize(array()), 'states' => serialize(array()), 'countries' => serialize(array())));
16
  $edit_id = $wpdb->insert_id;
17
 
18
  $wpdb->insert($wpdb->prefix.'adrotate_schedule', array('name' => 'Schedule for ad '.$edit_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'daystarttime' => '0000', 'daystoptime' => '0000', 'day_mon' => 'Y', 'day_tue' => 'Y', 'day_wed' => 'Y', 'day_thu' => 'Y', 'day_fri' => 'Y', 'day_sat' => 'Y', 'day_sun' => 'Y', 'autodelete' => 'N'));
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: adverts, ads, banners, advert manager, ad manager, banner manager, monetis
5
  Requires at least: 4.6
6
  Requires PHP: 5.6
7
  Tested up to: 5.4.1
8
- Stable tag: 5.8.3.1
9
  License: GPLv3
10
 
11
  AdRotate is the only advert manager you'll ever need for WordPress.
@@ -40,6 +40,16 @@ With AdRotate you can easily create your own adverts and campaigns with HTML an
40
 
41
  AdRotate and AdRotate Professional share many features. But some features are available in AdRotate Professional only. Learn more about [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?pk_campaign=adrotatefree&pk_keyword=readme) on my website.
42
 
 
 
 
 
 
 
 
 
 
 
43
  == Installation ==
44
 
45
  Installing the plugin is as easy as searching for "AdRotate Arnan" or simply "AdRotate" in your plugin dashboard and clicking "Install Now" from your dashboards plugin page. Just like every other plugin.
@@ -51,6 +61,9 @@ For more detailed instructions check out the [installation steps](https://ajdg.s
51
 
52
  For the full changelog check out the [development page](https://ajdg.solutions/support/adrotate-development/?pk_campaign=adrotatefree&pk_keyword=readme).
53
 
 
 
 
54
  = AdRotate 5.8.3.1 =
55
  * [i18n] Updated Dutch translation
56
  * [i18n] Updated French translation
5
  Requires at least: 4.6
6
  Requires PHP: 5.6
7
  Tested up to: 5.4.1
8
+ Stable tag: 5.8.4
9
  License: GPLv3
10
 
11
  AdRotate is the only advert manager you'll ever need for WordPress.
40
 
41
  AdRotate and AdRotate Professional share many features. But some features are available in AdRotate Professional only. Learn more about [AdRotate Professional](https://ajdg.solutions/product-category/adrotate-pro/?pk_campaign=adrotatefree&pk_keyword=readme) on my website.
42
 
43
+ **Translations**
44
+
45
+ * English (default)
46
+ * German
47
+ * Spanish
48
+ * French
49
+ * Dutch
50
+ * Italian
51
+ * Other translations available provided by community.
52
+
53
  == Installation ==
54
 
55
  Installing the plugin is as easy as searching for "AdRotate Arnan" or simply "AdRotate" in your plugin dashboard and clicking "Install Now" from your dashboards plugin page. Just like every other plugin.
61
 
62
  For the full changelog check out the [development page](https://ajdg.solutions/support/adrotate-development/?pk_campaign=adrotatefree&pk_keyword=readme).
63
 
64
+ = AdRotate 5.8.4 =
65
+ * [fix] Possible XSS vulnerability for certain urls
66
+
67
  = AdRotate 5.8.3.1 =
68
  * [i18n] Updated Dutch translation
69
  * [i18n] Updated French translation