Version Description
- [new] Re-enable schedules from Maintenance
- [change] moved tracker data back to it's own system
- [change] Updated the database installer
- [change] Don't count impressions for unknown IP addresses
All recent changes are available on the AdRotate website.
=
Download this release
Release Info
Developer | adegans |
Plugin | AdRotate Banner Manager |
Version | 4.0 |
Comparing to | |
See all releases |
Code changes from version 3.19 to 4.0
- adrotate-output.php +2 -0
- adrotate-setup.php +74 -51
- adrotate-statistics.php +13 -51
- adrotate.php +5 -5
- dashboard/publisher/adverts-disabled.php +1 -0
- dashboard/publisher/adverts-error.php +5 -5
- dashboard/settings/maintenance.php +11 -7
- dashboard/settings/statistics.php +0 -6
- readme.txt +21 -26
adrotate-output.php
CHANGED
@@ -738,6 +738,8 @@ function adrotate_notifications_dashboard() {
|
|
738 |
echo ' </div>';
|
739 |
echo '</div>';
|
740 |
}
|
|
|
|
|
741 |
}
|
742 |
|
743 |
/*-------------------------------------------------------------
|
738 |
echo ' </div>';
|
739 |
echo '</div>';
|
740 |
}
|
741 |
+
|
742 |
+
if(isset($_GET['tasks']) AND $_GET['tasks'] == 1) adrotate_check_schedules();
|
743 |
}
|
744 |
|
745 |
/*-------------------------------------------------------------
|
adrotate-setup.php
CHANGED
@@ -124,7 +124,7 @@ function adrotate_deactivate_setup() {
|
|
124 |
// Clear out wp_cron
|
125 |
wp_clear_scheduled_hook('adrotate_notification');
|
126 |
wp_clear_scheduled_hook('adrotate_evaluate_ads');
|
127 |
-
wp_clear_scheduled_hook('
|
128 |
}
|
129 |
|
130 |
/*-------------------------------------------------------------
|
@@ -155,6 +155,7 @@ function adrotate_uninstall_setup() {
|
|
155 |
$wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats_archive`");
|
156 |
$wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_schedule`");
|
157 |
$wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_transactions`");
|
|
|
158 |
|
159 |
// Delete Options
|
160 |
delete_option('adrotate_activate');
|
@@ -211,8 +212,8 @@ function adrotate_check_schedules() {
|
|
211 |
wp_schedule_event($firstrun + 900, 'twicedaily', 'adrotate_evaluate_ads');
|
212 |
}
|
213 |
|
214 |
-
if(!wp_next_scheduled('
|
215 |
-
wp_schedule_event($firstrun + 1800, '
|
216 |
}
|
217 |
}
|
218 |
|
@@ -248,8 +249,6 @@ function adrotate_check_config() {
|
|
248 |
if(!isset($config['stats']) OR ($config['stats'] < 0 AND $config['stats'] > 2)) $config['stats'] = 1;
|
249 |
if(!isset($config['enable_loggedin_impressions']) OR ($config['enable_loggedin_impressions'] != 'Y' AND $config['enable_loggedin_impressions'] != 'N')) $config['enable_loggedin_impressions'] = 'Y';
|
250 |
if(!isset($config['enable_loggedin_clicks']) OR ($config['enable_loggedin_clicks'] != 'Y' AND $config['enable_loggedin_clicks'] != 'N')) $config['enable_loggedin_clicks'] = 'Y';
|
251 |
-
if(!isset($config['enable_clean_trackerdata']) OR ($config['enable_clean_trackerdata'] != 'Y' AND $config['enable_clean_trackerdata'] != 'N')) $config['enable_clean_trackerdata'] = 'Y';
|
252 |
-
if(!wp_next_scheduled('adrotate_delete_transients')) wp_schedule_event(adrotate_now(), 'hourly', 'adrotate_delete_transients'); // Goes together with 'enable_clean_trackerdata' option if Y
|
253 |
if(!isset($config['enable_geo'])) $config['enable_geo'] = 0;
|
254 |
if(!isset($config['geo_email'])) $config['geo_email'] = '';
|
255 |
if(!isset($config['geo_pass'])) $config['geo_pass'] = '';
|
@@ -535,8 +534,20 @@ function adrotate_database_install() {
|
|
535 |
KEY `ad` (`ad`)
|
536 |
) ".$charset_collate.$engine.";");
|
537 |
}
|
538 |
-
}
|
539 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
540 |
|
541 |
/*-------------------------------------------------------------
|
542 |
Name: adrotate_check_upgrade
|
@@ -581,6 +592,23 @@ function adrotate_check_upgrade() {
|
|
581 |
function adrotate_database_upgrade() {
|
582 |
global $wpdb;
|
583 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
584 |
$adrotate_db_version = get_option("adrotate_db_version");
|
585 |
|
586 |
// Database: 24
|
@@ -835,22 +863,6 @@ function adrotate_database_upgrade() {
|
|
835 |
// Database: 57
|
836 |
// AdRotate: 3.15
|
837 |
if($adrotate_db_version['current'] < 57) {
|
838 |
-
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
839 |
-
|
840 |
-
$charset_collate = $engine = '';
|
841 |
-
$found_tables = $wpdb->get_col("SHOW TABLES LIKE '{$wpdb->prefix}adrotate%';");
|
842 |
-
if(!empty($wpdb->charset)) {
|
843 |
-
$charset_collate .= " DEFAULT CHARACTER SET {$wpdb->charset}";
|
844 |
-
}
|
845 |
-
if($wpdb->has_cap('collation') AND !empty($wpdb->collate)) {
|
846 |
-
$charset_collate .= " COLLATE {$wpdb->collate}";
|
847 |
-
}
|
848 |
-
|
849 |
-
$found_engine = $wpdb->get_var("SELECT ENGINE FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = '".DB_NAME."' AND `TABLE_NAME` = '{$wpdb->prefix}posts';");
|
850 |
-
if(strtolower($found_engine) == 'innodb') {
|
851 |
-
$engine = ' ENGINE=InnoDB';
|
852 |
-
}
|
853 |
-
|
854 |
if(!in_array("{$wpdb->prefix}adrotate_stats_archive", $found_tables)) {
|
855 |
dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_stats_archive` (
|
856 |
`id` bigint(9) unsigned NOT NULL auto_increment,
|
@@ -883,22 +895,6 @@ function adrotate_database_upgrade() {
|
|
883 |
adrotate_del_column("{$wpdb->prefix}adrotate", 'sortorder');
|
884 |
adrotate_del_column("{$wpdb->prefix}adrotate_groups", 'sortorder');
|
885 |
|
886 |
-
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
887 |
-
|
888 |
-
$charset_collate = $engine = '';
|
889 |
-
$found_tables = $wpdb->get_col("SHOW TABLES LIKE '{$wpdb->prefix}adrotate%';");
|
890 |
-
if(!empty($wpdb->charset)) {
|
891 |
-
$charset_collate .= " DEFAULT CHARACTER SET {$wpdb->charset}";
|
892 |
-
}
|
893 |
-
if($wpdb->has_cap('collation') AND !empty($wpdb->collate)) {
|
894 |
-
$charset_collate .= " COLLATE {$wpdb->collate}";
|
895 |
-
}
|
896 |
-
|
897 |
-
$found_engine = $wpdb->get_var("SELECT ENGINE FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = '".DB_NAME."' AND `TABLE_NAME` = '{$wpdb->prefix}posts';");
|
898 |
-
if(strtolower($found_engine) == 'innodb') {
|
899 |
-
$engine = ' ENGINE=InnoDB';
|
900 |
-
}
|
901 |
-
|
902 |
if(!in_array("{$wpdb->prefix}adrotate_transactions", $found_tables)) {
|
903 |
dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_transactions` (
|
904 |
`id` mediumint(8) unsigned NOT NULL auto_increment,
|
@@ -928,6 +924,27 @@ function adrotate_database_upgrade() {
|
|
928 |
adrotate_del_column("{$wpdb->prefix}adrotate_schedule", 'hourimpressions');
|
929 |
}
|
930 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
931 |
update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
|
932 |
}
|
933 |
|
@@ -1106,6 +1123,12 @@ function adrotate_core_upgrade() {
|
|
1106 |
delete_option('adrotate_responsive_required');
|
1107 |
}
|
1108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1109 |
update_option("adrotate_version", array('current' => ADROTATE_VERSION, 'previous' => $adrotate_version['current']));
|
1110 |
}
|
1111 |
|
@@ -1123,8 +1146,8 @@ function adrotate_optimize_database() {
|
|
1123 |
$now = adrotate_now();
|
1124 |
|
1125 |
if($adrotate_db_timer < ($now - 86400)) {
|
1126 |
-
dbDelta("OPTIMIZE TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_transactions`;");
|
1127 |
-
dbDelta("REPAIR TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_transactions`;");
|
1128 |
update_option('adrotate_db_timer', $now);
|
1129 |
adrotate_return('adrotate-settings', 403, array('tab' => 'maintenance'));
|
1130 |
} else {
|
@@ -1153,10 +1176,9 @@ function adrotate_cleanup_database() {
|
|
1153 |
$wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `thetime` < $lastyear;");
|
1154 |
}
|
1155 |
|
1156 |
-
//
|
1157 |
-
|
1158 |
-
|
1159 |
-
}
|
1160 |
|
1161 |
// Delete empty ads, groups and schedules
|
1162 |
$wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate` WHERE `type` = 'empty' OR `type` = 'a_empty';");
|
@@ -1190,17 +1212,18 @@ function adrotate_cleanup_database() {
|
|
1190 |
}
|
1191 |
|
1192 |
/*-------------------------------------------------------------
|
1193 |
-
Name:
|
1194 |
-
Purpose:
|
1195 |
-
Since:
|
1196 |
-------------------------------------------------------------*/
|
1197 |
-
function
|
1198 |
global $wpdb;
|
1199 |
|
1200 |
-
$
|
1201 |
-
|
1202 |
-
$
|
1203 |
|
|
|
1204 |
}
|
1205 |
|
1206 |
/*-------------------------------------------------------------
|
124 |
// Clear out wp_cron
|
125 |
wp_clear_scheduled_hook('adrotate_notification');
|
126 |
wp_clear_scheduled_hook('adrotate_evaluate_ads');
|
127 |
+
wp_clear_scheduled_hook('adrotate_empty_trackerdata');
|
128 |
}
|
129 |
|
130 |
/*-------------------------------------------------------------
|
155 |
$wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_stats_archive`");
|
156 |
$wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_schedule`");
|
157 |
$wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_transactions`");
|
158 |
+
$wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_tracker`");
|
159 |
|
160 |
// Delete Options
|
161 |
delete_option('adrotate_activate');
|
212 |
wp_schedule_event($firstrun + 900, 'twicedaily', 'adrotate_evaluate_ads');
|
213 |
}
|
214 |
|
215 |
+
if(!wp_next_scheduled('adrotate_empty_trackerdata')) { // Periodically clean trackerdata
|
216 |
+
wp_schedule_event($firstrun + 1800, 'twicedaily', 'adrotate_empty_trackerdata');
|
217 |
}
|
218 |
}
|
219 |
|
249 |
if(!isset($config['stats']) OR ($config['stats'] < 0 AND $config['stats'] > 2)) $config['stats'] = 1;
|
250 |
if(!isset($config['enable_loggedin_impressions']) OR ($config['enable_loggedin_impressions'] != 'Y' AND $config['enable_loggedin_impressions'] != 'N')) $config['enable_loggedin_impressions'] = 'Y';
|
251 |
if(!isset($config['enable_loggedin_clicks']) OR ($config['enable_loggedin_clicks'] != 'Y' AND $config['enable_loggedin_clicks'] != 'N')) $config['enable_loggedin_clicks'] = 'Y';
|
|
|
|
|
252 |
if(!isset($config['enable_geo'])) $config['enable_geo'] = 0;
|
253 |
if(!isset($config['geo_email'])) $config['geo_email'] = '';
|
254 |
if(!isset($config['geo_pass'])) $config['geo_pass'] = '';
|
534 |
KEY `ad` (`ad`)
|
535 |
) ".$charset_collate.$engine.";");
|
536 |
}
|
|
|
537 |
|
538 |
+
if(!in_array("{$wpdb->prefix}adrotate_tracker", $found_tables)) {
|
539 |
+
dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_tracker` (
|
540 |
+
`id` bigint(9) unsigned NOT NULL auto_increment,
|
541 |
+
`ipaddress` varchar(15) NOT NULL default '0',
|
542 |
+
`timer` int(15) unsigned NOT NULL default '0',
|
543 |
+
`bannerid` int(15) unsigned NOT NULL default '0',
|
544 |
+
`stat` char(1) NOT NULL default 'c',
|
545 |
+
PRIMARY KEY (`id`),
|
546 |
+
KEY `ipaddress` (`ipaddress`),
|
547 |
+
KEY `timer` (`timer`)
|
548 |
+
) ".$charset_collate.$engine.";");
|
549 |
+
}
|
550 |
+
}
|
551 |
|
552 |
/*-------------------------------------------------------------
|
553 |
Name: adrotate_check_upgrade
|
592 |
function adrotate_database_upgrade() {
|
593 |
global $wpdb;
|
594 |
|
595 |
+
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
596 |
+
|
597 |
+
// Database type and specs
|
598 |
+
$charset_collate = $engine = '';
|
599 |
+
$found_tables = $wpdb->get_col("SHOW TABLES LIKE '{$wpdb->prefix}adrotate%';");
|
600 |
+
if(!empty($wpdb->charset)) {
|
601 |
+
$charset_collate .= " DEFAULT CHARACTER SET {$wpdb->charset}";
|
602 |
+
}
|
603 |
+
if($wpdb->has_cap('collation') AND !empty($wpdb->collate)) {
|
604 |
+
$charset_collate .= " COLLATE {$wpdb->collate}";
|
605 |
+
}
|
606 |
+
|
607 |
+
$found_engine = $wpdb->get_var("SELECT ENGINE FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = '".DB_NAME."' AND `TABLE_NAME` = '{$wpdb->prefix}posts';");
|
608 |
+
if(strtolower($found_engine) == 'innodb') {
|
609 |
+
$engine = ' ENGINE=InnoDB';
|
610 |
+
}
|
611 |
+
|
612 |
$adrotate_db_version = get_option("adrotate_db_version");
|
613 |
|
614 |
// Database: 24
|
863 |
// Database: 57
|
864 |
// AdRotate: 3.15
|
865 |
if($adrotate_db_version['current'] < 57) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
866 |
if(!in_array("{$wpdb->prefix}adrotate_stats_archive", $found_tables)) {
|
867 |
dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_stats_archive` (
|
868 |
`id` bigint(9) unsigned NOT NULL auto_increment,
|
895 |
adrotate_del_column("{$wpdb->prefix}adrotate", 'sortorder');
|
896 |
adrotate_del_column("{$wpdb->prefix}adrotate_groups", 'sortorder');
|
897 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
898 |
if(!in_array("{$wpdb->prefix}adrotate_transactions", $found_tables)) {
|
899 |
dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_transactions` (
|
900 |
`id` mediumint(8) unsigned NOT NULL auto_increment,
|
924 |
adrotate_del_column("{$wpdb->prefix}adrotate_schedule", 'hourimpressions');
|
925 |
}
|
926 |
|
927 |
+
// Database: 62
|
928 |
+
// AdRotate: 4.0
|
929 |
+
if($adrotate_db_version['current'] < 62) {
|
930 |
+
// Make sure the table really is gone before creating a new one!
|
931 |
+
$wpdb->query("DROP TABLE IF EXISTS `{$wpdb->prefix}adrotate_tracker`");
|
932 |
+
|
933 |
+
dbDelta("CREATE TABLE `{$wpdb->prefix}adrotate_tracker` (
|
934 |
+
`id` bigint(9) unsigned NOT NULL auto_increment,
|
935 |
+
`ipaddress` varchar(15) NOT NULL default '0',
|
936 |
+
`timer` int(15) unsigned NOT NULL default '0',
|
937 |
+
`bannerid` int(15) unsigned NOT NULL default '0',
|
938 |
+
`stat` char(1) NOT NULL default 'c',
|
939 |
+
PRIMARY KEY (`id`),
|
940 |
+
KEY `ipaddress` (`ipaddress`),
|
941 |
+
KEY `timer` (`timer`)
|
942 |
+
) ".$charset_collate.$engine.";");
|
943 |
+
|
944 |
+
$wpdb->query("DELETE FROM `{$wpdb->prefix}options` WHERE `option_name` LIKE '\_transient\_adrotate\_%'");
|
945 |
+
$wpdb->query("DELETE FROM `{$wpdb->prefix}options` WHERE `option_name` LIKE '\_transient\_timeout\_adrotate\_%'");
|
946 |
+
}
|
947 |
+
|
948 |
update_option("adrotate_db_version", array('current' => ADROTATE_DB_VERSION, 'previous' => $adrotate_db_version['current']));
|
949 |
}
|
950 |
|
1123 |
delete_option('adrotate_responsive_required');
|
1124 |
}
|
1125 |
|
1126 |
+
// 4.0
|
1127 |
+
if($adrotate_version['current'] < 388) {
|
1128 |
+
wp_clear_scheduled_hook('adrotate_delete_transients');
|
1129 |
+
if(!wp_next_scheduled('adrotate_empty_trackerdata')) wp_schedule_event($firstrun, 'hourly', 'adrotate_empty_trackerdata');
|
1130 |
+
}
|
1131 |
+
|
1132 |
update_option("adrotate_version", array('current' => ADROTATE_VERSION, 'previous' => $adrotate_version['current']));
|
1133 |
}
|
1134 |
|
1146 |
$now = adrotate_now();
|
1147 |
|
1148 |
if($adrotate_db_timer < ($now - 86400)) {
|
1149 |
+
dbDelta("OPTIMIZE TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_transactions`;");
|
1150 |
+
dbDelta("REPAIR TABLE `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_groups`, `{$wpdb->prefix}adrotate_linkmeta`, `{$wpdb->prefix}adrotate_stats`, `{$wpdb->prefix}adrotate_stats_archive`, `{$wpdb->prefix}adrotate_tracker`, `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_transactions`;");
|
1151 |
update_option('adrotate_db_timer', $now);
|
1152 |
adrotate_return('adrotate-settings', 403, array('tab' => 'maintenance'));
|
1153 |
} else {
|
1176 |
$wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `thetime` < $lastyear;");
|
1177 |
}
|
1178 |
|
1179 |
+
// Clean up Tracker data
|
1180 |
+
$yesterday = $now - 86400;
|
1181 |
+
$wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE `timer` < $yesterday;");
|
|
|
1182 |
|
1183 |
// Delete empty ads, groups and schedules
|
1184 |
$wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate` WHERE `type` = 'empty' OR `type` = 'a_empty';");
|
1212 |
}
|
1213 |
|
1214 |
/*-------------------------------------------------------------
|
1215 |
+
Name: adrotate_empty_trackerdata
|
1216 |
+
Purpose: Removes old statistics
|
1217 |
+
Since: 4.0
|
1218 |
-------------------------------------------------------------*/
|
1219 |
+
function adrotate_empty_trackerdata() {
|
1220 |
global $wpdb;
|
1221 |
|
1222 |
+
$now = adrotate_now();
|
1223 |
+
$clicks = $now - 86400;
|
1224 |
+
$impressions = $now - 3600;
|
1225 |
|
1226 |
+
$wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_tracker` WHERE (`timer` < {$clicks} AND `stat` = 'c') OR (`timer` < {$impressions} AND `stat` = 'i') OR `ipaddress` = 'unknown' OR `ipaddress` = '';");
|
1227 |
}
|
1228 |
|
1229 |
/*-------------------------------------------------------------
|
adrotate-statistics.php
CHANGED
@@ -11,10 +11,7 @@
|
|
11 |
|
12 |
/*-------------------------------------------------------------
|
13 |
Name: adrotate_draw_graph
|
14 |
-
|
15 |
Purpose: Draw graph using ElyCharts
|
16 |
-
Receive: $id, $labels, $clicks, $impressions
|
17 |
-
Return: -None-
|
18 |
Since: 3.8
|
19 |
-------------------------------------------------------------*/
|
20 |
function adrotate_draw_graph($id = 0, $labels = 0, $clicks = 0, $impressions = 0) {
|
@@ -84,10 +81,7 @@ function adrotate_draw_graph($id = 0, $labels = 0, $clicks = 0, $impressions = 0
|
|
84 |
|
85 |
/*-------------------------------------------------------------
|
86 |
Name: adrotate_stats
|
87 |
-
|
88 |
Purpose: Generate latest number of clicks and impressions
|
89 |
-
Receive: $ad, $when
|
90 |
-
Return: $stats
|
91 |
Since: 3.8
|
92 |
-------------------------------------------------------------*/
|
93 |
function adrotate_stats($ad, $when = 0, $until = 0) {
|
@@ -124,10 +118,7 @@ function adrotate_stats($ad, $when = 0, $until = 0) {
|
|
124 |
|
125 |
/*-------------------------------------------------------------
|
126 |
Name: adrotate_stats_nav
|
127 |
-
|
128 |
Purpose: Create browsable links for graph
|
129 |
-
Receive: $type, $id, $month, $year
|
130 |
-
Return: $nav
|
131 |
Since: 3.8
|
132 |
-------------------------------------------------------------*/
|
133 |
function adrotate_stats_nav($type, $id, $month, $year) {
|
@@ -159,10 +150,7 @@ function adrotate_stats_nav($type, $id, $month, $year) {
|
|
159 |
|
160 |
/*-------------------------------------------------------------
|
161 |
Name: adrotate_stats_graph
|
162 |
-
|
163 |
Purpose: Generate graph
|
164 |
-
Receive: $type, $id, $chartid, $start, $end
|
165 |
-
Return: $output
|
166 |
Since: 3.8
|
167 |
-------------------------------------------------------------*/
|
168 |
function adrotate_stats_graph($type, $id, $chartid, $start, $end) {
|
@@ -234,10 +222,7 @@ function adrotate_stats_graph($type, $id, $chartid, $start, $end) {
|
|
234 |
|
235 |
/*-------------------------------------------------------------
|
236 |
Name: adrotate_ctr
|
237 |
-
|
238 |
Purpose: Calculate Click-Through-Rate
|
239 |
-
Receive: $clicks, $impressions, $round
|
240 |
-
Return: $ctr
|
241 |
Since: 3.7
|
242 |
-------------------------------------------------------------*/
|
243 |
function adrotate_ctr($clicks = 0, $impressions = 0, $round = 2) {
|
@@ -253,10 +238,7 @@ function adrotate_ctr($clicks = 0, $impressions = 0, $round = 2) {
|
|
253 |
|
254 |
/*-------------------------------------------------------------
|
255 |
Name: adrotate_date_start
|
256 |
-
|
257 |
Purpose: Get and return the localized UNIX time for the current hour, day and start of the week
|
258 |
-
Receive: $what
|
259 |
-
Return: int
|
260 |
Since: 3.8.5.1
|
261 |
-------------------------------------------------------------*/
|
262 |
function adrotate_date_start($what) {
|
@@ -298,10 +280,7 @@ function adrotate_date_start($what) {
|
|
298 |
|
299 |
/*-------------------------------------------------------------
|
300 |
Name: adrotate_now
|
301 |
-
|
302 |
Purpose: Get and return the localized UNIX time for "now"
|
303 |
-
Receive: -None-
|
304 |
-
Return: int
|
305 |
Since: 3.8.6.2
|
306 |
-------------------------------------------------------------*/
|
307 |
function adrotate_now() {
|
@@ -310,10 +289,7 @@ function adrotate_now() {
|
|
310 |
|
311 |
/*-------------------------------------------------------------
|
312 |
Name: adrotate_count_impression
|
313 |
-
|
314 |
Purpose: Count Impressions where needed
|
315 |
-
Receive: $ad, $group
|
316 |
-
Return: -None-
|
317 |
Since: 3.10.12
|
318 |
-------------------------------------------------------------*/
|
319 |
function adrotate_count_impression($ad, $group = 0, $blog_id = 0) {
|
@@ -330,31 +306,25 @@ function adrotate_count_impression($ad, $group = 0, $blog_id = 0) {
|
|
330 |
$impression_timer = $now - $adrotate_config['impression_timer'];
|
331 |
}
|
332 |
|
333 |
-
$
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
$wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $hour, 'clicks' => 0, 'impressions' => 1));
|
345 |
}
|
346 |
-
|
347 |
-
set_transient($transientkey, $now, $adrotate_config['impression_timer']);
|
348 |
}
|
349 |
}
|
350 |
}
|
351 |
|
352 |
/*-------------------------------------------------------------
|
353 |
Name: adrotate_impression_callback
|
354 |
-
|
355 |
Purpose: Register a impression for dynamic groups
|
356 |
-
Receive: $_POST
|
357 |
-
Return: -None-
|
358 |
Since: 3.10.14
|
359 |
-------------------------------------------------------------*/
|
360 |
function adrotate_impression_callback() {
|
@@ -380,10 +350,7 @@ function adrotate_impression_callback() {
|
|
380 |
|
381 |
/*-------------------------------------------------------------
|
382 |
Name: adrotate_click_callback
|
383 |
-
|
384 |
Purpose: Register clicks for clicktracking
|
385 |
-
Receive: $_POST
|
386 |
-
Return: -None-
|
387 |
Since: 3.10.14
|
388 |
-------------------------------------------------------------*/
|
389 |
function adrotate_click_callback() {
|
@@ -417,12 +384,7 @@ function adrotate_click_callback() {
|
|
417 |
$click_timer = $now - $adrotate_config['click_timer'];
|
418 |
}
|
419 |
|
420 |
-
$
|
421 |
-
$saved_timer = get_transient($transientkey);
|
422 |
-
if(false === $saved_timer) {
|
423 |
-
$saved_timer = 0;
|
424 |
-
}
|
425 |
-
|
426 |
if($saved_timer < $click_timer) {
|
427 |
$stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = %d AND `group` = %d AND `thetime` = {$hour};", $ad, $group));
|
428 |
if($stats > 0) {
|
@@ -431,7 +393,7 @@ function adrotate_click_callback() {
|
|
431 |
$wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $hour, 'clicks' => 1, 'impressions' => 1));
|
432 |
}
|
433 |
|
434 |
-
|
435 |
}
|
436 |
}
|
437 |
}
|
11 |
|
12 |
/*-------------------------------------------------------------
|
13 |
Name: adrotate_draw_graph
|
|
|
14 |
Purpose: Draw graph using ElyCharts
|
|
|
|
|
15 |
Since: 3.8
|
16 |
-------------------------------------------------------------*/
|
17 |
function adrotate_draw_graph($id = 0, $labels = 0, $clicks = 0, $impressions = 0) {
|
81 |
|
82 |
/*-------------------------------------------------------------
|
83 |
Name: adrotate_stats
|
|
|
84 |
Purpose: Generate latest number of clicks and impressions
|
|
|
|
|
85 |
Since: 3.8
|
86 |
-------------------------------------------------------------*/
|
87 |
function adrotate_stats($ad, $when = 0, $until = 0) {
|
118 |
|
119 |
/*-------------------------------------------------------------
|
120 |
Name: adrotate_stats_nav
|
|
|
121 |
Purpose: Create browsable links for graph
|
|
|
|
|
122 |
Since: 3.8
|
123 |
-------------------------------------------------------------*/
|
124 |
function adrotate_stats_nav($type, $id, $month, $year) {
|
150 |
|
151 |
/*-------------------------------------------------------------
|
152 |
Name: adrotate_stats_graph
|
|
|
153 |
Purpose: Generate graph
|
|
|
|
|
154 |
Since: 3.8
|
155 |
-------------------------------------------------------------*/
|
156 |
function adrotate_stats_graph($type, $id, $chartid, $start, $end) {
|
222 |
|
223 |
/*-------------------------------------------------------------
|
224 |
Name: adrotate_ctr
|
|
|
225 |
Purpose: Calculate Click-Through-Rate
|
|
|
|
|
226 |
Since: 3.7
|
227 |
-------------------------------------------------------------*/
|
228 |
function adrotate_ctr($clicks = 0, $impressions = 0, $round = 2) {
|
238 |
|
239 |
/*-------------------------------------------------------------
|
240 |
Name: adrotate_date_start
|
|
|
241 |
Purpose: Get and return the localized UNIX time for the current hour, day and start of the week
|
|
|
|
|
242 |
Since: 3.8.5.1
|
243 |
-------------------------------------------------------------*/
|
244 |
function adrotate_date_start($what) {
|
280 |
|
281 |
/*-------------------------------------------------------------
|
282 |
Name: adrotate_now
|
|
|
283 |
Purpose: Get and return the localized UNIX time for "now"
|
|
|
|
|
284 |
Since: 3.8.6.2
|
285 |
-------------------------------------------------------------*/
|
286 |
function adrotate_now() {
|
289 |
|
290 |
/*-------------------------------------------------------------
|
291 |
Name: adrotate_count_impression
|
|
|
292 |
Purpose: Count Impressions where needed
|
|
|
|
|
293 |
Since: 3.10.12
|
294 |
-------------------------------------------------------------*/
|
295 |
function adrotate_count_impression($ad, $group = 0, $blog_id = 0) {
|
306 |
$impression_timer = $now - $adrotate_config['impression_timer'];
|
307 |
}
|
308 |
|
309 |
+
if($remote_ip != "unknown" AND !empty($remote_ip)) {
|
310 |
+
$saved_timer = $wpdb->get_var($wpdb->prepare("SELECT `timer` FROM `".$wpdb->prefix."adrotate_tracker` WHERE `ipaddress` = '%s' AND `stat` = 'i' AND `bannerid` = %d ORDER BY `timer` DESC LIMIT 1;", $remote_ip, $ad));
|
311 |
+
if($saved_timer < $impression_timer AND adrotate_is_human()) {
|
312 |
+
$stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = %d AND `group` = %d AND `thetime` = {$hour};", $ad, $group));
|
313 |
+
if($stats > 0) {
|
314 |
+
$wpdb->query("UPDATE `{$wpdb->prefix}adrotate_stats` SET `impressions` = `impressions` + 1 WHERE `id` = {$stats};");
|
315 |
+
} else {
|
316 |
+
$wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $hour, 'clicks' => 0, 'impressions' => 1));
|
317 |
+
}
|
318 |
+
|
319 |
+
$wpdb->insert($wpdb->prefix."adrotate_tracker", array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'i'));
|
|
|
320 |
}
|
|
|
|
|
321 |
}
|
322 |
}
|
323 |
}
|
324 |
|
325 |
/*-------------------------------------------------------------
|
326 |
Name: adrotate_impression_callback
|
|
|
327 |
Purpose: Register a impression for dynamic groups
|
|
|
|
|
328 |
Since: 3.10.14
|
329 |
-------------------------------------------------------------*/
|
330 |
function adrotate_impression_callback() {
|
350 |
|
351 |
/*-------------------------------------------------------------
|
352 |
Name: adrotate_click_callback
|
|
|
353 |
Purpose: Register clicks for clicktracking
|
|
|
|
|
354 |
Since: 3.10.14
|
355 |
-------------------------------------------------------------*/
|
356 |
function adrotate_click_callback() {
|
384 |
$click_timer = $now - $adrotate_config['click_timer'];
|
385 |
}
|
386 |
|
387 |
+
$saved_timer = $wpdb->get_var($wpdb->prepare("SELECT `timer` FROM `".$wpdb->prefix."adrotate_tracker` WHERE `ipaddress` = '%s' AND `stat` = 'c' AND `bannerid` = %d ORDER BY `timer` DESC LIMIT 1;", $remote_ip, $ad));
|
|
|
|
|
|
|
|
|
|
|
388 |
if($saved_timer < $click_timer) {
|
389 |
$stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = %d AND `group` = %d AND `thetime` = {$hour};", $ad, $group));
|
390 |
if($stats > 0) {
|
393 |
$wpdb->insert($wpdb->prefix.'adrotate_stats', array('ad' => $ad, 'group' => $group, 'thetime' => $hour, 'clicks' => 1, 'impressions' => 1));
|
394 |
}
|
395 |
|
396 |
+
$wpdb->insert($wpdb->prefix.'adrotate_tracker', array('ipaddress' => $remote_ip, 'timer' => $now, 'bannerid' => $ad, 'stat' => 'c'));
|
397 |
}
|
398 |
}
|
399 |
}
|
adrotate.php
CHANGED
@@ -7,7 +7,7 @@ Author URI: http://ajdg.solutions/?utm_campaign=homepage&utm_medium=plugin-info&
|
|
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:
|
11 |
License: GPLv3
|
12 |
*/
|
13 |
|
@@ -22,9 +22,9 @@ License: GPLv3
|
|
22 |
------------------------------------------------------------------------------------ */
|
23 |
|
24 |
/*--- AdRotate values ---------------------------------------*/
|
25 |
-
define("ADROTATE_DISPLAY", '
|
26 |
-
define("ADROTATE_VERSION",
|
27 |
-
define("ADROTATE_DB_VERSION",
|
28 |
/*-----------------------------------------------------------*/
|
29 |
|
30 |
/*--- Load Files --------------------------------------------*/
|
@@ -399,7 +399,7 @@ function adrotate_options() {
|
|
399 |
|
400 |
$adevaluate = wp_next_scheduled('adrotate_evaluate_ads');
|
401 |
$adschedule = wp_next_scheduled('adrotate_notification');
|
402 |
-
$
|
403 |
|
404 |
include("dashboard/settings/maintenance.php");
|
405 |
} elseif($active_tab == 'license') {
|
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.0
|
11 |
License: GPLv3
|
12 |
*/
|
13 |
|
22 |
------------------------------------------------------------------------------------ */
|
23 |
|
24 |
/*--- AdRotate values ---------------------------------------*/
|
25 |
+
define("ADROTATE_DISPLAY", '4.0');
|
26 |
+
define("ADROTATE_VERSION", 388);
|
27 |
+
define("ADROTATE_DB_VERSION", 62);
|
28 |
/*-----------------------------------------------------------*/
|
29 |
|
30 |
/*--- Load Files --------------------------------------------*/
|
399 |
|
400 |
$adevaluate = wp_next_scheduled('adrotate_evaluate_ads');
|
401 |
$adschedule = wp_next_scheduled('adrotate_notification');
|
402 |
+
$tracker = wp_next_scheduled('adrotate_empty_trackerdata');
|
403 |
|
404 |
include("dashboard/settings/maintenance.php");
|
405 |
} elseif($active_tab == 'license') {
|
dashboard/publisher/adverts-disabled.php
CHANGED
@@ -44,6 +44,7 @@
|
|
44 |
</thead>
|
45 |
<tbody>
|
46 |
<?php
|
|
|
47 |
foreach($disabled as $banner) {
|
48 |
$stats = adrotate_stats($banner['id']);
|
49 |
$grouplist = adrotate_ad_is_in_groups($banner['id']);
|
44 |
</thead>
|
45 |
<tbody>
|
46 |
<?php
|
47 |
+
$class = '';
|
48 |
foreach($disabled as $banner) {
|
49 |
$stats = adrotate_stats($banner['id']);
|
50 |
$grouplist = adrotate_ad_is_in_groups($banner['id']);
|
dashboard/publisher/adverts-error.php
CHANGED
@@ -52,12 +52,12 @@
|
|
52 |
echo "</pre></td></tr>";
|
53 |
}
|
54 |
|
55 |
-
$
|
56 |
-
if($banner['type'] == 'error') $
|
57 |
-
if($banner['type'] == 'expired') $
|
58 |
-
if($banner['type'] == '2days') $
|
59 |
?>
|
60 |
-
<tr id='adrotateindex' class='<?php echo $
|
61 |
<th class="check-column"><input type="checkbox" name="errorbannercheck[]" value="<?php echo $banner['id']; ?>" /></th>
|
62 |
<td><center><?php echo $banner['id'];?></center></td>
|
63 |
<td><strong><a class="row-title" href="<?php echo admin_url("/admin.php?page=adrotate-ads&view=edit&ad=".$banner['id']);?>" title="<?php _e('Edit', 'adrotate'); ?>"><?php echo stripslashes(html_entity_decode($banner['title']));?></a></strong> <?php if($adrotate_config['stats'] == 1 AND $banner['type'] != 'error') { ?>- <a href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=report&ad='.$banner['id']);?>" title="<?php _e('Stats', 'adrotate'); ?>"><?php _e('Stats', 'adrotate'); ?></a><?php } ?><span style="color:#999;"><?php if(strlen($grouplist) > 0) echo '<br /><span style="font-weight:bold;">'.__('Groups:', 'adrotate').'</span> '.$grouplist; ?></span></td>
|
52 |
echo "</pre></td></tr>";
|
53 |
}
|
54 |
|
55 |
+
$class = '';
|
56 |
+
if($banner['type'] == 'error') $class = ' row_yellow';
|
57 |
+
if($banner['type'] == 'expired') $class = ' row_red';
|
58 |
+
if($banner['type'] == '2days') $class = ' row_orange';
|
59 |
?>
|
60 |
+
<tr id='adrotateindex' class='<?php echo $class; ?>'>
|
61 |
<th class="check-column"><input type="checkbox" name="errorbannercheck[]" value="<?php echo $banner['id']; ?>" /></th>
|
62 |
<td><center><?php echo $banner['id'];?></center></td>
|
63 |
<td><strong><a class="row-title" href="<?php echo admin_url("/admin.php?page=adrotate-ads&view=edit&ad=".$banner['id']);?>" title="<?php _e('Edit', 'adrotate'); ?>"><?php echo stripslashes(html_entity_decode($banner['title']));?></a></strong> <?php if($adrotate_config['stats'] == 1 AND $banner['type'] != 'error') { ?>- <a href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=report&ad='.$banner['id']);?>" title="<?php _e('Stats', 'adrotate'); ?>"><?php _e('Stats', 'adrotate'); ?></a><?php } ?><span style="color:#999;"><?php if(strlen($grouplist) > 0) echo '<br /><span style="font-weight:bold;">'.__('Groups:', 'adrotate').'</span> '.$grouplist; ?></span></td>
|
dashboard/settings/maintenance.php
CHANGED
@@ -29,7 +29,6 @@
|
|
29 |
<td>
|
30 |
<input type="submit" id="post-role-submit" name="adrotate_db_cleanup_submit" value="<?php _e('Clean-up Database', 'adrotate'); ?>" class="button-secondary" onclick="return confirm('<?php _e('You are about to clean up your database. This may delete expired schedules and older statistics.', 'adrotate'); ?>\n\n<?php _e('Are you sure you want to continue?', 'adrotate'); ?>\n\n<?php _e('This might take a while and may slow down your site during this action!', 'adrotate'); ?>\n\n<?php _e('OK to continue, CANCEL to stop.', 'adrotate'); ?>')" /><br />
|
31 |
<label for="adrotate_db_cleanup_statistics"><input type="checkbox" name="adrotate_db_cleanup_statistics" value="1" /> <?php _e('Delete stats older than 356 days (Optional).', 'adrotate'); ?></label><br />
|
32 |
-
<label for="adrotate_db_cleanup_trackerdata"><input type="checkbox" name="adrotate_db_cleanup_trackerdata" value="1" /> <?php _e('Delete old tracker data. (Does nothing if you use a memcached plugin)', 'adrotate-pro'); ?></label><br />
|
33 |
<span class="description"><?php _e('For when you create an advert, group or schedule and it does not save or keep changes you make.', 'adrotate-pro'); ?><br /><?php _e('Additionally you can clean up old schedules, tracker data and/or statistics. This will improve the speed of your site.', 'adrotate-pro'); ?></span>
|
34 |
</td>
|
35 |
</tr>
|
@@ -51,7 +50,7 @@
|
|
51 |
<td>
|
52 |
<input type="checkbox" name="adrotate_debug" <?php if($adrotate_debug['general'] == true) { ?>checked="checked" <?php } ?> /> General - <span class="description"><?php _e('Troubleshoot ads and how they are selected. Visible on the front-end.', 'adrotate'); ?></span><br />
|
53 |
<input type="checkbox" name="adrotate_debug_publisher" <?php if($adrotate_debug['publisher'] == true) { ?>checked="checked" <?php } ?> /> Publisher - <span class="description"><?php _e('View advert specs and (some) stats in the dashboard.', 'adrotate'); ?></span><br />
|
54 |
-
<input type="checkbox" name="adrotate_debug_timers" <?php if($adrotate_debug['timers'] == true) { ?>checked="checked" <?php } ?> /> Clicktracking - <span class="description"><?php _e('Disable timers for clicks and impressions
|
55 |
<input type="checkbox" name="adrotate_debug_track" <?php if($adrotate_debug['track'] == true) { ?>checked="checked" <?php } ?> /> Tracking Encryption - <span class="description"><?php _e('Temporarily disable encryption on the redirect url.', 'adrotate'); ?></span><br />
|
56 |
</td>
|
57 |
</tr>
|
@@ -76,8 +75,14 @@
|
|
76 |
<tr>
|
77 |
<th width="15%"><?php _e('Advert evaluation', 'adrotate'); ?></th>
|
78 |
<td><?php if(!$adevaluate) '<span style="color:#CC2900;">'._e('Not scheduled! Re-activate the plugin from the plugins page.', 'adrotate-pro').'</span>'; else echo '<span style="color:#009900;">'.date_i18n(get_option('date_format')." H:i", $adevaluate).'</span>'; ?></td>
|
79 |
-
<th width="15%"><?php _e('Clean
|
80 |
-
<td><?php if(!$
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
</tr>
|
82 |
</table>
|
83 |
|
@@ -91,10 +96,9 @@
|
|
91 |
<td><?php _e('Current:', 'adrotate'); ?> <?php echo '<span style="color:#009900;">'.$adrotate_db_version['current'].'</span>'; ?> <?php if($adrotate_db_version['current'] != ADROTATE_DB_VERSION) { echo '<span style="color:#CC2900;">'; _e('Should be:', 'adrotate'); echo ' '.ADROTATE_DB_VERSION; echo '</span>'; } ?><br /><?php _e('Previous:', 'adrotate'); ?> <?php echo $adrotate_db_version['previous']; ?></td>
|
92 |
</tr>
|
93 |
<tr>
|
94 |
-
<th valign="top"
|
95 |
<td colspan="3">
|
96 |
-
<a class="button" href="admin.php?page=adrotate&upgrade=1" onclick="return confirm('<?php _e('YOU ARE ABOUT TO DO A MANUAL UPDATE FOR ADROTATE.', 'adrotate'); ?>\n<?php _e('Make sure you have a database backup!', 'adrotate'); ?>\n\n<?php _e('This might take a while and may slow down your site during this action!', 'adrotate'); ?>\n\n<?php _e('OK to continue, CANCEL to stop.', 'adrotate'); ?>')"
|
97 |
-
<span class="description"><?php _e('Attempt to update the database and migrate settings where required or relevant. Normally you should not need or use this option.', 'adrotate'); ?></span>
|
98 |
</td>
|
99 |
</tr>
|
100 |
</table>
|
29 |
<td>
|
30 |
<input type="submit" id="post-role-submit" name="adrotate_db_cleanup_submit" value="<?php _e('Clean-up Database', 'adrotate'); ?>" class="button-secondary" onclick="return confirm('<?php _e('You are about to clean up your database. This may delete expired schedules and older statistics.', 'adrotate'); ?>\n\n<?php _e('Are you sure you want to continue?', 'adrotate'); ?>\n\n<?php _e('This might take a while and may slow down your site during this action!', 'adrotate'); ?>\n\n<?php _e('OK to continue, CANCEL to stop.', 'adrotate'); ?>')" /><br />
|
31 |
<label for="adrotate_db_cleanup_statistics"><input type="checkbox" name="adrotate_db_cleanup_statistics" value="1" /> <?php _e('Delete stats older than 356 days (Optional).', 'adrotate'); ?></label><br />
|
|
|
32 |
<span class="description"><?php _e('For when you create an advert, group or schedule and it does not save or keep changes you make.', 'adrotate-pro'); ?><br /><?php _e('Additionally you can clean up old schedules, tracker data and/or statistics. This will improve the speed of your site.', 'adrotate-pro'); ?></span>
|
33 |
</td>
|
34 |
</tr>
|
50 |
<td>
|
51 |
<input type="checkbox" name="adrotate_debug" <?php if($adrotate_debug['general'] == true) { ?>checked="checked" <?php } ?> /> General - <span class="description"><?php _e('Troubleshoot ads and how they are selected. Visible on the front-end.', 'adrotate'); ?></span><br />
|
52 |
<input type="checkbox" name="adrotate_debug_publisher" <?php if($adrotate_debug['publisher'] == true) { ?>checked="checked" <?php } ?> /> Publisher - <span class="description"><?php _e('View advert specs and (some) stats in the dashboard.', 'adrotate'); ?></span><br />
|
53 |
+
<input type="checkbox" name="adrotate_debug_timers" <?php if($adrotate_debug['timers'] == true) { ?>checked="checked" <?php } ?> /> Clicktracking - <span class="description"><?php _e('Disable timers for clicks and impressions.', 'adrotate'); ?></span><br />
|
54 |
<input type="checkbox" name="adrotate_debug_track" <?php if($adrotate_debug['track'] == true) { ?>checked="checked" <?php } ?> /> Tracking Encryption - <span class="description"><?php _e('Temporarily disable encryption on the redirect url.', 'adrotate'); ?></span><br />
|
55 |
</td>
|
56 |
</tr>
|
75 |
<tr>
|
76 |
<th width="15%"><?php _e('Advert evaluation', 'adrotate'); ?></th>
|
77 |
<td><?php if(!$adevaluate) '<span style="color:#CC2900;">'._e('Not scheduled! Re-activate the plugin from the plugins page.', 'adrotate-pro').'</span>'; else echo '<span style="color:#009900;">'.date_i18n(get_option('date_format')." H:i", $adevaluate).'</span>'; ?></td>
|
78 |
+
<th width="15%"><?php _e('Clean Trackerdata', 'adrotate-pro'); ?></th>
|
79 |
+
<td><?php if(!$tracker) '<span style="color:#CC2900;">'._e('Not scheduled!', 'adrotate-pro').'</span>'; else echo '<span style="color:#009900;">'.date_i18n(get_option('date_format')." H:i", $tracker).'</span>'; ?></td>
|
80 |
+
</tr>
|
81 |
+
<tr>
|
82 |
+
<th valign="top"><?php _e('Background tasks', 'adrotate-pro'); ?></th>
|
83 |
+
<td colspan="3">
|
84 |
+
<a class="button" href="admin.php?page=adrotate&tasks=1"><?php _e('Reset background tasks', 'adrotate'); ?></a>
|
85 |
+
</td>
|
86 |
</tr>
|
87 |
</table>
|
88 |
|
96 |
<td><?php _e('Current:', 'adrotate'); ?> <?php echo '<span style="color:#009900;">'.$adrotate_db_version['current'].'</span>'; ?> <?php if($adrotate_db_version['current'] != ADROTATE_DB_VERSION) { echo '<span style="color:#CC2900;">'; _e('Should be:', 'adrotate'); echo ' '.ADROTATE_DB_VERSION; echo '</span>'; } ?><br /><?php _e('Previous:', 'adrotate'); ?> <?php echo $adrotate_db_version['previous']; ?></td>
|
97 |
</tr>
|
98 |
<tr>
|
99 |
+
<th valign="top"><?php _e('Manual upgrade', 'adrotate-pro'); ?></th>
|
100 |
<td colspan="3">
|
101 |
+
<a class="button" href="admin.php?page=adrotate&upgrade=1" onclick="return confirm('<?php _e('YOU ARE ABOUT TO DO A MANUAL UPDATE FOR ADROTATE.', 'adrotate'); ?>\n<?php _e('Make sure you have a database backup!', 'adrotate'); ?>\n\n<?php _e('This might take a while and may slow down your site during this action!', 'adrotate'); ?>\n\n<?php _e('OK to continue, CANCEL to stop.', 'adrotate'); ?>')"><?php _e('Run updater', 'adrotate'); ?></a>
|
|
|
102 |
</td>
|
103 |
</tr>
|
104 |
</table>
|
dashboard/settings/statistics.php
CHANGED
@@ -67,12 +67,6 @@
|
|
67 |
<span class="description"><?php _e('Default: 86400.', 'adrotate'); ?> <?php _e('This number may not be empty, be lower than 60 or exceed 86400 (24 hours).', 'adrotate'); ?></span>
|
68 |
</td>
|
69 |
</tr>
|
70 |
-
<tr>
|
71 |
-
<th valign="top"><?php _e('Clean up temporary data', 'adrotate'); ?></th>
|
72 |
-
<td>
|
73 |
-
<input type="checkbox" name="adrotate_enable_clean_trackerdata" <?php if($adrotate_config['enable_clean_trackerdata'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Periodically delete old tracker data. If you are using a memcached plugin you should disable this option!', 'adrotate'); ?>
|
74 |
-
</td>
|
75 |
-
</tr>
|
76 |
</table>
|
77 |
|
78 |
<p class="submit">
|
67 |
<span class="description"><?php _e('Default: 86400.', 'adrotate'); ?> <?php _e('This number may not be empty, be lower than 60 or exceed 86400 (24 hours).', 'adrotate'); ?></span>
|
68 |
</td>
|
69 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
</table>
|
71 |
|
72 |
<p class="submit">
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== AdRotate ===
|
2 |
Contributors: adegans
|
3 |
Donate link: http://www.arnan.me/donate/?utm_campaign=donations&utm_medium=readme&utm_source=adrotate-free
|
4 |
-
Tags: ads, advert,
|
5 |
Requires at least: 3.8
|
6 |
-
Tested up to: 4.7.
|
7 |
-
Stable tag:
|
8 |
License: GPLv3
|
9 |
|
10 |
The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
|
@@ -97,22 +97,19 @@ You can also post your questions on the [forum](https://ajdg.solutions/forums/?u
|
|
97 |
|
98 |
Be a Pro and go Pro. With [AdRotate Pro](https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=adrotate-page&utm_medium=readme&utm_source=adrotate-free)!
|
99 |
|
100 |
-
=
|
101 |
-
* [
|
102 |
-
* [
|
103 |
-
* [
|
104 |
-
* [change]
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
* [fix]
|
110 |
-
* [
|
111 |
-
* [
|
112 |
-
* [
|
113 |
-
* [change] Dashboard updates
|
114 |
-
* [change] Responsive feature no longer available
|
115 |
-
* [change] Using Responsive feature now causes an error
|
116 |
|
117 |
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?utm_campaign=development&utm_medium=readme&utm_source=adrotate-free).
|
118 |
|
@@ -120,13 +117,11 @@ NOTE: Unsolicited offers, parnterships, job offers, promotional emails or produc
|
|
120 |
|
121 |
== Upgrade Notice ==
|
122 |
|
123 |
-
=
|
124 |
-
* [
|
125 |
-
* [
|
126 |
-
* [
|
127 |
-
* [change]
|
128 |
-
* [change] Responsive feature no longer available
|
129 |
-
* [change] Using Responsive feature now causes an error
|
130 |
|
131 |
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?utm_campaign=development&utm_medium=readme&utm_source=adrotate-free).
|
132 |
|
1 |
=== AdRotate ===
|
2 |
Contributors: adegans
|
3 |
Donate link: http://www.arnan.me/donate/?utm_campaign=donations&utm_medium=readme&utm_source=adrotate-free
|
4 |
+
Tags: ads, advert, banner, advertise, adrotator, rotator, advertising, advertisement, advertiser, publisher, adsense, chitika, clickbank, geotargeting, banner manager, advert manager, campaign manager, statistics, stats, html5, javascript advert, tracking, clicks, impressions
|
5 |
Requires at least: 3.8
|
6 |
+
Tested up to: 4.7.3
|
7 |
+
Stable tag: 4.0
|
8 |
License: GPLv3
|
9 |
|
10 |
The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
|
97 |
|
98 |
Be a Pro and go Pro. With [AdRotate Pro](https://ajdg.solutions/products/adrotate-for-wordpress/?utm_campaign=adrotate-page&utm_medium=readme&utm_source=adrotate-free)!
|
99 |
|
100 |
+
= 4.0 FREE =
|
101 |
+
* [new] Re-enable schedules from Maintenance
|
102 |
+
* [change] moved tracker data back to it's own system
|
103 |
+
* [change] Updated the database installer
|
104 |
+
* [change] Don't count impressions for unknown IP addresses
|
105 |
+
|
106 |
+
= 4.4 PRO =
|
107 |
+
* [new] Re-enable schedules from Maintenance
|
108 |
+
* [fix] invalid AdRotate Geo Url
|
109 |
+
* [fix] Correct date range for advertiser stats on summary
|
110 |
+
* [change] moved tracker data back to it's own system
|
111 |
+
* [change] Updated the database installer
|
112 |
+
* [change] Don't count impressions for unknown IP addresses
|
|
|
|
|
|
|
113 |
|
114 |
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?utm_campaign=development&utm_medium=readme&utm_source=adrotate-free).
|
115 |
|
117 |
|
118 |
== Upgrade Notice ==
|
119 |
|
120 |
+
= 4.0 =
|
121 |
+
* [new] Re-enable schedules from Maintenance
|
122 |
+
* [change] moved tracker data back to it's own system
|
123 |
+
* [change] Updated the database installer
|
124 |
+
* [change] Don't count impressions for unknown IP addresses
|
|
|
|
|
125 |
|
126 |
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?utm_campaign=development&utm_medium=readme&utm_source=adrotate-free).
|
127 |
|