Version 5.0.6

This commit is contained in:
Neo committed 2025-12-19 18:55:49 -08:00
1 parent a3a4a9ccbd
commit b89858b2ff
1214 files changed
+92828 -14859

No files matched your search

+47 -260
View File
@@ -1,7 +1,7 @@
<?php
namespace IPS\Theme;
class class_core_admin_memberprofile extends \IPS\Theme\Template
{ function basicInformation( $member, $canChangePassword, $hasPassword, $activeIntegrations, $actions, $activeSubscription ) {
{ function basicInformation( $member, $activeIntegrations, $actions, $activeSubscription ) {
$return = '';
$return .= <<<IPSCONTENT
@@ -460,24 +460,7 @@ $return .= <<<IPSCONTENT
<ul class="ipsButtons ipsButtons--fill i-margin-top_3">
IPSCONTENT;
if ( \count( $actions ) ):
$return .= <<<IPSCONTENT
<li><a href='#memberActions_menu' data-ipsMenu id="memberActions" class='ipsButton ipsButton--primary ipsButton--large'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'account_actions', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
<i class='fa-solid fa-caret-down'></i></a></li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
{$actions}
<li><a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $member->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
@@ -490,216 +473,6 @@ $return .= <<<IPSCONTENT
</a></li>
</ul>
IPSCONTENT;
if ( \count( $actions ) ):
$return .= <<<IPSCONTENT
<div id='memberActions_menu' class='ipsMenu ipsMenu_normal ipsHide'>
<ul>
IPSCONTENT;
foreach ( $actions as $item ):
$return .= <<<IPSCONTENT
<li class="ipsMenu_item
IPSCONTENT;
if ( isset( $item['class'] ) ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item['class'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
<a href="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item['link'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
if ( isset( $item['target'] ) ):
$return .= <<<IPSCONTENT
target='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item['target'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
IPSCONTENT;
if ( $item['target'] == '_blank' ):
$return .= <<<IPSCONTENT
rel="noopener"
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( isset( $item['data'] ) ):
$return .= <<<IPSCONTENT
IPSCONTENT;
foreach ( $item['data'] as $k => $v ):
$return .= <<<IPSCONTENT
data-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $v, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
"
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
IPSCONTENT;
if ( isset( $item['icon'] ) ):
$return .= <<<IPSCONTENT
<i class='fa-solid fa-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $item['icon'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'></i>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<span data-role="title">
IPSCONTENT;
$val = "{$item['title']}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
</a>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \IPS\Member::loggedIn()->hasAcpRestriction( 'core', 'members', 'member_edit' ) ):
$return .= <<<IPSCONTENT
<li class='ipsMenu_item'>
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $member->acpUrl()->setQueryString( 'do', 'edit' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsDialog data-ipsDialog-title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'edit_member_account', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
"><i class="fa-solid fa-sliders"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'edit_member_account', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</a>
</li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $canChangePassword ):
$return .= <<<IPSCONTENT
<li class='ipsMenu_item'>
<a href='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $member->acpUrl()->setQueryString( 'do', 'password' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
' data-ipsDialog data-ipsDialog-title="
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'edit_password', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
">
<i class="fa-solid fa-lock"></i>
IPSCONTENT;
if ( $hasPassword ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'edit_password', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'set_password', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</a>
</li>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</ul>
</div>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( \count( $activeIntegrations ) ):
@@ -1645,12 +1418,14 @@ IPSCONTENT;
if ( $member->group['g_icon'] ):
$return .= <<<IPSCONTENT
<img src='
<div class="i-basis_120">
<img src='
IPSCONTENT;
$return .= \IPS\File::get( "core_Theme", $member->group['g_icon'] )->url;
$return .= <<<IPSCONTENT
' alt='' loading="lazy">
</div>
IPSCONTENT;
@@ -3607,7 +3382,7 @@ IPSCONTENT;
$return = '';
$return .= <<<IPSCONTENT
<div class='i-padding_3 i-grid i-gap_4'>
<div class=''>
IPSCONTENT;
@@ -3615,7 +3390,7 @@ if ( $member->rank['title'] || $member->rank['image'] || \IPS\Settings::i()->pro
$return .= <<<IPSCONTENT
<div>
<h2 class="ipsMinorTitle">
<h2 class="ipsTitle ipsTitle--h4 i-background_2 i-padding_2">
IPSCONTENT;
$sprintf = array($member->name); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'profile_about', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
@@ -3630,43 +3405,47 @@ if ( \IPS\Settings::i()->profile_birthday_type != 'none' ):
$return .= <<<IPSCONTENT
<li class='ipsData__item'>
<span class='i-basis_100'><strong>
<div class="ipsData__content">
<div class="ipsData__main">
<div class='ipsData__title'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'bday', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</strong></span>
<span class=''>
</div>
<div class="ipsData__desc ipsData__desc--all">
IPSCONTENT;
if ( $member->birthday ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $member->birthday, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<em class="i-color_soft">
<em class="i-color_soft">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_value', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</em>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</span>
</span>
</div>
</div>
</li>
IPSCONTENT;
@@ -3681,39 +3460,43 @@ if ( \IPS\Settings::i()->signatures_enabled ):
$return .= <<<IPSCONTENT
<li class='ipsData__item'>
<span class='i-basis_100'><strong>
<div class="ipsData__content">
<div class="ipsData__main">
<div class='ipsData__title'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'signature', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</strong></span>
<span class='ipsRichText'>
</div>
<div class='ipsData__desc ipsData__desc--all ipsRichText'>
IPSCONTENT;
if ( $member->signature ):
$return .= <<<IPSCONTENT
{$member->signature}
{$member->signature}
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<em class="i-color_soft">
<em class="i-color_soft">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_value', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</em>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</span>
</div>
</div>
</div>
</li>
IPSCONTENT;
@@ -3737,7 +3520,7 @@ foreach ( $fields as $groupKey => $values ):
$return .= <<<IPSCONTENT
<div>
<h2 class="ipsMinorTitle">
<h2 class="ipsTitle ipsTitle--h4 i-background_2 i-padding_2">
IPSCONTENT;
$val = "{$groupKey}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -3752,38 +3535,42 @@ foreach ( $values as $k => $v ):
$return .= <<<IPSCONTENT
<li class='ipsData__item'>
<span class='i-basis_100'><strong>
<div class="ipsData__content">
<div class="ipsData__main">
<div class="ipsData__title">
IPSCONTENT;
$val = "{$k}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</strong></span>
<div class=''>
</div>
<div class='ipsData__desc ipsData__desc--all'>
IPSCONTENT;
if ( (string) $v === '' ):
$return .= <<<IPSCONTENT
<em class="i-color_soft">
<em class="i-color_soft">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_value', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</em>
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
<div>{$v}</div>
<div>{$v}</div>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</div>
</div>
</li>
@@ -5391,7 +5178,7 @@ $return .= <<<IPSCONTENT
<p class='ipsPhotoPanel__secondary'>
IPSCONTENT;
$val = ( $warning->date instanceof \IPS\DateTime ) ? $warning->date : \IPS\DateTime::ts( $warning->date );$return .= $val->html();
$val = ( $warning->date instanceof \IPS\DateTime ) ? $warning->date : \IPS\DateTime::ts( $warning->date );$return .= $val->html(useTitle: true);
$return .= <<<IPSCONTENT
</p>
</div>