Facebook
From Cream Wolf, 1 Year ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 89
  1. {{if !IPSRequest::i()->isAjax()}}
  2. <!-- When altering this template be sure to also check for similar in the hovercard -->
  3. <div data-controller='core.front.profile.main'>
  4.         {template="profileHeader" app="core" location="front" group="profile" params="$member, false"}
  5.         <div data-role="profileContent" class='ipsSpacer_top'>
  6. {{endif}}
  7.                 <div class='ipsColumns ipsColumns_collapseTablet' data-controller="core.front.profile.body">
  8.                         <div class='ipsColumn ipsColumn_fixed ipsColumn_veryWide' id='elProfileInfoColumn'>
  9.                                 <div class='ipsPadding ipsBox ipsResponsive_pull'>
  10.                                         {{if IPSApplication::appIsEnabled('nexus') and settings.nexus_subs_enabled and settings.nexus_subs_show_public}}
  11.                                                 {template="profileSubscription" app="nexus" location="front" group="subscription" params="$member"}
  12.                                         {{endif}}
  13.                                         {{if settings.reputation_enabled and settings.reputation_show_profile}}
  14.                                                 {{if settings.reputation_leaderboard_on and settings.reputation_show_days_won_trophy and $member->getReputationDaysWonCount() and $lastDayWon = $member->getReputationLastDayWon()}}
  15.                                                         {{$formattedDate = $lastDayWon['date']->dayAndMonth() . (  $lastDayWon['date']->format('Y') == IPSDateTime::ts( time() )->format('Y' ) ? '' : " " . $lastDayWon['date']->format('Y') );}}
  16.                                                         <div class='ipsLeaderboard_trophy_1 cProfileSidebarBlock ipsMargin_bottom ipsPadding ipsRadius'>
  17.                                                                 <p class='ipsType_reset ipsType_medium'>
  18.                                                                         <strong>
  19.                                                                                 <a class='ipsType_blendLinks' href="{url="app=core&module=discover&controller=popular&tab=leaderboard&custom_date_start={$lastDayWon['date']->getTimeStamp()}&custom_date_end={$lastDayWon['date']->getTimeStamp()}" seoTemplate="leaderboard_leaderboard"}">
  20.                                                                                         {{if $member->member_id == IPSMember::loggedIn()->member_id}}
  21.                                                                                                 {lang="profile_you_won" sprintf="$formattedDate"}
  22.                                                                                         {{else}}
  23.                                                                                                 {lang="profile_member_won" sprintf="$member->name, $formattedDate"}
  24.                                                                                         {{endif}}
  25.                                                                                 </a>
  26.                                                                         </strong>
  27.                                                                 </p>
  28.                                                                 <p class='ipsType_reset ipsType_small'>{{if $member->member_id == IPSMember::loggedIn()->member_id}}{lang="profile_you_congrats"}{{else}}{lang="profile_member_congrats" sprintf="$member->name"}{{endif}}</p>
  29.                                                         </div>
  30.                                                 {{endif}}
  31.  
  32.                                                 {{if ! $member->canHaveAchievements() OR ! IPScoreAchievementsBadge::show() OR (!count( IPScoreAchievementsRank::getStore() ) && !count( IPScoreAchievementsBadge::getStore() ) )}}
  33.                                                         <div class='cProfileSidebarBlock ipsMargin_bottom'>
  34.                                                                 {{if member.group['gbw_view_reps']}}
  35.                                                                         <a href="{url="app=core&module=members&controller=profile&id={$member->member_id}&do=reputation" seoTemplate="profile_reputation" seoTitle="$member->members_seo_name"}" data-action="repLog" title="{lang="members_reputation" sprintf="$member->name"}">
  36.                                                                 {{endif}}
  37.                                                                         <div class='cProfileRepScore ipsPad_half {{if $member->pp_reputation_points > 1}}cProfileRepScore_positive{{elseif $member->pp_reputation_points < 0}}cProfileRepScore_negative{{else}}cProfileRepScore_neutral{{endif}}'>
  38.                                                                                 <h2 class='ipsType_minorHeading'>{lang="profile_reputation"}</h2>
  39.                                                                                 <span class='cProfileRepScore_points'>{number="$member->pp_reputation_points"}</span>
  40.                                                                                 {{if $member->reputation()}}
  41.                                                                                         <span class='cProfileRepScore_title'>{$member->reputation()}</span>
  42.                                                                                 {{endif}}
  43.                                                                                 {{if $member->reputationImage()}}
  44.                                                                                         <div class='ipsAreaBackground_reset ipsRadius ipsPad_half ipsType_center'>
  45.                                                                                                 <img src='{file="$member->reputationImage()" extension="core_Theme"}' alt=''>
  46.                                                                                         </div>
  47.                                                                                 {{endif}}
  48.                                                                         </div>
  49.                                                                 {{if member.group['gbw_view_reps']}}
  50.                                                                         <p class='ipsType_reset ipsPadding_top:half ipsType_right ipsType_light ipsType_small'>
  51.                                                                                 {lang="replog_show_activity"} <i class='fa fa-caret-right'></i>
  52.                                                                         </p>
  53.                                                                 </a>
  54.                                                                 {{endif}}
  55.                                                         </div>
  56.                                                 {{endif}}
  57.                                         {{endif}}
  58.  
  59.                                         {{if $solutions && ( ! $member->canHaveAchievements() OR !IPScoreAchievementsBadge::show() OR ( !count( IPScoreAchievementsRank::getStore() ) && !count( IPScoreAchievementsBadge::getStore() ) ) )}}
  60.                                                 <div class='cProfileSidebarBlock ipsMargin_bottom'>
  61.                                                         <a href="{url="app=core&module=members&controller=profile&id={$member->member_id}&do=solutions" seoTemplate="profile_solutions" seoTitle="$member->members_seo_name"}" data-action="solutionLog" title="{lang="members_solutions" sprintf="$member->name"}">
  62.                                                                 <div class='cProfileRepScore ipsPad_half cProfileSolutions'>
  63.                                                                         <h2 class='ipsType_minorHeading'>{lang="profile_solutions"}</h2>
  64.                                                                         <span class='cProfileRepScore_points'>{number="$solutions"}</span>
  65.                                                                 </div>
  66.                                                                 <p class='ipsType_reset ipsPadding_top:half ipsType_right ipsType_light ipsType_small'>
  67.                                                                         {lang="solutionlog_show_activity"} <i class='fa fa-caret-right'></i>
  68.                                                                 </p>
  69.                                                         </a>
  70.                                                 </div>
  71.                                         {{endif}}
  72.                                        
  73.                                         {{if IPSSettings::i()->warn_on and !$member->inGroup( explode( ',', IPSSettings::i()->warn_protected ) ) and ( IPSMember::loggedIn()->modPermission('mod_see_warn') or ( IPSSettings::i()->warn_show_own and IPSMember::loggedIn()->member_id == $member->member_id ) )}}
  74.                                                 <div class='cProfileSidebarBlock ipsBox ipsBox--child ipsSpacer_bottom'>
  75.                                                         <div id='elWarningInfo' class='ipsRadius:tl ipsRadius:tr ipsPadding {{if $member->mod_posts || $member->restrict_post || $member->temp_ban}}ipsAreaBackground_negative{{endif}} ipsClearfix'>
  76.                                                                 <i class='ipsPos_left {{if $member->warn_level > 0 || $member->mod_posts || $member->restrict_post || $member->temp_ban}}fa fa-exclamation-triangle{{else}}fa fa-circle-o ipsType_light{{endif}}'></i>
  77.                                                                 <div>
  78.                                                                         <h2 class='ipsType_sectionHead'>{lang="member_warn_level" pluralize="$member->warn_level"}</h2>
  79.                                                                         <br>
  80.                                                                         {{if !$member->mod_posts && !$member->restrict_post && !$member->temp_ban}}
  81.                                                                                 <span>{lang="no_restrictions_applied"}</span>
  82.                                                                                 <br>
  83.                                                                         {{else}}
  84.                                                                                 <span>{lang="restrictions_applied"}</span>
  85.                                                                                 <ul class='ipsList_bullets ipsSpacer_top ipsSpacer_half'>
  86.                                                                                         {{if $member->mod_posts}}
  87.                                                                                                 <li data-ipsTooltip title="{{if $member->mod_posts == -1}}{lang="moderation_modq_perm"}{{else}}{lang="moderation_modq_temp" sprintf="IPSDateTime::ts( $member->mod_posts )"}{{endif}}">
  88.                                                                                                         {lang="moderation_modq"}
  89.                                                                                                 </li>
  90.                                                                                         {{endif}}
  91.                                                                                         {{if $member->restrict_post}}
  92.                                                                                                 <li data-ipsTooltip title="{{if $member->restrict_post == -1}}{lang="moderation_nopost_perm"}{{else}}{lang="moderation_nopost_temp" sprintf="IPSDateTime::ts( $member->restrict_post )"}{{endif}}">
  93.                                                                                                         {lang="moderation_nopost"}
  94.                                                                                                 </li>
  95.                                                                                         {{endif}}
  96.                                                                                         {{if $member->temp_ban}}
  97.                                                                                                 <li data-ipsTooltip title="{{if $member->temp_ban == -1}}{lang="moderation_banned_perm"}{{else}}{lang="moderation_banned_temp" sprintf="IPSDateTime::ts( $member->temp_ban )"}{{endif}}">
  98.                                                                                                         {lang="moderation_banned"}
  99.                                                                                                 </li>
  100.                                                                                         {{endif}}
  101.                                                                                 </ul>
  102.                                                                         {{endif}}
  103.                                                                 </div>
  104.                                                         </div>
  105.                                                         {{if ( member.canWarn( $member ) || ( member.modPermission('can_flag_as_spammer') and !$member->modPermission() and !$member->isAdmin() ) ) and $member->member_id != member.member_id }}
  106.                                                                 <div class='ipsPadding_vertical:half ipsType_center'>
  107.                                                                         <ul class='ipsFlex ipsFlex-fw:wrap ipsFlex-jc:center ipsGap:1'>
  108.                                                                                 {{if member.canWarn( $member )}}
  109.                                                                                         <li>
  110.                                                                                                 <a href='{$addWarningUrl}' id='elWarnUserButton' data-ipsDialog data-ipsDialog-title="{lang="warn_member" sprintf="$member->name"}" class='ipsButton ipsButton_light ipsButton_verySmall' title='{lang="warn_member" sprintf="$member->name"}'>{lang="warn_user"}</a>
  111.                                                                                         </li>
  112.                                                                                 {{endif}}
  113.                                                                                 {{if member.modPermission('can_flag_as_spammer') and $member->member_id != member.member_id and !$member->modPermission() and !$member->isAdmin()}}
  114.                                                                                         <li>
  115.                                                                                                 {{if $member->members_bitoptions['bw_is_spammer']}}
  116.                                                                                                         <a href='{url="app=core&module=system&controller=moderation&do=flagAsSpammer&id={$member->member_id}&s=0" seoTemplate="flag_as_spammer" seoTitle="$member->members_seo_name" csrf="true"}' class='ipsButton ipsButton_light ipsButton_verySmall' title='{lang="spam_unflag"}' data-confirm data-confirmSubMessage="{lang="spam_unflag_confirm"}">{lang="spam_unflag"}</a>
  117.                                                                                                 {{else}}
  118.                                                                                                         <a href='{url="app=core&module=system&controller=moderation&do=flagAsSpammer&id={$member->member_id}&s=1" seoTemplate="flag_as_spammer" seoTitle="$member->members_seo_name" csrf="true"}' class='ipsButton ipsButton_light ipsButton_verySmall' title='{lang="spam_flag"}' data-confirm>{lang="spam_flag"}</a>
  119.                                                                                                 {{endif}}
  120.                                                                                         </li>
  121.                                                                                 {{endif}}
  122.                                                                         </ul>
  123.                                                                 </div>
  124.                                                         {{endif}}
  125.                                                         {{if count( $member->warnings( 1 ) )}}
  126.                                                                 <div data-role="recentWarnings" class=''>
  127.                                                                         <ol class='ipsDataList'>
  128.                                                                                 {{foreach $member->warnings( 2 ) as $warning}}
  129.                                                                                         <li class="ipsDataItem" id='elWarningOverview_{$warning->id}'>
  130.                                                                                                 <div class='ipsDataItem_icon ipsType_center'>
  131.                                                                                                         <a href="{url="app=core&module=system&controller=warnings&do=view&id={$member->member_id}&w={$warning->id}" seoTemplate="warn_view" seoTitle="$member->members_seo_name"}" data-ipsDialog data-ipsDialog-size='narrow' class="ipsType_blendLinks" data-ipsTooltip title='{lang="wan_action_points" pluralize="$warning->points"}'>
  132.                                                                                                                 <span class="ipsPoints {{if $warning->expire_date == 0}}ipsPoints_removed{{endif}}">{$warning->points}</span>
  133.                                                                                                         </a>
  134.                                                                                                 </div>
  135.                                                                                                 <div class='ipsDataItem_main'>
  136.                                                                                                         {{if $warning->canDelete()}}
  137.                                                                                                                 <a href="{$warning->url('delete')->csrf()}" title='{lang="revoke_this_warning"}' data-ipsTooltip data-action="revoke" class='ipsPos_right ipsButton ipsButton_small ipsButton_light ipsButton_narrow' data-ipsDialog data-ipsDialog-title='{lang="revoke_this_warning"}' data-ipsDialog-size='medium'><i class="fa fa-undo"></i></a>
  138.                                                                                                         {{endif}}
  139.                                                                                                         <a href="{url="app=core&module=system&controller=warnings&do=view&id={$member->member_id}&w={$warning->id}" seoTemplate="warn_view" seoTitle="$member->members_seo_name"}" data-ipsDialog data-ipsDialog-showFrom='#elWarningOverview_{$warning->id}' data-ipsDialog-size='narrow' class="ipsType_blendLinks" title=''>
  140.                                                                                                                 <h4 class="ipsType_reset ipsType_medium ipsType_unbold">
  141.                                                                                                                         {{if IPSSettings::i()->warnings_acknowledge}}
  142.                                                                                                                                 {{if $warning->acknowledged}}
  143.                                                                                                                                         <strong class='ipsType_success' title='{lang="warning_acknowledged"}' data-ipsTooltip><i class='fa fa-check-circle'></i></strong>
  144.                                                                                                                                 {{else}}
  145.                                                                                                                                         <strong class='ipsType_light' title='{lang="warning_not_acknowledged"}' data-ipsTooltip><i class='fa fa-circle-o'></i></strong>
  146.                                                                                                                                 {{endif}}
  147.                                                                                                                         {{endif}}
  148.                                                                                                                         {lang="core_warn_reason_{$warning->reason}"}
  149.                                                                                                                 </h4>
  150.                                                                                                                 <p class='ipsDataItem_meta ipsType_light'>
  151.                                                                                                                         {lang="byline" sprintf="IPSMember::load( $warning->moderator )->name"}{datetime="$warning->date"}
  152.                                                                                                                 </p>
  153.                                                                                                                 {{if $warning->expire_date == 0}}
  154.                                                                                                                         <p class='ipsDataItem_meta ipsType_light'>
  155.                                                                 {lang="warning_no_longer_active"}{{if $warning->removed_on}} {lang="warning_expired_on" sprintf="IPSDateTime::ts( $warning->removed_on )->relative()"}{{endif}}
  156.                                                                                                                         </p>
  157.                                                                                                                 {{endif}}
  158.                                                                                                         </a>
  159.                                                                                                 </div>
  160.                                                                                         </li>
  161.                                                                                 {{endforeach}}
  162.                                                                         </ol>
  163.                                                                         <p class='ipsType_reset ipsType_center ipsType_small ipsPad_half'>
  164.                                                                                 <a href='{url="app=core&module=system&controller=warnings&id={$member->member_id}" seoTemplate="warn_list" seoTitle="$member->members_seo_name"}' class='ipsButton ipsButton_verySmall ipsButton_light ipsButton_fullWidth' title='{lang="see_all_warnings"}' data-ipsDialog data-ipsDialog-remoteVerify='false' data-ipsDialog-remoteSubmit='false' data-ipsDialog-title="{lang="members_warnings" sprintf="$member->name"}">{lang="see_all_c"}</a>
  165.                                                                         </p>
  166.                                                                 </div>
  167.                                                         {{endif}}
  168.                                                 </div>
  169.                                         {{else}}
  170.                         {{if IPSMember::loggedIn()->modPermission('can_flag_as_spammer') and !$member->inGroup( explode( ',', IPSSettings::i()->warn_protected ) ) and IPSMember::loggedIn()->member_id != $member->member_id}}
  171.                             {{if $member->members_bitoptions['bw_is_spammer']}}
  172.                                 <a href='{url="app=core&module=system&controller=moderation&do=flagAsSpammer&id={$member->member_id}&s=0" seoTemplate="flag_as_spammer" seoTitle="$member->members_seo_name" csrf="true"}' class='ipsButton ipsButton_light ipsButton_verySmall ipsButton_fullWidth' title='{lang="spam_unflag"}' data-confirm data-confirmSubMessage="{lang="spam_unflag_confirm"}">{lang="spam_unflag"}</a>
  173.                             {{else}}
  174.                                 <a href='{url="app=core&module=system&controller=moderation&do=flagAsSpammer&id={$member->member_id}&s=1" seoTemplate="flag_as_spammer" seoTitle="$member->members_seo_name" csrf="true"}' class='ipsButton ipsButton_light ipsButton_verySmall ipsButton_fullWidth' title='{lang="spam_flag"}' data-confirm>{lang="spam_flag"}</a>
  175.                             {{endif}}
  176.                         {{endif}}
  177.                     {{endif}}
  178.                                         {{if ( $followers !== NULL and count( $followers ) ) || IPSMember::loggedIn()->member_id === $member->member_id}}
  179.                                                 <div class='ipsWidget ipsWidget_vertical cProfileSidebarBlock ipsBox ipsBox--child ipsSpacer_bottom' id='elFollowers' data-feedID='member-{$member->member_id}' data-controller='core.front.profile.followers'>
  180.                                                         {template="followers" group="profile" app="core" params="$member, $followers"}
  181.                                                 </div>
  182.                                         {{endif}}
  183.                                         {{if $member->group['g_icon'] || ( $member->isOnline() AND ( !$member->isOnlineAnonymously() OR ( $member->isOnlineAnonymously() AND IPSMember::loggedIn()->isAdmin() ) ) AND $member->location ) || ( $member->birthday AND ( IPSSettings::i()->profile_birthday_type == 'public' or ( IPSSettings::i()->profile_birthday_type == 'private' and ( IPSMember::loggedIn()->member_id == $member->member_id OR IPSMember::loggedIn()->isAdmin() ) ) ) )}}
  184.                                                 <div class='ipsWidget ipsWidget_vertical cProfileSidebarBlock ipsBox ipsBox--child ipsSpacer_bottom' data-location='defaultFields'>
  185.                                                         <h2 class='ipsWidget_title ipsType_reset'>{lang='profile_about' sprintf='$member->name'}</h2>
  186.                                                         <div class='ipsWidget_inner ipsPad'>
  187.                                                                 {{if $member->group['g_icon'] }}
  188.                                                                         <div class='ipsType_center ipsPad_half'><img src='{file="$member->group['g_icon']" extension="core_Theme"}' alt=''></div>
  189.                                                                 {{endif}}
  190.                                                                 <ul class='ipsDataList ipsDataList_reducedSpacing cProfileFields'>
  191.                                                                         {{if $member->isOnline() AND ( !$member->isOnlineAnonymously() OR ( $member->isOnlineAnonymously() AND IPSMember::loggedIn()->isAdmin() ) ) AND $member->location}}
  192.                                                                                 <li class="ipsDataItem">
  193.                                                                                         <span class="ipsDataItem_generic ipsDataItem_size3 ipsType_break"><strong>{lang="online_users_location_lang"}</strong></span>
  194.                                                                                         <span class="ipsDataItem_main ipsType_break">{$member->location()|raw}</span>
  195.                                                                                 </li>
  196.                                                                         {{endif}}
  197.                                                                         {{if $member->birthday AND IPSSettings::i()->profile_birthday_type == 'public' or ( IPSSettings::i()->profile_birthday_type == 'private' and ( IPSMember::loggedIn()->member_id == $member->member_id OR IPSMember::loggedIn()->isAdmin() ) )}}
  198.                                                                                 <li class='ipsDataItem'>
  199.                                                                                         <span class='ipsDataItem_generic ipsDataItem_size3 ipsType_break'><strong>{lang="bday"}</strong></span>
  200.                                                                                         <span class='ipsDataItem_generic'>{$member->birthday}</span>
  201.                                                                                 </li>
  202.                                                                         {{endif}}
  203.                                                                 </ul>
  204.                                                         </div>
  205.                                                 </div>
  206.                                         {{endif}}
  207.                                         {{foreach $sidebarFields as $group => $fields}}
  208.                                                 {{if count( $fields ) AND count( array_filter( $fields, function( $fieldValue ){ return $fieldValue['value']; } ) )}}
  209.                                                 <div class='ipsWidget ipsWidget_vertical cProfileSidebarBlock ipsBox ipsBox--child ipsSpacer_bottom' data-location='customFields'>
  210.                                                         {{if $group != 'core_pfieldgroups_0'}}
  211.                                 <h2 class='ipsWidget_title ipsType_reset'>{lang="$group"}</h2>
  212.                             {{endif}}
  213.                             <div class='ipsWidget_inner ipsPad'>
  214.                                                                 <ul class='ipsDataList ipsDataList_reducedSpacing cProfileFields'>
  215.                                                                         {{foreach $fields as $field => $value}}
  216.                                                                         {{if $value['value'] !== ""}}
  217.                                                                                 <li class='ipsDataItem ipsType_break'>
  218.                                                                                         {{if $value['custom']}}
  219.                                                                                                 {$value['value']|raw}
  220.                                                                                         {{else}}
  221.                                                                                                 <span class='ipsDataItem_generic ipsDataItem_size3 ipsType_break'><strong>{lang="$field"}</strong></span>
  222.                                                                                                 <div class='ipsDataItem_generic'><div class='ipsType_break ipsContained'>{$value['value']|raw}</div></div>
  223.                                                                                         {{endif}}
  224.                                                                                 </li>
  225.                                                                         {{endif}}
  226.                                                                         {{endforeach}}
  227.                                                                 </ul>
  228.                                                         </div>
  229.                                                 </div>
  230.                                                 {{endif}}
  231.                                         {{endforeach}}
  232.                                         {{if IPSMember::loggedIn()->modPermission('can_see_emails')}}
  233.                                                 <div class='ipsWidget ipsWidget_vertical cProfileSidebarBlock ipsBox ipsBox--child ipsSpacer_bottom'>
  234.                                                         <h2 class='ipsWidget_title ipsType_reset'>{lang="profile_contact"}</h2>
  235.                                                         <div class='ipsWidget_inner ipsPad'>
  236.                                                                 <ul class='ipsDataList ipsDataList_reducedSpacing'>
  237.                                                                         <li class='ipsDataItem'>
  238.                                                                                 <span class='ipsDataItem_generic ipsDataItem_size3'><strong>{lang="profile_email"}</strong></span>
  239.                                                                                 <span class='ipsDataItem_generic'>
  240.                                                                                         <div class='ipsType_break ipsContained'><a href='mailto:{$member->email}' title='{lang="email_this_user"}'>{$member->email}</a></div>
  241.                                                                                         <span class='ipsType_light ipsType_small'>{lang="profile_email_addresses"}</span>
  242.                                                                                 </span>
  243.                                                                         </li>
  244.                                                                 </ul>
  245.                                                         </div>
  246.                                                 </div>
  247.                                         {{endif}}
  248.                                         {{if !empty( $visitors ) || IPSMember::loggedIn()->member_id == $member->member_id}}
  249.                                                 <div class='ipsWidget ipsWidget_vertical cProfileSidebarBlock ipsBox ipsBox--child ipsSpacer_bottom' data-controller='core.front.profile.toggleBlock'>
  250.                                                         {template="recentVisitorsBlock" group="profile" params="$member, $visitors"}
  251.                                                 </div>
  252.                                         {{endif}}
  253.                                 </div>
  254.  
  255.                         </div>
  256.                         <section class='ipsColumn ipsColumn_fluid'>
  257.                                 {{if $member->canHaveAchievements() and ( IPScoreAchievementsRank::show() and count( IPScoreAchievementsRank::getStore() ) ) || ( IPScoreAchievementsBadge::show() and count( IPScoreAchievementsBadge::getStore() ) )}}
  258.                                         <div class='ipsWidget ipsBox ipsMargin_bottom'>
  259.                                                 <h2 class='ipsWidget_title ipsType_reset ipsFlex ipsFlex-ai:center ipsFlex-jc:between'>
  260.                                                         <span>
  261.                                                                 {{if $member->member_id === IPSMember::loggedIn()->member_id}}
  262.                                                                         {lang='profile_achievements_overview_self'}
  263.                                                                 {{else}}
  264.                                                                         {lang='profile_achievements_overview' sprintf='$member->name'}
  265.                                                                 {{endif}}
  266.                                                         </span>
  267.                                                 </h2>
  268.                                                 <div class='ipsWidget_inner ipsPadding_horizontal ipsPadding_vertical:half ipsType_center cProfileAchievements'>
  269.                                                         {{if IPScoreAchievementsRank::show() and count( IPScoreAchievementsRank::getStore() ) && $rank = $member->rank()}}
  270.                                                                 <div class='ipsFlex ipsFlex-fd:column ipsFlex-ai:center ipsPadding_vertical:half'>
  271.                                                                         {$rank->html( 'ipsDimension:4' )|raw}
  272.                                                                         <h3 class='ipsType_reset ipsType_unbold ipsType_medium ipsType_light ipsMargin_top:half'>
  273.                                         {$rank->_title} ({$rank->rankPosition()['pos']}/{$rank->rankPosition()['max']})
  274.                                                                         </h3>
  275.                                                                 </div>
  276.                                                         {{endif}}
  277.                                                         {{if IPScoreAchievementsBadge::show() and count( IPScoreAchievementsBadge::getStore() )}}
  278.                                                                 {{$recentBadges = $member->recentBadges( 5 );}}
  279.                                                                 {{if count( $recentBadges )}}
  280.                                                                         <a href="{url="app=core&module=members&controller=profile&id={$member->member_id}&do=badges" seoTemplate="profile_badges" seoTitle="$member->members_seo_name"}" data-action="badgeLog" title="{lang="members_badges" sprintf="$member->name"}" class='ipsPadding_vertical:half ipsRadius'>
  281.                                                                                 <ul class="ipsCaterpillar ipsFlex-jc:center">
  282.                                                                                         {{foreach $member->recentBadges( 5 ) as $badge}}
  283.                                                                                                 <li class='ipsCaterpillar__item'>
  284.                                                                                                         {$badge->html( 'ipsDimension:4', TRUE, TRUE )|raw}
  285.                                                                                                 </li>
  286.                                                                                         {{endforeach}}
  287.                                                                                 </ul>
  288.                                                                                 <h3 class='ipsType_reset ipsType_unbold ipsType_medium ipsType_light ipsMargin_top:half'>
  289.                                                                                         {lang="profile_recent_badges"}
  290.                                                                                 </h3>
  291.                                                                         </a>
  292.                                                                 {{endif}}
  293.                                                         {{endif}}
  294.                                                         {{if settings.reputation_enabled and settings.reputation_show_profile}}
  295.                                                                 {{if member.group['gbw_view_reps']}}
  296.                                                                         <a href="{url="app=core&module=members&controller=profile&id={$member->member_id}&do=reputation" seoTemplate="profile_reputation" seoTitle="$member->members_seo_name"}" data-action="repLog" title="{lang="members_reputation" sprintf="$member->name"}" class='ipsPadding_vertical:half ipsRadius'>
  297.                                                                 {{else}}
  298.                                                                         <div class='ipsPadding_vertical:half'>
  299.                                                                 {{endif}}
  300.                                                                                 <p class='ipsType_reset cProfileRepScore {{if $member->pp_reputation_points > 1}}cProfileRepScore_positive{{elseif $member->pp_reputation_points < 0}}cProfileRepScore_negative{{else}}cProfileRepScore_neutral{{endif}} ipsRadius:full ipsDimension_height:4 ipsDimension_minWidth:4 ipsPadding_horizontal:half ipsType_large ipsFlex-inline ipsFlex-ai:center ipsFlex-jc:center' {{if $member->reputation()}}data-ipsTooltip title="{$member->reputation()}"{{endif}}>{number="$member->pp_reputation_points" format="short"}</p>
  301.                                                                                 <h3 class='ipsType_reset ipsType_unbold ipsType_medium ipsType_light ipsMargin_top:half'>
  302.                                                                                         {lang="profile_reputation"}
  303.                                                                                 </h3>
  304.                                                                 {{if member.group['gbw_view_reps']}}
  305.                                                                         </a>
  306.                                                                 {{else}}
  307.                                                                         </div>
  308.                                                                 {{endif}}
  309.                                                         {{endif}}
  310.                                                         {{if $solutions}}
  311.                                                                 <a href="{url="app=core&module=members&controller=profile&id={$member->member_id}&do=solutions" seoTemplate="profile_solutions" seoTitle="$member->members_seo_name"}" data-action="solutionLog" title="{lang="members_solutions" sprintf="$member->name"}" class='ipsPadding_vertical:half ipsRadius'>
  312.                                                                         <p class='ipsType_reset cProfileSolutions ipsRadius:full ipsDimension_height:4 ipsDimension_minWidth:4 ipsPadding_horizontal:half ipsType_large ipsFlex-inline ipsFlex-ai:center ipsFlex-jc:center'>{number="$solutions" format="short"}</p>
  313.                                                                         <h3 class='ipsType_reset ipsType_unbold ipsType_medium ipsType_light ipsMargin_top:half'>
  314.                                                                                 {lang="profile_solutions"}
  315.                                                                         </h3>
  316.                                                                 </a>
  317.                                                         {{endif}}
  318.                                                 </div>
  319.                                         </div>
  320.                                 {{endif}}
  321.  
  322.                                 <div class='ipsBox ipsResponsive_pull'>
  323.                                         {$mainContent|raw}
  324.                                 </div>
  325.                         </section>
  326.                 </div>
  327. {{if !IPSRequest::i()->isAjax()}}
  328.         </div>
  329. </div>
  330. {{endif}}
  331.