{{$baseUrl = \IPS\Http\Url::internal( "app=core&module=members&controller=profile&id={$member->member_id}&do=content", 'front', 'profile_content', $member->members_seo_name );}} {{if !\IPS\Request::i()->isAjax()}}
{template="profileHeader" app="core" location="front" group="profile" params="$member, true"}
{{endif}}
{{if $member->canHaveAchievements() and \IPS\core\Achievements\Rank::show() and \IPS\core\Achievements\Rank::getStore() and $rank = $member->rank()}}

{lang="achievements_profile_rank_progress"}

{{if $rank}}

{{if $percentage}} {lang="profile_rank_progress_blurb_percentage" sprintf="$member->name, $member->rank()->rankPosition()['pos'], $member->rank()->rankPosition()['max'], $percentage"} {{else}} {lang="profile_rank_progress_blurb" sprintf="$member->name, $member->rank()->rankPosition()['pos'], $member->rank()->rankPosition()['max']"} {{endif}}


{{endif}}
    {{if $member->rankHistory()['earned']}} {{foreach $member->rankHistory()['earned'] as $entry}}
  • {$entry['rank']->html( 'ipsFlex-flex:00 ipsDimension:4 ipsOutline cRankHistory__itemBadge' )|raw}

    {$entry['rank']->_title}

    {{if ! $entry['time'] or ( $entry['time']->getTimestamp() < settings.achievements_last_rebuilt)}} {{if \IPS\Settings::i()->achievements_last_rebuilt}}

    {lang="badge_earned_date_while_rebuilding" htmlsprintf="\IPS\DateTime::ts( \IPS\Settings::i()->achievements_last_rebuilt )->shortMonthAndFullYear()"}

    {{endif}} {{elseif $entry['time']}}

    {lang="badge_earned_date" htmlsprintf="$entry['time']->html()"}

    {{endif}}
  • {{endforeach}} {{endif}} {{if $member->rankHistory()['not_earned']}} {{foreach $member->rankHistory()['not_earned'] as $entry}}
  • {$entry['rank']->html( 'ipsFlex-flex:00 ipsDimension:4 ipsOutline cRankHistory__itemBadge cRankHistory__itemBadge--unearned' )|raw}

    {$entry['rank']->_title}

    {lang="badge_earned_but_not_really"}

  • {{endforeach}} {{endif}}
{{endif}}

{lang="achievements_profile_title" pluralize="$member->badgeCount()"}

{{if $member->badgeCount()}}
{{foreach $member->recentBadges( NULL ) as $badge}}
{$badge->html('ipsFlex-flex:00 ipsDimension:4', FALSE, TRUE)|raw}
{{if ! empty( $badge->recognize ) AND $badge->recognize->contentWrapper() }}

{lang="badge_from_recognize" sprintf="$badge->_title, $badge->recognize->content()->url(), $badge->recognize->content()->indefiniteArticle()"}

{{else}}

{$badge->_title}

{{endif}} {{if ! empty( $badge->awardDescription )}}

{$badge->awardDescription}

{{endif}} {{if $badge->datetime < settings.achievements_last_rebuilt}} {{if \IPS\Settings::i()->achievements_last_rebuilt}}

{lang="badge_earned_date_while_rebuilding" htmlsprintf="\IPS\DateTime::ts( \IPS\Settings::i()->achievements_last_rebuilt )->shortMonthAndFullYear()"}

{{endif}} {{else}}

{lang="badge_earned_date" htmlsprintf="\IPS\DateTime::ts( $badge->datetime )->html()"}

{{endif}}
{{endforeach}}
{{else}}
{{if $member->member_id === \IPS\Member::loggedIn()->member_id}} {lang="achievements_self_none" sprintf=""} {{else}} {lang="achievements_member_none" sprintf="$member->name"} {{endif}}
{{endif}}
{{if !\IPS\Request::i()->isAjax()}}
{{endif}}