vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.6 Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=192)
-   -   Miscellaneous Hacks - Replace 1st & 2nd signatures with ads/other code (https://vborg.vbsupport.ru/showthread.php?t=150365)

karlm 06-21-2007 10:00 PM

Replace 1st & 2nd signatures with ads/other code
 
Hi all,

I was thinking of a way to place advertisements in my forum without distrupting the display too much... this is what I came up with.

Enter your ADMIN CP, select Styles & Templates, then select Style Manager and open up the skin you wish to amend (the main skin would be the obvious choice, or all if necessary) and finally, expand all template groups fully and select postbit.

Seach for:
HTML Code:

                <!-- sig -->
                        <div>
                                __________________<br />
                                $post[signature]
                        </div>
                <!-- / sig -->

And replace it with the below code.

HTML Code:

<!-- sig -->
<br /> 
<if condition="$post['signature']">
<!-- applying adsense to FIRST post -->
<if condition="(($post[postcount] % $vboptions[maxposts] == 1)) and (!is_member_of($bbuserinfo,30))">
<span style="margin: 2px; float: left; width: 730px; height: 20px;">
 
<!-- YOUR GOOGLE CODE FOR 728*15 GOES HERE -->
 
</span><br />
</if>
<!-- applying adsense to FIRST post -->
<else />
<!-- applying adsense to FIRST post -->
<if condition="(($post[postcount] % $vboptions[maxposts] == 1)) and (!is_member_of($bbuserinfo,30))">
<span style="margin: 2px; float: left; width: 730px; height: 20px;">
 
<!-- YOUR GOOGLE CODE FOR 728*15 GOES HERE -->
 
</span>
<br /></if>
<!-- applying adsense to FIRST post -->
</if>
<if condition="(($post[postcount] % $vboptions[maxposts] == 1)) and (is_member_of($bbuserinfo,30))">
<fieldset style="color: #666666"><legend>$post[username]'s Sig:</legend><div class="smallfont">
$post[signature]</div></fieldset></if>
 
<!-- applying adsense to SECOND post -->
<if condition="$post['signature'] and (($post[postcount] % $vboptions[maxposts] == 2)) and (!is_member_of($bbuserinfo,30))">
<span style="margin: 2px; float: left; width: 730px; height: 90px;">
 
<!-- YOUR GOOGLE CODE FOR 728*90 GOES HERE -->
 
</span><br />
<!-- applying adsense to SECOND post -->
<else />
<!-- applying adsense to SECOND post -->
<if condition="(($post[postcount] % $vboptions[maxposts] == 2)) and (!is_member_of($bbuserinfo,30))">
<span style="margin: 2px; float: left; width: 730px; height: 90px;">
 
<!-- YOUR GOOGLE CODE FOR 728*90 GOES HERE -->
 
</span><br /></if></if>
<!-- applying adsense to SECOND post -->
<if condition="(($post[postcount] % $vboptions[maxposts] == 2)) and (is_member_of($bbuserinfo,30))">
<fieldset style="color: #666666"><legend>$post[username]'s Sig:</legend><div class="smallfont">
$post[signature]</div></fieldset></if>
<if condition="(($post[postcount] % $vboptions[maxposts] >= 3)) and $post['signature']">
<fieldset style="color: #666666"><legend>$post[username]'s Sig:</legend><div class="smallfont">
$post[signature]</div></fieldset></if>
    <!-- / sig -->

What this code does is it checks a few conditions.

1) It checks whether the post displayed is the first or second.
2a) If it is the 1st it then checks whether user has a signature or not.
2b) If it is the 2nd it then checks whether user has a signature or not.
3a) If the user has a signature (post #1), it replaces it with a google link-unit 728x15.
3b) If the user has a signature (post #2), it replaces it with a google link-unit 728x90.
4) If the user doesn't have a signature - it uses the google-ad code regardless for both posts #1 and #2.
5) It also checks whether the viewer (not the poster) is on a subscription group and removes all adverts as well as leaving the original signatures in place. This serves as a great way to promote membership contribution.

6) It does a last check that makes sure any posts of #3 or above are ignored for signature replacing. This works on a page by page basis. So, for example, if you had a thread with 35 replies, spread over four pages (10,10,10,5), it would replace posts 1,2,11,12,21,22,31 and 32.

Remember you need to amend the a code to reflect the usergroup that YOUR forum uses for ad-less usergroup. In MY example, it is usergroup 30, yours will undoubtedly be a different number/s. If you have multiple usergroups that do not see adverts (e.g. supports, admins & mods), then simply use a comma to separate them:
HTML Code:

<if condition="(($post[postcount] % $vboptions[maxposts] == 2)) and (is_member_of($bbuserinfo,30,31,32))">
I'm fairly confident there must be a considerably smaller & quicker means of doing this - but I'm not overly experienced with php. This is my second offering of a 'hack'. It works well on my forum and the members seem not to mind it at all.

If you use it at all - even for just 20 minutes - please leave feed back of your thoughts and don't forget to click Install if you actually make use of it on a live forum.

Thank you, and enjoy!

karlm 06-22-2007 12:11 PM

For a working demonstration, drop by my forum and select any thread you want.

rjmjr69 06-23-2007 02:55 AM

How many queries does this add?

karlm 06-23-2007 08:13 PM

Erm.
God knows.

Seriously, I've no idea at all... Sorry.

jmw 09-28-2007 09:54 PM

Quote:

Originally Posted by karlm (Post 1274851)
Erm.
God knows.

Seriously, I've no idea at all... Sorry.

LOL! Can't install.

yoyoyoyo 09-29-2007 01:14 AM

I think that this would seriously upset many of the users on my forum - they are quite attached to their sigs.


All times are GMT. The time now is 02:29 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01198 seconds
  • Memory Usage 1,744KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_html_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete