Thread: Mini Mods - Adsense Inside the Post
View Single Post
  #98  
Old 06-14-2008, 11:21 PM
Mike Vollmer Mike Vollmer is offline
 
Join Date: May 2008
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've been trying to incorporate this into my 3.7.0 vB today, two problems become apparent:

1. A lot of experienced users set their profiles to show the newest posts first. Basing your condition on ($post[postcount] % $vboptions[maxposts] == 1) is selecting the first post ever made in the thread, not the first post viewed. If you're trying to max ad revenue by putting that 300x250 rectangle in the first ad viewed, this has the opposite effect -- it's buried at bottom of the page for user who have chosen to view newest first.

2. 3.7.0 allows threaded & hybrid views, with a preset # of cached posts. Selecting based on ($post[postcount] % $vboptions[maxposts] == 1) seems to work for the posts that are displayed initially, but if that post is later retrieved from the cache & shown again, the ad is missing, although the post is still formatted as if it were there -- with 300x250 pixels of white space on the right side.

I doubt most of my potential users are sophisticated enough to care (or even notice) if the threaded/hybrid views are missing, so I've simply disabled them. However, a workaround for the first problem would be nice.

Later (and yes, I did sleep): This code addresses the first problem above:
<if condition="(

(($bbuserinfo[postorder] == '') and
($post[postcount] % ($bbuserinfo[maxposts] == -1 ? $vboptions[maxposts] : $bbuserinfo[maxposts]) == 1))

or

(($bbuserinfo[postorder] != '') and
($GLOBALS[qrfirstpostid] == $post[postid]))

)">
Evaluating $bbuserinfo[postorder] tells me whether the user is displaying newest or oldest first. Total post count seems not to be available, but the first post that is displayed on the screen is flagged by $GLOBALS[qrfirstpostid] == $post[postid].

Another potential problem is the use of $vboptions[maxposts] in the original mod. If user has elected to display more than the default # of posts per page, the condition potentially could be satisfied as many as 3 times & push the page over one of AdSense's max-ads-allowed limits. Using $bbuserinfo[maxposts] is preferable, but because it has a default value of -1, the conditional evaluation above is needed.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01174 seconds
  • Memory Usage 1,766KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete