Version 5.0.13
This commit is contained in:
1 parent
b89858b2ff
commit
5efe744c5f
1407 files changed
+69690
-30177
No files matched your search
@@ -46,16 +46,17 @@ IPSCONTENT;
|
||||
if ( $coverPhoto->editable and \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_photo' ) and ( !$member->isAdmin() or \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_photo_admin' ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='#editCover_menu' id="editCover" data-ipsMenu data-ipsMenu-activeClass='acpMemberView_editButton_active' class='acpMemberView_editButton' data-ipsTooltip title='
|
||||
<button type="button" id="editCover" popovertarget="editCover_menu" class='acpMemberView_editButton' data-ipsTooltip title='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'edit_cover_photo', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-hideOnCoverEdit data-role='coverPhotoOptions'><i class='fa-solid fa-pencil'></i><i class='fa-solid fa-caret-down'></i></a>
|
||||
<div id='editCover_menu' class='ipsMenu ipsHide'>
|
||||
<ul>
|
||||
<li class="ipsMenu_item">
|
||||
<a href='
|
||||
' data-hideOnCoverEdit data-role='coverPhotoOptions'><i class='fa-solid fa-pencil'></i><i class='fa-solid fa-caret-down'></i></button>
|
||||
<i-dropdown popover id="editCover_menu">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
<li>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->acpUrl()->setQueryString( 'do', 'coverPhotoUpload' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -70,23 +71,23 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'cover_photo_add', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $coverPhoto->file ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='ipsMenu_item ipsHide' data-role="photoEditOption">
|
||||
<a href='#' data-action='positionCoverPhoto'>
|
||||
<li data-role="photoEditOption">
|
||||
<button type="button" data-action='positionCoverPhoto'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'cover_photo_reposition', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li class='ipsMenu_item' data-role="photoEditOption">
|
||||
<a href='
|
||||
</button>
|
||||
</li>
|
||||
<li data-role="photoEditOption">
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->acpUrl()->setQueryString( 'do', 'coverPhotoRemove' )->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -96,15 +97,16 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'cover_photo_remove', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -125,16 +127,17 @@ IPSCONTENT;
|
||||
if ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_photo' ) and ( !$member->isAdmin() or \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_photo_admin' ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='#editPhoto_menu' class='acpMemberView_editButton' data-ipsMenu data-ipsMenu-activeClass='acpMemberView_editButton_active' id="editPhoto" title="
|
||||
<button type="button" id="editPhoto" popovertarget="editPhoto_menu" class='acpMemberView_editButton' title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'edit_profile_photo', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsTooltip><i class='fa-solid fa-pencil'></i><i class='fa-solid fa-caret-down'></i></a>
|
||||
<div id='editPhoto_menu' class='ipsMenu ipsHide'>
|
||||
<ul>
|
||||
<li class="ipsMenu_item">
|
||||
<a href='
|
||||
" data-ipsTooltip><i class='fa-solid fa-pencil'></i><i class='fa-solid fa-caret-down'></i></button>
|
||||
<i-dropdown popover id="editPhoto_menu">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
<li>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->acpUrl()->setQueryString( 'do', 'photo' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -149,15 +152,15 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_photo_new', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $member->pp_photo_type == 'custom' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item">
|
||||
<a href='
|
||||
<li>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->acpUrl()->setQueryString( 'do', 'photoCrop' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -172,9 +175,9 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_photo_crop', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li class="ipsMenu_item">
|
||||
<a href='
|
||||
</li>
|
||||
<li>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->acpUrl()->setQueryString( 'do', 'photoResize' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -189,21 +192,21 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_photo_resize', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $member->pp_photo_type and !$member->pp_photo_type != 'none' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item">
|
||||
<a href='
|
||||
<li>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->acpUrl()->setQueryString( array( 'do' => 'photo', 'remove' => 1 ) )->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -213,15 +216,16 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_photo_delete', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -561,6 +565,34 @@ $return .= <<<IPSCONTENT
|
||||
</i-data>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( \IPS\CIC AND \IPS\Cicloud\isManaged() and \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit' ) and ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit_admin' ) or !$member->isAdmin() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<hr class='ipsHr'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=loginAdd&id={$member->member_id}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsDialog data-ipsDialog-title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'add_login_link', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsTooltip title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'add_login_link', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--text ipsButton--small ipsButton--wide i-text-transform_uppercase">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'add_account_integration', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -607,7 +639,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div class='ipsData__main'>
|
||||
<h4 class='ipsData__title_container'>
|
||||
<h4 class='ipsData__title'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1424,7 +1456,21 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\File::get( "core_Theme", $member->group['g_icon'] )->url;
|
||||
$return .= <<<IPSCONTENT
|
||||
' alt='' loading="lazy">
|
||||
' alt='' loading="lazy"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $width = $member->group['g_icon_width'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
width="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $width, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -1962,54 +2008,41 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='acpMemberView_stats ipsBox i-padding_1'>
|
||||
<div class='ipsSpanGrid'>
|
||||
<div class='ipsSpanGrid__
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Settings::i()->reputation_enabled ):
|
||||
$return .= <<<IPSCONTENT
|
||||
6
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
9
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<div class='i-flex i-flex-wrap_wrap i-gap_2'>
|
||||
<div class='i-flex_91 i-basis_300'>
|
||||
{$sparkline}
|
||||
</div>
|
||||
<div class='ipsSpanGrid__3'>
|
||||
|
||||
<div class="i-flex i-gap_1">
|
||||
<div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit' ) and ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit_admin' ) or !$member->isAdmin() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='#memberPostsBlock_menu' id='memberPostsBlock' data-ipsMenu class='acpMemberView_countStat acpMemberView_contentCount' title="
|
||||
<button type="button" id="memberPostsBlock" popovertarget="memberPostsBlock_menu" class='acpMemberView_countStat acpMemberView_contentCount' title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'members_posts', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsTooltip>
|
||||
<h3 class='ipsMinorTitle ipsTruncate ipsTruncate_line'>
|
||||
<span class='ipsMinorTitle ipsTruncate ipsTruncate_line'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'members_member_posts', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<p class='i-font-size_2 acpMemberView_countStatStat ipsTruncate ipsTruncate_line'>
|
||||
</span>
|
||||
<span class='i-font-size_2 acpMemberView_countStatStat ipsTruncate ipsTruncate_line'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $member->member_posts );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</a>
|
||||
<div id='memberPostsBlock_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
|
||||
<ul>
|
||||
<li class="ipsMenu_item"><a href="
|
||||
</span>
|
||||
</button>
|
||||
<i-dropdown popover id="memberPostsBlock_menu">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=editBlock&block=IPS\\core\\extensions\\core\\MemberACPProfileBlocks\\Header&id={$member->member_id}&type=content", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2025,7 +2058,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'set_manually', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class="ipsMenu_item"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=recountContent&id={$member->member_id}" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2046,13 +2079,13 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'recount', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'membertools_delete' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=deleteContent&id={$member->member_id}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2068,76 +2101,78 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_delete_content', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span id='memberPostsBlock' data-ipsMenu class='acpMemberView_countStat acpMemberView_contentCount' title="
|
||||
<span id="memberPostsBlock" class='acpMemberView_countStat acpMemberView_contentCount' title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'members_posts', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsTooltip>
|
||||
<h3 class='ipsMinorTitle'>
|
||||
<span class='ipsMinorTitle'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'members_member_posts', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<p class='i-font-size_2 acpMemberView_countStatStat'>
|
||||
</span>
|
||||
<span class='i-font-size_2 acpMemberView_countStatStat'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $member->member_posts );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</span>
|
||||
|
||||
</span>
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Settings::i()->reputation_enabled ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsSpanGrid__3'>
|
||||
|
||||
<div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit' ) and ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit_admin' ) or !$member->isAdmin() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='#memberRepBlock_menu' id="memberRepBlock" data-ipsMenu class='acpMemberView_countStat acpMemberView_repCount'>
|
||||
<h3 class='ipsMinorTitle ipsTruncate ipsTruncate_line'>
|
||||
<button type="button" id="memberRepBlock" popovertarget="memberRepBlock_menu" class='acpMemberView_countStat acpMemberView_repCount'>
|
||||
<span class='ipsMinorTitle ipsTruncate ipsTruncate_line'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_reputation', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<p class='i-font-size_2 acpMemberView_countStatStat ipsTruncate ipsTruncate_line'>
|
||||
</span>
|
||||
<span class='i-font-size_2 acpMemberView_countStatStat ipsTruncate ipsTruncate_line'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $member->pp_reputation_points );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</a>
|
||||
<div id='memberRepBlock_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
|
||||
<ul>
|
||||
<li class="ipsMenu_item"><a href="
|
||||
</span>
|
||||
</a>
|
||||
<i-dropdown popover id="memberRepBlock_menu">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=editBlock&block=IPS\\core\\extensions\\core\\MemberACPProfileBlocks\\Header&id={$member->member_id}&type=reputation", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2153,7 +2188,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'set_manually', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class="ipsMenu_item"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=recountReputation&id={$member->member_id}" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2174,7 +2209,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'recount', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class="ipsMenu_item"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=removeReputation&type=given&id={$member->member_id}" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2185,7 +2220,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'reputation_remove_given', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class="ipsMenu_item"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=removeReputation&type=received&id={$member->member_id}" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2196,41 +2231,43 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'reputation_remove_received', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span id="memberRepBlock" data-ipsMenu class='acpMemberView_countStat acpMemberView_repCount'>
|
||||
<h3 class='ipsMinorTitle'>
|
||||
<span id="memberRepBlock" class='acpMemberView_countStat acpMemberView_repCount'>
|
||||
<span class='ipsMinorTitle'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_reputation', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<p class='i-font-size_2 acpMemberView_countStatStat'>
|
||||
</>
|
||||
<span class='i-font-size_2 acpMemberView_countStatStat'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $member->pp_reputation_points );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</span>
|
||||
|
||||
</span>
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2244,7 +2281,7 @@ IPSCONTENT;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='elMemberHistory' class="ipsBox" data-controller="core.admin.members.history">
|
||||
<a href='#memberHistoryFilters_menu' id='memberHistoryFilters' class="ipsTitle ipsTitle--h4 i-padding_3 i-flex i-align-items_center i-justify-content_space-between" data-ipsMenu>
|
||||
<button type="button" id="memberHistoryFilters" popovertarget="memberHistoryFilters_menu" class="ipsTitle ipsTitle--h4 i-padding_3 i-flex i-align-items_center i-justify-content_space-between">
|
||||
<span data-role="historyTitle">
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2252,52 +2289,58 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'a
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<i class="fa-solid fa-caret-down"></i>
|
||||
</a>
|
||||
<div id='memberHistoryFilters_menu' class='ipsMenu ipsHide'>
|
||||
<ul>
|
||||
|
||||
</button>
|
||||
<i-dropdown popover id="memberHistoryFilters_menu">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$logApp = NULL;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $historyFilters as $filter ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset($history->advancedSearch['log_type'][1]['options'][ $filter['log_type'] ]) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $logApp != $filter['log_app'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_title">
|
||||
<li class="iDropdown__title">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "memberlog_app_{$filter['log_app']}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$logApp = $filter['log_app'];
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=history&id={$member->member_id}&advanced_search_submitted=1&log_type[]={$filter['log_type']}&_fromFilter=1" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsMenuValue="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $filter['log_app'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -2305,44 +2348,40 @@ _
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $filter['log_type'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=history&id={$member->member_id}&advanced_search_submitted=1&log_type[]={$filter['log_type']}&_fromFilter=1" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$history->advancedSearch['log_type'][1]['options'][ $filter['log_type'] ]}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_sep"><hr></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue=""><a href="
|
||||
<li><hr></li>
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=history&id={$member->member_id}&_fromFilter=1", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
" data-ipsMenuValue="">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'all_recent_account_activity', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="" data-role="historyDisplay">
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
<div data-role="historyDisplay">
|
||||
{$history}
|
||||
</div>
|
||||
</div>
|
||||
@@ -2561,16 +2600,50 @@ IPSCONTENT;
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \count( $loginMethods ) ):
|
||||
if ( \count( $loginMethods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<hr class='ipsHr'>
|
||||
<h3 class='ipsMinorTitle'>
|
||||
<h3 class='ipsMinorTitle i-flex i-justify-content_space-between'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'active_account_integrations', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\CIC AND \IPS\Cicloud\isManaged() AND \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit' ) and ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit_admin' ) or !$member->isAdmin() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=members&controller=members&do=loginAdd&id={$member->member_id}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsDialog data-ipsDialog-title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'add_login_link', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsTooltip title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'add_login_link', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="i-text-transform_none">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'add_button', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</h3>
|
||||
|
||||
<i-data>
|
||||
<ul class='ipsData ipsData--table ipsData--login-methods acpMemberView_integrations'>
|
||||
@@ -2591,7 +2664,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $details['link'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" target="_blank" rel="noopener" class="ipsData__image">
|
||||
" target="_blank" rel="noopener" class="ipsData__image" aria-hidden="true" tabindex="-1">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2628,7 +2701,7 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsData__image">
|
||||
<div class="ipsData__image" aria-hidden="true">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
Reference in new issue
Block a user