Yes on both accounts... to show hide sigs based on user id:
Code:
<vb:if condition="in_array($bbuserinfo['userid'], array(X, Y, Z))">
Where X, Y, Z are userids of specific users...
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:
Field Required: Yes, at registration and...
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")">
Where "X" is the field number of the user profile field you just created.
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")">
Will hide the sig always for user id's 2, 3, and 4 and also hide the sigs for anyone else who sets custom field 8 to "No"