Version Description
FREE = * [fix] Demo adverts schedules created correctly * [fix] Widget padding setting using current class
Download this release
Release Info
Developer | adegans |
Plugin | AdRotate Banner Manager |
Version | 3.15.3 |
Comparing to | |
See all releases |
Code changes from version 3.15.2 to 3.15.3
- adrotate-manage-publisher.php +12 -38
- adrotate-output.php +61 -74
- adrotate-setup.php +51 -8
- adrotate.php +105 -124
- dashboard/publisher/adverts-edit.php +1 -1
- dashboard/settings/notifications.php +19 -6
- library/dashboard.css +2 -1
- readme.txt +20 -18
adrotate-manage-publisher.php
CHANGED
@@ -11,10 +11,7 @@
|
|
11 |
|
12 |
/*-------------------------------------------------------------
|
13 |
Name: adrotate_insert_input
|
14 |
-
|
15 |
Purpose: Prepare input form on saving new or updated banners
|
16 |
-
Receive: -None-
|
17 |
-
Return: -None-
|
18 |
Since: 0.1
|
19 |
-------------------------------------------------------------*/
|
20 |
function adrotate_insert_input() {
|
@@ -197,10 +194,7 @@ function adrotate_insert_input() {
|
|
197 |
|
198 |
/*-------------------------------------------------------------
|
199 |
Name: adrotate_insert_group
|
200 |
-
|
201 |
Purpose: Save provided data for groups, update linkmeta where required
|
202 |
-
Receive: -None-
|
203 |
-
Return: -None-
|
204 |
Since: 0.4
|
205 |
-------------------------------------------------------------*/
|
206 |
function adrotate_insert_group() {
|
@@ -322,10 +316,7 @@ function adrotate_insert_group() {
|
|
322 |
|
323 |
/*-------------------------------------------------------------
|
324 |
Name: adrotate_request_action
|
325 |
-
|
326 |
Purpose: Prepare action for banner or group from database
|
327 |
-
Receive: -none-
|
328 |
-
Return: -none-
|
329 |
Since: 2.2
|
330 |
-------------------------------------------------------------*/
|
331 |
function adrotate_request_action() {
|
@@ -472,27 +463,19 @@ function adrotate_delete($id, $what) {
|
|
472 |
$wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_groups` WHERE `id` = %d;", $id));
|
473 |
$wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
|
474 |
} else if ($what == 'bannergroup') {
|
475 |
-
$linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
|
476 |
foreach($linkmeta as $meta) {
|
477 |
-
|
478 |
-
$wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `ad` = ".$meta->ad.";");
|
479 |
-
$wpdb->query("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = ".$meta->ad.";");
|
480 |
}
|
481 |
-
|
482 |
-
|
483 |
-
$wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_stats` WHERE `group` = %d;", $id)); // Perhaps unnessesary
|
484 |
}
|
485 |
-
// Verify all ads
|
486 |
-
adrotate_prepare_evaluate_ads(false);
|
487 |
}
|
488 |
}
|
489 |
|
490 |
/*-------------------------------------------------------------
|
491 |
Name: adrotate_active
|
492 |
-
|
493 |
Purpose: Activate or Deactivate a banner
|
494 |
-
Receive: $id, $what
|
495 |
-
Return: -none-
|
496 |
Since: 0.1
|
497 |
-------------------------------------------------------------*/
|
498 |
function adrotate_active($id, $what) {
|
@@ -505,8 +488,8 @@ function adrotate_active($id, $what) {
|
|
505 |
if ($what == 'activate') {
|
506 |
// Determine status of ad
|
507 |
$adstate = adrotate_evaluate_ad($id);
|
508 |
-
|
509 |
-
|
510 |
$wpdb->update($wpdb->prefix.'adrotate', array('type' => $adtype), array('id' => $id));
|
511 |
}
|
512 |
}
|
@@ -514,10 +497,7 @@ function adrotate_active($id, $what) {
|
|
514 |
|
515 |
/*-------------------------------------------------------------
|
516 |
Name: adrotate_reset
|
517 |
-
|
518 |
Purpose: Reset statistics for a banner
|
519 |
-
Receive: $id
|
520 |
-
Return: -none-
|
521 |
Since: 2.2
|
522 |
-------------------------------------------------------------*/
|
523 |
function adrotate_reset($id) {
|
@@ -531,10 +511,7 @@ function adrotate_reset($id) {
|
|
531 |
|
532 |
/*-------------------------------------------------------------
|
533 |
Name: adrotate_renew
|
534 |
-
|
535 |
Purpose: Renew the end date of a banner with a new schedule starting where the last ended
|
536 |
-
Receive: $id, $howlong
|
537 |
-
Return: -none-
|
538 |
Since: 2.2
|
539 |
-------------------------------------------------------------*/
|
540 |
function adrotate_renew($id, $howlong = 2592000) {
|
@@ -555,10 +532,7 @@ function adrotate_renew($id, $howlong = 2592000) {
|
|
555 |
|
556 |
/*-------------------------------------------------------------
|
557 |
Name: adrotate_export
|
558 |
-
|
559 |
Purpose: Export selected banners
|
560 |
-
Receive: $id
|
561 |
-
Return: -none-
|
562 |
Since: 3.8.5
|
563 |
-------------------------------------------------------------*/
|
564 |
function adrotate_export($ids, $format) {
|
@@ -569,10 +543,7 @@ function adrotate_export($ids, $format) {
|
|
569 |
|
570 |
/*-------------------------------------------------------------
|
571 |
Name: adrotate_options_submit
|
572 |
-
|
573 |
Purpose: Save options from dashboard
|
574 |
-
Receive: $_POST
|
575 |
-
Return: -none-
|
576 |
Since: 0.1
|
577 |
-------------------------------------------------------------*/
|
578 |
function adrotate_options_submit() {
|
@@ -612,6 +583,12 @@ function adrotate_options_submit() {
|
|
612 |
|
613 |
$notifications = get_option('adrotate_notifications');
|
614 |
|
|
|
|
|
|
|
|
|
|
|
|
|
615 |
// Turn options off. Available in AdRotate Pro only
|
616 |
$notifications['notification_email'] = 'N';
|
617 |
$notifications['notification_push'] = 'N';
|
@@ -691,10 +668,7 @@ function adrotate_options_submit() {
|
|
691 |
|
692 |
/*-------------------------------------------------------------
|
693 |
Name: adrotate_prepare_roles
|
694 |
-
|
695 |
Purpose: Prepare user roles for WordPress
|
696 |
-
Receive: $action
|
697 |
-
Return: -None-
|
698 |
Since: 3.0
|
699 |
-------------------------------------------------------------*/
|
700 |
function adrotate_prepare_roles($action) {
|
11 |
|
12 |
/*-------------------------------------------------------------
|
13 |
Name: adrotate_insert_input
|
|
|
14 |
Purpose: Prepare input form on saving new or updated banners
|
|
|
|
|
15 |
Since: 0.1
|
16 |
-------------------------------------------------------------*/
|
17 |
function adrotate_insert_input() {
|
194 |
|
195 |
/*-------------------------------------------------------------
|
196 |
Name: adrotate_insert_group
|
|
|
197 |
Purpose: Save provided data for groups, update linkmeta where required
|
|
|
|
|
198 |
Since: 0.4
|
199 |
-------------------------------------------------------------*/
|
200 |
function adrotate_insert_group() {
|
316 |
|
317 |
/*-------------------------------------------------------------
|
318 |
Name: adrotate_request_action
|
|
|
319 |
Purpose: Prepare action for banner or group from database
|
|
|
|
|
320 |
Since: 2.2
|
321 |
-------------------------------------------------------------*/
|
322 |
function adrotate_request_action() {
|
463 |
$wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_groups` WHERE `id` = %d;", $id));
|
464 |
$wpdb->query($wpdb->prepare("DELETE FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d;", $id));
|
465 |
} else if ($what == 'bannergroup') {
|
466 |
+
$linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = %d AND `user` = '0' AND `schedule` = '0';", $id));
|
467 |
foreach($linkmeta as $meta) {
|
468 |
+
adrotate_delete($meta->ad, 'banner');
|
|
|
|
|
469 |
}
|
470 |
+
unset($linkmeta);
|
471 |
+
adrotate_delete($id, 'group');
|
|
|
472 |
}
|
|
|
|
|
473 |
}
|
474 |
}
|
475 |
|
476 |
/*-------------------------------------------------------------
|
477 |
Name: adrotate_active
|
|
|
478 |
Purpose: Activate or Deactivate a banner
|
|
|
|
|
479 |
Since: 0.1
|
480 |
-------------------------------------------------------------*/
|
481 |
function adrotate_active($id, $what) {
|
488 |
if ($what == 'activate') {
|
489 |
// Determine status of ad
|
490 |
$adstate = adrotate_evaluate_ad($id);
|
491 |
+
$adtype = ($adstate == 'error' OR $adstate == 'expired') ? 'error' : 'active';
|
492 |
+
|
493 |
$wpdb->update($wpdb->prefix.'adrotate', array('type' => $adtype), array('id' => $id));
|
494 |
}
|
495 |
}
|
497 |
|
498 |
/*-------------------------------------------------------------
|
499 |
Name: adrotate_reset
|
|
|
500 |
Purpose: Reset statistics for a banner
|
|
|
|
|
501 |
Since: 2.2
|
502 |
-------------------------------------------------------------*/
|
503 |
function adrotate_reset($id) {
|
511 |
|
512 |
/*-------------------------------------------------------------
|
513 |
Name: adrotate_renew
|
|
|
514 |
Purpose: Renew the end date of a banner with a new schedule starting where the last ended
|
|
|
|
|
515 |
Since: 2.2
|
516 |
-------------------------------------------------------------*/
|
517 |
function adrotate_renew($id, $howlong = 2592000) {
|
532 |
|
533 |
/*-------------------------------------------------------------
|
534 |
Name: adrotate_export
|
|
|
535 |
Purpose: Export selected banners
|
|
|
|
|
536 |
Since: 3.8.5
|
537 |
-------------------------------------------------------------*/
|
538 |
function adrotate_export($ids, $format) {
|
543 |
|
544 |
/*-------------------------------------------------------------
|
545 |
Name: adrotate_options_submit
|
|
|
546 |
Purpose: Save options from dashboard
|
|
|
|
|
547 |
Since: 0.1
|
548 |
-------------------------------------------------------------*/
|
549 |
function adrotate_options_submit() {
|
583 |
|
584 |
$notifications = get_option('adrotate_notifications');
|
585 |
|
586 |
+
$notifications['notification_dashboard'] = (isset($_POST['adrotate_notification_dashboard'])) ? 'Y' : 'N';
|
587 |
+
|
588 |
+
// Dashboard Notifications
|
589 |
+
$notifications['notification_dash_expired'] = (isset($_POST['adrotate_notification_dash_expired'])) ? 'Y' : 'N';
|
590 |
+
$notifications['notification_dash_soon'] = (isset($_POST['adrotate_notification_dash_soon'])) ? 'Y' : 'N';
|
591 |
+
|
592 |
// Turn options off. Available in AdRotate Pro only
|
593 |
$notifications['notification_email'] = 'N';
|
594 |
$notifications['notification_push'] = 'N';
|
668 |
|
669 |
/*-------------------------------------------------------------
|
670 |
Name: adrotate_prepare_roles
|
|
|
671 |
Purpose: Prepare user roles for WordPress
|
|
|
|
|
672 |
Since: 3.0
|
673 |
-------------------------------------------------------------*/
|
674 |
function adrotate_prepare_roles($action) {
|
adrotate-output.php
CHANGED
@@ -11,10 +11,7 @@
|
|
11 |
|
12 |
/*-------------------------------------------------------------
|
13 |
Name: adrotate_ad
|
14 |
-
|
15 |
Purpose: Show requested ad
|
16 |
-
Receive: $banner_id, $individual, $group, $site
|
17 |
-
Return: $output
|
18 |
Since: 3.0
|
19 |
-------------------------------------------------------------*/
|
20 |
function adrotate_ad($banner_id, $individual = true, $group = null, $site = 0) {
|
@@ -61,10 +58,7 @@ function adrotate_ad($banner_id, $individual = true, $group = null, $site = 0) {
|
|
61 |
|
62 |
/*-------------------------------------------------------------
|
63 |
Name: adrotate_group
|
64 |
-
|
65 |
Purpose: Fetch ads in specified group(s) and show a random ad
|
66 |
-
Receive: $group_ids, $fallback, $weight, $site
|
67 |
-
Return: $output
|
68 |
Since: 3.0
|
69 |
-------------------------------------------------------------*/
|
70 |
function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
|
@@ -224,10 +218,7 @@ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
|
|
224 |
|
225 |
/*-------------------------------------------------------------
|
226 |
Name: adrotate_inject_posts
|
227 |
-
|
228 |
Purpose: Add an advert to a single post
|
229 |
-
Receive: $post_content
|
230 |
-
Return: $post_content
|
231 |
Added: 3.7
|
232 |
-------------------------------------------------------------*/
|
233 |
function adrotate_inject_posts($post_content) {
|
@@ -325,10 +316,7 @@ function adrotate_inject_posts($post_content) {
|
|
325 |
|
326 |
/*-------------------------------------------------------------
|
327 |
Name: adrotate_preview
|
328 |
-
|
329 |
Purpose: Show preview of selected ad (Dashboard)
|
330 |
-
Receive: $banner_id
|
331 |
-
Return: $output
|
332 |
Since: 3.0
|
333 |
-------------------------------------------------------------*/
|
334 |
function adrotate_preview($banner_id) {
|
@@ -360,10 +348,7 @@ function adrotate_preview($banner_id) {
|
|
360 |
|
361 |
/*-------------------------------------------------------------
|
362 |
Name: adrotate_ad_output
|
363 |
-
|
364 |
Purpose: Prepare the output for viewing
|
365 |
-
Receive: $id, $group, $bannercode, $tracker, $image, $responsive
|
366 |
-
Return: $banner_output
|
367 |
Since: 3.0
|
368 |
-------------------------------------------------------------*/
|
369 |
function adrotate_ad_output($id, $group = 0, $name, $bannercode, $tracker, $image, $responsive) {
|
@@ -430,10 +415,7 @@ function adrotate_ad_output($id, $group = 0, $name, $bannercode, $tracker, $imag
|
|
430 |
|
431 |
/*-------------------------------------------------------------
|
432 |
Name: adrotate_custom_scripts
|
433 |
-
|
434 |
Purpose: Add required scripts to site head
|
435 |
-
Receive: -None-
|
436 |
-
Return: -None-
|
437 |
Since: 3.6
|
438 |
-------------------------------------------------------------*/
|
439 |
function adrotate_custom_scripts() {
|
@@ -464,10 +446,7 @@ function adrotate_custom_scripts() {
|
|
464 |
|
465 |
/*-------------------------------------------------------------
|
466 |
Name: adrotate_custom_javascript
|
467 |
-
|
468 |
Purpose: Add required JavaScript to site
|
469 |
-
Receive: -None-
|
470 |
-
Return: -None-
|
471 |
Since: 3.10.5
|
472 |
-------------------------------------------------------------*/
|
473 |
function adrotate_custom_javascript() {
|
@@ -493,10 +472,7 @@ function adrotate_custom_javascript() {
|
|
493 |
|
494 |
/*-------------------------------------------------------------
|
495 |
Name: adrotate_custom_css
|
496 |
-
|
497 |
Purpose: Add required CSS to site head
|
498 |
-
Receive: -None-
|
499 |
-
Return: -None-
|
500 |
Since: 3.8
|
501 |
-------------------------------------------------------------*/
|
502 |
function adrotate_custom_css() {
|
@@ -580,7 +556,7 @@ function adrotate_custom_css() {
|
|
580 |
unset($output_css);
|
581 |
}
|
582 |
if($adrotate_config['widgetpadding'] == "Y") {
|
583 |
-
$output .= ".
|
584 |
}
|
585 |
$output .= "</style>\n";
|
586 |
$output .= "<!-- /AdRotate CSS -->\n\n";
|
@@ -591,10 +567,7 @@ function adrotate_custom_css() {
|
|
591 |
|
592 |
/*-------------------------------------------------------------
|
593 |
Name: adrotate_nonce_error
|
594 |
-
|
595 |
Purpose: Display a formatted error if Nonce fails
|
596 |
-
Receive: -none-
|
597 |
-
Return: -none-
|
598 |
Since: 3.7.4.2
|
599 |
-------------------------------------------------------------*/
|
600 |
function adrotate_nonce_error() {
|
@@ -606,10 +579,7 @@ function adrotate_nonce_error() {
|
|
606 |
|
607 |
/*-------------------------------------------------------------
|
608 |
Name: adrotate_error
|
609 |
-
|
610 |
Purpose: Show errors for problems in using AdRotate, should they occur
|
611 |
-
Receive: $action, $arg
|
612 |
-
Return: -none-
|
613 |
Since: 3.0
|
614 |
-------------------------------------------------------------*/
|
615 |
function adrotate_error($action, $arg = null) {
|
@@ -667,14 +637,26 @@ function adrotate_error($action, $arg = null) {
|
|
667 |
|
668 |
/*-------------------------------------------------------------
|
669 |
Name: adrotate_dashboard_error
|
670 |
-
|
671 |
Purpose: Show errors for problems in using AdRotate
|
672 |
Since: 3.19.1
|
673 |
-------------------------------------------------------------*/
|
674 |
function adrotate_dashboard_error() {
|
675 |
global $adrotate_config;
|
676 |
|
|
|
677 |
$status = get_option('adrotate_advert_status');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
678 |
|
679 |
// Adverts
|
680 |
if($status['expired'] > 0) {
|
@@ -707,10 +689,7 @@ function adrotate_dashboard_error() {
|
|
707 |
|
708 |
/*-------------------------------------------------------------
|
709 |
Name: adrotate_notifications_dashboard
|
710 |
-
|
711 |
Purpose: Notify user of expired banners in the dashboard
|
712 |
-
Receive: -none-
|
713 |
-
Return: -none-
|
714 |
Since: 3.0
|
715 |
-------------------------------------------------------------*/
|
716 |
function adrotate_notifications_dashboard() {
|
@@ -729,32 +708,55 @@ function adrotate_notifications_dashboard() {
|
|
729 |
echo '</div>';
|
730 |
}
|
731 |
|
732 |
-
if(isset($_GET['hide']) AND $_GET['hide'] == 1) update_option('adrotate_hide_banner', 1);
|
733 |
-
if(isset($_GET['hide']) AND $_GET['hide'] == 2) update_option('adrotate_hide_review', 1);
|
734 |
if(isset($_GET['page'])) { $page = $_GET['page']; } else { $page = ''; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
735 |
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
echo ' <a class="close_banner" href="admin.php?page=adrotate&hide=2"><img title="Close" src="'.plugins_url('/images/icon-close.png', __FILE__).'" alt=""/></a>';
|
755 |
-
echo ' <div class="icon"><img title="" src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt=""/></div>';
|
756 |
-
echo ' </div>';
|
757 |
-
echo '</div>';
|
758 |
}
|
759 |
}
|
760 |
|
@@ -774,10 +776,7 @@ function adrotate_notifications_dashboard() {
|
|
774 |
|
775 |
/*-------------------------------------------------------------
|
776 |
Name: adrotate_welcome_pointer
|
777 |
-
|
778 |
Purpose: Show dashboard pointers
|
779 |
-
Receive: -none-
|
780 |
-
Return: -none-
|
781 |
Since: 3.9.14
|
782 |
-------------------------------------------------------------*/
|
783 |
function adrotate_welcome_pointer() {
|
@@ -804,10 +803,7 @@ function adrotate_welcome_pointer() {
|
|
804 |
|
805 |
/*-------------------------------------------------------------
|
806 |
Name: adrotate_help_info
|
807 |
-
|
808 |
Purpose: Help tab on all pages
|
809 |
-
Receive: -none-
|
810 |
-
Return: -none-
|
811 |
Since: 3.10.17
|
812 |
-------------------------------------------------------------*/
|
813 |
function adrotate_help_info() {
|
@@ -836,10 +832,7 @@ function adrotate_help_info() {
|
|
836 |
|
837 |
/*-------------------------------------------------------------
|
838 |
Name: adrotate_credits
|
839 |
-
|
840 |
Purpose: Promotional stuff shown throughout the plugin
|
841 |
-
Receive: -none-
|
842 |
-
Return: -none-
|
843 |
Since: 3.7
|
844 |
-------------------------------------------------------------*/
|
845 |
function adrotate_credits() {
|
@@ -874,10 +867,7 @@ function adrotate_credits() {
|
|
874 |
|
875 |
/*-------------------------------------------------------------
|
876 |
Name: adrotate_trademark
|
877 |
-
|
878 |
Purpose: Trademark notice
|
879 |
-
Receive: -none-
|
880 |
-
Return: -none-
|
881 |
Since: 3.9.14
|
882 |
-------------------------------------------------------------*/
|
883 |
function adrotate_trademark() {
|
@@ -886,10 +876,7 @@ function adrotate_trademark() {
|
|
886 |
|
887 |
/*-------------------------------------------------------------
|
888 |
Name: adrotate_pro_notice
|
889 |
-
|
890 |
Purpose: Credits shown on user statistics
|
891 |
-
Receive: $d
|
892 |
-
Return: -none-
|
893 |
Since: 3.8
|
894 |
-------------------------------------------------------------*/
|
895 |
function adrotate_pro_notice($d = '') {
|
11 |
|
12 |
/*-------------------------------------------------------------
|
13 |
Name: adrotate_ad
|
|
|
14 |
Purpose: Show requested ad
|
|
|
|
|
15 |
Since: 3.0
|
16 |
-------------------------------------------------------------*/
|
17 |
function adrotate_ad($banner_id, $individual = true, $group = null, $site = 0) {
|
58 |
|
59 |
/*-------------------------------------------------------------
|
60 |
Name: adrotate_group
|
|
|
61 |
Purpose: Fetch ads in specified group(s) and show a random ad
|
|
|
|
|
62 |
Since: 3.0
|
63 |
-------------------------------------------------------------*/
|
64 |
function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) {
|
218 |
|
219 |
/*-------------------------------------------------------------
|
220 |
Name: adrotate_inject_posts
|
|
|
221 |
Purpose: Add an advert to a single post
|
|
|
|
|
222 |
Added: 3.7
|
223 |
-------------------------------------------------------------*/
|
224 |
function adrotate_inject_posts($post_content) {
|
316 |
|
317 |
/*-------------------------------------------------------------
|
318 |
Name: adrotate_preview
|
|
|
319 |
Purpose: Show preview of selected ad (Dashboard)
|
|
|
|
|
320 |
Since: 3.0
|
321 |
-------------------------------------------------------------*/
|
322 |
function adrotate_preview($banner_id) {
|
348 |
|
349 |
/*-------------------------------------------------------------
|
350 |
Name: adrotate_ad_output
|
|
|
351 |
Purpose: Prepare the output for viewing
|
|
|
|
|
352 |
Since: 3.0
|
353 |
-------------------------------------------------------------*/
|
354 |
function adrotate_ad_output($id, $group = 0, $name, $bannercode, $tracker, $image, $responsive) {
|
415 |
|
416 |
/*-------------------------------------------------------------
|
417 |
Name: adrotate_custom_scripts
|
|
|
418 |
Purpose: Add required scripts to site head
|
|
|
|
|
419 |
Since: 3.6
|
420 |
-------------------------------------------------------------*/
|
421 |
function adrotate_custom_scripts() {
|
446 |
|
447 |
/*-------------------------------------------------------------
|
448 |
Name: adrotate_custom_javascript
|
|
|
449 |
Purpose: Add required JavaScript to site
|
|
|
|
|
450 |
Since: 3.10.5
|
451 |
-------------------------------------------------------------*/
|
452 |
function adrotate_custom_javascript() {
|
472 |
|
473 |
/*-------------------------------------------------------------
|
474 |
Name: adrotate_custom_css
|
|
|
475 |
Purpose: Add required CSS to site head
|
|
|
|
|
476 |
Since: 3.8
|
477 |
-------------------------------------------------------------*/
|
478 |
function adrotate_custom_css() {
|
556 |
unset($output_css);
|
557 |
}
|
558 |
if($adrotate_config['widgetpadding'] == "Y") {
|
559 |
+
$output .= ".adrotate_widgets { overflow:hidden; padding:0; }\n";
|
560 |
}
|
561 |
$output .= "</style>\n";
|
562 |
$output .= "<!-- /AdRotate CSS -->\n\n";
|
567 |
|
568 |
/*-------------------------------------------------------------
|
569 |
Name: adrotate_nonce_error
|
|
|
570 |
Purpose: Display a formatted error if Nonce fails
|
|
|
|
|
571 |
Since: 3.7.4.2
|
572 |
-------------------------------------------------------------*/
|
573 |
function adrotate_nonce_error() {
|
579 |
|
580 |
/*-------------------------------------------------------------
|
581 |
Name: adrotate_error
|
|
|
582 |
Purpose: Show errors for problems in using AdRotate, should they occur
|
|
|
|
|
583 |
Since: 3.0
|
584 |
-------------------------------------------------------------*/
|
585 |
function adrotate_error($action, $arg = null) {
|
637 |
|
638 |
/*-------------------------------------------------------------
|
639 |
Name: adrotate_dashboard_error
|
|
|
640 |
Purpose: Show errors for problems in using AdRotate
|
641 |
Since: 3.19.1
|
642 |
-------------------------------------------------------------*/
|
643 |
function adrotate_dashboard_error() {
|
644 |
global $adrotate_config;
|
645 |
|
646 |
+
// Adverts
|
647 |
$status = get_option('adrotate_advert_status');
|
648 |
+
$adrotate_notifications = get_option("adrotate_notifications");
|
649 |
+
if($adrotate_notifications['notification_dash'] == "Y") {
|
650 |
+
if($status['expired'] > 0 AND $adrotate_notifications['notification_dash_expired'] == "Y") {
|
651 |
+
$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>!';
|
652 |
+
}
|
653 |
+
if($status['expiressoon'] > 0 AND $adrotate_notifications['notification_dash_soon'] == "Y") {
|
654 |
+
$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>!';
|
655 |
+
}
|
656 |
+
}
|
657 |
+
if($status['error'] > 0) {
|
658 |
+
$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>!';
|
659 |
+
}
|
660 |
|
661 |
// Adverts
|
662 |
if($status['expired'] > 0) {
|
689 |
|
690 |
/*-------------------------------------------------------------
|
691 |
Name: adrotate_notifications_dashboard
|
|
|
692 |
Purpose: Notify user of expired banners in the dashboard
|
|
|
|
|
693 |
Since: 3.0
|
694 |
-------------------------------------------------------------*/
|
695 |
function adrotate_notifications_dashboard() {
|
708 |
echo '</div>';
|
709 |
}
|
710 |
|
|
|
|
|
711 |
if(isset($_GET['page'])) { $page = $_GET['page']; } else { $page = ''; }
|
712 |
+
if(strpos($page, 'adrotate') !== false) {
|
713 |
+
|
714 |
+
if(isset($_GET['hide']) AND $_GET['hide'] == 1) update_option('adrotate_hide_banner', 1);
|
715 |
+
if(isset($_GET['hide']) AND $_GET['hide'] == 2) update_option('adrotate_hide_review', 1);
|
716 |
+
if(isset($_GET['hide']) AND $_GET['hide'] == 3) update_option('adrotate_hide_competition', 1);
|
717 |
+
|
718 |
+
$pro_banner = get_option('adrotate_hide_banner');
|
719 |
+
if($pro_banner != 1 AND $pro_banner < (adrotate_now() - 604800)) {
|
720 |
+
echo '<div class="updated" style="padding: 0; margin: 0;">';
|
721 |
+
echo ' <div class="adrotate_banner">';
|
722 |
+
echo ' <div class="button_div"><a class="button" target="_blank" href="https://ajdg.solutions/products/adrotate-for-wordpress/?add-to-cart=1126?pk_campaign=adrotatefree-upgradebanner">'.__('Buy now', 'adrotate').'</a></div>';
|
723 |
+
echo ' <div class="text">'.__("You've been using <strong>AdRotate</strong> for a while now. Why not upgrade to the <strong>PRO</strong> version", 'adrotate').'?<br /><span>'.__('Use discount code <b>getadrotatepro</b> for 10% off on any AdRotate license!', 'adrotate' ).' '.__('Thank you for your purchase!', 'adrotate' ).'</span></div>';
|
724 |
+
echo ' <a class="close_banner" href="admin.php?page=adrotate-pro&hide=1"><img title="Close" src="'.plugins_url('/images/icon-close.png', __FILE__).'" alt=""/></a>';
|
725 |
+
echo ' <div class="icon"><img title="" src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt=""/></div>';
|
726 |
+
echo ' </div>';
|
727 |
+
echo '</div>';
|
728 |
+
}
|
729 |
+
|
730 |
+
$review_banner = get_option('adrotate_hide_review');
|
731 |
+
if($review_banner != 1 AND $review_banner < (adrotate_now() - 2419200)) {
|
732 |
+
echo '<div class="updated" style="padding: 0; margin: 0;">';
|
733 |
+
echo ' <div class="adrotate_banner">';
|
734 |
+
echo ' <div class="button_div"><a class="button" target="_blank" href="https://wordpress.org/support/view/plugin-reviews/adrotate?rate=5#postform">Rate AdRotate</a></div>';
|
735 |
+
echo ' <div class="text">If you like <strong>AdRotate</strong> please let the world know that you do. Thanks for your support!<br /><span>If you have questions, suggestions or something else that doesn\'t belong in a review, please <a href="https://ajdg.solutions/forums/forum/adrotate-for-wordpress/?pk_campaign=adrotatefree-reviewbanner" target="_blank">get in touch</a>!</span></div>';
|
736 |
+
echo ' <a class="close_banner" href="admin.php?page=adrotate&hide=2"><img title="Close" src="'.plugins_url('/images/icon-close.png', __FILE__).'" alt=""/></a>';
|
737 |
+
echo ' <div class="icon"><img title="" src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt=""/></div>';
|
738 |
+
echo ' </div>';
|
739 |
+
echo '</div>';
|
740 |
+
}
|
741 |
|
742 |
+
$competition_banner = get_option('adrotate_hide_competition');
|
743 |
+
if($competition_banner != 1) {
|
744 |
+
$adrotate_has_competition = adrotate_check_competition();
|
745 |
+
if($adrotate_has_competition) {
|
746 |
+
echo '<div class="updated" style="padding: 0; margin: 0;">';
|
747 |
+
echo ' <div class="adrotate_banner">';
|
748 |
+
echo ' <div class="button_div"><a class="button button_large" data-slug="adrotate-switch" href="'.admin_url('plugin-install.php?tab=search&s=adrotate+switch').'" aria-label="Install AdRotate Switch now" data-name="AdRotate Switch">Install AdRotate Switch</a></div>';
|
749 |
+
echo ' <div class="text">AdRotate found '._n('one plugin', 'several plugins', count($adrotate_has_competition), 'adrotate-pro').' that can be imported:<br /><span>';
|
750 |
+
foreach($adrotate_has_competition as $plugin) {
|
751 |
+
echo '» '.$plugin.'<br />';
|
752 |
+
}
|
753 |
+
echo ' </span>Configured plugins can be imported into AdRotate! What is <a target="_blank" href="https://ajdg.solutions/products/adrotate-switch/?pk_campaign=adrotatepro-getswitch">AdRotate Switch</a>?</div>';
|
754 |
+
echo ' <a class="close_banner" href="admin.php?page=adrotate&hide=3"><img title="Close" src="'.plugins_url('/images/icon-close.png', __FILE__).'" alt=""/></a>';
|
755 |
+
echo ' <div class="icon"><img title="AdRotate Logo" src="'.plugins_url('/images/logo-60x60.png', __FILE__).'" alt=""/></div>';
|
756 |
+
echo ' </div>';
|
757 |
+
echo '</div>';
|
758 |
+
}
|
759 |
+
}
|
|
|
|
|
|
|
|
|
760 |
}
|
761 |
}
|
762 |
|
776 |
|
777 |
/*-------------------------------------------------------------
|
778 |
Name: adrotate_welcome_pointer
|
|
|
779 |
Purpose: Show dashboard pointers
|
|
|
|
|
780 |
Since: 3.9.14
|
781 |
-------------------------------------------------------------*/
|
782 |
function adrotate_welcome_pointer() {
|
803 |
|
804 |
/*-------------------------------------------------------------
|
805 |
Name: adrotate_help_info
|
|
|
806 |
Purpose: Help tab on all pages
|
|
|
|
|
807 |
Since: 3.10.17
|
808 |
-------------------------------------------------------------*/
|
809 |
function adrotate_help_info() {
|
832 |
|
833 |
/*-------------------------------------------------------------
|
834 |
Name: adrotate_credits
|
|
|
835 |
Purpose: Promotional stuff shown throughout the plugin
|
|
|
|
|
836 |
Since: 3.7
|
837 |
-------------------------------------------------------------*/
|
838 |
function adrotate_credits() {
|
867 |
|
868 |
/*-------------------------------------------------------------
|
869 |
Name: adrotate_trademark
|
|
|
870 |
Purpose: Trademark notice
|
|
|
|
|
871 |
Since: 3.9.14
|
872 |
-------------------------------------------------------------*/
|
873 |
function adrotate_trademark() {
|
876 |
|
877 |
/*-------------------------------------------------------------
|
878 |
Name: adrotate_pro_notice
|
|
|
879 |
Purpose: Credits shown on user statistics
|
|
|
|
|
880 |
Since: 3.8
|
881 |
-------------------------------------------------------------*/
|
882 |
function adrotate_pro_notice($d = '') {
|
adrotate-setup.php
CHANGED
@@ -288,8 +288,12 @@ function adrotate_check_config() {
|
|
288 |
if(!isset($config['jsfooter']) OR ($config['jsfooter'] != 'Y' AND $config['jsfooter'] != 'N')) $config['jsfooter'] = 'Y';
|
289 |
update_option('adrotate_config', $config);
|
290 |
|
291 |
-
if(!isset($notifications['
|
292 |
-
if(!isset($notifications['notification_email'])
|
|
|
|
|
|
|
|
|
293 |
|
294 |
if(!isset($notifications['notification_push_geo']) OR ($notifications['notification_push_geo'] != 'Y' AND $notifications['notification_push_geo'] != 'N')) $notifications['notification_push_geo'] = 'N';
|
295 |
if(!isset($notifications['notification_push_status']) OR ($notifications['notification_push_status'] != 'Y' AND $notifications['notification_push_status'] != 'N')) $notifications['notification_push_status'] = 'N';
|
@@ -315,11 +319,50 @@ function adrotate_check_config() {
|
|
315 |
}
|
316 |
|
317 |
/*-------------------------------------------------------------
|
318 |
-
Name:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
319 |
|
|
|
|
|
|
|
|
|
|
|
320 |
Purpose: Install dummy data in empty tables
|
321 |
-
Receive: -none-
|
322 |
-
Return: -none-
|
323 |
Since: 3.11.3
|
324 |
-------------------------------------------------------------*/
|
325 |
function adrotate_dummy_data() {
|
@@ -337,7 +380,7 @@ function adrotate_dummy_data() {
|
|
337 |
// Demo ad 1
|
338 |
$wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 468x60', 'bannercode' => '<a href=\"http:\/\/www.adrotateforwordpress.com\"><img src=\"http://ajdg.solutions/assets/dummy-banners/adrotate-468x60.jpg\" /></a>', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
|
339 |
$ad_id = $wpdb->insert_id;
|
340 |
-
$wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'dayimpressions' => 0));
|
341 |
$schedule_id = $wpdb->insert_id;
|
342 |
$wpdb->insert("{$wpdb->prefix}adrotate_linkmeta", array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
|
343 |
unset($ad_id, $schedule_id);
|
@@ -345,7 +388,7 @@ function adrotate_dummy_data() {
|
|
345 |
// Demo ad 2
|
346 |
$wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 200x200', 'bannercode' => '<a href=\"http:\/\/www.adrotateforwordpress.com\"><img src=\"http://ajdg.solutions/assets/dummy-banners/adrotate-200x200.jpg\" /></a>', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
|
347 |
$ad_id = $wpdb->insert_id;
|
348 |
-
$wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'dayimpressions' => 0));
|
349 |
$schedule_id = $wpdb->insert_id;
|
350 |
$wpdb->insert("{$wpdb->prefix}adrotate_linkmeta", array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
|
351 |
unset($ad_id, $schedule_id);
|
@@ -818,7 +861,7 @@ function adrotate_database_upgrade() {
|
|
818 |
}
|
819 |
|
820 |
// Database: 57
|
821 |
-
// AdRotate:
|
822 |
if($adrotate_db_version['current'] < 57) {
|
823 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
824 |
|
288 |
if(!isset($config['jsfooter']) OR ($config['jsfooter'] != 'Y' AND $config['jsfooter'] != 'N')) $config['jsfooter'] = 'Y';
|
289 |
update_option('adrotate_config', $config);
|
290 |
|
291 |
+
if(!isset($notifications['notification_dash']) OR ($notifications['notification_dash'] != 'Y' AND $notifications['notification_dash'] != 'N')) $notifications['notification_dash'] = 'Y';
|
292 |
+
if(!isset($notifications['notification_email'])) $notifications['notification_email'] = 'N';
|
293 |
+
if(!isset($notifications['notification_push'])) $notifications['notification_push'] = 'N';
|
294 |
+
|
295 |
+
if(!isset($notifications['notification_dash_expired']) OR ($notifications['notification_dash_expired'] != 'Y' AND $notifications['notification_dash_expired'] != 'N')) $notifications['notification_dash_expired'] = 'Y';
|
296 |
+
if(!isset($notifications['notification_dash_soon']) OR ($notifications['notification_dash_soon'] != 'Y' AND $notifications['notification_dash_soon'] != 'N')) $notifications['notification_dash_soon'] = 'Y';
|
297 |
|
298 |
if(!isset($notifications['notification_push_geo']) OR ($notifications['notification_push_geo'] != 'Y' AND $notifications['notification_push_geo'] != 'N')) $notifications['notification_push_geo'] = 'N';
|
299 |
if(!isset($notifications['notification_push_status']) OR ($notifications['notification_push_status'] != 'Y' AND $notifications['notification_push_status'] != 'N')) $notifications['notification_push_status'] = 'N';
|
319 |
}
|
320 |
|
321 |
/*-------------------------------------------------------------
|
322 |
+
Name: adrotate_check_competition
|
323 |
+
Purpose: Checks if WP has other advertising plugins installed
|
324 |
+
Since: 3.21
|
325 |
+
-------------------------------------------------------------*/
|
326 |
+
function adrotate_check_competition() {
|
327 |
+
|
328 |
+
$compatible_plugins = array(
|
329 |
+
'ad-injection/ad-injection.php',
|
330 |
+
'adkingpro/adkingpro.php',
|
331 |
+
// 'advanced-advertising-system/advanced_advertising_system.php',
|
332 |
+
// 'advert/advert.php',
|
333 |
+
// 'advertising-manager/advertising-manager.php',
|
334 |
+
'bannerman/bannerman.php',
|
335 |
+
// 'easy-ads-manager/easy-ads-manager.php',
|
336 |
+
// 'easy-adsense-injection/easy-adsense-injection.php',
|
337 |
+
// 'max-adsense/adsense.php',
|
338 |
+
// 'random-banners/random-banners.php',
|
339 |
+
'simple-ads-manager/simple-ads-manager.php',
|
340 |
+
'useful-banner-manager/useful-banner-manager.php',
|
341 |
+
'wp-advertize-it/bootstrap.php',
|
342 |
+
'wp-bannerize/main.php',
|
343 |
+
'wp-ad-manager/ad-minister.php',
|
344 |
+
'wp125/wp125.php',
|
345 |
+
);
|
346 |
+
|
347 |
+
if(!function_exists('get_plugins')) {
|
348 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
349 |
+
}
|
350 |
+
$installed_plugins = get_plugins();
|
351 |
+
|
352 |
+
$compatible = array();
|
353 |
+
foreach($installed_plugins as $slug => $plugin) {
|
354 |
+
if(in_array($slug, $compatible_plugins)) {
|
355 |
+
$compatible[$slug] = $plugin['Title'].' v'.$plugin['Version'];
|
356 |
+
}
|
357 |
+
}
|
358 |
+
unset($installed_plugins, $compatible_plugins, $status);
|
359 |
|
360 |
+
return $compatible;
|
361 |
+
}
|
362 |
+
|
363 |
+
/*-------------------------------------------------------------
|
364 |
+
Name: adrotate_dummy_data
|
365 |
Purpose: Install dummy data in empty tables
|
|
|
|
|
366 |
Since: 3.11.3
|
367 |
-------------------------------------------------------------*/
|
368 |
function adrotate_dummy_data() {
|
380 |
// Demo ad 1
|
381 |
$wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 468x60', 'bannercode' => '<a href=\"http:\/\/www.adrotateforwordpress.com\"><img src=\"http://ajdg.solutions/assets/dummy-banners/adrotate-468x60.jpg\" /></a>', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
|
382 |
$ad_id = $wpdb->insert_id;
|
383 |
+
$wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'dayimpressions' => 0, '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'));
|
384 |
$schedule_id = $wpdb->insert_id;
|
385 |
$wpdb->insert("{$wpdb->prefix}adrotate_linkmeta", array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
|
386 |
unset($ad_id, $schedule_id);
|
388 |
// Demo ad 2
|
389 |
$wpdb->insert("{$wpdb->prefix}adrotate", array('title' => 'Demo ad 200x200', 'bannercode' => '<a href=\"http:\/\/www.adrotateforwordpress.com\"><img src=\"http://ajdg.solutions/assets/dummy-banners/adrotate-200x200.jpg\" /></a>', 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => '', 'image' => '', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'active', 'weight' => 6, 'sortorder' => 0, 'budget' => 0, 'crate' => 0, 'irate' => 0, 'cities' => serialize(array()), 'countries' => serialize(array())));
|
390 |
$ad_id = $wpdb->insert_id;
|
391 |
+
$wpdb->insert("{$wpdb->prefix}adrotate_schedule", array('name' => 'Schedule for ad '.$ad_id, 'starttime' => $now, 'stoptime' => $in84days, 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'dayimpressions' => 0, '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'));
|
392 |
$schedule_id = $wpdb->insert_id;
|
393 |
$wpdb->insert("{$wpdb->prefix}adrotate_linkmeta", array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id));
|
394 |
unset($ad_id, $schedule_id);
|
861 |
}
|
862 |
|
863 |
// Database: 57
|
864 |
+
// AdRotate: 3.15
|
865 |
if($adrotate_db_version['current'] < 57) {
|
866 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
867 |
|
adrotate.php
CHANGED
@@ -7,7 +7,7 @@ Author URI: http://ajdg.solutions/?pk_campaign=adrotatefree-pluginpage
|
|
7 |
Description: The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
|
8 |
Text Domain: adrotate
|
9 |
Domain Path: /languages/
|
10 |
-
Version: 3.15.
|
11 |
License: GPLv3
|
12 |
*/
|
13 |
|
@@ -22,8 +22,8 @@ License: GPLv3
|
|
22 |
------------------------------------------------------------------------------------ */
|
23 |
|
24 |
/*--- AdRotate values ---------------------------------------*/
|
25 |
-
define("ADROTATE_DISPLAY", '3.15.
|
26 |
-
define("ADROTATE_VERSION",
|
27 |
define("ADROTATE_DB_VERSION", 57);
|
28 |
/*-----------------------------------------------------------*/
|
29 |
|
@@ -171,7 +171,7 @@ function adrotate_pro() {
|
|
171 |
Return: -none-
|
172 |
-------------------------------------------------------------*/
|
173 |
function adrotate_manage() {
|
174 |
-
global $wpdb, $
|
175 |
|
176 |
$status = $file = $view = $ad_edit_id = '';
|
177 |
if(isset($_GET['status'])) $status = esc_attr($_GET['status']);
|
@@ -197,105 +197,89 @@ function adrotate_manage() {
|
|
197 |
<div class="wrap">
|
198 |
<h1><?php _e('Advert Management', 'adrotate'); ?></h1>
|
199 |
|
200 |
-
<?php
|
|
|
201 |
|
202 |
-
|
203 |
|
204 |
-
|
205 |
-
|
206 |
-
$
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
$
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
$
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
'lastactive' => $stoptime
|
238 |
-
);
|
239 |
-
}
|
240 |
-
|
241 |
-
if($type == 'disabled') {
|
242 |
-
$disabledbanners[$singlebanner->id] = array(
|
243 |
-
'id' => $singlebanner->id,
|
244 |
-
'title' => $singlebanner->title,
|
245 |
-
'type' => $type,
|
246 |
-
'tracker' => $singlebanner->tracker,
|
247 |
-
'weight' => $singlebanner->weight,
|
248 |
-
'firstactive' => $starttime,
|
249 |
-
'lastactive' => $stoptime
|
250 |
-
);
|
251 |
-
}
|
252 |
}
|
253 |
-
?>
|
254 |
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
</div>
|
|
|
261 |
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
}
|
269 |
-
|
270 |
-
include("dashboard/publisher/adverts-main.php");
|
271 |
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
<?php
|
289 |
-
include("dashboard/publisher/adverts-report.php");
|
290 |
-
?>
|
291 |
-
|
292 |
-
<?php } ?>
|
293 |
-
<?php } else { ?>
|
294 |
-
<?php echo adrotate_error('db_error'); ?>
|
295 |
-
<?php } ?>
|
296 |
-
<br class="clear" />
|
297 |
-
|
298 |
-
<?php adrotate_credits(); ?>
|
299 |
|
300 |
</div>
|
301 |
<?php
|
@@ -337,39 +321,35 @@ function adrotate_manage_group() {
|
|
337 |
|
338 |
<?php if($status > 0) adrotate_status($status); ?>
|
339 |
|
340 |
-
|
341 |
-
<div class="
|
342 |
-
<
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
<?php } ?>
|
348 |
-
</div>
|
349 |
</div>
|
|
|
350 |
|
351 |
-
|
352 |
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
|
357 |
-
|
358 |
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
|
363 |
-
|
364 |
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
|
369 |
-
|
370 |
-
<?php } else { ?>
|
371 |
-
<?php echo adrotate_error('db_error'); ?>
|
372 |
-
<?php } ?>
|
373 |
<br class="clear" />
|
374 |
|
375 |
<?php adrotate_credits(); ?>
|
@@ -432,11 +412,11 @@ function adrotate_manage_schedules() {
|
|
432 |
</thead>
|
433 |
<tbody>
|
434 |
<?php
|
435 |
-
$schedules = $wpdb->get_results("SELECT * FROM `
|
436 |
if($schedules) {
|
437 |
$class = '';
|
438 |
foreach($schedules as $schedule) {
|
439 |
-
$schedulesmeta = $wpdb->get_results("SELECT `ad` FROM `
|
440 |
if($schedule->maxclicks == 0) $schedule->maxclicks = '∞';
|
441 |
if($schedule->maximpressions == 0) $schedule->maximpressions = '∞';
|
442 |
|
@@ -486,7 +466,7 @@ function adrotate_manage_schedules() {
|
|
486 |
Return: -none-
|
487 |
-------------------------------------------------------------*/
|
488 |
function adrotate_manage_media() {
|
489 |
-
global $
|
490 |
?>
|
491 |
|
492 |
<div class="wrap">
|
@@ -592,6 +572,7 @@ function adrotate_options() {
|
|
592 |
|
593 |
include("dashboard/settings/general.php");
|
594 |
} elseif($active_tab == 'notifications') {
|
|
|
595 |
include("dashboard/settings/notifications.php");
|
596 |
} elseif($active_tab == 'stats') {
|
597 |
include("dashboard/settings/statistics.php");
|
7 |
Description: The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
|
8 |
Text Domain: adrotate
|
9 |
Domain Path: /languages/
|
10 |
+
Version: 3.15.3
|
11 |
License: GPLv3
|
12 |
*/
|
13 |
|
22 |
------------------------------------------------------------------------------------ */
|
23 |
|
24 |
/*--- AdRotate values ---------------------------------------*/
|
25 |
+
define("ADROTATE_DISPLAY", '3.15.3');
|
26 |
+
define("ADROTATE_VERSION", 381);
|
27 |
define("ADROTATE_DB_VERSION", 57);
|
28 |
/*-----------------------------------------------------------*/
|
29 |
|
171 |
Return: -none-
|
172 |
-------------------------------------------------------------*/
|
173 |
function adrotate_manage() {
|
174 |
+
global $wpdb, $userdata, $adrotate_config, $adrotate_debug;
|
175 |
|
176 |
$status = $file = $view = $ad_edit_id = '';
|
177 |
if(isset($_GET['status'])) $status = esc_attr($_GET['status']);
|
197 |
<div class="wrap">
|
198 |
<h1><?php _e('Advert Management', 'adrotate'); ?></h1>
|
199 |
|
200 |
+
<?php
|
201 |
+
if($status > 0) adrotate_status($status, array('file' => $file));
|
202 |
|
203 |
+
$allbanners = $wpdb->get_results("SELECT `id`, `title`, `type`, `tracker`, `weight` FROM `{$wpdb->prefix}adrotate` WHERE (`type` != 'empty' OR `type` != 'a_empty' OR `type` != 'queue') ORDER BY `sortorder` ASC, `id` ASC;");
|
204 |
|
205 |
+
$activebanners = $errorbanners = $disabledbanners = false;
|
206 |
+
foreach($allbanners as $singlebanner) {
|
207 |
+
$starttime = $stoptime = 0;
|
208 |
+
$starttime = $wpdb->get_var("SELECT `starttime` FROM `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = '".$singlebanner->id."' AND `schedule` = `{$wpdb->prefix}adrotate_schedule`.`id` ORDER BY `starttime` ASC LIMIT 1;");
|
209 |
+
$stoptime = $wpdb->get_var("SELECT `stoptime` FROM `{$wpdb->prefix}adrotate_schedule`, `{$wpdb->prefix}adrotate_linkmeta` WHERE `ad` = '".$singlebanner->id."' AND `schedule` = `{$wpdb->prefix}adrotate_schedule`.`id` ORDER BY `stoptime` DESC LIMIT 1;");
|
210 |
+
|
211 |
+
$type = $singlebanner->type;
|
212 |
+
if($type == 'active' AND $stoptime <= $in7days) $type = '7days';
|
213 |
+
if($type == 'active' AND $stoptime <= $in2days) $type = '2days';
|
214 |
+
if($type == 'active' AND $stoptime <= $now) $type = 'expired';
|
215 |
+
|
216 |
+
if($type == 'active' OR $type == '7days') {
|
217 |
+
$activebanners[$singlebanner->id] = array(
|
218 |
+
'id' => $singlebanner->id,
|
219 |
+
'title' => $singlebanner->title,
|
220 |
+
'type' => $type,
|
221 |
+
'tracker' => $singlebanner->tracker,
|
222 |
+
'weight' => $singlebanner->weight,
|
223 |
+
'firstactive' => $starttime,
|
224 |
+
'lastactive' => $stoptime
|
225 |
+
);
|
226 |
+
}
|
227 |
+
|
228 |
+
if($type == 'error' OR $type == 'expired' OR $type == '2days') {
|
229 |
+
$errorbanners[$singlebanner->id] = array(
|
230 |
+
'id' => $singlebanner->id,
|
231 |
+
'title' => $singlebanner->title,
|
232 |
+
'type' => $type,
|
233 |
+
'tracker' => $singlebanner->tracker,
|
234 |
+
'weight' => $singlebanner->weight,
|
235 |
+
'firstactive' => $starttime,
|
236 |
+
'lastactive' => $stoptime
|
237 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
}
|
|
|
239 |
|
240 |
+
if($type == 'disabled') {
|
241 |
+
$disabledbanners[$singlebanner->id] = array(
|
242 |
+
'id' => $singlebanner->id,
|
243 |
+
'title' => $singlebanner->title,
|
244 |
+
'type' => $type,
|
245 |
+
'tracker' => $singlebanner->tracker,
|
246 |
+
'weight' => $singlebanner->weight,
|
247 |
+
'firstactive' => $starttime,
|
248 |
+
'lastactive' => $stoptime
|
249 |
+
);
|
250 |
+
}
|
251 |
+
}
|
252 |
+
?>
|
253 |
+
|
254 |
+
<div class="tablenav">
|
255 |
+
<div class="alignleft actions">
|
256 |
+
<a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=manage');?>"><?php _e('Manage', 'adrotate'); ?></a> |
|
257 |
+
<a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-ads&view=addnew');?>"><?php _e('Add New', 'adrotate'); ?></a>
|
258 |
</div>
|
259 |
+
</div>
|
260 |
|
261 |
+
<?php
|
262 |
+
if ($view == "" OR $view == "manage") {
|
263 |
+
// Show list of errorous ads if any
|
264 |
+
if ($errorbanners) {
|
265 |
+
include("dashboard/publisher/adverts-error.php");
|
266 |
+
}
|
|
|
|
|
|
|
267 |
|
268 |
+
include("dashboard/publisher/adverts-main.php");
|
269 |
+
|
270 |
+
// Show disabled ads, if any
|
271 |
+
if ($disabledbanners) {
|
272 |
+
include("dashboard/publisher/adverts-disabled.php");
|
273 |
+
}
|
274 |
+
} else if($view == "addnew" OR $view == "edit") {
|
275 |
+
include("dashboard/publisher/adverts-edit.php");
|
276 |
+
} else if($view == "report") {
|
277 |
+
include("dashboard/publisher/adverts-report.php");
|
278 |
+
}
|
279 |
+
?>
|
280 |
+
<br class="clear" />
|
281 |
+
|
282 |
+
<?php adrotate_credits(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
|
284 |
</div>
|
285 |
<?php
|
321 |
|
322 |
<?php if($status > 0) adrotate_status($status); ?>
|
323 |
|
324 |
+
<div class="tablenav">
|
325 |
+
<div class="alignleft actions">
|
326 |
+
<a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=manage');?>"><?php _e('Manage', 'adrotate'); ?></a> |
|
327 |
+
<a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=addnew');?>"><?php _e('Add New', 'adrotate'); ?></a>
|
328 |
+
<?php if($group_edit_id AND $adrotate_config['stats'] == 1) { ?>
|
329 |
+
| <a class="row-title" href="<?php echo admin_url('/admin.php?page=adrotate-groups&view=report&group='.$group_edit_id);?>"><?php _e('Report', 'adrotate'); ?></a>
|
330 |
+
<?php } ?>
|
|
|
|
|
331 |
</div>
|
332 |
+
</div>
|
333 |
|
334 |
+
<?php if ($view == "" OR $view == "manage") { ?>
|
335 |
|
336 |
+
<?php
|
337 |
+
include("dashboard/publisher/groups-main.php");
|
338 |
+
?>
|
339 |
|
340 |
+
<?php } else if($view == "addnew" OR $view == "edit") { ?>
|
341 |
|
342 |
+
<?php
|
343 |
+
include("dashboard/publisher/groups-edit.php");
|
344 |
+
?>
|
345 |
|
346 |
+
<?php } else if($view == "report") { ?>
|
347 |
|
348 |
+
<?php
|
349 |
+
include("dashboard/publisher/groups-report.php");
|
350 |
+
?>
|
351 |
|
352 |
+
<?php } ?>
|
|
|
|
|
|
|
353 |
<br class="clear" />
|
354 |
|
355 |
<?php adrotate_credits(); ?>
|
412 |
</thead>
|
413 |
<tbody>
|
414 |
<?php
|
415 |
+
$schedules = $wpdb->get_results("SELECT * FROM `{$wpdb->prefix}adrotate_schedule` WHERE `name` != '' ORDER BY `id` ASC;");
|
416 |
if($schedules) {
|
417 |
$class = '';
|
418 |
foreach($schedules as $schedule) {
|
419 |
+
$schedulesmeta = $wpdb->get_results("SELECT `ad` FROM `{$wpdb->prefix}adrotate_linkmeta` WHERE `group` = 0 AND `user` = 0 AND `schedule` = ".$schedule->id.";");
|
420 |
if($schedule->maxclicks == 0) $schedule->maxclicks = '∞';
|
421 |
if($schedule->maximpressions == 0) $schedule->maximpressions = '∞';
|
422 |
|
466 |
Return: -none-
|
467 |
-------------------------------------------------------------*/
|
468 |
function adrotate_manage_media() {
|
469 |
+
global $adrotate_config;
|
470 |
?>
|
471 |
|
472 |
<div class="wrap">
|
572 |
|
573 |
include("dashboard/settings/general.php");
|
574 |
} elseif($active_tab == 'notifications') {
|
575 |
+
$adrotate_notifications = get_option("adrotate_notifications");
|
576 |
include("dashboard/settings/notifications.php");
|
577 |
} elseif($active_tab == 'stats') {
|
578 |
include("dashboard/settings/statistics.php");
|
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' => $
|
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', 'dayimpressions' => 0, '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'));
|
12 |
if(!$ad_edit_id) {
|
13 |
$edit_id = $wpdb->get_var("SELECT `id` FROM `{$wpdb->prefix}adrotate` WHERE `type` = 'empty' ORDER BY `id` DESC LIMIT 1;");
|
14 |
if($edit_id == 0) {
|
15 |
+
$wpdb->insert($wpdb->prefix."adrotate", array('title' => '', 'bannercode' => '', 'thetime' => $now, 'updated' => $now, 'author' => $userdata->user_login, 'imagetype' => 'dropdown', 'image' => '', 'tracker' => 'N', 'desktop' => 'Y', 'mobile' => 'Y', 'tablet' => 'Y', 'responsive' => 'N', 'type' => 'empty', 'weight' => 6, 'sortorder' => 0, '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', 'dayimpressions' => 0, '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'));
|
dashboard/settings/notifications.php
CHANGED
@@ -9,12 +9,13 @@
|
|
9 |
* liability that might arise from it's use.
|
10 |
------------------------------------------------------------------------------------ */
|
11 |
?>
|
12 |
-
<h3><?php _e('Notifications
|
13 |
<span class="description"><?php _e('Set up who gets notifications if ads need your attention.', 'adrotate'); ?></span>
|
14 |
<table class="form-table">
|
15 |
<tr>
|
16 |
-
<th valign="top"><?php _e('
|
17 |
<td>
|
|
|
18 |
<input type="checkbox" name="adrotate_notification_email_disabled" disabled /> <?php _e('Email message.', 'adrotate'); ?><br />
|
19 |
<input type="checkbox" name="adrotate_notification_push_disabled" disabled /> <?php _e('Push notifications to your smartphone.', 'adrotate'); ?><br />
|
20 |
<span class="description"><?php _e('Push notifications are delivered through Pushover, a notification service for Android and iOS', 'adrotate'); ?><br /><?php _e('The Pushover App is a one time purchase for either Android and/or iOS. More information can be found on the pushover website;', 'adrotate'); ?> <a href="http://www.pushover.net" target="_blank">pushover.net</a>.</span>
|
@@ -23,12 +24,24 @@
|
|
23 |
<tr>
|
24 |
<th scope="row" valign="top"><?php _e('Test notification', 'adrotate'); ?></th>
|
25 |
<td>
|
26 |
-
<input type="submit" name="adrotate_notification_test_submit_disabled" class="button-secondary" value="Test" disabled /> <?php _e('
|
27 |
</td>
|
28 |
</tr>
|
29 |
</table>
|
30 |
|
31 |
-
<h3><?php _e('
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
<span class="description"><?php _e('Set up who gets notification emails.', 'adrotate'); ?></span>
|
33 |
<table class="form-table">
|
34 |
<tr>
|
@@ -48,11 +61,11 @@
|
|
48 |
</tr>
|
49 |
</table>
|
50 |
|
51 |
-
<h3><?php _e('Push
|
52 |
<span class="description"><?php _e('Receive information about what is happening with your AdRotate setup on your smartphone via Pushover.', 'adrotate'); ?></span>
|
53 |
<table class="form-table">
|
54 |
<tr>
|
55 |
-
<th valign="top"><?php _e('
|
56 |
<td>
|
57 |
<input type="checkbox" name="adrotate_notification_push_geo_disabled" disabled /> <?php _e('When you are running out of Geo Targeting Lookups.', 'adrotate'); ?><br /><br />
|
58 |
<input type="checkbox" name="adrotate_notification_push_status_disabled" disabled /> <?php _e('Daily digest of any advert status other than normal.', 'adrotate'); ?><br />
|
9 |
* liability that might arise from it's use.
|
10 |
------------------------------------------------------------------------------------ */
|
11 |
?>
|
12 |
+
<h3><?php _e('Notifications', 'adrotate'); ?></h3>
|
13 |
<span class="description"><?php _e('Set up who gets notifications if ads need your attention.', 'adrotate'); ?></span>
|
14 |
<table class="form-table">
|
15 |
<tr>
|
16 |
+
<th valign="top"><?php _e('How to notify', 'adrotate-pro'); ?></th>
|
17 |
<td>
|
18 |
+
<input type="checkbox" name="adrotate_notification_dash" <?php if($adrotate_notifications['notification_dash'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Dashboard banner.', 'adrotate-pro'); ?><br />
|
19 |
<input type="checkbox" name="adrotate_notification_email_disabled" disabled /> <?php _e('Email message.', 'adrotate'); ?><br />
|
20 |
<input type="checkbox" name="adrotate_notification_push_disabled" disabled /> <?php _e('Push notifications to your smartphone.', 'adrotate'); ?><br />
|
21 |
<span class="description"><?php _e('Push notifications are delivered through Pushover, a notification service for Android and iOS', 'adrotate'); ?><br /><?php _e('The Pushover App is a one time purchase for either Android and/or iOS. More information can be found on the pushover website;', 'adrotate'); ?> <a href="http://www.pushover.net" target="_blank">pushover.net</a>.</span>
|
24 |
<tr>
|
25 |
<th scope="row" valign="top"><?php _e('Test notification', 'adrotate'); ?></th>
|
26 |
<td>
|
27 |
+
<input type="submit" name="adrotate_notification_test_submit_disabled" class="button-secondary" value="<?php _e('Test', 'adrotate-pro'); ?>" disabled /> <?php _e('Send a test notification to enabled methods. Before you test, save the options first!', 'adrotate-pro'); ?>
|
28 |
</td>
|
29 |
</tr>
|
30 |
</table>
|
31 |
|
32 |
+
<h3><?php _e('Dashboard', 'adrotate-pro'); ?></h3>
|
33 |
+
<span class="description"><?php _e('These go in a dashboard banner visible to all users with access to AdRotate on every WordPress dashboard page.', 'adrotate-pro'); ?></span>
|
34 |
+
<table class="form-table">
|
35 |
+
<tr>
|
36 |
+
<th valign="top"><?php _e('What', 'adrotate-pro'); ?></th>
|
37 |
+
<td>
|
38 |
+
<input type="checkbox" name="adrotate_notification_dash_expired" <?php if($adrotate_notifications['notification_dash_expired'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Expired adverts.', 'adrotate-pro'); ?><br />
|
39 |
+
<input type="checkbox" name="adrotate_notification_dash_soon" <?php if($adrotate_notifications['notification_dash_soon'] == 'Y') { ?>checked="checked" <?php } ?> /> <?php _e('Almost expired adverts.', 'adrotate-pro'); ?>
|
40 |
+
</td>
|
41 |
+
</tr>
|
42 |
+
</table>
|
43 |
+
|
44 |
+
<h3><?php _e('Email', 'adrotate'); ?> - <?php _e('Available in AdRotate Pro', 'adrotate'); ?></h3>
|
45 |
<span class="description"><?php _e('Set up who gets notification emails.', 'adrotate'); ?></span>
|
46 |
<table class="form-table">
|
47 |
<tr>
|
61 |
</tr>
|
62 |
</table>
|
63 |
|
64 |
+
<h3><?php _e('Push', 'adrotate'); ?> - <?php _e('Available in AdRotate Pro', 'adrotate'); ?></h3>
|
65 |
<span class="description"><?php _e('Receive information about what is happening with your AdRotate setup on your smartphone via Pushover.', 'adrotate'); ?></span>
|
66 |
<table class="form-table">
|
67 |
<tr>
|
68 |
+
<th valign="top"><?php _e('What', 'adrotate'); ?></th>
|
69 |
<td>
|
70 |
<input type="checkbox" name="adrotate_notification_push_geo_disabled" disabled /> <?php _e('When you are running out of Geo Targeting Lookups.', 'adrotate'); ?><br /><br />
|
71 |
<input type="checkbox" name="adrotate_notification_push_status_disabled" disabled /> <?php _e('Daily digest of any advert status other than normal.', 'adrotate'); ?><br />
|
library/dashboard.css
CHANGED
@@ -16,9 +16,10 @@
|
|
16 |
/* Banner styles */
|
17 |
.adrotate_banner { margin:12px 0; position:relative; overflow:hidden; }
|
18 |
.adrotate_banner .text { color:#000; font-size:15px; line-height:26px; margin:18px 18px 14px; float:left; width:auto; max-width:80%; }
|
19 |
-
.adrotate_banner .text span { font-size:12px; opacity:0.7; }
|
20 |
.adrotate_banner .button { float:left; border:none; font-size:14px; margin:18px 0 18px 16px; padding:12px 0; color:#FFF; text-shadow:none; font-weight:bold; background:#86c351; -moz-border-radius:3px; border-radius:3px; -webkit-border-radius:3px; text-decoration:none; height:50px; text-align:center; text-transform:uppercase; width:147px; box-shadow:none; line-height:26px; }
|
21 |
.adrotate_banner .button:hover, .adrotate_pro_banner .button:focus { background:#0074A2; color:#FFF; }
|
|
|
22 |
.adrotate_banner .icon { float:right; margin:12px 8px 8px 8px; }
|
23 |
.adrotate_banner .close_banner { float:right; margin:8px; cursor:pointer; }
|
24 |
|
16 |
/* Banner styles */
|
17 |
.adrotate_banner { margin:12px 0; position:relative; overflow:hidden; }
|
18 |
.adrotate_banner .text { color:#000; font-size:15px; line-height:26px; margin:18px 18px 14px; float:left; width:auto; max-width:80%; }
|
19 |
+
.adrotate_banner .text span { font-size:12px; opacity: 0.7; }
|
20 |
.adrotate_banner .button { float:left; border:none; font-size:14px; margin:18px 0 18px 16px; padding:12px 0; color:#FFF; text-shadow:none; font-weight:bold; background:#86c351; -moz-border-radius:3px; border-radius:3px; -webkit-border-radius:3px; text-decoration:none; height:50px; text-align:center; text-transform:uppercase; width:147px; box-shadow:none; line-height:26px; }
|
21 |
.adrotate_banner .button:hover, .adrotate_pro_banner .button:focus { background:#0074A2; color:#FFF; }
|
22 |
+
.adrotate_banner .button_large { width:200px; }
|
23 |
.adrotate_banner .icon { float:right; margin:12px 8px 8px 8px; }
|
24 |
.adrotate_banner .close_banner { float:right; margin:8px; cursor:pointer; }
|
25 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://meandmymac.net/donate/?pk_campaign=adrotatefree-readme
|
|
4 |
Tags: ads, banner, commercial, admin, advertise, adrotator, plugin, random, rotator, ad, advertising, advertisement, block, blocks, advertiser, publisher, adsense, geo, geolocation, geotarget, chitika, clickbank, broadstreet, banner manager,advert manager, campaign manager, export, import, telize, maxmind, referrer, email, menu, statistics, stats, report, advert, adverts, popular, best, great, 2014, geoselect, geobytes, schedules, schedule, monetize, header, widget, javascript, jquery, tracking, clicks, impressions, rotate, zone, zones, sidebar, footer, content, posts, pages, 2015
|
5 |
Requires at least: 3.8
|
6 |
Tested up to: 4.5
|
7 |
-
Stable tag: 3.15.
|
8 |
License: GPLv3
|
9 |
|
10 |
The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
|
@@ -61,7 +61,7 @@ NOTE: Certain features are exclusive to AdRotate PRO. Learn more about [AdRotate
|
|
61 |
|
62 |
Looking to switch from another plugin to AdRotate or AdRotate Pro? Check out [AdRotate Switch](https://wordpress.org/plugins/adrotate-switch/) and see if your current advertising plugin is compatible for migrating your data!
|
63 |
|
64 |
-
NOTE: Unsolicited offers,
|
65 |
|
66 |
== Installation ==
|
67 |
|
@@ -91,28 +91,30 @@ You can also post your questions on the [forum](https://ajdg.solutions/forums/?p
|
|
91 |
|
92 |
Be a Pro and go Pro. With [AdRotate Pro](https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-readme)!
|
93 |
|
94 |
-
= 3.15.
|
95 |
-
* [
|
96 |
-
* [
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
* [
|
101 |
-
* [fix]
|
102 |
-
* [
|
103 |
-
* [
|
104 |
-
* [
|
|
|
|
|
|
|
105 |
|
106 |
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?pk_campaign=adrotatefree-readme).
|
107 |
|
108 |
-
NOTE: Unsolicited offers,
|
109 |
|
110 |
== Upgrade Notice ==
|
111 |
|
112 |
-
= 3.15.
|
113 |
-
* [
|
114 |
-
* [
|
115 |
-
* [change] More consistent use of dirname()
|
116 |
|
117 |
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?pk_campaign=adrotatefree-readme).
|
118 |
|
4 |
Tags: ads, banner, commercial, admin, advertise, adrotator, plugin, random, rotator, ad, advertising, advertisement, block, blocks, advertiser, publisher, adsense, geo, geolocation, geotarget, chitika, clickbank, broadstreet, banner manager,advert manager, campaign manager, export, import, telize, maxmind, referrer, email, menu, statistics, stats, report, advert, adverts, popular, best, great, 2014, geoselect, geobytes, schedules, schedule, monetize, header, widget, javascript, jquery, tracking, clicks, impressions, rotate, zone, zones, sidebar, footer, content, posts, pages, 2015
|
5 |
Requires at least: 3.8
|
6 |
Tested up to: 4.5
|
7 |
+
Stable tag: 3.15.3
|
8 |
License: GPLv3
|
9 |
|
10 |
The popular choice for monetizing your website with adverts while keeping things simple. Start making money today!
|
61 |
|
62 |
Looking to switch from another plugin to AdRotate or AdRotate Pro? Check out [AdRotate Switch](https://wordpress.org/plugins/adrotate-switch/) and see if your current advertising plugin is compatible for migrating your data!
|
63 |
|
64 |
+
NOTE: Unsolicited offers, parnterships, job offers, promotional emails or product offers to "enhance" my business or products through this site or any means are not appreciated and will most likely be ignored.
|
65 |
|
66 |
== Installation ==
|
67 |
|
91 |
|
92 |
Be a Pro and go Pro. With [AdRotate Pro](https://ajdg.solutions/products/adrotate-for-wordpress/?pk_campaign=adrotatefree-readme)!
|
93 |
|
94 |
+
= 3.15.3 FREE =
|
95 |
+
* [fix] Demo adverts schedules created correctly
|
96 |
+
* [fix] Widget padding setting using current class
|
97 |
+
|
98 |
+
= 3.21 PRO =
|
99 |
+
* [new] Automatic trash bin for deleted adverts
|
100 |
+
* [new] Expired advert notifications can now be hidden
|
101 |
+
* [fix] Live preview switch worked backwards
|
102 |
+
* [fix] Demo adverts schedules created correctly
|
103 |
+
* [fix] Notice of license activation on some multisite setups
|
104 |
+
* [fix] Description label for MaxMind account fields
|
105 |
+
* [fix] Serbia and Montenegro are now separated for Geo Targeting
|
106 |
+
* [fix] Widget padding setting using current class
|
107 |
+
* [fix] Widget padding setting now supports new widgets
|
108 |
|
109 |
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?pk_campaign=adrotatefree-readme).
|
110 |
|
111 |
+
NOTE: Unsolicited offers, parnterships, job offers, promotional emails or product offers to "enhance" my business or products through this site or any means are not appreciated and will most likely be ignored.
|
112 |
|
113 |
== Upgrade Notice ==
|
114 |
|
115 |
+
= 3.15.3 FREE =
|
116 |
+
* [fix] Demo adverts schedules created correctly
|
117 |
+
* [fix] Widget padding setting using current class
|
|
|
118 |
|
119 |
All recent changes are available on the [AdRotate website](https://ajdg.solutions/products/adrotate-for-wordpress/development/?pk_campaign=adrotatefree-readme).
|
120 |
|