/**
* Helper to get the user title for the specified user.
*
* @param array $user
* @param boolean $allowCustomTitle Allows the user title to come from the custom title
*
* @return string
*/
public static function helperUserTitle($user, $allowCustomTitle = true)
{
if (!is_array($user) || !array_key_exists('display_style_group_id', $user))
{
return '';
}
if ($allowCustomTitle && !empty($user['custom_title']))
{
return htmlspecialchars(self::_clientTitle($user, $user['custom_title']));
}
if (empty($user['user_id']))
{
$user['display_style_group_id'] = XenForo_Model_User::$defaultGuestGroupId;
}
if (isset($user['display_style_group_id']) && isset(self::$_displayStyles[$user['display_style_group_id']]))
{
$style = self::$_displayStyles[$user['display_style_group_id']];
if ($style['user_title'] !== '')
{
return self::_clientTitle($user, $style['user_title']);
}
}
if (empty($user['user_id']) || !isset($user['trophy_points']))
{
return ''; // guest user title or nothing
}
foreach (self::$_userTitles AS $points => $title)
{
if ($user['trophy_points'] >= $points)
{
return self::_clientTitle($user, $title);
}
}
return '';
}
/**
* Helper to determine if an user is a licensed user.
*
* @param array $user
* @param string $title
*
* @return string
*/
protected function _clientTitle(array $user, $title)
{
if (in_array(7, explode(',', $user['secondary_group_ids'])))
{
$visitor = XenForo_Visitor::getInstance();
if ($visitor['is_admin'] || $visitor['is_moderator'])
{
return $title . '*';
}
}
return $title;
}