Version 5.0.0 beta 10
This commit is contained in:
1 parent
56979f8ee8
commit
264eeb97e0
325 files changed
+6442
-1849
No files matched your search
@@ -2446,19 +2446,10 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $entry->cover_photo ):
|
||||
if ( $entry->coverPhoto() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsCoverPhoto" data-controller="core.global.core.coverPhoto">
|
||||
<div class="ipsCoverPhoto__container">
|
||||
<img src="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\File::get( "blog_Entries", $entry->cover_photo )->url;
|
||||
$return .= <<<IPSCONTENT
|
||||
" alt="" fetchpriority="high" decoding="sync" class="ipsCoverPhoto__image" data-action="toggleCoverPhoto">
|
||||
</div>
|
||||
</div>
|
||||
{$entry->coverPhoto()}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -888,34 +888,50 @@ $return .= <<<IPSCONTENT
|
||||
<i class='fa-solid fa-caret-down'></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class='ipsTemplateEditor__codeColumn' data-controller='cms.admin.templates.fileEditor'>
|
||||
<div class='ipsTemplateEditor__codeColumn' data-controller='cms.admin.templates.fileEditor'>
|
||||
<div class='cTemplateControls'>
|
||||
<ul class='ipsTemplateEditor__editorToolbar' id='elTemplateEditor_panelToolbar'>
|
||||
<li>
|
||||
<a href='#elTemplateEditor_preferences_menu' id='elTemplateEditor_preferences' class='ipsButton ipsButton--inherit ipsButton--small' data-ipsMenu data-ipsMenu-selectable><i class='fa-solid fa-gear'></i> <i class='fa-solid fa-caret-down'></i></a>
|
||||
<button type='submit' class='ipsButton ipsButton--primary' data-action="save">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'save', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</button>
|
||||
</li>
|
||||
<li>
|
||||
<div data-role='loading' class='ipsHide i-padding-inline_2'><i class='ipsLoadingIcon'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'loading', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</li>
|
||||
<li class="i-margin-start_auto">
|
||||
<a href='#elTemplateEditor_preferences_menu' id='elTemplateEditor_preferences' class='ipsButton ipsButton--inherit i-color_primary' data-ipsMenu data-ipsMenu-selectable><i class='fa-solid fa-gear'></i> <i class='fa-solid fa-caret-down'></i></a>
|
||||
<ul id='elTemplateEditor_preferences_menu' class='ipsMenu ipsMenu_selectable ipsMenu_auto ipsMenu_withStem ipsHide'>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='wrap'><a href='#'>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='wrap'><button type="button">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_wrap', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='lines'><a href='#'>
|
||||
</button></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='lines'><button type="button">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_show_line', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='diff'><a href='#'>
|
||||
</button></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='diff'><button type="button">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_show_original', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
</button></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href='#' id='elTemplateEditor_variables' class='ipsButton ipsButton--inherit ipsButton--small' data-ipsDialog data-ipsDialog-title='
|
||||
<button type="button" id='elTemplateEditor_variables' class='ipsButton ipsButton--inherit i-color_primary' data-ipsDialog data-ipsDialog-title='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'content_template_editor_fields_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -925,7 +941,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_attributes', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</button>
|
||||
</li>
|
||||
<li>
|
||||
<a href='
|
||||
@@ -933,7 +949,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=templates&do=delete&t_location={$current->location}&t_key={$current->id}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsButton ipsButton--inherit ipsButton--small
|
||||
' class='ipsButton ipsButton--inherit i-color_primary
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current->user_edited == 'original' or $current->user_edited === 0 ):
|
||||
@@ -969,23 +985,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<button type='submit' class='ipsButton ipsButton--primary ipsButton--small' data-action="save">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'save', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</button>
|
||||
</li>
|
||||
<li>
|
||||
<span data-role='loading' class='ipsHide'><i class='ipsLoadingIcon'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'loading', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<i-tabs id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
|
||||
@@ -1058,7 +1058,7 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 't
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<p class='ipsType_textBlock' id='elTemplateEditor_attributes_title'>
|
||||
<p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1' id='elTemplateEditor_attributes_title'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1067,7 +1067,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
<input class='ipsInput ipsInput--text ipsInput--fullWidth' data-role='variables' placeholder="$foo=''">
|
||||
<p class='ipsType_textBlock' id='elTemplateEditor_title_title'>
|
||||
<p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1' id='elTemplateEditor_title_title'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1076,7 +1076,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
<input class='ipsInput ipsInput--text ipsInput--fullWidth' data-role='title'>
|
||||
<p class='ipsType_textBlock' id='elTemplateEditor_group_title'>
|
||||
<p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1' id='elTemplateEditor_group_title'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1094,7 +1094,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_hidden" class='ipsHide' name="group" data-role="group" data-container-type="
|
||||
_hidden" class='ipsInput ipsHide' name="group" data-role="group" data-container-type="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -1128,7 +1128,7 @@ IPSCONTENT;
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class='ipsType_textBlock ipsHide'>
|
||||
<p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1 ipsHide'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1140,7 +1140,7 @@ $return .= <<<IPSCONTENT
|
||||
<input type='hidden' name='_variables_fileid' value=''>
|
||||
<input type='hidden' name='_variables_location' value=''>
|
||||
</div>
|
||||
<div class='i-padding_3 i-background_3 i-text-align_end'>
|
||||
<div class='ipsSubmitRow'>
|
||||
<input type='submit' class='ipsButton ipsButton--primary' value='
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -2781,7 +2781,7 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 't
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<p class='ipsType_textBlock'>
|
||||
<p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2789,7 +2789,6 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 't
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
<br>
|
||||
<textarea class='ipsInput ipsInput--text ipsInput--fullWidth' data-role='variables' placeholder='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2813,7 +2812,7 @@ $return .= <<<IPSCONTENT
|
||||
<div id='elTemplateEditor_attributesDialog' class='ipsHide'>
|
||||
<div>
|
||||
<div class='i-padding_3'>
|
||||
<p class='ipsType_textBlock'>
|
||||
<p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2821,7 +2820,6 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 't
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
<br>
|
||||
<input class='ipsInput ipsInput--text ipsInput--fullWidth' data-role='variables' placeholder="e.g. media='screen'">
|
||||
<input type='hidden' name='_variables_fileid' value=''>
|
||||
<input type='hidden' name='_variables_type' value=''>
|
||||
|
||||
@@ -2120,7 +2120,7 @@ $return .= <<<IPSCONTENT
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<ul id='elAdminUser_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
|
||||
<ul id='elAdminUser_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
<li class='ipsMenu_item'><a href='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2136,7 +2136,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change_details', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsDialog-size='medium'><i class='fa-solid fa-pencil'></i>
|
||||
' data-ipsDialog-size='medium'><i class='fa-solid fa-user'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change_details', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -2144,7 +2144,7 @@ $return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class='ipsMenu_item ipsMenu_subItems elThemeMenu-wrap'>
|
||||
<a href='#elThemeMenu_menu' id='elThemeMenu'>
|
||||
<i class='fa-solid fa-paintbrush'></i>
|
||||
<i class='fa-solid fa-paintbrush'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -2163,12 +2163,12 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsMenuValue="os">
|
||||
<span>
|
||||
<button type="button">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'acptheme_os_preference', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="ipsCursor_pointer ipsMenu_item
|
||||
IPSCONTENT;
|
||||
@@ -2181,12 +2181,12 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsMenuValue="light">
|
||||
<span>
|
||||
<button type="button">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'acptheme_light', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="ipsCursor_pointer ipsMenu_item
|
||||
IPSCONTENT;
|
||||
@@ -2199,12 +2199,12 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsMenuValue="dark">
|
||||
<span>
|
||||
<button type="button">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'acptheme_dark', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -2221,7 +2221,7 @@ if ( \count( $languages ) > 1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='ipsMenu_item ipsMenu_subItems'>
|
||||
<a href='#elNavLang_menu' id='elNavLang'><i class='fa-solid fa-earth-americas'></i>
|
||||
<a href='#elNavLang_menu' id='elNavLang'><i class='fa-solid fa-earth-americas'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'acp_language', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -2305,7 +2305,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=login&do=logout" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'><i class='fa-solid fa-power-off'></i>
|
||||
'><i class='fa-solid fa-power-off'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'sign_out', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
|
||||
@@ -132,7 +132,7 @@ IPSCONTENT;
|
||||
if ( $error ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsMessage ipsMessage--error'>
|
||||
<div class='ipsMessage ipsMessage--error i-margin_2'>
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$error}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -234,6 +234,12 @@ IPSCONTENT;
|
||||
|
||||
<ul class='ipsForm ipsForm--vertical ipsForm--admin-login-form'>
|
||||
<li class="ipsFieldRow ipsFieldRow--fullWidth">
|
||||
<label class="ipsFieldRow__label" for="auth">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'email_address', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
<div class="ipsFieldRow__content">
|
||||
<input class="ipsInput" autofocus type="email" placeholder="
|
||||
IPSCONTENT;
|
||||
@@ -259,6 +265,12 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</li>
|
||||
<li class="ipsFieldRow ipsFieldRow--fullWidth">
|
||||
<label class="ipsFieldRow__label" for="password">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'password', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
<div class="ipsFieldRow__content">
|
||||
<input class="ipsInput" type="password" placeholder="
|
||||
IPSCONTENT;
|
||||
@@ -283,8 +295,8 @@ $return .= <<<IPSCONTENT
|
||||
autocomplete="current-password">
|
||||
</div>
|
||||
</li>
|
||||
<li class='ipsFieldRow ipsFieldRow--fullWidth'>
|
||||
<button type='submit' name="_processLogin" value="usernamepassword" class='ipsButton ipsButton--primary'><i class='fa-solid fa-lock'></i>
|
||||
<li class='ipsSubmitRow'>
|
||||
<button type='submit' name="_processLogin" value="usernamepassword" class='ipsButton ipsButton--primary ipsButton--wide'><i class='fa-solid fa-lock'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'login', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -375,7 +387,12 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'front' )->htmlDataAttributes( );
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>
|
||||
|
||||
@@ -86,7 +86,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $alert->reply === 2 and $alert->author()->member_id and ! $alert->anonymous and ! \IPS\Member::loggedIn()->canUseMessenger() ):
|
||||
if ( $alert->reply === \IPS\core\Alerts\Alert::REPLY_REQUIRED and $alert->author()->member_id and ! $alert->anonymous and ! \IPS\Member::loggedIn()->canUseMessenger() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div data-role="reply-prompt" class="i-padding_2 i-color_soft i-font-size_-2">
|
||||
@@ -100,7 +100,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( $alert->reply == 2 and $alert->author()->member_id and ! $alert->anonymous ):
|
||||
elseif ( $alert->reply == \IPS\core\Alerts\Alert::REPLY_REQUIRED and $alert->author()->member_id and ! $alert->anonymous ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div data-role="reply-prompt" class="i-padding_2 i-color_soft i-font-size_-2">
|
||||
@@ -137,7 +137,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ( $alert->reply !== 2 or !$alert->author()->member_id ) or ( $alert->reply === 2 and ! \IPS\Member::loggedIn()->canUseMessenger() ) ):
|
||||
if ( ( $alert->reply !== \IPS\core\Alerts\Alert::REPLY_REQUIRED or !$alert->author()->member_id ) or ( $alert->reply === \IPS\core\Alerts\Alert::REPLY_REQUIRED and ! \IPS\Member::loggedIn()->canUseMessenger() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a class="ipsButton ipsButton--secondary ipsButton--small" href="
|
||||
|
||||
@@ -2028,7 +2028,7 @@ IPSCONTENT;
|
||||
if ( \IPS\Member::loggedIn()->language()->checkKeyExists( 'profile_step_text_' . $step->id ) and \IPS\Member::loggedIn()->language()->words[ 'profile_step_text_' . $step->id ] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-padding_3'>
|
||||
<div class='i-padding_2'>
|
||||
<div class="ipsMessage ipsMessage--info">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2044,7 +2044,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-padding_3">
|
||||
<div class="">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2059,7 +2059,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul>
|
||||
<ul class="ipsForm ipsForm--vertical">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2140,7 +2140,7 @@ IPSCONTENT;
|
||||
if ( \IPS\Member::loggedIn()->language()->checkKeyExists( 'profile_step_text_' . $step->id ) and \IPS\Member::loggedIn()->language()->words[ 'profile_step_text_' . $step->id ] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-padding_3'>
|
||||
<div class='i-padding_2'>
|
||||
<div class="ipsMessage ipsMessage--info">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2254,7 +2254,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_content' class='ipsTabs__panels ipsTabs__panels--padded'>
|
||||
_content' class='ipsTabs__panels'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2288,7 +2288,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul>
|
||||
<ul class="ipsForm ipsForm--vertical">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -9236,6 +9236,22 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme::i()->id;
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
data-ips-scheme-toggle="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Theme::i()->getCssVariableFromKey('set__i-change-scheme') == "1" ):
|
||||
$return .= <<<IPSCONTENT
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -18482,7 +18498,12 @@ IPSCONTENT;
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id="review-
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewWrap:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="reviewWrap" id="review-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -18523,10 +18544,25 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewWrap:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<header class="ipsEntry__header">
|
||||
<div class="ipsEntry__header-align">
|
||||
<div class="ipsPhotoPanel">
|
||||
<div class="ipsAvatarStack">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewUserPhoto:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div class="ipsAvatarStack" data-ips-hook="reviewUserPhoto">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewUserPhoto:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -18546,9 +18582,29 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewUserPhoto:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewUserPhoto:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsPhotoPanel__text">
|
||||
<div class="ipsEntry__username">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewUsername:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="reviewUsername" class="ipsEntry__username">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewUsername:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<h3>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -18573,7 +18629,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewUsername:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewUsername:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class="ipsPhotoPanel__secondary">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -18805,11 +18871,21 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div id="review-
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "review:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="review" id="review-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsRichText ipsRichText--user" data-role="commentContent" data-controller="core.front.core.lightboxedImages">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "review:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$review->content()}
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -18824,7 +18900,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "review:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "review:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -19010,7 +19096,17 @@ IPSCONTENT;
|
||||
if ( ( \IPS\Member::loggedIn()->member_id and ( !$review->mapped('votes_data') or !array_key_exists( \IPS\Member::loggedIn()->member_id, json_decode( $review->mapped('votes_data'), TRUE ) ) ) ) || $review->canEdit() || $review->canDelete() || $review->canHide() || $review->canUnhide() || ( $review->hidden() !== 1 && \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Reactable' ) and \IPS\Settings::i()->reputation_enabled and $review->hasReactionBar() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsEntry__footer">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewFooter:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="reviewFooter" class="ipsEntry__footer">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewFooter:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -19020,12 +19116,12 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "commentControls:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewControls:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<menu class="ipsEntry__controls" data-role="commentControls" data-ips-hook="commentControls">
|
||||
<menu class="ipsEntry__controls" data-role="commentControls" data-ips-hook="reviewControls">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "commentControls:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewControls:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -19246,12 +19342,12 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "commentControls:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewControls:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</menu>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "commentControls:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewControls:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -19278,7 +19374,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewFooter:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewFooter:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -19303,7 +19409,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewWrap:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/review", "reviewWrap:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
|
||||
@@ -93,7 +93,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $row->reply == 1 ):
|
||||
if ( $row->reply == \IPS\core\Alerts\Alert::REPLY_OPTIONAL ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class='ipsBadge ipsBadge--neutral ipsBadge--icon'><i class="fa-regular fa-envelope" data-ipstooltip="" _title="
|
||||
@@ -111,7 +111,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $row->reply == 2 ):
|
||||
if ( $row->reply == \IPS\core\Alerts\Alert::REPLY_REQUIRED ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class='ipsBadge ipsBadge--neutral ipsBadge--icon'><i class="fa-solid fa-envelope" data-ipstooltip="" _title="
|
||||
|
||||
@@ -496,7 +496,7 @@ IPSCONTENT;
|
||||
|
||||
|
||||
<div data-ipsWizard class='ipsWizard'>
|
||||
<div data-role="wizardStepbar">
|
||||
<div data-role="wizardStepbar" class="i-padding_3 i-border-bottom_3 i-background_2 i-border-start-start-radius_box i-border-start-end-radius_box">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -509,14 +509,14 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( \IPS\Member::loggedIn()->profileCompletionPercentage(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'></progress>
|
||||
<small class='i-color_soft i-display_block'>
|
||||
<small class='i-color_soft i-margin-top_1 i-display_block'>
|
||||
IPSCONTENT;
|
||||
|
||||
$sprintf = array($completion . '%'); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'profile_completion_percent', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</small>
|
||||
</div>
|
||||
<div data-role="wizardContent" class="ipsBox">
|
||||
<div data-role="wizardContent">
|
||||
{$output}
|
||||
</div>
|
||||
</div>
|
||||
@@ -9346,24 +9346,22 @@ IPSCONTENT;
|
||||
if ( \IPS\Settings::i()->reg_auth_type == 'user' or \IPS\Settings::i()->reg_auth_type == 'admin_user' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsType_textBlock'>
|
||||
<ul class='ipsList ipsList--bullets'>
|
||||
<li>
|
||||
<ul class='ipsList ipsList--bullets'>
|
||||
<li>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change_email_explain_1', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change_email_explain_2', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<hr class='ipsHr'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1094,8 +1094,9 @@ $return .= \IPS\Settings::i()->base_url;
|
||||
$return .= <<<IPSCONTENT
|
||||
?app=core&module=system&controller=themeeditor&do=save' method='post' enctype='multipart/form-data' role="form">
|
||||
<editor-buttons>
|
||||
<div data-workspace='color'>
|
||||
<button value='light' type='button' data-on-click="changeWorkspace">
|
||||
|
||||
<div data-controller="core.front.core.colorScheme">
|
||||
<button type="button" data-ips-prefers-color-scheme="light">
|
||||
<span class='editor-buttons__tooltip'>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1104,7 +1105,7 @@ $return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<i class="fa-regular fa-lightbulb"></i>
|
||||
</button>
|
||||
<button value='dark' type='button' data-on-click="changeWorkspace">
|
||||
<button type="button" data-ips-prefers-color-scheme="dark">
|
||||
<span class='editor-buttons__tooltip'>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1114,6 +1115,7 @@ $return .= <<<IPSCONTENT
|
||||
<i class="fa-regular fa-moon"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div data-workspace='size'>
|
||||
<button value='small' type='button' data-on-click="changeWorkspace">
|
||||
<span class='editor-buttons__tooltip'>
|
||||
@@ -1866,28 +1868,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</theme-editor>
|
||||
|
||||
<button type="button" aria-controls="closeConfirmationDialog" aria-expanded="false" data-ipscontrols id="toggleCloseConfirmationDialog" hidden>Toggle confirmation window</button>
|
||||
|
||||
<div class="sr-only" data-controller="core.front.core.colorScheme">
|
||||
<button type="button" data-ips-prefers-color-scheme="light">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_light', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</button>
|
||||
<button type="button" data-ips-prefers-color-scheme="dark">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_dark', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</button>
|
||||
<button type="button" data-ips-prefers-color-scheme="system">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_system', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</button>
|
||||
</ul>
|
||||
<button type="button" aria-controls="closeConfirmationDialog" aria-expanded="false" data-ipscontrols id="toggleCloseConfirmationDialog" hidden>Toggle confirmation window</button>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -851,7 +851,7 @@ IPSCONTENT;
|
||||
if ( \in_array( 'authy', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-text-align_center'>
|
||||
<div class='i-flex i-align-items_center i-justify-content_center i-flex-wrap_wrap i-gap_2'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -868,7 +868,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->resource( "appstores/ios/{$langCode}.svg", "core", 'global', false );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="i-margin-block_2"></a>
|
||||
" alt=""></a>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -879,7 +879,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->resource( "appstores/android/{$langCode}.png", "core", 'global', false );
|
||||
$return .= <<<IPSCONTENT
|
||||
" style="height: 60px"></a>
|
||||
" style="height: 60px" alt=""></a>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -888,8 +888,8 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-padding_3">
|
||||
<div class='ipsSpanGrid'>
|
||||
<div class='ipsSpanGrid__5 i-text-align_center'>
|
||||
<div class='i-grid i-gap_1'>
|
||||
<div>
|
||||
<select class="ipsInput ipsInput--select" data-sort name="countryCode">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -958,7 +958,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class='ipsSpanGrid__7 i-text-align_center'>
|
||||
<div>
|
||||
<input name="phoneNumber" type="tel" class="ipsInput ipsInput--text" value="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $phoneNumber, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -990,23 +990,21 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div class="i-padding_3 i-background_3 ipsSpanGrid">
|
||||
<div class="i-padding_3 i-background_3 ipsButtons ipsButtons--fill">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( 'authy', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsSpanGrid__12">
|
||||
<button type='submit' name="method" value="authy" class='ipsButton ipsButton--primary ipsButton--wide'>
|
||||
<i class='fa-solid fa-lock'></i>
|
||||
<button type='submit' name="method" value="authy" class='ipsButton ipsButton--primary'>
|
||||
<i class='fa-solid fa-lock'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'authy_submit_authy', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1019,31 +1017,14 @@ IPSCONTENT;
|
||||
if ( \in_array( 'phone', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsSpanGrid__
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( 'sms', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
6
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
12
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<button type='submit' name="method" value="phone" class='ipsButton ipsButton--primary ipsButton--wide'>
|
||||
<i class='fa-solid fa-phone'></i>
|
||||
<button type='submit' name="method" value="phone" class='ipsButton ipsButton--primary'>
|
||||
<i class='fa-solid fa-phone'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'authy_submit_call', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1056,31 +1037,14 @@ IPSCONTENT;
|
||||
if ( \in_array( 'sms', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsSpanGrid__
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( 'phone', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
6
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
12
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<button type='submit' name="method" value="sms" class='ipsButton ipsButton--primary ipsButton--wide'>
|
||||
<i class='fa-solid fa-commenting'></i>
|
||||
<button type='submit' name="method" value="sms" class='ipsButton ipsButton--primary'>
|
||||
<i class='fa-solid fa-commenting'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'authy_submit_sms', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1302,7 +1266,8 @@ IPSCONTENT;
|
||||
$langCode = mb_substr( \IPS\Member::loggedIn()->language()->bcp47(), 0, 2 );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href="
|
||||
<div class="i-flex i-align-items_center i-justify-content_center i-flex-wrap_wrap i-gap_2">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Http\Url::ips( "docs/googleauth_ios" );
|
||||
@@ -1312,8 +1277,8 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->resource( "appstores/ios/{$langCode}.svg", "core", 'global', false );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="i-margin-block_2"></a>
|
||||
<a href="
|
||||
" alt=""></a>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Http\Url::ips( "docs/googleauth_android" );
|
||||
@@ -1323,16 +1288,17 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->resource( "appstores/android/{$langCode}.png", "core", 'global', false );
|
||||
$return .= <<<IPSCONTENT
|
||||
" style="height: 60px"></a>
|
||||
" style="height: 60px" alt=""></a>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a class="i-cursor_pointer" data-action="showManual">
|
||||
<div>
|
||||
<button type="button" class="i-cursor_pointer" data-action="showManual">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'google_mfa_help', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</p>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1450,7 +1416,8 @@ IPSCONTENT;
|
||||
$langCode = mb_substr( \IPS\Member::loggedIn()->language()->bcp47(), 0, 2 );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href="
|
||||
<div class="i-flex i-align-items_center i-justify-content_center i-flex-wrap_wrap i-gap_2">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Http\Url::ips( "docs/googleauth_ios" );
|
||||
@@ -1460,8 +1427,8 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->resource( "appstores/ios/{$langCode}.svg", "core", 'global', false );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="i-margin-block_2"></a>
|
||||
<a href="
|
||||
" alt=""></a>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Http\Url::ips( "docs/googleauth_android" );
|
||||
@@ -1471,16 +1438,17 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->resource( "appstores/android/{$langCode}.png", "core", 'global', false );
|
||||
$return .= <<<IPSCONTENT
|
||||
" style="height: 60px"></a>
|
||||
" style="height: 60px" alt=""></a>
|
||||
</div>
|
||||
|
||||
<p class='i-text-align_center'>
|
||||
<a class="i-cursor_pointer" data-action="showBarcode">
|
||||
<div class='i-text-align_center'>
|
||||
<button type="button" class="i-cursor_pointer" data-action="showBarcode">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'google_mfa_help_reset', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</p>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1870,19 +1838,19 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
<div class="i-padding_3">
|
||||
<ul>
|
||||
<ul class="ipsButtons ipsButtons--fill">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $handlers as $key => $handler ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="i-margin-bottom_2">
|
||||
<li>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( array( '_mfa' => 'alt', '_mfaMethod' => $key ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--primary ipsButton--wide">
|
||||
" class="ipsButton ipsButton--primary">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$handler->recoveryButton()}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1901,11 +1869,11 @@ IPSCONTENT;
|
||||
if ( $knownDevicesAvailable ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="i-margin-bottom_2"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( array( '_mfa' => 'knownDevice' ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--soft ipsButton--wide">
|
||||
" class="ipsButton ipsButton--soft">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_recovery_known_device', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1923,12 +1891,12 @@ IPSCONTENT;
|
||||
if ( \in_array( 'email', explode( ',', \IPS\Settings::i()->mfa_forgot_behaviour ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="i-margin-bottom_2"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&do=mfarecovery", "front", "mfarecovery", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--text ipsButton--wide">
|
||||
" class="ipsButton ipsButton--text">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_recovery_email', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1946,12 +1914,12 @@ IPSCONTENT;
|
||||
if ( \in_array( 'contact', explode( ',', \IPS\Settings::i()->mfa_forgot_behaviour ) ) and \IPS\Member::loggedIn()->canUseContactUs() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="i-margin-bottom_2"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=contact&controller=contact", "front", "contact", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--text ipsButton--wide">
|
||||
" class="ipsButton ipsButton--text">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_recovery_contact', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -2002,7 +1970,7 @@ IPSCONTENT;
|
||||
if ( \count( $acceptableHandlers ) > 1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-background_3 i-text-align_center'>
|
||||
<div class='i-background_2 i-text-align_center'>
|
||||
<div class='i-padding_3'>
|
||||
<h1 class='i-text-align_center ipsTitle ipsTitle--h3'>
|
||||
IPSCONTENT;
|
||||
@@ -2019,7 +1987,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='ipsTabs_2fa' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_2fa_content'>
|
||||
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch i-background_2' id='ipsTabs_2fa' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_2fa_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -3544,8 +3512,8 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</div>
|
||||
<div class="i-padding_3">
|
||||
<div class='ipsSpanGrid'>
|
||||
<div class='ipsSpanGrid__5 i-text-align_center'>
|
||||
<div class='i-grid i-gap_2'>
|
||||
<div>
|
||||
<select class="ipsInput ipsInput--select" data-sort name="countryCode">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -3614,7 +3582,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class='ipsSpanGrid__7 i-text-align_center'>
|
||||
<div>
|
||||
<input name="phoneNumber" type="tel" value="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $phoneNumber, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -3646,68 +3614,62 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div class="i-padding_3 i-background_3">
|
||||
|
||||
<div class="i-padding_3 i-background_3 ipsButtons ipsButtons--fill">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( 'phone', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-margin-bottom_3">
|
||||
<button type='submit' name="method" value="phone" class='ipsButton ipsButton--primary ipsButton--wide'>
|
||||
<i class='fa-solid fa-phone'></i>
|
||||
<button type='submit' name="method" value="phone" class='ipsButton ipsButton--primary'>
|
||||
<i class='fa-solid fa-phone'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'verify_submit_call', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( 'sms', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-margin-bottom_3">
|
||||
<button type='submit' name="method" value="sms" class='ipsButton ipsButton--primary ipsButton--wide'>
|
||||
<i class='fa-solid fa-comment-dots'></i>
|
||||
<button type='submit' name="method" value="sms" class='ipsButton ipsButton--primary'>
|
||||
<i class='fa-solid fa-comment-dots'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'verify_submit_sms', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( 'whatsapp', $methods ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-margin-bottom_3">
|
||||
<button type='submit' name="method" value="whatsapp" class='ipsButton ipsButton--primary ipsButton--wide'>
|
||||
<i class='fa-reguar fa-comment'></i>
|
||||
<button type='submit' name="method" value="whatsapp" class='ipsButton ipsButton--primary'>
|
||||
<i class='fa-reguar fa-comment'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'verify_submit_whatsapp', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
|
||||
@@ -900,7 +900,22 @@ IPSCONTENT;
|
||||
if ( $file->container()->log ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-padding_2'><div class='ipsMessage ipsMessage--info'>
|
||||
<div class='
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->isAjax() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
i-padding_2
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
i-margin-bottom_2
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
'><div class='ipsMessage ipsMessage--info'>
|
||||
IPSCONTENT;
|
||||
|
||||
$pluralize = array( $file->container()->log ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'log_days', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
|
||||
@@ -928,26 +943,28 @@ IPSCONTENT;
|
||||
foreach ( $rows as $row ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='ipsSpanGrid__6 ipsPhotoPanel ipsPhotoPanel--mini i-padding_2'>
|
||||
|
||||
<li>
|
||||
<div class="ipsPhotoPanel ipsPhotoPanel--mini">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( \IPS\Member::load( $row['dmid'] ), 'mini' );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div>
|
||||
<h3 class='ipsTruncate_1'>
|
||||
<div class="ipsPhotoPanel__text">
|
||||
<h3 class='ipsPhotoPanel__primary'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Member::load( $row['dmid'] )->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userLink( \IPS\Member::load( $row['dmid'] ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<span class='i-color_soft'>
|
||||
<span class='ipsPhotoPanel__secondary'>
|
||||
IPSCONTENT;
|
||||
|
||||
$val = ( $row['dtime'] instanceof \IPS\DateTime ) ? $row['dtime'] : \IPS\DateTime::ts( $row['dtime'] );$return .= (string) $val;
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -985,6 +1002,16 @@ $return .= <<<IPSCONTENT
|
||||
'
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !\IPS\Widget\Request::i()->isAjax() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
class="ipsBox"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
@@ -1017,7 +1044,7 @@ IPSCONTENT;
|
||||
if ( \count( $rows ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ol class='ipsGrid
|
||||
<ol class='ipsGrid ipsGrid--fileLogTable i-padding_3
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $table->classes as $class ):
|
||||
@@ -2287,7 +2314,7 @@ IPSCONTENT;
|
||||
elseif ( $file->mustDownloadBeforeReview() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class='i-color_soft'>
|
||||
<p class='i-color_soft i-font-weight_600 i-text-align_center i-background_2 i-padding_2'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_download_review', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
|
||||
@@ -1020,10 +1020,47 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->getLayoutValue( 'forum_topic_view_firstpost' ) and $comment->isFirst() and isset( \IPS\Widget\Request::i()->page ) and \IPS\Widget\Request::i()->page > 1 ):
|
||||
$includeWrapper = (\IPS\Member::loggedIn()->getLayoutValue('forum_topic_view_firstpost') and $comment->isFirst());
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsEntry__truncate" data-ipstruncate>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $includeWrapper ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$collapsed = ($includeWrapper and isset( \IPS\Widget\Request::i()->page ) and \IPS\Widget\Request::i()->page > 1);
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $collapsed ):
|
||||
$return .= <<<IPSCONTENT
|
||||
class
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ipstruncate-deferredclasses
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
="ipsEntry__truncate" data-ipstruncate
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$collapsed ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ipstruncate-deferred="1" data-collapse-off-first-page
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1036,7 +1073,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->getLayoutValue( 'forum_topic_view_firstpost' ) and $comment->isFirst() and isset( \IPS\Widget\Request::i()->page ) and \IPS\Widget\Request::i()->page > 1 ):
|
||||
if ( $includeWrapper ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
@@ -44,13 +44,13 @@ IPSCONTENT;
|
||||
if ( $album->coverPhoto('masked') ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsCoverPhoto ipsCoverPhoto--album" hidden>
|
||||
<div class="ipsCoverPhoto ipsCoverPhoto--album" data-controller="core.global.core.coverPhoto">
|
||||
<div class="ipsCoverPhoto__container">
|
||||
<img src="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $album->coverPhoto('masked'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" alt="
|
||||
" class="ipsCoverPhoto__image" data-action="toggleCoverPhoto" alt="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $album->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -98,92 +98,15 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/browse/album", "badges:inside-start", [ $album,$table,$commentsAndReviews ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $album->asItem()->hidden() === 1 ):
|
||||
foreach ( $album->asItem()->badges() as $badge ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="ipsBadge ipsBadge--icon ipsBadge--warning" data-ipstooltip title="
|
||||
{$badge}
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'pending_approval', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><i class="fa-solid fa-triangle-exclamation"></i></span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( $album->asItem()->hidden() === -1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="ipsBadge ipsBadge--icon ipsBadge--warning" data-ipstooltip title="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $album->asItem()->hiddenBlurb(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><i class="fa-solid fa-eye-slash"></i></span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( $album->asItem()->hidden() === -2 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="ipsBadge ipsBadge--icon ipsBadge--warning" data-ipstooltip title="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $album->asItem()->deletedBlurb(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><i class="fa-solid fa-trash"></i></span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $album->asItem()->mapped('featured') ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="ipsBadge ipsBadge--icon ipsBadge--positive" data-ipstooltip title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'featured', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><i class="fa-solid fa-star"></i></span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $album->type === \IPS\gallery\Album::AUTH_TYPE_PRIVATE ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="ipsBadge ipsBadge--warning">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'album_private_badge', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( $album->type === \IPS\gallery\Album::AUTH_TYPE_RESTRICTED ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="ipsBadge ipsBadge--warning">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'album_friend_only_badge', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -535,17 +458,29 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $album->can('add') ):
|
||||
if ( $menu = $album->asItem()->menu() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul class="ipsButtons ipsButtons--main">
|
||||
<li>{$album->asItem()->menu()}</li>
|
||||
<li>{$menu}</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $album->can( 'add' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "browse", \IPS\Request::i()->app )->categoryButtons( $album->can('add'), $album->category(), $album );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -297,7 +297,12 @@ IPSCONTENT;
|
||||
$idField = $comment::$databaseColumnId;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id="comment-
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentWrap:before", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="galleryCommentWrap" id="comment-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->$idField, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -338,10 +343,25 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentWrap:inside-start", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<header class="ipsEntry__header">
|
||||
<div class="ipsEntry__header-align">
|
||||
<div class="ipsPhotoPanel">
|
||||
<div class="ipsAvatarStack">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentUserPhoto:before", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div class="ipsAvatarStack" data-ips-hook="galleryCommentUserPhoto">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentUserPhoto:inside-start", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -351,7 +371,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$comment->isAnonymous() and $comment->author()->canHaveAchievements() and \IPS\core\Achievements\Rank::show() and $rank = $comment->author()->rank() ):
|
||||
if ( ( \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Anonymous' ) AND !$comment->isAnonymous() ) and $comment->author()->canHaveAchievements() and \IPS\core\Achievements\Rank::show() and $rank = $comment->author()->rank() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$rank->html( 'ipsAvatarStack__rank' )}
|
||||
@@ -361,19 +381,39 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentUserPhoto:inside-end", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentUserPhoto:after", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsPhotoPanel__text">
|
||||
<div class="ipsEntry__username">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentUsername:before", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="galleryCommentUsername" class="ipsEntry__username">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentUsername:inside-start", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<h3>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userLink( $comment->author(), $comment->warningRef(), NULL, $comment->isAnonymous() );
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userLink( $comment->author(), $comment->warningRef(), NULL, \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Anonymous' ) ? $comment->isAnonymous() : FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$comment->isAnonymous() ):
|
||||
if ( \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Anonymous' ) AND !$comment->isAnonymous() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="ipsEntry__group">
|
||||
@@ -410,7 +450,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentUsername:inside-end", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentUsername:after", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class="ipsPhotoPanel__secondary">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -440,7 +490,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $comment->editLine() ):
|
||||
if ( \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\EditHistory' ) and $comment->editLine() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
(
|
||||
@@ -569,7 +619,12 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->authorMiniProfileUrl, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-label="Toggle mini profile"><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
|
||||
" aria-label="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'author_stats', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -603,7 +658,17 @@ IPSCONTENT;
|
||||
if ( $comment->author()->hasHighlightedReplies() || ( \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and $comment->isHighlighted() ) OR $comment->isFeatured() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul class="ipsBadges">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentBadges:before", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<ul class="ipsBadges" data-ips-hook="galleryCommentBadges">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentBadges:inside-start", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -658,7 +723,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentBadges:inside-end", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</ul>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentBadges:after", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -729,7 +804,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsRichText ipsRichText--user" data-role="commentContent" data-controller="core.front.core.lightboxedImages">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryComment:before", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="galleryComment" class="ipsRichText ipsRichText--user" data-role="commentContent" data-controller="core.front.core.lightboxedImages">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryComment:inside-start", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$comment->content()}
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -744,7 +829,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryComment:inside-end", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryComment:after", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -752,16 +847,26 @@ IPSCONTENT;
|
||||
if ( ( $comment->hidden() !== 1 && \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and \IPS\Settings::i()->reputation_enabled and $comment->hasReactionBar() ) || ( $comment->hidden() === 1 && ( $comment->canUnhide() || $comment->canDelete() ) ) || ( $comment->hidden() === 0 and $item->canComment() and $editorName ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsEntry__footer">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentFooter:before", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="galleryCommentFooter" class="ipsEntry__footer">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentFooter:inside-start", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "commentControls:before", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentControls:before", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<menu class="ipsEntry__controls" data-role="commentControls" data-ips-hook="commentControls">
|
||||
<menu class="ipsEntry__controls" data-role="commentControls" data-ips-hook="galleryCommentControls">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "commentControls:inside-start", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentControls:inside-start", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -1004,6 +1109,24 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'q
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Application::appIsEnabled('cloud') ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "spam", "cloud" )->spam( $comment, FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1022,12 +1145,12 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "commentControls:inside-end", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentControls:inside-end", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</menu>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "commentControls:after", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentControls:after", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -1048,7 +1171,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentFooter:inside-end", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentFooter:after", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1073,7 +1206,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentWrap:inside-end", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/comment", "galleryCommentWrap:after", [ $item,$comment,$editorName,$app,$type,$class ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
@@ -3695,7 +3838,12 @@ IPSCONTENT;
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id="review-
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewWrap:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="galleryReviewWrap" id="review-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -3736,10 +3884,25 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewWrap:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<header class="ipsEntry__header">
|
||||
<div class="ipsEntry__header-align">
|
||||
<div class="ipsPhotoPanel">
|
||||
<div class="ipsAvatarStack">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewUserPhoto:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div class="ipsAvatarStack" data-ips-hook="galleryReviewUserPhoto">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewUserPhoto:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3759,9 +3922,29 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewUserPhoto:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewUserPhoto:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsPhotoPanel__text">
|
||||
<div class="ipsEntry__username">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewUsername:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="galleryReviewUsername" class="ipsEntry__username">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewUsername:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<h3>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3786,7 +3969,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewUsername:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewUsername:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class="ipsPhotoPanel__secondary">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -3900,311 +4093,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href="#elControlsReviews_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_menu" class="ipsEntry__topButton ipsEntry__topButton--ellipsis" id="elControlsReviews_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'more_options', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsmenu data-ipsmenu-appendto="#review-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_wrap"><i class="fa-solid fa-ellipsis"></i><span class="ipsInvisible">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'more_options', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<ul id="elControlsReviews_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_menu" class="ipsMenu ipsMenu_narrow ipsHide">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $review->canReportOrRevoke() === TRUE ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('report'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->member_id or \IPS\Helpers\Form\Captcha::supportsModal() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ipsdialog data-ipsdialog-remotesubmit data-ipsdialog-size="medium" data-ipsdialog-flashmessage="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report_submit_success', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsdialog-title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
data-action="reportComment" title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item">
|
||||
<a class="i-color_inherit" href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->item()->url()->setQueryString( array( 'do' => 'findReview', 'review' => $review->id ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'share_this_review', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsdialog data-ipsdialog-size="narrow" data-ipsdialog-content="#elShareReview_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_menu" data-ipsdialog-title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'share_this_review', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" id="elShareReview_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-role="shareComment">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'share_this_review', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $review->canEdit() || ( $review->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Hideable' ) && ( ( !$review->hidden() and $review->canHide() ) || ( $review->hidden() and $review->canUnhide() ) ) ) || $review->canDelete() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_sep"><hr></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $review->canEdit() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item"><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('edit'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-action="editComment">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'edit', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $review->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item"><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('restore')->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-confirm data-confirmsubmessage="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'restore_as_visible_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'restore_as_visible', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class="ipsMenu_item"><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('restore')->csrf()->setQueryString( 'restoreAsHidden', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-confirm data-confirmsubmessage="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'restore_as_hidden_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'restore_as_hidden', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li class="ipsMenu_item"><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('delete')->csrf()->setQueryString( 'immediately', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-confirm data-confirmsubmessage="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'delete_immediately_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'delete_immediately', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Hideable' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$review->hidden() and $review->canHide() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item"><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $review::$hideLogKey ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('hide'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('hide')->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsdialog data-ipsdialog-title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'hide', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'hide', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( $review->hidden() and $review->canUnhide() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item"><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('unhide')->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'unhide', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $review->canDelete() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item"><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->url('delete')->csrf()->setPage('page',\IPS\Request::i()->page), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-action="deleteComment" data-updateondelete="#reviewCount">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'delete', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
{$review->menu()}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4322,11 +4211,21 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div id="review-
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReview:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="galleryReview" id="review-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $review->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsRichText ipsRichText--user" data-role="commentContent" data-controller="core.front.core.lightboxedImages">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReview:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$review->content()}
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -4341,7 +4240,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReview:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReview:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -4527,7 +4436,17 @@ IPSCONTENT;
|
||||
if ( ( \IPS\Member::loggedIn()->member_id and ( !$review->mapped('votes_data') or !array_key_exists( \IPS\Member::loggedIn()->member_id, json_decode( $review->mapped('votes_data'), TRUE ) ) ) ) || $review->canEdit() || $review->canDelete() || $review->canHide() || $review->canUnhide() || ( $review->hidden() !== 1 && \IPS\IPS::classUsesTrait( $review, 'IPS\Content\Reactable' ) and \IPS\Settings::i()->reputation_enabled and $review->hasReactionBar() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsEntry__footer">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewFooter:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="galleryReviewFooter" class="ipsEntry__footer">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewFooter:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4537,12 +4456,12 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "commentControls:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewControls:before", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<menu class="ipsEntry__controls" data-role="commentControls" data-ips-hook="commentControls">
|
||||
<menu class="ipsEntry__controls" data-role="commentControls" data-ips-hook="galleryReviewControls">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "commentControls:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewControls:inside-start", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -4736,6 +4655,24 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Application::appIsEnabled('cloud') ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "spam", "cloud" )->spam( $review, FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
@@ -4745,12 +4682,12 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "commentControls:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewControls:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</menu>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "commentControls:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewControls:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -4777,7 +4714,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewFooter:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewFooter:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4802,7 +4749,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewWrap:inside-end", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "gallery/front/global/review", "galleryReviewWrap:after", [ $item,$review,$editorName,$app,$type ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
|
||||
@@ -1354,7 +1354,7 @@ IPSCONTENT;
|
||||
if ( \count( $customFields ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsBox">
|
||||
<div class="ipsBox i-margin-bottom_1">
|
||||
<h2 class='ipsBox__header'>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1404,7 +1404,7 @@ IPSCONTENT;
|
||||
if ( $purchase->childrenCount() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsBox'>
|
||||
<div class='ipsBox i-margin-bottom_1'>
|
||||
<h2 class="ipsBox__header">
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
Reference in new issue
Block a user