Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 01-25-2010, 09:00 PM
KrisP KrisP is offline
 
Join Date: Jun 2002
Posts: 169
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Conditional for "length" (fx. number of words) for post?

I need a conditional for "length" (pref. number of words, or possibly fx. number of lines or size in KB) for a post. Is that possible
Reply With Quote
  #2  
Old 09-15-2011, 09:16 AM
Marvin Hlavac Marvin Hlavac is offline
 
Join Date: Sep 2007
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'd love to know this, too. I place a unit of AdSense after first post, but if the first post is too short, I'd like to place the ad after the second post, so I'm looking for a conditional that would be able to recognize the post size.
Reply With Quote
  #3  
Old 09-15-2011, 02:48 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There isn't an existing conditional for that. You'd need to create a plugin, because even if there was a way to check the message length in a template conditional, you'd still need to know if the ad had been displayed yet or not.

I haven't tested this at all, but you could try this (using hook location postbit_display_complete)

PHP Code:
$cutoff_length 10;
if (!
$adsense_displayed && (build_message_plain($post['message']) >= $cutoff_length))
{
    
$show['adsense'] = true;
    
$adsense_displayed true;
}
else
    
$show['adsense'] = false
(of course you'd change the 10 to whatever you want).


Then in postbit,
Code:
<vb:if condition="$show[adsense]">
(existing code)
</vb:if>
Reply With Quote
  #4  
Old 09-15-2011, 03:34 PM
Marvin Hlavac Marvin Hlavac is offline
 
Join Date: Sep 2007
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi kh99,

I much appreciate you taking the time for this. I'm going to play with it a bit.
Reply With Quote
  #5  
Old 09-15-2011, 03:40 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I thought of a couple other things - you don't say what you'd want if the second (or third or fourth, etc) were also short. What I wrote will not display the ad until a post is long enough. Also, I forgot that it won't display at all if all the messages are short, so you need some check for that.
Reply With Quote
  #6  
Old 09-15-2011, 04:46 PM
Marvin Hlavac Marvin Hlavac is offline
 
Join Date: Sep 2007
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I display one unit of AdSense per showthread page, right bellow the first post on each page. My original intention was to move the position of the ad to bellow the second post if the first post was too short. However, in the process of trying to figure out how to achieve it, I have changed my mind a bit. Instead of doing the above, I decided to not display ads at all on pages with fewer than three posts. I have managed to achieve this. I will leave it as is for now. Should the income drop considerably, I will revisit my original plan.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:07 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06480 seconds
  • Memory Usage 2,205KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete