{{foreach $users as $user}}
{template="userPhoto" app="core" group="global" params="$user->member(), 'small'"}

{{if $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_name_" . $user->id ) }} {{if member.canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) )}} {lang="core_staff_directory_name_{$user->id}" escape="true"} {{else}} {lang="core_staff_directory_name_{$user->id}" escape="true"} {{endif}} {{else}} {$user->member()->link()|raw} {{endif}}

{{if $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_title_" . $user->id )}} {lang="core_staff_directory_title_{$user->id}" escape="true"} {{endif}}

{{if $user->id AND \IPS\Member::loggedIn()->language()->checkKeyExists( "core_staff_directory_bio_" . $user->id )}}
{{$truncateAttributes = array('data-ipsTruncate', 'data-ipsTruncate-size="4 lines"', 'data-ipsTruncate-type="hide"');}} {template="richText" group="global" app="core" location="global" params="\IPS\Member::loggedIn()->language()->addToStack('core_staff_directory_bio_' . $user->id), array('ipsType_normal'), array(), $truncateAttributes"} {{endif}} {{if !member.members_disable_pm AND !$user->member()->members_disable_pm AND \IPS\Member::loggedIn()->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) )}}
{lang="message_send"} {{endif}}
{{endforeach}}