Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Template Modifications
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Hidden Signatures - Hide Sigs (spoiler) based on Post Count (anti-spam) or Usergroup Details »»
Hidden Signatures - Hide Sigs (spoiler) based on Post Count (anti-spam) or Usergroup
Version: 1.00, by BirdOPrey5 (Senior Member) BirdOPrey5 is offline
Developer Last Online: Aug 2023 Show Printable Version Email this Page

Category: Show Thread Enhancements - Version: 4.0.x Rating:
Released: 08-22-2010 Last Update: 08-22-2010 Installs: 15
Supported Template Edits
Re-useable Code Translations  

This mod allows you to hide a user's signature by default. There will be a "Show Signature" button displayed instead of a sig... if you click on the button the real signature will show- you can then click the button again if you want to re-hide the signature.

This has been tested on VB 4.0.6 in IE / Firefox / Chrome / Safari and Opera.

You can hide everyone's signature if you want but more then likely you'd want to hide signatures based on a user's post count- this could help foil would be signature-spammers by not showing their content or hiding sigs of new users you just don't trust yet. Alternatively you can hide signatures by usergroup, such as for registered users but allow sigs to show for VIP members only. Of course you can also use a combination of the above to- hide sigs for all users with less than 30 posts unless they are VIP members...

This is a Template Edit.

Edit your postbit or postbit_legacy template, whichever you use.

Find the following code:
Code:
{vb:raw post.signature}
Note this is in the middle of a line, you may want to edit the line so that it's on its own line- extra lines don't matter in templates.

Replace the code with:
Code:
<!-- Begin Hidden sig -->
<vb:if condition="$post[posts] < 10">
                           <div style="margin-top:5px"> 
                           <div class="smallfont" style="margin-bottom:2px"> 
                           <input type="button" value="Show Signature" 
                           style="font-size:10px;margin:0px;padding:0px;" 
                           onClick="if (this.parentNode.parentNode.getElementsByTagName
                           ('div')[1].getElementsByTagName('div')[0].style.display != '') 
                           { this.parentNode.parentNode.getElementsByTagName(
                           'div')[1].getElementsByTagName('div')[0].style.display = ''; 
                           this.innerText = ''; this.value = 'Hide Signature'; } else 
                           { this.parentNode.parentNode.getElementsByTagName('div')
                           [1].getElementsByTagName('div')[0].style.display = 'none'; 
                           this.innerText = ''; this.value = 'Show Signature'; }"> 
                           </div> <div style="margin: 0px; padding: 6px;">
                           <div style="display: none;">
                            {vb:raw post.signature}
                            </div></div></div>
<vb:else />
  {vb:raw post.signature}
</vb:if>
<!-- End Hidden sig -->
That exact code will auto hide signatures of anyone with less then 10 posts.

To change this behavior edit the "if" statement at the top of the code:
<vb:if condition="$post[posts] < 10">

Change the number 10 to whatever minimum post count you want.

If you want to hide sigs per usergroup change the line to:
<vb:if condition="is_member_of($post, 2, 5, 7 )">

That code will hide sigs of registered users, mods, and super-mods... maybe not what you want to do but a good way to show you how to use it. If you only want one usergroup removes the commas, such as:
<vb:if condition="is_member_of($post, 2)">

This will block it for only registered users.

You can combine both with an "AND" or "OR" statement:
<vb:if condition="is_member_of($post, 2) OR $post[posts] < 10">

This will hide sigs for all registered users or anyone with a post count less than 10 no matter what usergroup they are in.

Please click Mark As Installed if you use this.

Some code for this is based on this "spoiler" tag:
https://vborg.vbsupport.ru/showthread.php?t=184855

Download the .txt file for a copy of the Install Instructions...

Download Now

File Type: txt Hidden_sigs_VB4.txt (3.7 KB, 56 views)

Screenshots

File Type: jpg ss_hiddensigvb4.jpg (102.3 KB, 0 views)
File Type: jpg ss_hiddensigvb4_2.jpg (104.2 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
mohammadxxx

Comments
  #12  
Old 10-20-2010, 06:02 PM
ZeuQma's Avatar
ZeuQma ZeuQma is offline
 
Join Date: May 2008
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nice work, thank you..
Reply With Quote
  #13  
Old 11-30-2011, 05:36 PM
brad99 brad99 is offline
 
Join Date: Aug 2008
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

very cool, thanks for your efforts!
Reply With Quote
Благодарность от:
BirdOPrey5
  #14  
Old 09-19-2012, 04:41 PM
Gord Lacey Gord Lacey is offline
 
Join Date: Feb 2012
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wonderful mod!

Now, I'm trying to find a way to have this be displayed only if a signature is quite long. Any way to set a condition like "Signature Length > 500"?
Reply With Quote
  #15  
Old 09-20-2012, 10:19 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes and no... It would be fairly easy to count the characters in the plugin but with BBCode you could have 1000 characters in the signature but it only displays a short 100 of them as actual text.

You could filter out the BBCode but it is more difficult.

Worse is that in my experience it's images which take up a lot of room, not so much text, and there is no way to check the size of the image each time it is loaded.

There was a thread somewhere here on a mod or template edit that allowed for a max signature height in pixels, and anything longer than that it would show a scrollbar so it didn't take up the whole page.

Here is the link actually: https://vborg.vbsupport.ru/showthrea...68#post2085268
Reply With Quote
  #16  
Old 09-21-2012, 12:53 PM
Gord Lacey Gord Lacey is offline
 
Join Date: Feb 2012
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Joe, I saw that mod the other day as well.

Would you be able to share the count to count the characters? I realize the BBCode can change what's displayed, but I'm still interested in how to do it. I don't allow graphics in the signatures, so that's not a problem.
Reply With Quote
  #17  
Old 09-21-2012, 08:17 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In a plugin on the postbit_display_complete hook the signature text (already converted to HTML) is stored in:

Code:
$post['signature']
Using the PHP function to count the length of a string you can get the number of characters:

PHP Code:
$siglength strlen($post['signature']); 
So you can do whatever you want-

PHP Code:
$siglength strlen($post['signature']);
if (
$siglength 500)
{
  
$post['bigsig'] = 1;
}
else
{
  
$post['bigsig'] = 0;

Then in the template instead of:

Code:
<vb:if condition="$post[posts] < 10">
You make it:

Code:
<vb:if condition="$post['bigsig']">
And the mod will only run if the signature has over 500 characters.
Reply With Quote
  #18  
Old 09-25-2012, 08:31 PM
Gord Lacey Gord Lacey is offline
 
Join Date: Feb 2012
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome, thank you so much. I just edited the "postbit_display_complete" file (took a bit for a Newbie to find it), changed the code, and all is working perfectly!
Reply With Quote
Благодарность от:
BirdOPrey5
Reply


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 02:47 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.04953 seconds
  • Memory Usage 2,315KB
  • Queries Executed 25 (?)
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
  • (5)bbcode_code
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (8)post_thanks_box
  • (3)post_thanks_box_bit
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit
  • (8)post_thanks_postbit_info
  • (7)postbit
  • (3)postbit_attachment
  • (8)postbit_onlinestatus
  • (8)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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete