...but if those usergroup ids ever change, or you want to add more groups to the array, it could get time consuming, especially if you have multiple styles.
Wouldn't it be easier to be able to use:
Code:
<if condition="is_paid_member()">
?
Well now you can!
In includes/functions.php, find:
PHP Code:
// ###################### Start build datastore #######################
function build_datastore($title = '', $data = '')
{
global $DB_site;
function is_paid_member($usergroupid = 0) // replace is_paid_member with your new function/condition
{
global $bbuserinfo;
if ($usergroupid == 0)
{
$usergroupid = $bbuserinfo['usergroupid'];
}
return in_array($usergroupid, array(9, 10, 11)); // replace with the Usergroup ids you want
}
In adminfunctions_template.php find:
PHP Code:
// vBulletin-defined functions
'can_moderate', // obvious one
'can_moderate_calendar', // another obvious one
'exec_switch_bg', // harmless function that we use sometimes
'is_browser', // function to detect browser and versions
'is_member_of', // function to check if $user is member of $usergroupid
under, add:
PHP Code:
'is_paid_member', // function to check if $user is member of paid member groups
Save and upload includes/functions.php and adminfunctions_template.php and you are done.
You can now wrap
Code:
<if condition="is_paid_member()"></if>
around whatever you want to show to people in Usergroups 9, 10 or 11...and if you need to add usergroup 12 to the list, all you need to do is add it in the function.
I feel confident when I say this won't work right away....I think
I only saw this when looking through vB files that there's some array of safe functions that the template parses, and it ignores everything else... I might be wrong, so dont shoot me!
Your thread title doesn't really simplify all template conditionals as it would imply. Something along the lines of 'Easy template conditional to select users from particular usergroups'. Thanks for releasing btw
Good idea, but you can simplify it even more by adding it as an Admin CP Options settings variable.
Because if you think changing a template is a pain when you want to add usergroups, at least you can do it anywhere. Changing a PHP file to add usergroups is much harder.
You're better off adding the group in your phpinclude_start template -
I feel confident when I say this won't work right away....I think
I only saw this when looking through vB files that there's some array of safe functions that the template parses, and it ignores everything else... I might be wrong, so dont shoot me!
Oopsie. You're right...I realised this as I was falling asleep last night. adminfunctions_template.php needs an edit too.
Sorted.
@Dean: I know...I'm crap at descriptive titles that don't run the length of 2 pages. 'Add new Usergroup Macros for Template Conditionals' was one I played with. Feel free to edit the title to something a bit better.