get_row($wpdb->prepare("SELECT `id`, `bannercode`, `tracker`, `link`, `image`, `responsive` FROM `{$wpdb->prefix}adrotate` WHERE `id` = %d AND (`type` = 'active' OR `type` = '2days' OR `type` = '7days');", $banner_id)); if($banner) { if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_ad()] Selected Ad ID

";
				print_r($banner->id); 
				echo "

"; } $selected = array($banner->id => 0); $selected = adrotate_filter_schedule($selected, $banner); } else { $selected = false; } if($selected) { $image = str_replace('%folder%', $adrotate_config['banner_folder'], $banner->image); if($individual == true) $output .= '
'; $output .= adrotate_ad_output($banner->id, 0, $banner->bannercode, $banner->tracker, $banner->link, $image, $banner->responsive); if($individual == true) $output .= '
'; if($adrotate_config['stats'] == 1 AND $banner->tracker == "Y") { adrotate_count_impression($banner->id, 0, 0); } } else { $output .= adrotate_error('ad_expired', array($banner_id)); } unset($banner); } else { $output .= adrotate_error('ad_no_id'); } return $output; } /*------------------------------------------------------------- Name: adrotate_group Purpose: Fetch ads in specified group(s) and show a random ad Receive: $group_ids, $fallback, $weight, $site Return: $output Since: 3.0 -------------------------------------------------------------*/ function adrotate_group($group_ids, $fallback = 0, $weight = 0, $site = 0) { global $wpdb, $adrotate_config, $adrotate_debug; $output = $group_select = ''; if($group_ids) { $now = adrotate_now(); $group_array = (!is_array($group_ids)) ? explode(",", $group_ids) : $group_ids; foreach($group_array as $key => $value) { $group_select .= " `{$wpdb->prefix}adrotate_linkmeta`.`group` = {$value} OR"; } $group_select = rtrim($group_select, " OR"); $group = $wpdb->get_row($wpdb->prepare("SELECT * FROM `{$wpdb->prefix}adrotate_groups` WHERE `name` != '' AND `id` = %d;", $group_array[0])); if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_group] Selected group

"; 
			print_r($group);
			echo "

"; } if($group) { // Get all ads in all selected groups $ads = $wpdb->get_results( "SELECT `{$wpdb->prefix}adrotate`.`id`, `{$wpdb->prefix}adrotate`.`bannercode`, `{$wpdb->prefix}adrotate`.`link`, `{$wpdb->prefix}adrotate`.`image`, `{$wpdb->prefix}adrotate`.`responsive`, `{$wpdb->prefix}adrotate`.`tracker`, `{$wpdb->prefix}adrotate_linkmeta`.`group` FROM `{$wpdb->prefix}adrotate`, `{$wpdb->prefix}adrotate_linkmeta` WHERE ({$group_select}) AND `{$wpdb->prefix}adrotate_linkmeta`.`user` = 0 AND `{$wpdb->prefix}adrotate`.`id` = `{$wpdb->prefix}adrotate_linkmeta`.`ad` AND (`{$wpdb->prefix}adrotate`.`type` = 'active' OR `{$wpdb->prefix}adrotate`.`type` = '2days' OR `{$wpdb->prefix}adrotate`.`type` = '7days') GROUP BY `{$wpdb->prefix}adrotate`.`id` ORDER BY `{$wpdb->prefix}adrotate`.`id`;"); if($ads) { if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_group()] All ads in group

"; 
					print_r($ads); 
					echo "

"; } foreach($ads as $ad) { $selected[$ad->id] = $ad; $selected = adrotate_filter_schedule($selected, $ad); } unset($ads); if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_group] Reduced array based on schedule restrictions

"; 
					print_r($selected); 
					echo "

"; } $array_count = count($selected); if($array_count > 0) { $before = $after = ''; $before = str_replace('%id%', $group_array[0], stripslashes(html_entity_decode($group->wrapper_before, ENT_QUOTES))); $after = str_replace('%id%', $group_array[0], stripslashes(html_entity_decode($group->wrapper_after, ENT_QUOTES))); $output .= '
'; if($group->modus == 1) { // Dynamic ads $i = 1; // Limit group to save resources $amount = ($group->adspeed >= 10000) ? 10 : 20; // Randomize and trim output $selected = adrotate_shuffle($selected); foreach($selected as $key => $banner) { if($i <= $amount) { $image = str_replace('%folder%', $adrotate_config['banner_folder'], $banner->image); $output .= '
'; $output .= $before.adrotate_ad_output($banner->id, $group->id, $banner->bannercode, $banner->tracker, $banner->link, $image, $banner->responsive).$after; $output .= '
'; $i++; } } } else if($group->modus == 2) { // Block of ads $block_count = $group->gridcolumns * $group->gridrows; if($array_count < $block_count) $block_count = $array_count; $columns = 1; for($i=1;$i<=$block_count;$i++) { $banner_id = array_rand($selected, 1); $image = str_replace('%folder%', $adrotate_config['banner_folder'], $selected[$banner_id]->image); $output .= '
'; $output .= $before.adrotate_ad_output($selected[$banner_id]->id, $group->id, $selected[$banner_id]->bannercode, $selected[$banner_id]->tracker, $selected[$banner_id]->link, $image, $selected[$banner_id]->responsive).$after; $output .= '
'; if($columns == $group->gridcolumns AND $i != $block_count) { $output .= '
'; $columns = 1; } else { $columns++; } if($adrotate_config['stats'] == 1){ adrotate_count_impression($selected[$banner_id]->id, $group->id, 0); } unset($selected[$banner_id]); } } else { // Default (single ad) $banner_id = array_rand($selected, 1); $image = str_replace('%folder%', $adrotate_config['banner_folder'], $selected[$banner_id]->image); $output .= '
'; $output .= $before.adrotate_ad_output($selected[$banner_id]->id, $group->id, $selected[$banner_id]->bannercode, $selected[$banner_id]->tracker, $selected[$banner_id]->link, $image, $selected[$banner_id]->responsive).$after; $output .= '
'; if($adrotate_config['stats'] == 1){ adrotate_count_impression($selected[$banner_id]->id, $group->id, 0); } } $output .= '
'; unset($selected); } else { $output .= adrotate_error('ad_expired'); } } else { $output .= adrotate_error('ad_unqualified'); } } else { $output .= adrotate_error('group_not_found', array($group_array[0])); } } else { $output .= adrotate_error('group_no_id'); } return $output; } /*------------------------------------------------------------- Name: adrotate_inject_pages Purpose: Add an advert to a single page Receive: $post_content Return: $post_content Added: 3.7 -------------------------------------------------------------*/ function adrotate_inject_pages($post_content) { global $wpdb, $post, $adrotate_debug; if(is_page()) { // Inject ads into page $ids = $wpdb->get_results("SELECT `id`, `page`, `page_loc`, `page_par` FROM `{$wpdb->prefix}adrotate_groups` WHERE `page_loc` > 0;"); $group_array = array(); foreach($ids as $id) { $pages = explode(",", $id->page); if(!is_array($pages)) $pages = array(); if(in_array($post->ID, $pages)) { $group_array[$id->id] = array('location' => $id->page_loc, 'paragraph' => $id->page_par, 'pages' => $pages); } } if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_inject_posts()] group_array

"; 
			print_r($group_array); 
			echo "

"; } unset($ids, $pages); $group_count = count($group_array); if($group_count > 0) { if($group_count > 1) { // Try to prevent the same ad from showing when there are multiple ads to show $paragraph_count = substr_count($post_content, '

'); if($paragraph_count == 0 OR $group_count < $paragraph_count) { $paragraph_count = $group_count; } $group_choice = array_rand($group_array, $paragraph_count); if(!is_array($group_choice)) $group_choice = array($group_choice); shuffle($group_choice); } else { $group_choice = array_rand($group_array, 1); $group_choice = array($group_choice,$group_choice); } if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_inject_posts()] Choices

"; 
				echo "Group count: ".$group_count."
"; print_r($group_choice); echo "

"; } $before = $after = 0; foreach($group_choice as $key => $group_id) { if(is_page($group_array[$group_id]['pages'])) { // Advert in front of content if(($group_array[$group_id]['location'] == 1 OR $group_array[$group_id]['location'] == 3) AND $before == 0) { $post_content = adrotate_group($group_id).$post_content; $before = 1; } // Advert behind the content if(($group_array[$group_id]['location'] == 2 OR $group_array[$group_id]['location'] == 3) AND $after == 0) { $post_content = $post_content.adrotate_group($group_id); $after = 1; } // Adverts inside the content if($group_array[$group_id]['location'] == 4 AND $key == 0) { preg_match_all("/(?:.*?)]*>(?:.*?)<\/p>(?:<\/[a-z]*?>)*/is", $post_content, $paragraphs); // $paragraphs = explode("

", $post_content); $par = 1; $post_content = ''; foreach($paragraphs[0] as &$paragraph) { // foreach($paragraphs as &$paragraph) { if($par == $group_array[$group_id]['paragraph'] OR ($par == 2 AND $group_array[$group_id]['paragraph'] == 20) OR ($par == 3 AND $group_array[$group_id]['paragraph'] == 30) OR ($par == 4 AND $group_array[$group_id]['paragraph'] == 40)) { $paragraph .= adrotate_group($group_id); $par++; if($group_array[$group_id]['paragraph'] > 1 AND $group_array[$group_id]['paragraph'] < 10) { $par = 1; } } else { $par++; } $post_content .= $paragraph; unset($paragraph); } } } } } unset($group_choice, $group_count, $group_array, $paragraph, $paragraph_count, $before, $after); } return $post_content; } /*------------------------------------------------------------- Name: adrotate_inject_posts Purpose: Add an advert to a single post Receive: $post_content Return: $post_content Added: 3.7 -------------------------------------------------------------*/ function adrotate_inject_posts($post_content) { global $wpdb, $adrotate_debug; if(is_single()) { // Inject ads into posts in specified category $ids = $wpdb->get_results("SELECT `id`, `cat`, `cat_loc`, `cat_par` FROM `{$wpdb->prefix}adrotate_groups` WHERE `cat_loc` > 0;"); $wp_categories = get_terms('category', array('fields' => 'ids')); $group_array = array(); foreach($ids as $id) { $categories = explode(",", $id->cat); if(!is_array($categories)) $categories = array(); foreach($wp_categories as &$value) { if(in_array($value, $categories)) { $group_array[$id->id] = array('location' => $id->cat_loc, 'paragraph' => $id->cat_par, 'categories' => $categories); } } } if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_inject_posts()] group_array

"; 
			print_r($group_array); 
			echo "

"; } unset($ids, $wp_categories, $categories); $group_count = count($group_array); if($group_count > 0) { if($group_count > 1) { // Try to prevent the same ad from showing when there are multiple ads to show $paragraph_count = substr_count($post_content, '

'); if($paragraph_count == 0 OR $group_count < $paragraph_count) { $paragraph_count = $group_count; } $group_choice = array_rand($group_array, $paragraph_count); if(!is_array($group_choice)) $group_choice = array($group_choice); shuffle($group_choice); } else { $group_choice = array_rand($group_array, 1); $group_choice = array($group_choice,$group_choice); } if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_inject_posts()] group_choice

"; 
				print_r($group_choice); 
				echo "

"; } $before = $after = 0; foreach($group_choice as $key => $group_id) { if(in_category($group_array[$group_id]['categories'])) { // Advert in front of content if(($group_array[$group_id]['location'] == 1 OR $group_array[$group_id]['location'] == 3) AND $before == 0) { $post_content = adrotate_group($group_id).$post_content; $before = 1; } // Advert behind content if(($group_array[$group_id]['location'] == 2 OR $group_array[$group_id]['location'] == 3) AND $after == 0) { $post_content = $post_content.adrotate_group($group_id); $after = 1; } // Adverts inside the content if($group_array[$group_id]['location'] == 4 AND $key == 0) { preg_match_all("/(?:.*?)]*>(?:.*?)<\/p>(?:<\/[a-z]*?>)*/is", $post_content, $paragraphs); // $paragraphs = explode("

", $post_content); $par = 1; $post_content = ''; foreach($paragraphs[0] as &$paragraph) { // foreach($paragraphs as &$paragraph) { if($par == $group_array[$group_id]['paragraph'] OR ($par == 2 AND $group_array[$group_id]['paragraph'] == 20) OR ($par == 3 AND $group_array[$group_id]['paragraph'] == 30) OR ($par == 4 AND $group_array[$group_id]['paragraph'] == 40)) { $paragraph .= adrotate_group($group_id); $par++; if($group_array[$group_id]['paragraph'] > 1 AND $group_array[$group_id]['paragraph'] < 10) { $par = 1; } } else { $par++; } $post_content .= $paragraph; unset($paragraph); } } } } } unset($group_choice, $group_count, $group_array, $paragraph, $paragraph_count, $before, $after); } return $post_content; } /*------------------------------------------------------------- Name: adrotate_block (OBSOLETE) Purpose: This function is no longer supported. Replace blocks with groups! Receive: $block_id, $weight Return: $output Since: 3.0 -------------------------------------------------------------*/ function adrotate_block($block_id = 0, $weight = 0) { return null; } /*------------------------------------------------------------- Name: adrotate_preview Purpose: Show preview of selected ad (Dashboard) Receive: $banner_id Return: $output Since: 3.0 -------------------------------------------------------------*/ function adrotate_preview($banner_id) { global $wpdb, $adrotate_debug; if($banner_id) { $now = adrotate_now(); $banner = $wpdb->get_row($wpdb->prepare("SELECT * FROM `{$wpdb->prefix}adrotate` WHERE `id` = %d;", $banner_id)); if($adrotate_debug['general'] == true) { echo "

[DEBUG][adrotate_preview()] Ad information

"; 
			print_r($banner); 
			echo "

"; } if($banner) { $image = str_replace('%folder%', '/wp-content/banners/', $banner->image); $output = adrotate_ad_output($banner->id, 0, $banner->bannercode, $banner->tracker, $banner->link, $image, 'N'); } else { $output = adrotate_error('ad_expired'); } } else { $output = adrotate_error('ad_no_id'); } return $output; } /*------------------------------------------------------------- Name: adrotate_ad_output Purpose: Prepare the output for viewing Receive: $id, $group, $bannercode, $tracker, $link, $image, $responsive Return: $banner_output Since: 3.0 -------------------------------------------------------------*/ function adrotate_ad_output($id, $group = 0, $bannercode, $tracker, $link, $image, $responsive) { global $blog_id, $adrotate_debug, $adrotate_config; $banner_output = $bannercode; $banner_output = stripslashes(htmlspecialchars_decode($banner_output, ENT_QUOTES)); $banner_output = str_replace('%link%', $link, $banner_output); if($adrotate_config['stats'] > 0) { if(empty($blog_id) or $blog_id == '') { $blog_id = 0; } if($adrotate_config['stats'] == 1 AND $tracker == "Y") { // Internal tracker $banner_output = str_replace('](?:.*?)>/i', $banner_output, $matches, PREG_SET_ORDER); if(isset($matches[0])) { foreach($matches[0] as $value) { if(preg_match('/]+class=\"(.+?)\"[^>]*>/i', $value, $regs)) { $result = $regs[1]." gofollow"; $banner_output = str_replace('class="'.$regs[1].'"', 'class="'.$result.'"', $banner_output); } else { $banner_output = str_replace('](?:.*?)>/i', $banner_output, $matches, PREG_SET_ORDER); if(isset($matches[0])) { foreach($matches[0] as $value) { if(preg_match('/]+class=\"(?:.+?)\"[^>]*>/i', $value, $regs)) { $result = $regs[1]; if($responsive == 'Y') $result .= " responsive"; $result = trim($result); $banner_output = str_replace('class="'.$regs[1].'"', 'class="'.$result.'"', $banner_output); } else { $result = ''; if($responsive == 'Y') $result .= " responsive"; $result = trim($result); if(strlen($result) > 0) { $banner_output = str_replace(' 0) wp_enqueue_script('jshowoff-adrotate', plugins_url('/library/jquery.adrotate.dyngroup.js', __FILE__), false, '0.7', $in_footer); if(get_option('adrotate_responsive_required') > 0) wp_enqueue_script('responsive-adrotate', plugins_url('/library/jquery.adrotate.responsive.js', __FILE__), false, '0.4', $in_footer); // Make clicktracking and impression tracking a possibility if($adrotate_config['stats'] == 1){ wp_enqueue_script('clicktrack-adrotate', plugins_url('/library/jquery.adrotate.clicktracker.js', __FILE__), false, '0.7', $in_footer); wp_localize_script('jshowoff-adrotate', 'impression_object', array('ajax_url' => admin_url( 'admin-ajax.php'))); wp_localize_script('clicktrack-adrotate', 'click_object', array('ajax_url' => admin_url('admin-ajax.php'))); } if(!$in_footer) { add_action('wp_head', 'adrotate_custom_javascript'); } else { add_action('wp_footer', 'adrotate_custom_javascript', 100); } } /*------------------------------------------------------------- Name: adrotate_custom_javascript Purpose: Add required JavaScript to site Receive: -None- Return: -None- Since: 3.10.5 -------------------------------------------------------------*/ function adrotate_custom_javascript() { global $wpdb, $adrotate_config; $groups = $wpdb->get_results("SELECT `id`, `adspeed` FROM `{$wpdb->prefix}adrotate_groups` WHERE `name` != '' AND `modus` = 1 ORDER BY `id` ASC;"); if($groups) { $output_js = "jQuery(document).ready(function(){\n"; $output_js .= "if(jQuery.fn.gslider) {\n"; foreach($groups as $group) { $output_js .= "\tjQuery('.g-".$group->id."').gslider({ groupid: ".$group->id.", speed: ".$group->adspeed." });\n"; } $output_js .= "}\n"; $output_js .= "});\n"; unset($groups); } $output = "\n"; $output .= "\n"; $output .= "\n\n"; echo $output; } /*------------------------------------------------------------- Name: adrotate_custom_css Purpose: Add required CSS to site head Receive: -None- Return: -None- Since: 3.8 -------------------------------------------------------------*/ function adrotate_custom_css() { global $wpdb, $adrotate_config; $output = "\n\n"; $groups = $wpdb->get_results("SELECT `id`, `modus`, `gridrows`, `gridcolumns`, `adwidth`, `adheight`, `admargin`, `align` FROM `{$wpdb->prefix}adrotate_groups` WHERE `name` != '' ORDER BY `id` ASC;"); if($groups) { $output_css = "\t.g { margin:0px; padding:0px; overflow:hidden; line-height:1; zoom:1; }\n"; $output_css .= "\t.g img { height:auto; }\n"; $output_css .= "\t.g-col { position:relative; float:left; }\n"; $output_css .= "\t.g-col:first-child { margin-left: 0; }\n"; $output_css .= "\t.g-col:last-child { margin-right: 0; }\n"; foreach($groups as $group) { if($group->align == 0) { // None $group_align = ''; } else if($group->align == 1) { // Left $group_align = ' float:left; clear:left;'; } else if($group->align == 2) { // Right $group_align = ' float:right; clear:right;'; } else if($group->align == 3) { // Center $group_align = ' margin: 0 auto;'; } if($group->modus == 0 AND ($group->admargin > 0 OR $group->align > 0)) { // Single ad group if($group->align < 3) { $output_css .= "\t.g-".$group->id." { margin:".$group->admargin."px;".$group_align." }\n"; } else { $output_css .= "\t.g-".$group->id." { ".$group_align." }\n"; } } if($group->modus == 1) { // Dynamic group if($group->adwidth != 'auto') { $width = "width:100%; max-width:".$group->adwidth."px;"; } else { $width = "width:auto;"; } if($group->adheight != 'auto') { $height = "height:100%; max-height:".$group->adheight."px;"; } else { $height = "height:auto;"; } if($group->align < 3) { $output_css .= "\t.g-".$group->id." { margin:".$group->admargin."px;".$width." ".$height.$group_align." }\n"; } else { $output_css .= "\t.g-".$group->id." { ".$width." ".$height.$group_align." }\n"; } unset($width_sum, $width, $height_sum, $height); } if($group->modus == 2) { // Block group if($group->adwidth != 'auto') { $width_sum = $group->gridcolumns * ($group->admargin + $group->adwidth + $group->admargin); $grid_width = "min-width:".$group->admargin."px; max-width:".$width_sum."px;"; } else { $grid_width = "width:auto;"; } $output_css .= "\t.g-".$group->id." { ".$grid_width.$group_align." }\n"; $output_css .= "\t.b-".$group->id." { margin:".$group->admargin."px; }\n"; unset($width_sum, $grid_width, $height_sum, $grid_height); } } $output_css .= "\t@media only screen and (max-width: 480px) {\n"; $output_css .= "\t\t.g-col, .g-dyn, .g-single { width:100%; margin-left:0; margin-right:0; }\n"; $output_css .= "\t}\n"; unset($groups); } if(isset($output_css) OR $adrotate_config['widgetpadding'] == "Y") { $output .= "\n"; $output .= "\n"; $output .= "\n\n"; } echo $output; } /*------------------------------------------------------------- Name: adrotate_nonce_error Purpose: Display a formatted error if Nonce fails Receive: -none- Return: -none- Since: 3.7.4.2 -------------------------------------------------------------*/ function adrotate_nonce_error() { echo '

'.__('Oh no! Something went wrong!', 'adrotate').'

'; echo '

'.__('WordPress was unable to verify the authenticity of the url you have clicked. Verify if the url used is valid or log in via your browser.', 'adrotate').'

'; echo '

'.__('If you have received the url you want to visit via email, you are being tricked!', 'adrotate').'

'; echo '

'.__('Contact support if the issue persists:', 'adrotate').' AJdG Solutions Support.

'; } /*------------------------------------------------------------- Name: adrotate_error Purpose: Show errors for problems in using AdRotate, should they occur Receive: $action, $arg Return: -none- Since: 3.0 -------------------------------------------------------------*/ function adrotate_error($action, $arg = null) { global $adrotate_debug; switch($action) { // Ads case "ad_expired" : if($adrotate_debug['general'] == true) { $result = ''.__('Error, Ad is not available at this time due to schedule/geolocation restrictions or does not exist!', 'adrotate').''; } else { $result = ''; } return $result; break; case "ad_unqualified" : if($adrotate_debug['general'] == true) { $result = ''.__('Either there are no banners, they are disabled or none qualified for this location!', 'adrotate').''; } else { $result = ''; } return $result; break; case "ad_no_id" : $result = ''.__('Error, no Ad ID set! Check your syntax!', 'adrotate').''; return $result; break; // Groups case "group_no_id" : $result = ''.__('Error, no group ID set! Check your syntax!', 'adrotate').''; return $result; break; case "group_not_found" : $result = ''.__('Error, group does not exist! Check your syntax!', 'adrotate').' (ID: '.$arg[0].')'; return $result; break; // Database case "db_error" : $result = ''.__('There was an error locating the database tables for AdRotate. Please deactivate and re-activate AdRotate from the plugin page!!', 'adrotate').'
'.__('If this does not solve the issue please seek support at', 'adrotate').' ajdg.solutions/forums/forum/adrotate-for-wordpress/
'; return $result; break; // Misc default: $result = ''.__('An unknown error occured.', 'adrotate').' (ID: '.$arg[0].')'; return $result; break; } } /*------------------------------------------------------------- Name: adrotate_notifications_dashboard Purpose: Notify user of expired banners in the dashboard Receive: -none- Return: -none- Since: 3.0 -------------------------------------------------------------*/ function adrotate_notifications_dashboard() { global $adrotate_advert_status; if(current_user_can('adrotate_ad_manage')) { if(!is_array($adrotate_advert_status)) { $data = unserialize($adrotate_advert_status); } else { $data = $adrotate_advert_status; } if($data['total'] > 0) { if($data['expired'] > 0 AND $data['expiressoon'] == 0 AND $data['error'] == 0) { echo '

'.$data['expired'].' '.__('active ad(s) expired.', 'adrotate').' '.__('Take action now', 'adrotate').'!

'; } else if($data['expired'] == 0 AND $data['expiressoon'] > 0 AND $data['error'] == 0) { echo '

'.$data['expiressoon'].' '.__('active ad(s) are about to expire.', 'adrotate').' '.__('Check it out', 'adrotate').'!

'; } else if($data['expired'] == 0 AND $data['expiressoon'] == 0 AND $data['error'] > 0) { echo '

There are '.$data['error'].' '.__('active ad(s) with configuration errors.', 'adrotate').' '.__('Solve this', 'adrotate').'!

'; } else { echo '

'.$data['expired'].' '.__('ad(s) expired.', 'adrotate').' '.$data['expiressoon'].' '.__('ad(s) are about to expire.', 'adrotate').' There are '.$data['error'].' '.__('ad(s) with configuration errors.', 'adrotate').' '.__('Fix this as soon as possible', 'adrotate').'!

'; } } if(isset($_GET['hide']) AND $_GET['hide'] == 1) update_option('adrotate_hide_banner', 1); if(isset($_GET['hide']) AND $_GET['hide'] == 2) update_option('adrotate_hide_review', 1); if(isset($_GET['page'])) { $page = $_GET['page']; } else { $page = ''; } $pro_banner = get_option('adrotate_hide_banner'); if($pro_banner != 1 AND $pro_banner < (adrotate_now() - 604800) AND strpos($page, 'adrotate') !== false) { echo '
'; echo '
'; echo ' '; echo '
'.__("You've been using AdRotate for a while now. Why not upgrade to the PRO version", 'adrotate').'?
'.__('Get more features to even better run your advertising campaigns.', 'adrotate' ).' '.__('Thank you for your consideration!', 'adrotate' ).'
'; echo ' '; echo '
'; echo '
'; echo '
'; } $review_banner = get_option('adrotate_hide_review'); if($review_banner != 1 AND $review_banner < (adrotate_now() - 2419200) AND strpos($page, 'adrotate') !== false) { echo '
'; echo '
'; echo ' '; echo '
If you like AdRotate please let the world know that you do. Thanks for your support!
If you have questions, suggestions or something else that doesn\'t belong in a review, please get in touch!
'; echo ' '; echo '
'; echo '
'; echo '
'; } } if(isset($_GET['upgrade']) AND $_GET['upgrade'] == 1) adrotate_check_upgrade(); $adrotate_db_version = get_option("adrotate_db_version"); $adrotate_version = get_option("adrotate_version"); if($adrotate_db_version['current'] < ADROTATE_DB_VERSION OR $adrotate_version['current'] < ADROTATE_VERSION) { echo '
'; echo '
'; echo ' '; echo '
You have almost finished upgrading AdRotate to version '.ADROTATE_DISPLAY.'!
To complete the update click the button on the left. This may take a few seconds to complete!
'; echo '
'; echo '
'; echo '
'; } } /*------------------------------------------------------------- Name: adrotate_welcome_pointer Purpose: Show dashboard pointers Receive: -none- Return: -none- Since: 3.9.14 -------------------------------------------------------------*/ function adrotate_welcome_pointer() { $pointer_content = '

AdRotate '.ADROTATE_DISPLAY.'

'; $pointer_content .= '

'.__('Welcome, and thanks for using AdRotate. Everything related to AdRotate is in this menu. Check out the', 'adrotate').' '.__('manuals', 'adrotate').' '.__('and', 'adrotate').' '.__('forums', 'adrotate').'.

'; $pointer_content .= '

AdRotate Professional
Did you know there is also a premium version of AdRotate? Find out how you can benefit from the extra features.

'; ?> add_help_tab(array( 'id' => 'adrotate_useful_links', 'title' => __('Useful Links'), 'content' => '

'.__('Useful links to learn more about AdRotate', 'adrotate').'

'. '' ) ); $screen->add_help_tab(array( 'id' => 'adrotate_thanks', 'title' => 'Thank You', 'content' => '

Thank you for using AdRotate

AdRotate is growing to be one of the most popular WordPress plugins for Advertising and is a household name for many companies around the world. AdRotate wouldn\'t be possible without your support and my life wouldn\'t be what it is today without your help.

- Arnan from AJdG Solutions

'. '

Add me: Twitter, Facebook. Business: ajdg.solutions Blog: meandmymac.net and adventure: floatingcoconut.net.

' ) ); } /*------------------------------------------------------------- Name: adrotate_credits Purpose: Promotional stuff shown throughout the plugin Receive: -none- Return: -none- Since: 3.7 -------------------------------------------------------------*/ function adrotate_credits() { echo ''; echo ''; echo ''; echo ' '; echo ' '; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.__('Help AdRotate Grow', 'adrotate').''.__('Brought to you by', 'adrotate').'
adrotate-logo-60x60
'.__("A lot of users only think to review AdRotate when something goes wrong while thousands of people use AdRotate satisfactory. Don't let this go unnoticed.", 'adrotate').' '. __("If you find AdRotate useful please leave your honest", 'adrotate').' '.__('rating','adrotate').' '.__('and','adrotate').' '.__('review','adrotate').' '.__('on WordPress.org to help AdRotate grow in a positive way', 'adrotate').'!
ajdg-logo-100x60
AJdG Solutions - '.__('Your one stop for Webdevelopment, consultancy and anything WordPress! Find out more about what I can do for you!', 'adrotate').' '.__('Visit the', 'adrotate').' AJdG Solutions '.__('website', 'adrotate').'
'; echo adrotate_trademark(); } /*------------------------------------------------------------- Name: adrotate_trademark Purpose: Trademark notice Receive: -none- Return: -none- Since: 3.9.14 -------------------------------------------------------------*/ function adrotate_trademark() { return '
AdRotate® and the AdRotate Logo are owned by Arnan de Gans for AJdG Solutions.
'; } /*------------------------------------------------------------- Name: adrotate_pro_notice Purpose: Credits shown on user statistics Receive: $d Return: -none- Since: 3.8 -------------------------------------------------------------*/ function adrotate_pro_notice($d = '') { if($d == "t") echo __('Available in AdRotate Pro', 'adrotate').'. '.__('More information...', 'adrotate').''; else echo __('This feature is available in AdRotate Pro', 'adrotate').'. '.__('Learn more', 'adrotate').'!'; } ?>