The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
|
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
Developer Last Online: Aug 2023
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} 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 --> 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
Screenshots
Show Your Support
|
Благодарность от: | ||
mohammadxxx |
Comments |
#2
|
||||
|
||||
Translations:
Arabic - Thanks to Dr. osamA, Post # 4 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="اضهار التوقيع" 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 = 'اخفاء التوقيع'; } else { this.parentNode.parentNode.getElementsByTagName('div') [1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'اضهار التوقيع'; }"> </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 --> |
#3
|
||||
|
||||
Nice one, installed... i will test later.
|
#4
|
||||
|
||||
Excellent
installed + 5 stars here is code in Arabic just last night I was thinking about this code you saved my time man thank you PHP Code:
|
#5
|
|||
|
|||
This would be extremely useful for me for signatures that are not work safe.
Would there be any way to use this just for certain signatures and not all? |
#6
|
||||
|
||||
Yeah that's actually what I use it for- just make a new usergroup "Hidden Sigs" and add anyone you want too it as a secondary usergroup.
Use the condition: <vb:if condition="is_member_of($post, X)"> Where 'X' is the usergroup id of your Hidden Sigs usergroup. |
#7
|
|||
|
|||
Quote:
Would there be any way to add in hiding by userid or for users to tag their own sigs as NWS? |
#8
|
||||
|
||||
Yes on both accounts... to show hide sigs based on user id:
Code:
<vb:if condition="in_array($bbuserinfo['userid'], array(X, Y, Z))"> Now to hide sigs of users who mark theirs as not work safe, also possible but will take a bit more... First you need to make a Custom User Profile Field... In Admin CP go to the menu on the left and choose "Add New User Profile Field" under "User Profile Fields." Choose "Single Selection Radio Box" from the drop down menu... On the next screen set the following... Title: Work Safe Sig Description: Is you signature "Work Safe?" If "No" it will be hidden by default. Options: Code:
Yes No Private/Field Searchable.../Display on... All "No" Display Page: Options: Thread Viewing Leave all other settings to default and hit "Save" to create the profile field. Now for the condition use: Code:
<vb:if condition="($vbulletin->userinfo['fieldX'] != "No")"> Note- we are using !="No" (does NOT equal "No") instead of the more intuitive =="Yes" (equals "Yes") because the vast majority of users will probably never set this field at all so it physically won't equal "Yes" for most people, but that is OK, so long as it doesn't equal "No" we want a regular sig. I hope this is easy enough to follow- if you have a question about it let me know. Of course you can still use AND's or OR's as needed in the if statement such as: Code:
<vb:if condition="in_array($bbuserinfo['userid'], array(2, 3, 4)) OR ($vbulletin->userinfo['field8'] != "No")"> |
#9
|
|||
|
|||
Damn bud, you are good!
Thank you so much for addressing my posts. Most people who do mods just tell you that isn't what theirs was designed to do so instead of working with people they work against them. You were nice enough to help, refreshing to see, and thank you. |
#10
|
||||
|
||||
Quote:
|
Thread Tools | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|