AdRotate Banner Manager - Version 4.5

Version Description

FREE = * [new] Basic advert code generator * [fix] Unable to edit adverts with empty titles

Download this release

Release Info

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

Code changes from version 4.4 to 4.5

adrotate-functions.php CHANGED
@@ -369,7 +369,7 @@ function adrotate_prepare_evaluate_ads($return = true) {
369
global $wpdb;
370
371
// Fetch ads
372
- $ads = $wpdb->get_results("SELECT `id` FROM `{$wpdb->prefix}adrotate` WHERE `type` != 'disabled' AND `type` != 'empty' ORDER BY `id` ASC;");
373
374
// Determine error states
375
$error = $expired = $expiressoon = $normal = $unknown = 0;
@@ -673,13 +673,10 @@ function adrotate_dashboard_styles() {
673
674
/*-------------------------------------------------------------
675
Name: adrotate_folder_contents
676
-
677
- Purpose: List folder contents of /wp-content/banners and /wp-content/uploads
678
- Receive: $current
679
- Return: $output
680
Since: 0.4
681
-------------------------------------------------------------*/
682
- function adrotate_folder_contents($current) {
683
global $wpdb, $adrotate_config;
684
685
$output = '';
@@ -696,23 +693,20 @@ function adrotate_folder_contents($current) {
696
}
697
}
698
closedir($handle);
699
700
if($i > 0) {
701
sort($files);
702
foreach($files as $file) {
703
$fileinfo = pathinfo($file);
704
705
- if(
706
- (
707
- strtolower($fileinfo['extension']) == "jpg"
708
- OR strtolower($fileinfo['extension']) == "gif"
709
- OR strtolower($fileinfo['extension']) == "png"
710
- OR strtolower($fileinfo['extension']) == "jpeg"
711
- OR strtolower($fileinfo['extension']) == "swf"
712
- OR strtolower($fileinfo['extension']) == "flv"
713
- OR strtolower($fileinfo['extension']) == "html"
714
- )
715
- ) {
716
$output .= "<option value='".$file."'";
717
if(($current == WP_CONTENT_URL.'/banners/'.$file) OR ($current == WP_CONTENT_URL."/%folder%/".$file)) { $output .= "selected"; }
718
$output .= ">".$file."</option>";
@@ -741,11 +735,10 @@ function adrotate_return($page, $status, $args = null) {
741
$arguments = wp_parse_args($args, $defaults);
742
$redirect = 'admin.php?page=' . $page . '&'.http_build_query($arguments);
743
} else {
744
- $redirect = 'admin.php?page=adrotate';
745
}
746
747
wp_redirect($redirect);
748
- exit;
749
}
750
751
/*-------------------------------------------------------------
@@ -801,7 +794,11 @@ function adrotate_status($status, $args = null) {
801
break;
802
803
case '215' :
804
- echo '<div id="message" class="updated"><p>'. __('Export created', 'adrotate-pro') .'. <a href="' . WP_CONTENT_URL . '/reports/'.$arguments['file'].'">Download</a>.</p></div>';
805
break;
806
807
// Settings
@@ -822,7 +819,7 @@ function adrotate_status($status, $args = null) {
822
break;
823
824
case '406' :
825
- echo '<div id="message" class="updated"><p>'. __('Cleanup complete', 'adrotate-pro') .'</p></div>';
826
break;
827
828
// (all) Error messages
369
global $wpdb;
370
371
// Fetch ads
372
+ $ads = $wpdb->get_results("SELECT `id` FROM `{$wpdb->prefix}adrotate` WHERE `type` != 'disabled' AND `type` != 'generator' AND `type` != 'empty' ORDER BY `id` ASC;");
373
374
// Determine error states
375
$error = $expired = $expiressoon = $normal = $unknown = 0;
673
674
/*-------------------------------------------------------------
675
Name: adrotate_folder_contents
676
+ Purpose: List folder contents of /wp-content/banners
677
Since: 0.4
678
-------------------------------------------------------------*/
679
+ function adrotate_folder_contents($current, $kind = 'all') {
680
global $wpdb, $adrotate_config;
681
682
$output = '';
693
}
694
}
695
closedir($handle);
696
+ if($kind == "image") {
697
+ $extensions = array('jpg', 'jpeg', 'gif', 'png');
698
+ } else if($kind == "html5") {
699
+ $extensions = array('swf', 'flv', 'html', 'htm');
700
+ } else {
701
+ $extensions = array('jpg', 'jpeg', 'gif', 'png', 'swf', 'flv', 'html', 'htm');
702
+ }
703
704
if($i > 0) {
705
sort($files);
706
foreach($files as $file) {
707
$fileinfo = pathinfo($file);
708
709
+ if(in_array($fileinfo['extension'], $extensions)) {
710
$output .= "<option value='".$file."'";
711
if(($current == WP_CONTENT_URL.'/banners/'.$file) OR ($current == WP_CONTENT_URL."/%folder%/".$file)) { $output .= "selected"; }
712
$output .= ">".$file."</option>";
735
$arguments = wp_parse_args($args, $defaults);
736
$redirect = 'admin.php?page=' . $page . '&'.http_build_query($arguments);
737
} else {
738
+ $redirect = 'admin.php?page=adrotate&status=1'; // Unexpected error
739
}
740
741
wp_redirect($redirect);
742
}
743
744
/*-------------------------------------------------------------
794
break;
795
796
case '215' :
797
+ echo '<div id="message" class="updated"><p>'. __('Export created', 'adrotate') .'. <a href="' . WP_CONTENT_URL . '/reports/'.$arguments['file'].'">Download</a>.</p></div>';
798
+ break;
799
+
800
+ case '226' :
801
+ echo '<div id="message" class="updated"><p>'. __('Advert HTML generated and placed in the AdCode field. Configure your advert below.', 'adrotate') .'</div>';
802
break;
803
804
// Settings
819
break;
820
821
case '406' :
822
+ echo '<div id="message" class="updated"><p>'. __('Cleanup complete', 'adrotate') .'</p></div>';
823
break;
824
825
// (all) Error messages
adrotate-manage-publisher.php CHANGED
@@ -9,6 +9,138 @@
9
* liability that might arise from it's use.
10
------------------------------------------------------------------------------------ */
11
12
/*-------------------------------------------------------------
13
Name: adrotate_insert_input
14
Purpose: Prepare input form on saving new or updated banners
@@ -48,7 +180,7 @@ function adrotate_insert_input() {
48
if(isset($_POST['adrotate_maxshown'])) $maxshown = strip_tags(trim($_POST['adrotate_maxshown'], "\t\n "));
49
50
// Advanced options
51
- $advertiser = $image_field = $image_dropdown = $tracker = '';
52
if(isset($_POST['adrotate_advertiser'])) $advertiser = 0;
53
if(isset($_POST['adrotate_image'])) $image_field = strip_tags(trim($_POST['adrotate_image'], "\t\n "));
54
if(isset($_POST['adrotate_image_dropdown'])) $image_dropdown = strip_tags(trim($_POST['adrotate_image_dropdown'], "\t\n "));
@@ -109,7 +241,6 @@ function adrotate_insert_input() {
109
if(strlen($maxclicks) < 1 OR !is_numeric($maxclicks)) $maxclicks = 0;
110
if(strlen($maxshown) < 1 OR !is_numeric($maxshown)) $maxshown = 0;
111
112
- // Set tracker value
113
if(isset($tracker) AND strlen($tracker) != 0) $tracker = 'Y';
114
else $tracker = 'N';
115
9
* liability that might arise from it's use.
10
------------------------------------------------------------------------------------ */
11
12
+ /*-------------------------------------------------------------
13
+ Name: adrotate_generate_input
14
+ Purpose: GEnerate advert code based on user input
15
+ Since: 4.5
16
+ -------------------------------------------------------------*/
17
+ function adrotate_generate_input() {
18
+ global $wpdb, $adrotate_config;
19
+
20
+ if(wp_verify_nonce($_POST['adrotate_nonce'], 'adrotate_generate_ad')) {
21
+ // Mandatory
22
+ $id = '';
23
+ if(isset($_POST['adrotate_id'])) $id = $_POST['adrotate_id'];
24
+
25
+ // Basic advert
26
+ $advert_text = $targeturl = $new_window = $nofollow = $basic_field = $basic_dropdown = $adwidth = $adheight = '';
27
+ if(isset($_POST['adrotate_text'])) $advert_text = strip_tags(trim($_POST['adrotate_text'], "\t\n "));
28
+ if(isset($_POST['adrotate_targeturl'])) $targeturl = strip_tags(trim($_POST['adrotate_targeturl'], "\t\n "));
29
+ if(isset($_POST['adrotate_newwindow'])) $new_window = strip_tags(trim($_POST['adrotate_newwindow'], "\t\n "));
30
+ if(isset($_POST['adrotate_nofollow'])) $nofollow = strip_tags(trim($_POST['adrotate_nofollow'], "\t\n "));
31
+ if(isset($_POST['adrotate_image'])) $basic_field = strip_tags(trim($_POST['adrotate_image'], "\t\n "));
32
+ if(isset($_POST['adrotate_basic_dropdown'])) $basic_dropdown = strip_tags(trim($_POST['adrotate_basic_dropdown'], "\t\n "));
33
+ if(isset($_POST['adrotate_width'])) $adwidth = strip_tags(trim($_POST['adrotate_width'], "\t\n "));
34
+ if(isset($_POST['adrotate_height'])) $adheight = strip_tags(trim($_POST['adrotate_height'], "\t\n "));
35
+
36
+ // HTML5/Flash advert
37
+ $html5_dropdown = $html5_adwidth = $html5_adheight = $html5_clicktag = $html5_targeturl = '';
38
+ if(isset($_POST['adrotate_html5_dropdown'])) $html5_dropdown = strip_tags(trim($_POST['adrotate_html5_dropdown'], "\t\n "));
39
+ if(isset($_POST['adrotate_html5_width'])) $html5_adwidth = strip_tags(trim($_POST['adrotate_html5_width'], "\t\n "));
40
+ if(isset($_POST['adrotate_html5_height'])) $html5_adheight = strip_tags(trim($_POST['adrotate_html5_height'], "\t\n "));
41
+ if(isset($_POST['adrotate_html5_clicktag'])) $html5_clicktag = strip_tags(trim($_POST['adrotate_html5_clicktag'], "\t\n "));
42
+ if(isset($_POST['adrotate_html5_targeturl'])) $html5_targeturl = strip_tags(trim(strtolower($_POST['adrotate_html5_targeturl']), "\t\n "));
43
+
44
+ if(current_user_can('adrotate_ad_manage')) {
45
+ // Basic Advert
46
+ if(strlen($targeturl) > 0) {
47
+ // Sort out adwidth and adheight
48
+ if((is_numeric($adwidth) AND $adwidth < 1 OR $adwidth > 9999) OR $adwidth == '' OR !is_numeric($adwidth)) {
49
+ $adwidth = '';
50
+ } else {
51
+ $adwidth = ' width="'.$adwidth.'"';
52
+ }
53
+ if((is_numeric($adheight) AND $adheight < 1 OR $adheight > 9999) OR $adheight == '' OR !is_numeric($adheight)) {
54
+ $adheight = '';
55
+ } else {
56
+ $adheight = ' height="'.$adheight.'"';
57
+ }
58
+
59
+ // Determine image settings ($basic_field has priority!)
60
+ if(strlen($basic_field) > 1) {
61
+ $imagetype = "field";
62
+ $image = $basic_field;
63
+ $asset = "<img src=\"%asset%\"".$adwidth.$adheight." />";
64
+ } else if(strlen($basic_dropdown) > 1) {
65
+ $imagetype = "dropdown";
66
+ $image = WP_CONTENT_URL."/%folder%/".$basic_dropdown;
67
+ $asset = "<img src=\"%asset%\"".$adwidth.$adheight." />";
68
+ } else {
69
+ $imagetype = $image = "";
70
+ $asset = $advert_text; // Text advert
71
+ }
72
+
73
+ // Open in a new window?
74
+ if(isset($new_window) AND strlen($new_window) != 0) {
75
+ $new_window = ' target="_blank"';
76
+ } else {
77
+ $new_window = '';
78
+ }
79
+
80
+ // Set nofollow?
81
+ if(isset($nofollow) AND strlen($nofollow) != 0) {
82
+ $nofollow = ' rel="nofollow"';
83
+ } else {
84
+ $nofollow = '';
85
+ }
86
+
87
+ // Generate code
88
+ $bannercode = "<a href=\"".$targeturl."\"".$new_window.$nofollow.">".$asset."</a>";
89
+ }
90
+
91
+ // HTML5/FLASH advert
92
+ if(strlen($html5_dropdown) > 0) {
93
+ $imagetype = "dropdown";
94
+ $image = WP_CONTENT_URL."/%folder%/".$html5_dropdown;
95
+
96
+ // Sort out adwidth and adheight
97
+ if((is_numeric($html5_adwidth) AND $html5_adwidth < 1 OR $html5_adwidth > 9999) OR $html5_adwidth == '' OR !is_numeric($html5_adwidth)) {
98
+ $adwidth = '728';
99
+ } else {
100
+ $adwidth = $html5_adwidth;
101
+ }
102
+ if((is_numeric($html5_adheight) AND $html5_adheight < 1 OR $html5_adheight > 9999) OR $html5_adheight == '' OR !is_numeric($html5_adheight)) {
103
+ $adheight = '90';
104
+ } else {
105
+ $adheight = $html5_adheight;
106
+ }
107
+
108
+ // Set clickTAG?
109
+ if(isset($html5_clicktag) AND strlen($html5_targeturl) > 10) {
110
+ $clicktag = '?'.$html5_clicktag.'='.$html5_targeturl;
111
+ } else {
112
+ $clicktag = '';
113
+ }
114
+
115
+ // Determine advert type
116
+ $extension = explode(".", $html5_dropdown);
117
+ $extension = end($extension);
118
+
119
+ // Generate HTML5 code
120
+ if($extension == "html" OR $extension == "htm") {
121
+ $bannercode = "<iframe src=\"%asset%\" width=\"".$html5_adwidth."\" height=\"".$html5_adheight."\" frameborder=\"0\" style=\"border:none;\"></iframe>";
122
+ }
123
+
124
+ // Generate Flash advert
125
+ if($extension == "flv" OR $extension == "swf") {
126
+ $bannercode = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab\" width=\"".$adwidth."\" height=\"".$adheight."\" id=\"ajdg-flash-".$id."\"><param name=\"movie\" value=\"%asset%\"><param name=\"quality\" value=\"high\"><embed src=\"%asset%".$clicktag."\" quality=\"high\" width=\"".$adwidth."\" height=\"".$adheight."\" name=\"ajdg-flash-".$id."\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"></embed></object>";
127
+ }
128
+ }
129
+
130
+ // Save the ad to the DB
131
+ $wpdb->update($wpdb->prefix.'adrotate', array('bannercode' => $bannercode, 'imagetype' => $imagetype, 'image' => $image), array('id' => $id));
132
+
133
+ adrotate_return('adrotate-ads', 226, array('view' => 'edit', 'ad'=> $id));
134
+ exit;
135
+ } else {
136
+ adrotate_return('adrotate-ads', 500);
137
+ }
138
+ } else {
139
+ adrotate_nonce_error();
140
+ exit;
141
+ }
142
+ }
143
+
144
/*-------------------------------------------------------------
145
Name: adrotate_insert_input
146
Purpose: Prepare input form on saving new or updated banners
180
if(isset($_POST['adrotate_maxshown'])) $maxshown = strip_tags(trim($_POST['adrotate_maxshown'], "\t\n "));
181
182
// Advanced options
183
+ $advertiser = $image_field = $image_dropdown = $tracker = $show_everyone = '';
184
if(isset($_POST['adrotate_advertiser'])) $advertiser = 0;
185
if(isset($_POST['adrotate_image'])) $image_field = strip_tags(trim($_POST['adrotate_image'], "\t\n "));
186
if(isset($_POST['adrotate_image_dropdown'])) $image_dropdown = strip_tags(trim($_POST['adrotate_image_dropdown'], "\t\n "));
241
if(strlen($maxclicks) < 1 OR !is_numeric($maxclicks)) $maxclicks = 0;
242
if(strlen($maxshown) < 1 OR !is_numeric($maxshown)) $maxshown = 0;
243
244
if(isset($tracker) AND strlen($tracker) != 0) $tracker = 'Y';
245
else $tracker = 'N';
246
adrotate-output.php CHANGED
@@ -625,27 +625,27 @@ function adrotate_dashboard_error() {
625
$adrotate_notifications = get_option("adrotate_notifications");
626
if($adrotate_notifications['notification_dash'] == "Y") {
627
if($status['expired'] > 0 AND $adrotate_notifications['notification_dash_expired'] == "Y") {
628
- $error['advert_expired'] = sprintf(_n('One advert is expired.', '%1$s adverts expired!', $status['expired'], 'adrotate-pro'), $status['expired']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate-pro').'</a>!';
629
}
630
if($status['expiressoon'] > 0 AND $adrotate_notifications['notification_dash_soon'] == "Y") {
631
- $error['advert_soon'] = sprintf(_n('One advert expires soon.', '%1$s adverts are almost expiring!', $status['expiressoon'], 'adrotate-pro'), $status['expiressoon']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate-pro').'</a>!';
632
}
633
}
634
if($status['error'] > 0) {
635
- $error['advert_config'] = sprintf(_n('One advert with configuration errors.', '%1$s adverts have configuration errors!', $status['error'], 'adrotate-pro'), $status['error']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate-pro').'</a>!';
636
}
637
638
// Caching
639
if($adrotate_config['w3caching'] == "Y" AND !is_plugin_active('w3-total-cache/w3-total-cache.php')) {
640
- $error['w3tc_not_active'] = __('You have enable caching support but W3 Total Cache is not active on your site!', 'adrotate-pro').' <a href="'.admin_url('/admin.php?page=adrotate-settings&tab=misc').'">Disable Caching Support</a> or <a href="'.admin_url('/plugins.php').'">Enable W3 Total Cache</a>.';
641
}
642
if($adrotate_config['w3caching'] == "Y" AND !defined('W3TC_DYNAMIC_SECURITY')) {
643
- $error['w3tc_no_hash'] = __('You have enable caching support but the W3TC_DYNAMIC_SECURITY definition is not set.', 'adrotate-pro').' <a href="'.admin_url('/admin.php?page=adrotate-settings&tab=misc').'">How to configure W3 Total Cache</a>.';
644
}
645
646
// Misc
647
if(!is_writable(WP_CONTENT_DIR."/".$adrotate_config['banner_folder'])) {
648
- $error['banners_folder'] = __('Your AdRotate Banner folder is not writable or does not exist.', 'adrotate-pro').' <a href="https://ajdg.solutions/manuals/adrotate-manuals/manage-banner-images/?utm_campaign=adrotate-manual&utm_medium=dashboard-notification&utm_source=adrotate-free" target="_blank">Set up your banner folder</a>.';
649
}
650
651
$error = (isset($error) AND is_array($error)) ? $error : false;
625
$adrotate_notifications = get_option("adrotate_notifications");
626
if($adrotate_notifications['notification_dash'] == "Y") {
627
if($status['expired'] > 0 AND $adrotate_notifications['notification_dash_expired'] == "Y") {
628
+ $error['advert_expired'] = sprintf(_n('One advert is expired.', '%1$s adverts expired!', $status['expired'], 'adrotate-pro'), $status['expired']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate').'</a>!';
629
}
630
if($status['expiressoon'] > 0 AND $adrotate_notifications['notification_dash_soon'] == "Y") {
631
+ $error['advert_soon'] = sprintf(_n('One advert expires soon.', '%1$s adverts are almost expiring!', $status['expiressoon'], 'adrotate-pro'), $status['expiressoon']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate').'</a>!';
632
}
633
}
634
if($status['error'] > 0) {
635
+ $error['advert_config'] = sprintf(_n('One advert with configuration errors.', '%1$s adverts have configuration errors!', $status['error'], 'adrotate-pro'), $status['error']).' <a href="'.admin_url('admin.php?page=adrotate-ads').'">'.__('Check adverts', 'adrotate').'</a>!';
636
}
637
638
// Caching
639
if($adrotate_config['w3caching'] == "Y" AND !is_plugin_active('w3-total-cache/w3-total-cache.php')) {
640
+ $error['w3tc_not_active'] = __('You have enable caching support but W3 Total Cache is not active on your site!', 'adrotate').' <a href="'.admin_url('/admin.php?page=adrotate-settings&tab=misc').'">Disable Caching Support</a> or <a href="'.admin_url('/plugins.php').'">Enable W3 Total Cache</a>.';
641
}
642
if($adrotate_config['w3caching'] == "Y" AND !defined('W3TC_DYNAMIC_SECURITY')) {
643
+ $error['w3tc_no_hash'] = __('You have enable caching support but the W3TC_DYNAMIC_SECURITY definition is not set.', 'adrotate').' <a href="'.admin_url('/admin.php?page=adrotate-settings&tab=misc').'">How to configure W3 Total Cache</a>.';
644
}
645
646
// Misc
647
if(!is_writable(WP_CONTENT_DIR."/".$adrotate_config['banner_folder'])) {
648
+ $error['banners_folder'] = __('Your AdRotate Banner folder is not writable or does not exist.', 'adrotate').' <a href="https://ajdg.solutions/manuals/adrotate-manuals/manage-banner-images/?utm_campaign=adrotate-manual&utm_medium=dashboard-notification&utm_source=adrotate-free" target="_blank">Set up your banner folder</a>.';
649
}
650
651
$error = (isset($error) AND is_array($error)) ? $error : false;
adrotate-setup.php CHANGED
@@ -346,7 +346,7 @@ function adrotate_dummy_data() {
346
347
if(is_null($no_ads) AND is_null($no_schedules) AND is_null($no_linkmeta)) {
348
// Demo ad 1
349
- $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 468x60', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.adrotateforwordpress.com\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/dummy-banners/adrotate-468x60.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'paid' => 'U', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
350
$ad_id = $wpdb->insert_id;
351
$wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_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'));
352
$schedule_id = $wpdb->insert_id;
@@ -354,7 +354,7 @@ function adrotate_dummy_data() {
354
unset($ad_id, $schedule_id);
355
356
// Demo ad 2
357
- $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 200x200', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.adrotateforwordpress.com\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/dummy-banners/adrotate-200x200.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'paid' => 'U', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
358
$ad_id = $wpdb->insert_id;
359
$wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_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'));
360
$schedule_id = $wpdb->insert_id;
@@ -407,6 +407,7 @@ function adrotate_database_install() {
407
`image` varchar(255) NOT NULL,
408
`paid` char(1) NOT NULL default 'U',
409
`tracker` char(1) NOT NULL default 'N',
410
`desktop` char(1) NOT NULL default 'Y',
411
`mobile` char(1) NOT NULL default 'Y',
412
`tablet` char(1) NOT NULL default 'Y',
@@ -452,6 +453,7 @@ function adrotate_database_install() {
452
`adwidth` varchar(6) NOT NULL DEFAULT '125',
453
`adheight` varchar(6) NOT NULL DEFAULT '125',
454
`adspeed` int(5) NOT NULL DEFAULT '6000',
455
PRIMARY KEY (`id`)
456
) ".$charset_collate.$engine.";");
457
}
@@ -952,6 +954,13 @@ function adrotate_database_upgrade() {
952
adrotate_add_column("{$wpdb->prefix}adrotate_schedule", 'autodelete', 'char(1) NOT NULL default \'N\' AFTER `day_sun`');
953
}
954
955
update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
956
}
957
@@ -1150,6 +1159,11 @@ function adrotate_core_upgrade() {
1150
update_option('adrotate_config', $config390);
1151
}
1152
1153
update_option("adrotate_version", array('current' => ADROTATE_VERSION, 'previous' => $adrotate_version['current']));
1154
}
1155
346
347
if(is_null($no_ads) AND is_null($no_schedules) AND is_null($no_linkmeta)) {
348
// Demo ad 1
349
+ $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 468x60', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.adrotateforwordpress.com\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/dummy-banners/adrotate-468x60.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'paid' => 'U', 'tracker' => 'N', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
350
$ad_id = $wpdb->insert_id;
351
$wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_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'));
352
$schedule_id = $wpdb->insert_id;
354
unset($ad_id, $schedule_id);
355
356
// Demo ad 2
357
+ $wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 200x200', 'bannercode' => '&lt;a href=\&quot;http:\/\/www.adrotateforwordpress.com\&quot;&gt;&lt;img src=\&quot;http://ajdg.solutions/assets/dummy-banners/adrotate-200x200.jpg\&quot; /&gt;&lt;/a&gt;', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'paid' => 'U', 'tracker' => 'N', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
358
$ad_id = $wpdb->insert_id;
359
$wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_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'));
360
$schedule_id = $wpdb->insert_id;
407
`image` varchar(255) NOT NULL,
408
`paid` char(1) NOT NULL default 'U',
409
`tracker` char(1) NOT NULL default 'N',
410
+ `show_everyone` char(1) NOT NULL default 'Y',
411
`desktop` char(1) NOT NULL default 'Y',
412
`mobile` char(1) NOT NULL default 'Y',
413
`tablet` char(1) NOT NULL default 'Y',
453
`adwidth` varchar(6) NOT NULL DEFAULT '125',
454
`adheight` varchar(6) NOT NULL DEFAULT '125',
455
`adspeed` int(5) NOT NULL DEFAULT '6000',
456
+ `repeat_impressions` char(1) NOT NULL default 'Y',
457
PRIMARY KEY (`id`)
458
) ".$charset_collate.$engine.";");
459
}
954
adrotate_add_column("{$wpdb->prefix}adrotate_schedule", 'autodelete', 'char(1) NOT NULL default \'N\' AFTER `day_sun`');
955
}
956
957
+ // Database: 64
958
+ // AdRotate: 4.5
959
+ if($adrotate_db_version['current'] < 64) {
960
+ adrotate_add_column("{$wpdb->prefix}adrotate", 'show_everyone', 'char(1) NOT NULL default \'Y\' AFTER `tracker`');
961
+ adrotate_add_column("{$wpdb->prefix}adrotate_groups", 'repeat_impressions', 'char(1) NOT NULL default \'Y\' AFTER `adspeed`');
962
+ }
963
+
964
update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
965
}
966
1159
update_option('adrotate_config', $config390);
1160
}
1161
1162
+ // 4.5
1163
+ if($adrotate_version['current'] < 391) {
1164
+ if(get_option('adrotate_hide_banner') == 1) update_option('adrotate_hide_banner', adrotate_now());
1165
+ }
1166
+
1167
update_option("adrotate_version", array('current' => ADROTATE_VERSION, 'previous' => $adrotate_version['current']));
1168
}
1169
adrotate.php CHANGED
@@ -4,10 +4,10 @@ Plugin Name: AdRotate
4
Plugin URI: https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=adrotate-page&utm_medium=plugin-info&utm_source=adrotate-free
5
Author: Arnan de Gans
6
Author URI: http://ajdg.solutions/?utm_campaign=homepage&utm_medium=plugin-info&utm_source=adrotate-free
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: 4.4
11
License: GPLv3
12
*/
13
@@ -22,9 +22,9 @@ License: GPLv3
22
------------------------------------------------------------------------------------ */
23
24
/*--- AdRotate values ---------------------------------------*/
25
- define("ADROTATE_DISPLAY", '4.4');
26
- define("ADROTATE_VERSION", 390);
27
- define("ADROTATE_DB_VERSION", 63);
28
$plugin_folder = plugin_dir_path(__FILE__);
29
/*-----------------------------------------------------------*/
30
@@ -79,6 +79,7 @@ if(is_admin()) {
79
add_action("admin_print_styles", 'adrotate_dashboard_styles');
80
add_action('admin_notices','adrotate_notifications_dashboard');
81
/*--- Internal redirects ------------------------------------*/
82
if(isset($_POST['adrotate_ad_submit'])) add_action('init', 'adrotate_insert_input');
83
if(isset($_POST['adrotate_group_submit'])) add_action('init', 'adrotate_insert_group');
84
if(isset($_POST['adrotate_action_submit'])) add_action('init', 'adrotate_request_action');
@@ -96,10 +97,9 @@ if(is_admin()) {
96
Purpose: Add pages to admin menus
97
-------------------------------------------------------------*/
98
function adrotate_dashboard() {
99
- global $adrotate_config;
100
101
- $adrotate_page = $adrotate_pro = $adrotate_adverts = $adrotate_groups = $adrotate_schedules = $adrotate_media = $adrotate_settings = '';
102
- $adrotate_page = add_menu_page('AdRotate', 'AdRotate', 'adrotate_ad_manage', 'adrotate', 'adrotate_info', plugins_url('/images/icon-menu.png', __FILE__), '25.8');
103
$adrotate_page = add_submenu_page('adrotate', 'AdRotate · '.__('General Info', 'adrotate'), __('General Info', 'adrotate'), 'adrotate_ad_manage', 'adrotate', 'adrotate_info');
104
$adrotate_pro = add_submenu_page('adrotate', 'AdRotate · '.__('AdRotate Pro', 'adrotate'), __('AdRotate Pro', 'adrotate'), 'adrotate_ad_manage', 'adrotate-pro', 'adrotate_pro');
105
$adrotate_adverts = add_submenu_page('adrotate', 'AdRotate · '.__('Adverts', 'adrotate'), __('Adverts', 'adrotate'), 'adrotate_ad_manage', 'adrotate-ads', 'adrotate_manage');
@@ -197,11 +197,13 @@ function adrotate_manage() {
197
if($type == 'active' AND $stoptime <= $in7days) $type = '7days';
198
if($type == 'active' AND $stoptime <= $in2days) $type = '2days';
199
if($type == 'active' AND $stoptime <= $now) $type = 'expired';
200
201
if($type == 'active' OR $type == '7days') {
202
$active[$singlebanner->id] = array(
203
'id' => $singlebanner->id,
204
- 'title' => $singlebanner->title,
205
'type' => $type,
206
'tracker' => $singlebanner->tracker,
207
'weight' => $singlebanner->weight,
@@ -213,7 +215,7 @@ function adrotate_manage() {
213
if($type == 'error' OR $type == 'expired' OR $type == '2days') {
214
$error[$singlebanner->id] = array(
215
'id' => $singlebanner->id,
216
- 'title' => $singlebanner->title,
217
'type' => $type,
218
'tracker' => $singlebanner->tracker,
219
'weight' => $singlebanner->weight,
@@ -225,7 +227,7 @@ function adrotate_manage() {
225
if($type == 'disabled') {
226
$disabled[$singlebanner->id] = array(
227
'id' => $singlebanner->id,
228
- 'title' => $singlebanner->title,
229
'type' => $type,
230
'tracker' => $singlebanner->tracker,
231
'weight' => $singlebanner->weight,
@@ -238,8 +240,9 @@ function adrotate_manage() {
238
239
<div class="tablenav">
240
<div class="alignleft actions">
241
- <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=manage');?>"><?php _e('Manage', 'adrotate'); ?></a> |
242
- <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=addnew');?>"><?php _e('Add New', 'adrotate'); ?></a>
243
</div>
244
</div>
245
@@ -258,6 +261,8 @@ function adrotate_manage() {
258
}
259
} else if($view == "addnew" OR $view == "edit") {
260
include("dashboard/publisher/adverts-edit.php");
261
} else if($view == "report") {
262
include("dashboard/publisher/adverts-report.php");
263
}
4
Plugin URI: https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=adrotate-page&utm_medium=plugin-info&utm_source=adrotate-free
5
Author: Arnan de Gans
6
Author URI: http://ajdg.solutions/?utm_campaign=homepage&utm_medium=plugin-info&utm_source=adrotate-free
7
+ Description: Monetise your website with adverts while keeping things simple. Start making money today!
8
Text Domain: adrotate
9
Domain Path: /languages/
10
+ Version: 4.5
11
License: GPLv3
12
*/
13
22
------------------------------------------------------------------------------------ */
23
24
/*--- AdRotate values ---------------------------------------*/
25
+ define("ADROTATE_DISPLAY", '4.5');
26
+ define("ADROTATE_VERSION", 391);
27
+ define("ADROTATE_DB_VERSION", 64);
28
$plugin_folder = plugin_dir_path(__FILE__);
29
/*-----------------------------------------------------------*/
30
79
add_action("admin_print_styles", 'adrotate_dashboard_styles');
80
add_action('admin_notices','adrotate_notifications_dashboard');
81
/*--- Internal redirects ------------------------------------*/
82
+ if(isset($_POST['adrotate_generate_submit'])) add_action('init', 'adrotate_generate_input');
83
if(isset($_POST['adrotate_ad_submit'])) add_action('init', 'adrotate_insert_input');
84
if(isset($_POST['adrotate_group_submit'])) add_action('init', 'adrotate_insert_group');
85
if(isset($_POST['adrotate_action_submit'])) add_action('init', 'adrotate_request_action');
97
Purpose: Add pages to admin menus
98
-------------------------------------------------------------*/
99
function adrotate_dashboard() {
100
+ $adrotate_page = $adrotate_pro = $adrotate_adverts = $adrotate_groups = $adrotate_settings = '';
101
102
+ add_menu_page('AdRotate', 'AdRotate', 'adrotate_ad_manage', 'adrotate', 'adrotate_info', plugins_url('/images/icon-menu.png', __FILE__), '25.8');
103
$adrotate_page = add_submenu_page('adrotate', 'AdRotate · '.__('General Info', 'adrotate'), __('General Info', 'adrotate'), 'adrotate_ad_manage', 'adrotate', 'adrotate_info');
104
$adrotate_pro = add_submenu_page('adrotate', 'AdRotate · '.__('AdRotate Pro', 'adrotate'), __('AdRotate Pro', 'adrotate'), 'adrotate_ad_manage', 'adrotate-pro', 'adrotate_pro');
105
$adrotate_adverts = add_submenu_page('adrotate', 'AdRotate · '.__('Adverts', 'adrotate'), __('Adverts', 'adrotate'), 'adrotate_ad_manage', 'adrotate-ads', 'adrotate_manage');
197
if($type == 'active' AND $stoptime <= $in7days) $type = '7days';
198
if($type == 'active' AND $stoptime <= $in2days) $type = '2days';
199
if($type == 'active' AND $stoptime <= $now) $type = 'expired';
200
+
201
+ $title = (strlen($singlebanner->title) == 0) ? 'Advert '.$singlebanner->id.' [temp]' : $singlebanner->title;
202
203
if($type == 'active' OR $type == '7days') {
204
$active[$singlebanner->id] = array(
205
'id' => $singlebanner->id,
206
+ 'title' => $title,
207
'type' => $type,
208
'tracker' => $singlebanner->tracker,
209
'weight' => $singlebanner->weight,
215
if($type == 'error' OR $type == 'expired' OR $type == '2days') {
216
$error[$singlebanner->id] = array(
217
'id' => $singlebanner->id,
218
+ 'title' => $title,
219
'type' => $type,
220
'tracker' => $singlebanner->tracker,
221
'weight' => $singlebanner->weight,
227
if($type == 'disabled') {
228
$disabled[$singlebanner->id] = array(
229
'id' => $singlebanner->id,
230
+ 'title' => $title,
231
'type' => $type,
232
'tracker' => $singlebanner->tracker,
233
'weight' => $singlebanner->weight,
240
241
<div class="tablenav">
242
<div class="alignleft actions">
243
+ <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads');?>"><?php _e('Manage', 'adrotate'); ?></a>
244
+ &nbsp;|&nbsp;<a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=generator');?>"><?php _e('Generator', 'adrotate-pro'); ?></a>
245
+ &nbsp;|&nbsp;<a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=addnew');?>"><?php _e('Add New', 'adrotate'); ?></a>
246
</div>
247
</div>
248
261
}
262
} else if($view == "addnew" OR $view == "edit") {
263
include("dashboard/publisher/adverts-edit.php");
264
+ } else if($view == "generator") {
265
+ include("dashboard/publisher/adverts-generator.php");
266
} else if($view == "report") {
267
include("dashboard/publisher/adverts-report.php");
268
}
dashboard/info.php CHANGED
@@ -48,22 +48,7 @@ $partner = mt_rand(1,3);
48
<td colspan="2">
49
<p><strong><?php _e('Support AdRotate', 'adrotate'); ?></strong></p>
50
<p><?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'); ?><br />
51
- <center><a class="button-primary" href="https://paypal.me/arnandegans/10usd" target="_blank">Donate $10 via Paypal</a> <a class="button" target="_blank" href="https://wordpress.org/support/plugin/adrotate/reviews/?rate=5#new-post">Write review on WordPress.org</a></center><br />
52
- <a href="http://www.arnan.me/?pk_campaign=adrotate-free&pk_kwd=infopage" title="arnan.me - Nomadic in the Philippines"><img src="<?php echo plugins_url('/images/arnan-credits.jpg', dirname(__FILE__)); ?>" alt="Arnan de Gans" align="center" class="ajdg-photo" width="100%" /></a><br />
53
- <script>(function(d, s, id) {
54
- var js, fjs = d.getElementsByTagName(s)[0];
55
- if (d.getElementById(id)) return;
56
- js = d.createElement(s); js.id = id;
57
- js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
58
- fjs.parentNode.insertBefore(js, fjs);
59
- }(document, 'script', 'facebook-jssdk'));</script>
60
- <p><center><div class="fb-page"
61
- data-href="https://www.facebook.com/Arnandegans"
62
- data-width="490"
63
- data-adapt-container-width="true"
64
- data-hide-cover="false"
65
- data-show-facepile="false">
66
- </div></center></p>
67
</td>
68
</tr>
69
</tbody>
@@ -74,6 +59,7 @@ $partner = mt_rand(1,3);
74
<h3><?php _e('Arnan de Gans News & Updates', 'adrotate'); ?></h3>
75
<div class="postbox-ajdg">
76
<div class="inside">
77
<?php wp_widget_rss_output(array(
78
'url' => array('http://www.arnan.me/feed/', 'http://ajdg.solutions/feed/'),
79
'items' => 4,
48
<td colspan="2">
49
<p><strong><?php _e('Support AdRotate', 'adrotate'); ?></strong></p>
50
<p><?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'); ?><br />
51
+ <center><a class="button-primary" href="https://paypal.me/arnandegans/10usd" target="_blank">Donate $10 via Paypal</a> <a class="button" target="_blank" href="https://wordpress.org/support/plugin/adrotate/reviews/?rate=5#new-post">Write review on WordPress.org</a></center></p>
52
</td>
53
</tr>
54
</tbody>
59
<h3><?php _e('Arnan de Gans News & Updates', 'adrotate'); ?></h3>
60
<div class="postbox-ajdg">
61
<div class="inside">
62
+ <p><center><a href="http://www.arnan.me/" title="arnan.me - Living in the Philippines"><img src="<?php echo plugins_url('/images/arnan-credits.jpg', dirname(__FILE__)); ?>" alt="Arnan de Gans" align="center" class="ajdg-photo" width="100%" /></a></center></p>
63
<?php wp_widget_rss_output(array(
64
'url' => array('http://www.arnan.me/feed/', 'http://ajdg.solutions/feed/'),
65
'items' => 4,
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' => '', 'paid' => 'U', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'responsive' => 'N', 'type' => 'empty', 'weight' => 6, 'autodelete' => 'N', 'budget' => 0, 'crate' => 0, 'irate' => 0, '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'));
@@ -118,10 +118,10 @@ if($edit_banner->imagetype == "field") {
118
</tr>
119
<tr>
120
<th valign="top"><?php _e('AdCode', 'adrotate'); ?></th>
121
- <td>
122
<label for="adrotate_bannercode"><textarea tabindex="2" id="adrotate_bannercode" name="adrotate_bannercode" cols="70" rows="15"><?php echo stripslashes($edit_banner->bannercode); ?></textarea></label>
123
</td>
124
- <td width="30%" rowspan="2">
125
<p><strong><?php _e('Basic Examples:', 'adrotate'); ?></strong></p>
126
<p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;a href=&quot;https://ajdg.solutions/&quot;&gt;&lt;img src=&quot;%asset%&quot; /&gt;&lt;/a&gt;');return false;">&lt;a href="https://ajdg.solutions/"&gt;&lt;img src="%asset%" /&gt;&lt;/a&gt;</a></em></p>
127
<p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;iframe src=&quot;%asset%&quot; height=&quot;250&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;');return false;">&lt;iframe src=&quot;%asset%&quot; height=&quot;250&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;</a></em></p>
@@ -132,14 +132,14 @@ if($edit_banner->imagetype == "field") {
132
</tr>
133
<tr>
134
<th valign="top"><?php _e('Useful tags', 'adrotate'); ?></th>
135
- <td>
136
<p><em><a href="#" title="<?php _e('Insert the advert ID Number.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%id%');return false;">%id%</a>, <a href="#" title="<?php _e('Required when selecting a asset below.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%asset%');return false;">%asset%</a>, <a href="#" title="<?php _e('Insert the advert name.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%title%');return false;">%title%</a>, <a href="#" title="<?php _e('Insert a random seed. Useful for DFP/DoubleClick type adverts.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%random%');return false;">%random%</a>, <a href="#" title="<?php _e('Add inside the <a> tag to open advert in a new window.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','target=&quot;_blank&quot;');return false;">target="_blank"</a>, <a href="#" title="<?php _e('Add inside the <a> tag to tell crawlers to ignore this link', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','rel=&quot;nofollow&quot;');return false;">rel="nofollow"</a></em><br /><?php _e('Place the cursor in your AdCode where you want to add any of these tags and click to add it.', 'adrotate'); ?></p>
137
</td>
138
</tr>
139
<?php if($edit_banner->type != 'empty') { ?>
140
<tr>
141
<th valign="top"><?php _e('Preview', 'adrotate'); ?></th>
142
- <td colspan="2">
143
<div><?php echo adrotate_preview($edit_banner->id); ?></div>
144
<br /><em><?php _e('Note: While this preview is an accurate one, it might look different then it does on the website.', 'adrotate'); ?>
145
<br /><?php _e('This is because of CSS differences. Your themes CSS file is not active here!', 'adrotate'); ?></em>
@@ -148,7 +148,7 @@ if($edit_banner->imagetype == "field") {
148
<?php } ?>
149
<tr>
150
<th valign="top"><?php _e('Banner asset', 'adrotate'); ?></th>
151
- <td colspan="2">
152
<label for="adrotate_image">
153
<?php _e('WordPress media:', 'adrotate'); ?> <input tabindex="3" id="adrotate_image" type="text" size="50" name="adrotate_image" value="<?php echo $image_field; ?>" /> <input tabindex="4" id="adrotate_image_button" class="button" type="button" value="<?php _e('Select Banner', 'adrotate'); ?>" />
154
</label><br />
@@ -165,7 +165,7 @@ if($edit_banner->imagetype == "field") {
165
<?php if($adrotate_config['stats'] > 0) { ?>
166
<tr>
167
<th width="15%" valign="top"><?php _e('Statistics', 'adrotate'); ?></th>
168
- <td colspan="2">
169
<label for="adrotate_tracker"><input tabindex="6" type="checkbox" name="adrotate_tracker" <?php if($edit_banner->tracker == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Enable click and impression tracking for this advert.', 'adrotate'); ?> <br />
170
<em><?php _e('Note: Clicktracking does not work for Javascript adverts such as those provided by Google AdSense/DFP/DoubleClick. HTML5/Flash adverts are not always supported.', 'adrotate'); ?></em>
171
</label>
@@ -174,7 +174,7 @@ if($edit_banner->imagetype == "field") {
174
<?php } ?>
175
<tr>
176
<th><?php _e('Activate', 'adrotate'); ?></th>
177
- <td colspan="2">
178
<label for="adrotate_active">
179
<select tabindex="7" name="adrotate_active">
180
<option value="active" <?php if($edit_banner->type == "active") { echo 'selected'; } ?>><?php _e('Yes, this ad will be used', 'adrotate'); ?></option>
@@ -201,9 +201,9 @@ if($edit_banner->imagetype == "field") {
201
</tr>
202
<tr>
203
<th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
204
- <td>[adrotate banner="<?php echo $edit_banner->id; ?>"]</td>
205
<th width="15%"><?php _e('Directly in a theme', 'adrotate'); ?></th>
206
- <td>&lt;?php echo adrotate_ad(<?php echo $edit_banner->id; ?>); ?&gt;</td>
207
</tr>
208
</tbody>
209
</table>
@@ -213,7 +213,7 @@ if($edit_banner->imagetype == "field") {
213
<tbody>
214
<tr>
215
<th width="15%"><?php _e('Start date (day/month/year)', 'adrotate'); ?></th>
216
- <td>
217
<label for="adrotate_sday">
218
<input tabindex="9" name="adrotate_sday" class="search-input" type="text" size="4" maxlength="2" value="<?php echo $sday;?>" /> /
219
<select tabindex="10" name="adrotate_smonth">
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' => '', 'paid' => 'U', 'tracker' => 'N', 'show_everyone' => 'Y', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'responsive' => 'N', 'type' => 'empty', 'weight' => 6, 'autodelete' => 'N', 'budget' => 0, 'crate' => 0, 'irate' => 0, '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'));
118
</tr>
119
<tr>
120
<th valign="top"><?php _e('AdCode', 'adrotate'); ?></th>
121
+ <td colspan="2">
122
<label for="adrotate_bannercode"><textarea tabindex="2" id="adrotate_bannercode" name="adrotate_bannercode" cols="70" rows="15"><?php echo stripslashes($edit_banner->bannercode); ?></textarea></label>
123
</td>
124
+ <td width="35%" rowspan="2">
125
<p><strong><?php _e('Basic Examples:', 'adrotate'); ?></strong></p>
126
<p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;a href=&quot;https://ajdg.solutions/&quot;&gt;&lt;img src=&quot;%asset%&quot; /&gt;&lt;/a&gt;');return false;">&lt;a href="https://ajdg.solutions/"&gt;&lt;img src="%asset%" /&gt;&lt;/a&gt;</a></em></p>
127
<p><em><a href="#" onclick="textatcursor('adrotate_bannercode','&lt;iframe src=&quot;%asset%&quot; height=&quot;250&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;');return false;">&lt;iframe src=&quot;%asset%&quot; height=&quot;250&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;</a></em></p>
132
</tr>
133
<tr>
134
<th valign="top"><?php _e('Useful tags', 'adrotate'); ?></th>
135
+ <td colspan="2">
136
<p><em><a href="#" title="<?php _e('Insert the advert ID Number.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%id%');return false;">%id%</a>, <a href="#" title="<?php _e('Required when selecting a asset below.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%asset%');return false;">%asset%</a>, <a href="#" title="<?php _e('Insert the advert name.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%title%');return false;">%title%</a>, <a href="#" title="<?php _e('Insert a random seed. Useful for DFP/DoubleClick type adverts.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','%random%');return false;">%random%</a>, <a href="#" title="<?php _e('Add inside the <a> tag to open advert in a new window.', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','target=&quot;_blank&quot;');return false;">target="_blank"</a>, <a href="#" title="<?php _e('Add inside the <a> tag to tell crawlers to ignore this link', 'adrotate'); ?>" onclick="textatcursor('adrotate_bannercode','rel=&quot;nofollow&quot;');return false;">rel="nofollow"</a></em><br /><?php _e('Place the cursor in your AdCode where you want to add any of these tags and click to add it.', 'adrotate'); ?></p>
137
</td>
138
</tr>
139
<?php if($edit_banner->type != 'empty') { ?>
140
<tr>
141
<th valign="top"><?php _e('Preview', 'adrotate'); ?></th>
142
+ <td colspan="3">
143
<div><?php echo adrotate_preview($edit_banner->id); ?></div>
144
<br /><em><?php _e('Note: While this preview is an accurate one, it might look different then it does on the website.', 'adrotate'); ?>
145
<br /><?php _e('This is because of CSS differences. Your themes CSS file is not active here!', 'adrotate'); ?></em>
148
<?php } ?>
149
<tr>
150
<th valign="top"><?php _e('Banner asset', 'adrotate'); ?></th>
151
+ <td colspan="3">
152
<label for="adrotate_image">
153
<?php _e('WordPress media:', 'adrotate'); ?> <input tabindex="3" id="adrotate_image" type="text" size="50" name="adrotate_image" value="<?php echo $image_field; ?>" /> <input tabindex="4" id="adrotate_image_button" class="button" type="button" value="<?php _e('Select Banner', 'adrotate'); ?>" />
154
</label><br />
165
<?php if($adrotate_config['stats'] > 0) { ?>
166
<tr>
167
<th width="15%" valign="top"><?php _e('Statistics', 'adrotate'); ?></th>
168
+ <td colspan="3">
169
<label for="adrotate_tracker"><input tabindex="6" type="checkbox" name="adrotate_tracker" <?php if($edit_banner->tracker == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Enable click and impression tracking for this advert.', 'adrotate'); ?> <br />
170
<em><?php _e('Note: Clicktracking does not work for Javascript adverts such as those provided by Google AdSense/DFP/DoubleClick. HTML5/Flash adverts are not always supported.', 'adrotate'); ?></em>
171
</label>
174
<?php } ?>
175
<tr>
176
<th><?php _e('Activate', 'adrotate'); ?></th>
177
+ <td colspan="3">
178
<label for="adrotate_active">
179
<select tabindex="7" name="adrotate_active">
180
<option value="active" <?php if($edit_banner->type == "active") { echo 'selected'; } ?>><?php _e('Yes, this ad will be used', 'adrotate'); ?></option>
201
</tr>
202
<tr>
203
<th width="15%"><?php _e('In a post or page', 'adrotate'); ?></th>
204
+ <td width="35%">[adrotate banner="<?php echo $edit_banner->id; ?>"]</td>
205
<th width="15%"><?php _e('Directly in a theme', 'adrotate'); ?></th>
206
+ <td width="35%">&lt;?php echo adrotate_ad(<?php echo $edit_banner->id; ?>); ?&gt;</td>
207
</tr>
208
</tbody>
209
</table>
213
<tbody>
214
<tr>
215
<th width="15%"><?php _e('Start date (day/month/year)', 'adrotate'); ?></th>
216
+ <td width="35%">
217
<label for="adrotate_sday">
218
<input tabindex="9" name="adrotate_sday" class="search-input" type="text" size="4" maxlength="2" value="<?php echo $sday;?>" /> /
219
<select tabindex="10" name="adrotate_smonth">
dashboard/publisher/adverts-generator.php ADDED
@@ -0,0 +1,133 @@
1
+ <?php
2
+ /* ------------------------------------------------------------------------------------
3
+ * COPYRIGHT AND TRADEMARK NOTICE
4
+ * Copyright 2008-2017 Arnan de Gans. All Rights Reserved.
5
+ * ADROTATE is a registered trademark of Arnan de Gans.
6
+
7
+ * COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
8
+ * By using this code you agree to indemnify Arnan de Gans from any
9
+ * liability that might arise from it's use.
10
+ ------------------------------------------------------------------------------------ */
11
+
12
+ if(!$ad_edit_id) {
13
+ $edit_id = $wpdb->get_var("SELECT `id` FROM `{$wpdb->prefix}adrotate` WHERE `type` = 'generator' 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' => '', 'paid' => 'U', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'os_ios' => 'Y', 'os_android' => 'Y', 'os_other' => 'Y', 'responsive' => 'N', 'type' => 'generator', 'weight' => 6, 'autodelete' => 'N', 'budget' => 0, 'crate' => 0, 'irate' => 0, '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'));
19
+ $schedule_id = $wpdb->insert_id;
20
+ $wpdb->insert($wpdb->prefix.'adrotate_linkmeta', array('ad' => $edit_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
21
+ }
22
+ $ad_edit_id = $edit_id;
23
+ }
24
+
25
+ $edit_banner = $wpdb->get_row("SELECT * FROM `{$wpdb->prefix}adrotate` WHERE `id` = '$ad_edit_id';");
26
+
27
+ wp_enqueue_media();
28
+ wp_enqueue_script('uploader-hook', plugins_url().'/adrotate-pro/library/uploader-hook.js', array('jquery'));
29
+ ?>
30
+
31
+ <form method="post" action="admin.php?page=adrotate-ads">
32
+ <?php wp_nonce_field('adrotate_generate_ad','adrotate_nonce'); ?>
33
+ <input type="hidden" name="adrotate_id" value="<?php echo $edit_banner->id;?>" />
34
+
35
+ <h2><?php _e('Generate Advert Code', 'adrotate'); ?></h2>
36
+ <p><?php _e('Use the Generator if you have received a target url, banner image and/or some separate files with a description on how to use those. The AdRotate Generator will take your bits and pieces and try to generate a working adcode from it.', 'adrotate'); ?></p>
37
+
38
+ <p><?php _e('If you have a complete and working ad code / ad tag you do not use the Generator. You can simply paste that code in the AdCode field when creating your advert. For example as provided by Media.net or Google AdSense among others.', 'adrotate'); ?></p>
39
+
40
+ <h2><?php _e('Basic advert', 'adrotate'); ?></h2>
41
+ <em><?php _e('This is a regular advert consisting of an image and a link, made up from HTML code.', 'adrotate'); ?></em>
42
+ <table class="widefat" style="margin-top: .5em">
43
+
44
+ <tbody>
45
+ <tr>
46
+ <th valign="top"><?php _e('Banner asset', 'adrotate'); ?></th>
47
+ <td>
48
+ <label for="adrotate_basic_dropdown">
49
+ <select tabindex="1" id="adrotate_basic_dropdown" name="adrotate_basic_dropdown" style="min-width: 300px;">
50
+ <option value=""><?php _e('No file selected', 'adrotate'); ?></option>
51
+ <?php echo adrotate_folder_contents('', 'image'); ?>
52
+ </select> <?php _e('Is your file not listed? Upload it via the AdRotate Media Manager.', 'adrotate'); ?></label><br />
53
+ <?php _e('- OR -', 'adrotate'); ?><br />
54
+ <label for="adrotate_text"><input tabindex="2" id="adrotate_text" name="adrotate_text" type="text" size="60" class="search-input" value="" autocomplete="off" /> <?php _e('Visible text if this is a text link banner.', 'adrotate'); ?><br /><em><?php _e('Use either the dropdown or the text field. If the dropdown is used, that field has priority.', 'adrotate'); ?></em></label>
55
+
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <th width="15%" valign="top"><?php _e('Target website', 'adrotate'); ?></th>
60
+ <td>
61
+ <label for="adrotate_targeturl"><input tabindex="3" id="adrotate_targeturl" name="adrotate_targeturl" type="text" size="60" class="search-input" value="" autocomplete="off" /> <?php _e('Where does the person clicking the advert go?', 'adrotate'); ?></label>
62
+ </td>
63
+ </tr>
64
+ <tr>
65
+ <th valign="top"><?php _e('Target window', 'adrotate'); ?></th>
66
+ <td>
67
+ <label for="adrotate_newwindow_disabled"><input tabindex="4" type="checkbox" name="adrotate_newwindow_disabled" disabled="1" /></label> <?php _e('Available in AdRotate Pro.', 'adrotate'); ?> <?php _e('Open the target website in a new window?', 'adrotate'); ?>
68
+ </td>
69
+ </tr>
70
+ <tr>
71
+ <th valign="top"><?php _e('NoFollow', 'adrotate'); ?></th>
72
+ <td>
73
+ <label for="adrotate_nofollow_disabled"><input tabindex="5" type="checkbox" name="adrotate_nofollow_disabled" disabled="1"/></label> <?php _e('Available in AdRotate Pro.', 'adrotate'); ?> <?php _e('Tell crawlers and search engines not to follow the target website url?', 'adrotate'); ?>
74
+ </td>
75
+ </tr>
76
+ <tr>
77
+ <th valign="top"><?php _e('Advert size', 'adrotate'); ?></strong></th>
78
+ <td>
79
+ <label for="adrotate_width"><input tabindex="6" name="adrotate_width" type="text" class="search-input" size="5" value="" autocomplete="off" /> <?php _e('px wide', 'adrotate'); ?>,</label>
80
+ <label for="adrotate_height"><input tabindex="7" name="adrotate_height" type="text" class="search-input" size="5" value="" autocomplete="off" /> <?php _e('px high.', 'adrotate'); ?></label>
81
+ <?php _e('Define the maximum size of the adverts in pixels.', 'adrotate'); ?> <?php _e('(Optional)', 'adrotate'); ?>
82
+ </td>
83
+ </tr>
84
+ </tbody>
85
+
86
+ </table>
87
+
88
+ <h2><?php _e('HTML5 or Flash Advert', 'adrotate'); ?></h2>
89
+ <em><?php _e('These are more advanced adverts, using a Flash file or HTML5 files. Try to avoid Flash. HTML5 is the new and better standard.', 'adrotate'); ?><br />
90
+ <?php _e('If your HTML5 advert consists of multiple files, upload all files using the AdRotate Media Manager and select the HTML file here.', 'adrotate'); ?></em>
91
+ <table class="widefat" style="margin-top: .5em">
92
+
93
+ <tbody>
94
+ <tr>
95
+ <th valign="top" width="15%"><?php _e('HTML/Flash file', 'adrotate'); ?></th>
96
+ <td>
97
+ <label for="adrotate_html5_dropdown">
98
+ <select tabindex="8" id="adrotate_html5_dropdown" name="adrotate_html5_dropdown" style="min-width: 300px;">
99
+ <option value=""><?php _e('No file selected', 'adrotate'); ?></option>
100
+ <?php echo adrotate_folder_contents('', 'html5'); ?>
101
+ </select> <?php _e('Is your file not listed? Upload it via the AdRotate Media Manager.', 'adrotate'); ?>
102
+ </label>
103
+ </td>
104
+ </tr>
105
+ <tr>
106
+ <th valign="top"><?php _e('Advert size', 'adrotate'); ?></strong></th>
107
+ <td>
108
+ <label for="adrotate_html5_width"><input tabindex="9" name="adrotate_html5_width" type="text" class="search-input" size="5" value="" autocomplete="off" /> <?php _e('px wide', 'adrotate'); ?>,</label>
109
+ <label for="adrotate_html5_height"><input tabindex="10" name="adrotate_html5_height" type="text" class="search-input" size="5" value="" autocomplete="off" /> <?php _e('px high.', 'adrotate'); ?></label>
110
+ <?php _e('Define the maximum size of the adverts in pixels.', 'adrotate'); ?>
111
+ </td>
112
+ </tr>
113
+ <tr>
114
+ <th valign="top" width="15%"><?php _e('Flash clickTAG', 'adrotate'); ?></th>
115
+ <td>
116
+ <label for="adrotate_html5_clicktag">
117
+ <?php _e('Parameter', 'adrotate'); ?> <select tabindex="11" id="adrotate_html5_clicktag_disabled" name="adrotate_html5_clicktag_disabled" style="min-width: 200px;" disabled="1">
118
+ <option value=""><?php _e('No clickTAG', 'adrotate'); ?></option>
119
+ </select> <?php _e('URL', 'adrotate'); ?> <input tabindex="12" id="adrotate_html5_clicktag_disabled" name="adrotate_html5_clicktag_disabled" type="text" size="50" class="search-input" value="" autocomplete="off" disabled="1" /> <?php _e('(Optional)', 'adrotate'); ?><br /><em><?php _e('Available in AdRotate Pro.', 'adrotate'); ?> <?php _e('This option is ignored for HTML5 adverts. All choices do the exact same, but some developers write the parameter differently.', 'adrotate'); ?></em>
120
+ </label>
121
+ </td>
122
+ </tr>
123
+ </tbody>
124
+
125
+ </table>
126
+
127
+ <p class="submit">
128
+ <input tabindex="13" type="submit" name="adrotate_generate_submit" class="button-primary" value="<?php _e('Generate and Configure Advert', 'adrotate'); ?>" />
129
+ <a href="admin.php?page=adrotate-ads&view=manage" class="button"><?php _e('Cancel', 'adrotate'); ?></a> <?php _e('Always test your adverts before activating them.', 'adrotate'); ?>
130
+ </p>
131
+
132
+ <p><em><strong><?php _e('NOTE:', 'adrotate'); ?></strong> <?php _e('While the Code Generator has been tested and works, code generation, as always, is a interpretation of user input. If you provide the correct bits and pieces, a working advert may be generated. If you leave fields empty or insert the wrong info you probably end up with a broken advert.', 'adrotate'); ?><br /><?php _e('Based on your input and experiences later iterations of the Code Generator will be better and more feature rich.', 'adrotate'); ?></em></p>
133
+ </form>
dashboard/publisher/groups-edit.php CHANGED
@@ -13,7 +13,7 @@
13
$action = "group_new";
14
$edit_id = $wpdb->get_var("SELECT `id` FROM `{$wpdb->prefix}adrotate_groups` WHERE `name` = '' ORDER BY `id` DESC LIMIT 1;");
15
if($edit_id == 0) {
16
- $wpdb->insert($wpdb->prefix.'adrotate_groups', array('name' => '', 'modus' => 0, 'fallback' => '0', 'cat' => '', 'cat_loc' => 0, 'cat_par' => 0, 'page' => '', 'page_loc' => 0, 'page_par' => 0, 'mobile' => 0, 'geo' => 0, 'wrapper_before' => '', 'wrapper_after' => '', 'gridrows' => 2, 'gridcolumns' => 2, 'admargin' => 0, 'admargin_bottom' => 0, 'admargin_left' => 0, 'admargin_right' => 0, 'adwidth' => '125', 'adheight' => '125', 'adspeed' => 6000));
17
$edit_id = $wpdb->insert_id;
18
}
19
$group_edit_id = $edit_id;
13
$action = "group_new";
14
$edit_id = $wpdb->get_var("SELECT `id` FROM `{$wpdb->prefix}adrotate_groups` WHERE `name` = '' ORDER BY `id` DESC LIMIT 1;");
15
if($edit_id == 0) {
16
+ $wpdb->insert($wpdb->prefix.'adrotate_groups', array('name' => '', 'modus' => 0, 'fallback' => '0', 'cat' => '', 'cat_loc' => 0, 'cat_par' => 0, 'page' => '', 'page_loc' => 0, 'page_par' => 0, 'mobile' => 0, 'geo' => 0, 'wrapper_before' => '', 'wrapper_after' => '', 'gridrows' => 2, 'gridcolumns' => 2, 'admargin' => 0, 'admargin_bottom' => 0, 'admargin_left' => 0, 'admargin_right' => 0, 'adwidth' => '125', 'adheight' => '125', 'adspeed' => 6000, 'repeat_impressions' => 'Y'));
17
$edit_id = $wpdb->insert_id;
18
}
19
$group_edit_id = $edit_id;
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
=== AdRotate Banner Manager ===
2
Contributors: adegans
3
Donate link: http://www.arnan.me/donate/?utm_campaign=donations&utm_medium=readme&utm_source=adrotate-free
4
- Tags: ad, ads, adsense, advertising, doubleclick, media.net, ad rotator, ad manager, banner manager, advert manager, analytics, advertisement,
5
Requires at least: 3.8
6
Tested up to: 4.8
7
- Stable tag: 4.4
8
License: GPLv3
9
10
Monetise your website with adverts while keeping things simple. Start making money today!
@@ -98,43 +98,22 @@ You can also post your questions on the [forum](https://ajdg.solutions/forums/?u
98
99
Be a Professional and go Pro. With [AdRotate Professional](https://ajdg.solutions/plugins/adrotate-for-wordpress/?utm_campaign=adrotate-page&utm_medium=readme&utm_source=adrotate-free)!
100
101
- = 4.4 FREE =
102
- * [new] Advert exports to CSV
103
- * [new] Option to delete old export files in Settings > Maintenance
104
- * [change] Banner folder must be in wp-content (or it's equivalent)
105
- * [change] Dashboard tweaks
106
- * [change] XML exporting no longer supported
107
- * [change] Advert exporting now requires 'ad_manage' permission
108
- * [i18n] Settings tabs added
109
- * [i18n] Updated Spanish by Juanjo Navarra
110
- * [i18n] Updated all po files with new strings
111
-
112
- = 4.7 PRO =
113
- * [new] Advert exports to CSV
114
- * [new] Advert importing from CSV
115
- * [new] Option to delete old export files in Settings > Maintenance
116
- * [change] Banner folder must be in wp-content (or it's equivalent)
117
- * [change] Dashboard tweaks
118
- * [change] XML importing and exporting no longer supported
119
- * [change] Advert exporting now requires 'ad_manage' permission
120
- * [fix] Improved PHP7 compatibility
121
- * [fix] Sortable columns now properly assigned
122
- * [fix] Exporting of adverts
123
- * [i18n] Updated all po files with new strings
124
125
All recent changes are available on the [AdRotate website](https://ajdg.solutions/plugins/adrotate-for-wordpress/development/?utm_campaign=development&utm_medium=readme&utm_source=adrotate-free).
126
127
== Upgrade Notice ==
128
129
- * [new] Advert exports to CSV
130
- * [new] Option to delete old export files in Settings > Maintenance
131
- * [change] Banner folder must be in wp-content (or it's equivalent)
132
- * [change] Dashboard tweaks
133
- * [change] XML exporting no longer supported
134
- * [change] Advert exporting now requires 'ad_manage' permission
135
- * [i18n] Settings tabs added
136
- * [i18n] Updated Spanish by Juanjo Navarra
137
- * [i18n] Updated all po files with new strings
138
139
== Screenshots ==
140
1
=== AdRotate Banner Manager ===
2
Contributors: adegans
3
Donate link: http://www.arnan.me/donate/?utm_campaign=donations&utm_medium=readme&utm_source=adrotate-free
4
+ Tags: ad, advert, adsense, advertising, doubleclick, responsive, ad rotator, ad manager, banner manager, advert manager, analytics, advertisement,
5
Requires at least: 3.8
6
Tested up to: 4.8
7
+ Stable tag: 4.5
8
License: GPLv3
9
10
Monetise your website with adverts while keeping things simple. Start making money today!
98
99
Be a Professional and go Pro. With [AdRotate Professional](https://ajdg.solutions/plugins/adrotate-for-wordpress/?utm_campaign=adrotate-page&utm_medium=readme&utm_source=adrotate-free)!
100
101
+ = 4.5 FREE =
102
+ * [new] Basic advert code generator
103
+ * [fix] Unable to edit adverts with empty titles
104
+
105
+ = 4.8 PRO =
106
+ * [new] Advert code generator
107
+ * [new] Hide selected adverts from logged in users
108
+ * [new] Count impressions for the first cycle in dynamic groups
109
+ * [fix] Unable to edit adverts with empty titles
110
111
All recent changes are available on the [AdRotate website](https://ajdg.solutions/plugins/adrotate-for-wordpress/development/?utm_campaign=development&utm_medium=readme&utm_source=adrotate-free).
112
113
== Upgrade Notice ==
114
115
+ * [new] Basic advert code generator
116
+ * [fix] Unable to edit adverts with empty titles
117
118
== Screenshots ==
119